This blog post belongs to the thread SC Workflow going into auto approval after activating process controlled workflow. to the question of Ankur Goyal.
Can you please help me to confirure atleast 9B_SC_SCHEME_EX01 and tell me how the process schema gets processed by system.
Decided to make it as a blog post, due to number of images and line of the text. May be it will be usefull to someone else.
So, to understand, how the certain expression works:
Start BRF transaction and find the expression.
This expression consist of 2 expressions: Total value of shopping cart is more that spending limit and product category is in certain expression.
Click on a Techn./Long Text button and you’ll see a technical representation.
So let’s check, how the first expression is calculated.
Search for this expression in BRF transaction
You’ll see, that a generic function module with 3 mentioned parameters will be called. All 3 parameters are the constants (you can also find them in BRF)
In english it means call the method GET_PROPERTY of the class /SAPSRM/CL_WF_RULE_CONTXT_SC for TOTAL_VALUE as a property name.
If you navigate and debug this class, you’ll see that this method just read the property of old good SWO1 Business Object (BUS2121 for shopping cart).
If you start transaction SWO1 for BUS2121 – you’ll see this property:
So, the total value is taken from the shopping cart. Let’s go further.
Spending Limit of Requester.
The same generic function module, but with another parameters. In english: call method SPENDING_LIMIT of the class /SAPSRM/CL_WF_RULE_CONTXT_SC.
If you debug this method you’ll see, that the method /SAPSRM/CL_WF_RULE_CONTEXT->GET_SPENDING_LIMIT to be called:
* (1) Check limit of user account personalization (SU01)
* (2) Check attributes of the user account (PD-Org)
* (3) Check limit of the user’s role personalization (PFCG)
The logic runs as folowing:
1. try to get the value from user personalization, from SU01
if found – and not 0,00 – it will be returned as a value and no further checks.
2. try to get from PPOMA Attribute ‘SPEND_LIM’ and from the Role, then compare and select higher value.
The same is for 9B_SC_PRCAT_SCHEME01
Purchasing categories are shown directly in the expression.
P.S.: English language is not my native language, and any person is not insured from mistakes and typing errors. If you have found an error in the text, please let me know – I’ll correct the post.