‎2010 Aug 02 10:20 AM
How to block a user from creating certain purchase order types? Which user exit I should write the authorization check?
‎2010 Aug 02 10:43 AM
Hi,
If you have the list of PO types which needed to be block for certain types of user, you can acheiv this by two way below:
1) use an Implicit enhancment within PO Creation Program and just read the User(SY-UNAME) and PO Type.If require then block it there.
2) You can bulid or use a Authorization Object and assigned it to required User Profile and assigned them Role.
Regards
Rick
‎2010 Aug 02 11:13 AM
Can you please explain the authorization object method......I need the user exit or BADI name where I can write the authorization check.
‎2010 Aug 02 11:43 AM
Hi,
Please see below method for authorization check
authority-check object 'Q_QMEL'
id 'QMART' field i_qmart
id 'TCD' field i_tcode
id 'WERKS' dummy.
Please check if Standard Authorization Object is not available then please create the custome one.
Regards
Rick
‎2010 Aug 02 1:01 PM
>
> How to block a user from creating certain purchase order types? Which user exit I should write the authorization check?
You don;t have to write any code for this, sap standard authority object M_BEST_BSA (Document Type in Purchase Order) is checked against activity 01 (Create or generate) and document type before user can create a PO.
Request Basis consultant or the person who modify roles in your company/project to identify and modify role(s) for you.
Regards,
Pawan.
Edited by: Pawan Kesari on Aug 2, 2010 5:31 PM
‎2010 Aug 03 5:38 AM
I need to block certain users for creating , changing and displaying PO document type field (EKKO-BSART) . The authorization object M_BEST_BSA will be helpful for this requirement or do I need to create my own Authorization object and call in User exit? Please help me in finding the user exit for this. Transaction codes are ME21N ,ME22N, ME23N.
‎2010 Aug 05 6:03 AM
I have found an include ZXMO6U43 in which I tried writing some code and while creating the PO in ME21N , that part of code worked. But I am not sure whether this is the correct one or not. Please suggest.