cancel
Showing results for 
Search instead for 
Did you mean: 

MDGC7 BRF rules - Cannot process work item

former_member283411
Participant
0 Kudos

Hi Experts,

I'm implementing MDGC7 in a demo system. I would like to use BRF rules to route my workflow and to understand how exatly BRF and workflow are tied together. I have set up my single value, user agent and non-user agent decision tables as it is written here: http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/1083c36f-a765-3110-f8a5-d03be6b06....

However, after submitting my CR for the first time, I cannot find the CR in the MDG menu option "change request and documents"-->"to be processed by me". It's empty.

This is how my single value dec. table is set. According to this my WF should bes set to 'step 10' and 'status 02'.

The cond. alias is REV, so this is how my user agent decision table is set:

When I check my WF log, I suppose that the agent determination should be done in the "Agent and route finder" step:

And in the container of this step I have the correct value:

Maybe it get lost somehow after the processing of the next steps? Could someone help me how can I find the reason of the error?

Thank you in advance,

Tamas

Accepted Solutions (1)

Accepted Solutions (1)

former_member283411
Participant
0 Kudos

One additional thing. I thought bindings are visible in WF log too, but it seems that for the system to show the WF bindings of all the work items, I have to go to the WF definition.

Here I have checked the step of the WF definition where my WF had arrived after the submission.

Here I have 2 bindings.

One between the WF and the task:

and one for the "Rulebased Workflow CR Dialog Agent Rul"

No values supposed to be passed back by BRF rules? Doesn't look good...

I've also checked the code behind the second one. It only populates the data from the container element  USER_AGENT into an internal table actor_tab.

Thanks,

Tamas

henk_verdaasdonk4
Active Participant
0 Kudos

Hi Tamas,

Everything looks ok to me.

The BRF+ rules are executed in the "Path and Processor Finder" step and here there is a two way binding.

The "Dialog processing" step is done asynchronously and hence there is only binding from workflow to task. After execution the binding is from terminating event to the task/WF. This is defined on the task definition.

Agent determintion for this step is done with the agents rule 60800140 and the specific binding. Here ,as you pointed out, the container element USER_AGENT.USER_AGENT is used. As this element is correctly filled with the value S MDGtest 1, I would check if it is also used in the agent determination. In the Wf log select the "Process change request xxx" step and use menu path utilities-->agents-->agents. Then select the button "org. assignment" here you should see your Position with the users assigned.

If not check the name used in BRF+ exactly matches the position name.

Also it could be a buffer issue. The try transaction SWU_OBUF and click Start synchonization. Go back to the WF log and your task. Click on the workitem Id.  Goto--> Technical workitem display (if not already). And then select Edit-->Change-->Execute agent rules.

I hope this will help you.

Cheers,

Henk.

former_member283411
Participant
0 Kudos

Hi Henk,

thank you for the detailed answer, then I think I'm closer to the solution now.

The situation is not exactly the same as you described based on my question.

  1. In my WF log, in the "Agent and Route finder/Path and Processor Finder" step I have the correct agents in the USER_AGENT table only and the Agents BOR object type and Agent simple data type are both empty.


Is it correct this way?

2. After submitting the CR my WF run till the step "Process change request...". Here if I check the containers the Agents BOR object type and Agent simple data type are both still empty, and the USER_AGENT table is completely missing!

This could be the reason of my problem? Now I have to find out why and how the agent table get lost?

Could you compare this with a normal situation please? So that I now what is the correct behaviour I should expect from the system?

Many thanks in advance,

Tamas

henk_verdaasdonk4
Active Participant
0 Kudos

Hi Tamas,

1. The "Agent and Route finder/Path and Processor Finder" is a background task and has no assigned agents. This is always performed by WF-Batch.

2. The "Process change request..." step log container (like you picture). Is the container of the task (so the first binding in the task definition). The agents are bound to the agents rule. This is not visible in the log. However on the top level WF container the USER_AGENT should still be there:

If from the task definition you go to the agent rule 60800140 and then to the function module USMD5_SSW_CR_USER_AGT_DET and you put a external break point on the ENDFUNCTION. What is in the ACTOR_TAB if you do an "Execute agent rules" like I described before.

Henk.

henk_verdaasdonk4
Active Participant
0 Kudos

Hi Tamas,

In the BRF+ table you need to use the ID of the position and not the abbreviation. In most setups this is a number.
You can check the number in PPOME in the hierarchy view, use the right most button 'Column Configuration' and select ID in the popup.

Cheers,

Henk.

former_member283411
Participant
0 Kudos

Hi Henk,

MANY THANKS!!!! You are amazing! I would have spent a few months with this if I had been able to find it out at all. I'm sorry that I can reward your answer only once!

Thanks,

Tamas

P.S.: it works, the key was that we shouldn't use the name of the position (I didn't even use the description of the position, I used its name!) but we should use the ID of the position that we can acceess through the column configuration!!

henk_verdaasdonk4
Active Participant
0 Kudos

Hi Tamas,

Thanks for your appreciation!!!

Henk.

Answers (1)

Answers (1)

raghu3
Contributor
0 Kudos

Hi ,

Is MDGtest1 really a position or User ID? If it is an user id , then agent type shall be US not S

Regards,
Raghu

former_member283411
Participant
0 Kudos

Hi Raghu, it's a position. Thanks,Tamas