Hi Experts !
Is there something that controls that the user can Change the Shopping Cart that is not roles?
I cannot change any shopping cart, the Change button does not appears to the Creator of Shopping Cart nor to the Buyer for the completion of it.
Could be a BADI that is controlling it?
Whether the SC requester can change the SC or not is determined by the parameter "BBP_WFL_SECURITY" under the personlization tab in trascn PFCG for the SC creator role(e.g. EMPLOYEE role).
When the Approver rejects the SC,the witem is sent back to the requester informing him that the Sc has been rejected by the 1st approver and if he has the authorisation(based on the parameter BBP_WFL_SECURITY) to chnage the SC,he can change the SC and resend it for approval.Then the Sc will be again sent to the 1st approver for approval and the cycle continues.
To change the SC,the SC creator will be able to see a CHANGE button on the Screen to make the changes and resend the SC for approval.in order to get the change button, the parameter setting level should be atleast "Low".
See the foll details on security level:
Each user in the SRM system can have a Security Level.
The Security Level predicts how a workflow will react when a change has been made to a business docuement. I.e. A Shopping Cart, Purchase Order etc.
There are 5 different values for the BBP_WFL_SECURITY and there are several ways to check the security levels.
Checking the Security Level of a user
Here I discuss two ways to check the BBP_WFL_SECURITY of a user. The first is by using the Business Object Builder and the second is by using User Maintenance.
1) Business Object Builder: SWO1
Logon with a user who is authorized to access transaction SWO1 Business Object Builder.
Enter the Business Object for a SRM User BUS4101 and press 'Test'. Now press the 'Instance' button to give us the ability to examine the user. Enter the user name of the user and execute. Now we can see many of the attributes that are associated with this user. The Security level of the user is available here. The value is the BBP_WFL_SECURITY for the instanced user.
2) User Maintenance: SU01
Logon with a user who is authorized to access transaction SU01 User Maintenance.
Enter the 'Username' of the user. You can now see much of the data that is associated with this user. To check the users security level we must navigate to the 'Personalization Tab'. Now Double-Click on the object key 'BBP_WFL_SECURITY'.
Security Level Definition
As mentioned above, there are 5 different Security Level values that can be assigned to a user, each of which will have a different effect on a workflow when the associated business document has been changed. These range from 0-4 and they can be maintained for each user in User Maintenance (SU01 -> Personalization Tab -> BBP_WFL_SECURITY), provided the user you have logged on with has the ability to make changes to these settings.
Please note that if the customer has an active implementation of the BBP_WFL_SECUR_BADI, it is possible that the BBP_WFL_SECURITY settings in the database can be overridden.
BBP_WFL_SECURITY = 4 High
If the user who changes the purchasing document has their security level set to 'High', the workflow will never restart after the change has taken place. No restart flag has been set in BBP_PDH_WFL_CHECK_RESTART. Again, as mentioned above, the BADI can override these settings.
BBP_WFL_SECURITY = 3 Medium
If the user who changes the purchasing document has their security level set to 'Medium', the workflow will re-evaluate the starting conditions of the workflow. If the change made to the document means that the starting conditions of a new workflow are satisfied, then the new workflow will be called and replace the old workflow. The existing workflow will be terminated.
If, however, no other starting conditions have been satisfied, then the workflow will continue. Again, as mentioned above, the BADI can override these settings.
BBP_WFL_SECURITY = 2 Low
If the user who changes the purchasing document has their security level set to 'Low', then the workflow will always restart after the change has been made. The restart flag in function module BBP_PDH_WFL_CHECK_RESTART will be flagged. Again, as mentioned above, the BADI can override these settings.
BBP_WFL_SECURITY = 1 None
Here the user does not have a security setting and changes to the document at not possible. Again, as mentioned above, the BADI can override these settings.
BBP_WFL_SECURITY = 0 Not Defined
When the setting is '0', however, the value is INITIAL. Again, as mentioned above, the BADI can override these settings.
It is wise to note that depending on the business document there are differences in how changes will effect a workflow! Please see the function module BBP_PDH_WFL_CHECK_RESTART to see these exactly!
Workflow Security BADI
Occasionally, the business requirements of a company necessitate the ability to override the workflow security settings of users. In this case, function module BBP_PDH_WFL_SECLEVEL_GET checks if an active implementation of the BAdI BBP_WFL_SECUR_BADI exists. If it does, then the logic contained in the BAdI will determine what security level is required. If not, then the value will be taken from the database as normal. These can be used specifically to determine whether a purchasing document can be changed during approval and also to determine how the workflow should behave when a change to the purchasing document has taken place.
in addition to this, also the SC status controls the changeability:
hold -> changeable, deletion on header level
in approval -> changeable, deletion on header level
approved -> not changeable, deletion on item level
follow-on document created -> not changeable, deletion on item level
follow-on document of the follow-on documents -> SC can not be changed or deleted until the Confirmation/Invoice is not deleted (see also the notes 1034529 and 845030)