cancel
Showing results for 
Search instead for 
Did you mean: 

Process-controlled workflow in SRM 7.0 - initial determination of all steps

Former Member
0 Kudos

Dear forum members,

I am building various process-controlled workflows where there is an initial expression to determine the schema.

During the function module I am executing to determine the schema I am also retrieving data which will determine whether many of the proces steps within the schema are needed or not.

Is there a clever way I can return the schema from the function and flags to determine which of the process levels within the schema should be triggered so I don't waste system resources checking the same data when evaluating each individual process level?

Can you let me know if this is possible?

Thanks a lot,

Best regards,

Nick

Accepted Solutions (0)

Answers (1)

Answers (1)

masa_139
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

There are 4 ways for defining process schema.

For example, 1 step, 2 step, 3 step approval.

1. Create 3 Process Schemas and Schema determination returns one of Process Schema name.

2. Create 1 Process Schema and each process step determination returns true or false

3. Mixed with 1 and 2

4. Build dynamic Process Schema by BADI /SAPSRM/IF_EX_WF_PROC_CONFIG

It depends on your requirements and which one is easy for maintenance.

Regards,

Masa

Former Member
0 Kudos

Hi Masa,

We have potentiallly 11 possible steps, so 1 is not an option.

4 requires completely coded solution which is not what is wanted.

I am looking to do solution 3, have 2 possible schemas determined initially and then be able to determine some steps during this initial schema check if possible.

Can you confirm if this can be done and how?

Thanks,

Nick

masa_139
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

Yes. You can take the way No3. You should implement the evaluation logic (BRF expression) in both schema and step level.

Regards,

Masa

Former Member
0 Kudos

Hi Masa,

If I use the same expression (containing a call to the same function module code) in the schema and step levels I am repeating the same selects and data selection in each step, thus making the performance worse.

Can I do the sleections once (during the schema determination) and pass parameters back somewhere to be picked up during the step level determination?

Thanks for your help,

Nick

masa_139
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

I don't think it brings bad performance. There are max 11 steps approval and probably it takes 2 or 3 days to get all approvals.

You can still take the way No1. or No4. It is your choice.

Regards,

Masa

masa_139
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

I have never tested this. Please check the BRF expression buffer option.

http://help.sap.com/saphelp_nw70ehp1/helpdata/en/f6/945a42fb771753e10000000a155106/frameset.htm

Regards,

Masa

Former Member
0 Kudos

Thanks Masa - some points awarded

Former Member
0 Kudos

Hi,

Looks like your worried about the performance issue here..

Basically if youu2019re not calling the BADI each and every time or for each process level, I can say you will not have any kind performance issue..

But on the other hand if youu2019re using BADI for each process level for initial validation itself, Yes it is performance issue..

Thanks!!

Bharath

Former Member
0 Kudos

Hi Nick

Always have one approval path for one schema. If there are approvers which are a part of multiple approval paths, reuse the expressions and agent determination for those process levels in each schema.

1. Have a Function Module expression created for your Process Schema Evaluation and determine any one schema based on SC data.

2. For Process steps within each schema in your 11 scenarios(I Guess you ve 11 different approval paths), use BRF Expressions which are always TRUE for steps which will always be there in the process levels. For any other evaluation for having any other process level triggered, write separate FM Expression.

Keep things simple. I dont recommend using one process schema and making it very complex at process levels. Differentiate it at the top , determine process schema and have process levels within each process schema. It will result in easy implementation and maintenance efforts.

Regards

Virender Singh