cancel
Showing results for 
Search instead for 
Did you mean: 

PO Approval Workflow retrigger

Former Member
0 Kudos

Hi All,

The PO approval workflow has to be triggered only when there is a change in the total value of the PO in the SAVED event. i.e when a PO is created and is in awaiting approval, and when anyone makes changes to the some fields in the PO other than total value in "Process Purchase Order" transaction, then the workflow should not be retriggered. In my start conditions for SAVED event, I have activated the n-step approval workflow. But there is no field indicating that the total value is not changed. Hence whenever any changes are done it is retriggering the workflow.

Any clue on how to stop the retrigger of the workflow.

Thanks and Regards,

Asha

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

Please try the following if you feel ok.

1) Get your WF templates number WS 14XXXXXXXXXXX

2) Go to SWETYPV and check for the events changed and changeversion saved.

3) Go to SWB_COND and check the start conditions for the event which is active and change it for the total value and give its parameter as some value as per the req.

If you dont have start conditions defined but you have an event active for changed or change version saved then it is as good as no start condition and it will trigger for whatever change.

Best regards,

Sridhar

Former Member
0 Kudos

Hi

For any change in PO you can use event CHANGEVERSIONSAVED of BOR BUS2201. For the Workflow define the start condition and check this condition before triggering the workflow

PurchaseOrderEC.POTotalValueIncreased = 'X'.

Attribute "PurchaseOrderEC.POTotalValueIncreased." defined in BOR BUS2201

saumya_govil
Active Contributor
0 Kudos

Hi Asha,

As the triggering event for your workflow is when PO is SAVED, it does not take into account whether the total value attribute has been changed or not. To check the same I think you need to manually code.

You can check in the BADI getting triggered on save of a PO what PO attributes have been changed. If total value is not changed you can set a global variable / constant flag in a class. Now in the start condition of your workflow, check the value of this flag.

If the value is set that means the total value is changed and vice-versa.

You can then opt whether to trigegr or not the workflow based on the flag value.

Hope this helps you solve your query.

Regards,

Saumya

Former Member
0 Kudos

FM 'BBP_PD_PO_GETDETAIL'

SU01 - personalization tab--> BBP_WFL_SECURITY - check all the options high, medium,low, new.

Make Use of the "BADI BBP_WFL_SECUR_BADI~SET_SECURITY_LEVEL" and set the security level appropriately so that the workflow restarts only when your conditions are met.

Manage BBP_WFL_SECURITY parameter (personalisation on user or role, or with BADI)

Level 4 (High)

Level 3 (medium)

Level 2 (low)

Level 1 (no)

Regards,

PR.