cancel
Showing results for 
Search instead for 
Did you mean: 

SRM 7.0 - Process controlled workflow

Former Member
0 Kudos

Hi,

Landscape - SRM 7.0 SP05

Workflow - Porcess controlled

Scenario - Self service procurement

Problem:

1. We have mulitple level approval workflow for the shopping cart. I am using standard workflow task- 40007953 and using /SAPSRM/BD_WF_RESP_RESOLVER badi to determine agents.

2. All the potential approvers (managers) are determined correctly by this badi but the issue is work-item is sent to all the approvers at the same time where as the requirement is to sent the work-item to each approver in series i.e. only when the work-item is approved by the lower level manager, it should go to the higher level manager. Currently, this workflow task sends the work-item to all potential approvers at one go who can start working on parallely which is not desired.

Could anyone please help me to resolve this?

Please note that adding additional process steps in the process-level configuration was the option but we could not opt for that at this point of development as we have gone too far in terms badi development for agent derterminiation

Thanks & regards,

Amit

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Did you check the workflow log?? If not please check it..

Tran : SWI6

Here you can check the log and also you can able to see which step is active.. You will always find only one step is active in process controlled workflow..

Also you can check the agents for active and non active workflow steps in this log, check that too if you see all the approvers in single active step, Then itu2019s your coding error..

Please let me know..

Thanks!!

Bharath

Former Member
0 Kudos

Amit,

It is not possible to send the work item to people in sequence by configuring only one process level. If you have only one process level, the agent determination will only be applicable to that process level. If you are trying to assign multiple agents to that step, then all will get the work item at the same time.

I recommend doing one thing, Create multiple process levels(= no of approval levels you want). For each process level you keep same event and expressions. But your agent determination badi implementation need to be tweaked. Here is how you can do that

Use Parameters along with agent determnation badi implementation. In other words derive Agents based on the value of parameter using your badi implementation. This parameter can be configured in Process Controlled Workflow Configuration.

Example,

Process step 1 - WF_BADI - Parameter1

Process step 2 - WF_BADI - parameter2

.........................................................

Now write some code in the WF_BADI to pick up particular agent if parameter value is Parameter1 , pick another agent if parameter value is parameter2. Doing this way you wont ve to redesign your BADI implementation as you are able to break up the Agent logic based on parameter values.

Virender Singh

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi ,

This may be one of the possible solution:

Go to the Class /SAPSRM/CL_CH_WD_BOM_SC and Method name is /SAPSRM/IF_CLL_BOM_SC~SUBMIT.With in this method lo_pdo_adv->submit_decision method is called. Select the implementation as /SAPSRM/CL_PDO_BO_SC_ADV.

Enhancement can be created at the end of the method /SAPSRM/IF_PDO_ADV_BASE~SUBMIT_DECISION where you can write the logic to call the next level manager and execute the work item using SAP_WAPI_EXECUTE_WORKITEM and submit for the approval.

It's better to go for multiple process levels according to the heirarchy.

Regards

Kannaiah Kavuri