on 03-30-2010 11:50 AM
Hello there,
this is my first time creating process controlled workflow. Now I have a problem to create the right expressions and events to define the output for my for choosing the right schema.
What I want:
We have created a ZBUS2121 and delegated it to BUS2121. Within ZBUS2121 we created new attribute for workflow starting condition.
In Application controlled workflow it works all fine.
But now migrating the workflow to process controlled workflow framework there is the problem.
I need the value of the new Z Attribute from my ZBUS2121 to trigger the right schema.
I Created a new expression Z_C_GET_APPR as OCF001 to call the funktion module /SAPSRM/WF_BFR_0EXP000
my parameters are
1. OC_C1_C_FWFSCRLCNTNT (its the constant class name /SAPSRM/CL_WF_RULE_CONTXT_SC)
2. OC_C2_C_GET_PROPERTY
3. Z_C2_ZGENEHMIGUNGSWF (Thats the name of the attribute in ZBUS2121)
with another expression Z00_SC_E_CHECK from type simple SAP Formularinterpreter (OFB001) I will check the result of Z_C_GET_APPR
I wrote the "Z_C_GET_APPR = 'E'
The result type is boole.
then a third expressions gives me the schema name. It's checks if Z00_SC_E_CHECK is true.
My problem is that the expression Z_C_GET_APPR containing the function module call delivers not the expected result. One field with the value from ZBUS2121.
Whats my mistake?
Hi Rico,
The below parameters are assigned to expression Z_C_GET_APPR rt?
1. OC_C1_C_FWFSCRLCNTNT (its the constant class name /SAPSRM/CL_WF_RULE_CONTXT_SC)
2. OC_C2_C_GET_PROPERTY
3. Z_C2_ZGENEHMIGUNGSWF (Thats the name of the attribute in ZBUS2121)
then create new constant expression like 'ZSRM_C4_C_ZGENEHMIGUNGSWF' instead of expression for 'Z_C2_ZGENEHMIGUNGSWF' . SAP is using own naming conversion for parameters. C1 - Class, C2 - Method, C4-Attributes. If the parameter 'Z_C2_ZGENEHMIGUNGSWF' is an attribute then create new one with C4. This might be resolved your issue.
Please let me know your feed back..
Saravanan Dharmaraj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Saravanan,
You are right these are the parameters of the expression.
I did'nt know about a naming conversion in brf. Thanks for the hint.
Now I created a new constant expression called Z_C4_ZGENEHMIGUNGSWF but it solved not my problem.
these are my parameters now:
1. OC_C1_C_FWFSCRLCNTNT (its the constant class name /SAPSRM/CL_WF_RULE_CONTXT_SC)
2. OC_C2_C_GET_PROPERTY
3.Z_C4_ZGENEHMIGUNGSWF (Thats the name of the attribute in ZBUS2121)
When I look into other expressions which using the same function module they all have
1. OC_C1_C_FWFSCRLCNTNT (its the constant class name /SAPSRM/CL_WF_RULE_CONTXT_SC)
2. OC_C2_C_GET_PROPERTY
3. OC_C3_C.....
as parameters.
Is /SAPSRM/WF_BRF_0EXP000 the right fm for me? And parameter two the right method?
Maybe it isn't the wrong fm because I'm using ZBUS2121? Or Maybe I have more naming problems. Where can I see the naming conversions of BRF Objects?
How can I trace the workflow and the result of the expression? Currently I will trigger an workflow schema with it and I have to create shopping cards to test my workflow and the expressions. Is there a simple way for finding out the result of the expression?
Hi Rico,
We are using C1, C2 and C4 very frequently. But your case create a custom attribute as 'ZSRM_C3_ZGENEHMIGUNGSWF' which could be resolved your issue. If you face the same issue then the work around is create a custom class , copy of standard class '/SAPSRM/CL_WF_RULE_CONTXT_SCu2019. create a custom method where you can pull the attribute value from your custom BOR. Hope this will help you. If you need more help please reply back.
Saravanan
Hi Saravanan,
thanks for your reply. I found another solution to solve my problem.
For reading the attribute I created an expression of type OSM001 "value request". Within I trigger my own function module, a copy of BRF_DATA_GET_TEMPLATE, to get the value of the attribute.
Before creating the expression I registered the needed structure used in the function module to BRF.
BRF->Utilities u2192 Data Sources
But one question is still open for me. How can I delete expressions, events etc created by me in transaction BRF? The context menü for deleting the item is inactive everytime.
Second question: How can I move my object from one group to another.
thank your for the transaction codes.
Maybe you can help me a third time.
When using the case expression to allocate my scheme name literals with the when values got from the field expression the system find no schema.
The when column I filled with literal which have the same spelling as the ZBOR2121 attribute I'm reading before. The result column is the schema name as literal.
When debugging the process following went wrong:
After the case expression in Method PROCESS_SPECIFIC in Class CL_VALUE_REQUEST_SIMPLE_BRF there is the coding line
134
if lv_error is inital
*----
access the desired field -
Assign lp_structure->* TO <structure>.
but the assigning of the field symbol runs to an error sy-subrc = 4
Then in method if_event_brf~add_message
I get the error message 162 that field symbol is not assigned.
On the other hand the transaction SLG1 shows me warnings that my expressions are not translated.
Do you have any idea what's wrong`?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.