I am trying to build a new role for a purchase order approver in SRM7.
From my tests, I understood that the approver must have an authorization for change PO.
Can I create a role for PO approver without authorization to change PO ? Because I don't
want the approver to change the PO but only approve or decline.
Thank you in advance.
I am not sure.
Create a z role with std role /sapsrm/op_purchaser role. Select that role and click on role button.
Goto the authorization tab in the view. Click on the display authorization data -> come to edit mode
Remove the settings for change PO ..give the display PO option.
Check in the bbp_component node.
Just a rough idea. There can be better way of handling it, which I am unaware.
I could not find any standard solution for this problem, so I created a new authorization object and changed the check BADI, so that it checks whether the user has the object I created.
If he has the object, he can change, I he doesn't have, he can't change.
The approvers of PO's don't have this object.
If you have another idea, I will be glad to learn about it.
Based on my research and testing, it seems there is no standard solution. I also came across a similar post, http://scn.sap.com/thread/1951139 which describes another solution approach, however it is also requires development.
One other question:
We ended up using this solution – if the approver tries to change the PO (and does not have the custom authorization object), the system issues the error message and doesn't allow them to save or order the PO.
However, we identified an issue - after implementing this badi, the approver cannot approve/reject the PO anymore (and they should be able to), as it seems the badi is also being called in the approval screen. Is there a way to restrict this badi to be called only during the PO change screen?
Let me know.