cancel
Showing results for 
Search instead for 
Did you mean: 

Issue while making changes to Shopping Cart by the approvers during approval process

Former Member
0 Kudos

We have SRM 5.0 implementation very recently we have upgraded to SAPKIBKT18. Extended Classic Scenario

Scenario prior to SP Upgrade: Reqeuster used to create a shopping cart with Describe Requirement it will trigger the N-Step approval and would go for the Buyers approval. Buyers will have the change option and will assign a source of supply to the SC and will approve the cart.

Scenario post SP Upgrade: Requester creates a Shopping Cart with Describe requirement it triggers the N-Step Approval goes for Buyers approval. But buyers are not having the change button and are not able to assign a Source of Supply and hence approve it.

To make the change button available to approver we have implemented the BBP_WFL_SECUR_BADI and maintained the new_sec_level = 2 based on the TCODE(BBPSC07) and buyer's role. In SU01D personalization Tab the Security level is maintained as NONE while for the buyers role the Security Level is manintained as HIGH under personalization tab.

Issue: Now the change button is available but the approval process is happening in two steps. In frist step Buyers assigns the Source of Supply, save the SC but it re-triggers the Workflow and again comes to the Buyers Inbox for approval.

Please Help me as where & how should i maintain the correct security level to restrict the Workflow to get restarted.I want the change button to be available only to the Buyers and approval process to happen in one step.

Waiting for your reply ASAP.

Thanks

Punit

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi ,

If you have new_sec_level = 2 the WFL will always be restarted when changes are made.

Please see:

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. 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. 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.

Thus on your case that you do not want that the system restarts is to set to 4. The approver will be able to change the document but the WFL will not be restarted.

Cheers,

Melina

PS.: If this helps, please assign the concerning SND points

Former Member
0 Kudos

Hi Melina,

Thank you so much for your reply.

When you say the active implementation of the BADI will override the BBP_WFL_SECURITY value. Does this mean it will defualt the value to 0 unless set to a specific value in BADI Impl.

Prior to Support pack Upgrade: For Buyers the BBP_WFL_SECURITY value was maintained as HIGH in personalization tab and we also had the active implementation of the BADI. With this setting the buyers were having the Change Option and the BBP_WFL_SECIRTY value was not overwritten by the BADI impl.

But Post SP Upgarde, the value is getting overridden and BBP_WFL_SECURITY value is defaulting to 0 no matter what value is maintained in Personalization tab.

Please suggest.

Thanks

Punit

Former Member
0 Kudos

Hi Punit ,

It is simple. If you have the Badi BBP_WFL_SECUR_BADI active, the security level comes from it. Thus you will to return the concerning security level inside the BADI.

If you don't want to use the BADI you can deactivate it and perform the security settings under the user personalization BBP_WFL_SECURITY.

Thus or use BADI BBP_WFL_SECUR_BADI and return the securitu level there, or deactivate the Badi and use

BBP_WFL_SECURITY setting to define security.

If you have BADI BBP_WFL_SECUR_BADI active it will overwrite the user  BBP_WFL_SECURITY settings.

It always worked on this way.

Thanks,

Melina

Former Member
0 Kudos

Hi Melina,


Thanks for the clarification.

One more ques: If the BADI is implemented and we have written the code to set the security level only for TCODE: BBPSC04 and nothing else.

Now when the approver approves the shopping cart, in the approval overview(TCODE: BBPSC07) what will be the security level for the approver. Will it be picked from the personalization tab or will it default to 0.

Thanks

Punit

Former Member
0 Kudos

Hi  Punit,

The BADI then returns 0 as security level.

You can debug this also.

Thanks,

Melina

Former Member
0 Kudos

Hi Melisa,

Yes i debugged it and found that the security level is defaulting to 0.

In the BADI - I tried maintaining the Security level to 4 during approval overview(BBSC07) this makes the change button avaialble. but as soon as they save the cart after making change the security level is defualting to 0 which makes the Workflow to restart.

Is there a way to prevent this default value .

Thanks

Punit

Former Member
0 Kudos

Hi Punit,

Well, just put iside the Badi a logic that for your BBSC07 it returns 4 and else return 1.

Or even you can call FM to read the user personalization security level inside your Badi and return this.

EX.:

 

call function 'BBP_PDH_WFL_SECLEVEL_DB_GET'

exporting

iv_user = actual_user

importing

ev_sec_level = new_sec_level.

This should solve your issue.

Cheers,

Melina

PS.: Please don't forget to assign the concerning SND points in all discussion