cancel
Showing results for 
Search instead for 
Did you mean: 

Mvt 313 authorization

former_member220522
Participant
0 Kudos

Hi All SAP Experts, please help in the below issue:

i want to restrict Mvt 313 for a specific user and sloc as the below scenario:

User1 is the stock keeper for sloc 01 and authorized to make a transfer posting with Mvt 313 from the storage location he is responsible for (sloc 01) to another sloc say sloc 02

but if User1 make transfer posting with the same Mvt type but from sloc 02 to sloc 01 it means that he issues materials from a sloc he is not responsible for to his sloc and this is illogical, how can i restrict this or is there any workaround solution !

Thanks and best regards,

Hossam Gomaa

Accepted Solutions (0)

Answers (5)

Answers (5)

surjitsingh1209
Explorer
0 Kudos

Hi,

It is not possible to restrict the user1 using standard Authorization Object. You have to create a Z Object with fields ACTVT & LGOBE (Sender SLOC) and as well as need to use user exit to follow this Zobject.

former_member220522
Participant
0 Kudos

Thank you all for your helpful answers

former_member183424
Active Contributor
0 Kudos

As of my knowledge, it is not possible through authorization matrix..

If user 1 have only authorization for 0001 storage location, then the user can't do 313 movement type from 0001 sloc to 0002 sloc.

Now if you give the authorization for 0002 sloc, then he can also do the movement type 313 from 0002 to 0001 sloc.

former_member220522
Participant
0 Kudos

Dear Dev Patra,

You're right, this is actually my issue but i cannot solve it through authorization, do you have a workaround solution please !

former_member183424
Active Contributor
0 Kudos

It can't be possible trough authorization matrix.

You have to go for a user exit with user id wise.

Write a proper FS with user id and Storage location and movement type details.

Then share your thinking with ABAP team.

It can be possible with a help of smart coding on program SAPMM07M.

Former Member
0 Kudos

As mentioed after activating , ask your Basis team to given only display option i,e activity 03 for authorization object "M_MSEG_LGO".

And the user should have also object "M_MSEG_BWA" with movement type 313.

former_member220522
Participant
0 Kudos

It doesn't work, the user has to be authorized on both sloc 01 and 02 with Mvt 313 to be able to make a transfer posting from a sloc to another, please check it, it works only for Mvt 315 as there's only one sloc in this case but with Mvt 313 there's two sloc in MIGO the issuing and receiving sloc.

former_member183424
Active Contributor
0 Kudos

I can give you one option..

You can try and revert back...

Just go to OMBW

and set the field "Receiving storage location" as optional entry.

Then give the user 1 authorization for 01 storage location only...

The try to do movement type 313 from MB1B.

You don't have to give the receiving storage location..

And also the user can't do 313 movement type for 02 storage location.

Former Member
0 Kudos

True, it will allow it will not allow to any storage location, Either you should create a screen variant for MB1B to make storage location field as display and add this to User role, or you need to develop a custom process to restrict these.

Former Member
0 Kudos

313  need to give both storage location , that's how it is designed.

former_member183424
Active Contributor
0 Kudos

Yes...

But we can make the field optional.

But it will be wrong...

Now I have seen that. If we don't give any sloc value in receiving sloc, then system will take the same sloc into receiving sloc.

which will be wrong...

Anyway, thanks for correct me....

I apologize ..

sudeep_a
Active Contributor
0 Kudos

Hi,

You may use authorization object M_MSEG_LGO to restrict the users based on storage location and movement type.

For user1, you may assign Sloc01 and movement types 313 and 315. That means he can do theses movements for Sloc01.

Similarly for user2, assign Sloc2 and mvt 313 and 315. then that user can do in and out for sloc02 only.

Regards,

Sudeep.

Prasoon
Active Contributor
0 Kudos

Hi,

   You may use the functionality of authorization check for storage locations. Go to OLMB - Authorization management - Activate authorization check for storage location. You can activate it for specific storage locations. If its activated for a storage location, only the users with authorization for the object: M_MSEG_LGO will be able to do goods movement in that storage location.

   In your case, you may give the authorization for sloc 1 to the user 1 and not for sloc 2.

Regards,

AKPT

former_member220522
Participant
0 Kudos

Dear AKPT,

actually i use this functionality but if i give the authorization for sloc 1 only to User1 i got an error message that User1 1 has no authorization for sloc 02 as in transfer posting with Mvt 313 you enter two sloc the issuing location sloc 01 and the receiving location sloc 02

Prasoon
Active Contributor
0 Kudos

Hi,

   YES!!...you are right. The authorization check will check both the storage locations in case of 311 and 313 movement. The note 205448 - Authorization check M_MSEG_LGO for stock transfers  clearly explains the same.

   In this case, you may go for custom authorization object or user exit to achieve the same.

Regards,

AKPT