on 08-11-2015 9:16 AM
Hi all
I'm hoping that you can assist with a query i have on the AC 10.1 ARM approval workflow process. I'm fairly new to this so please bare with me.
We are currently implementing the ARM module at a client, who has the following workflow request for new/change/unlock user account:
- User submits access request in GRC AC
- First level approver - Line Manager (risk analysis not mandatory)
- Second level approver - Business Process Owner (risk analysis mandatory)
- Third level approver - Authorizations/Security
The request is successfully submitted and is directed to the LM as 1st level approver. The LM approves the request and it's supposed to then be directed to the BPO for the 2nd level of approval, but it does not reach the BPO.
I’ve created a decision table in BRF+ to say if “Basis” is selected as the Business Process on an access request, it must go to the Basis BPO for approval. I've run a simulation on this table and the output results are correct. The table was checked, saved and activated.
I then used this tables Function ID to create a new Agents rule in MSMP (step 2 maintain rules) for the SAP_GRAC_ACCESS_REQUEST workflow process.
In step 3 maintain agents, I've created a new Agent ID called Z_BPO, as an approval purpose and GRC API type, and assigned the Agent Rule ID from step 2.
In step 5 maintain paths, I've created a "New User Account" path with 3 stages of approval - Z_BPO being the second level of approval.
When i try to Save/Simulate in step 7, a version cannot be generated as the IMG Configuration Tables contains errors. When the workflow starts checking the definition of Agent "Z_BPO", the following error is outlined: ABAP dictionary data object binding is out of synchronization.
I've checked the internet for assistance on this error to no avail. I think that i'm not defining the BRF+ decision table correctly within MSMP.
I've followed the documents on the below link that relate to BRF+ and MSMP extensively but i am still stuck.
Your urgent assistance and guidance on this is greatly appreciated.
Kind regards,
Neresha
Hi all
After all the assistance and guidance from everyone, I managed to successfully set up the BRF+ table and the MSMP workflow.
After further investigation on why my access request was taking the escape route, I found that I should not have selected a "System" on the access request because when you select a "Role" to assign to the user, the System is automatically detected. I came across the following statement on another discussion:
"First of all adding system information is not required if you are not using business roles,or you are expecting a routing futher in the workflow or you have to set system validitiy for the user. System information is automatically picked by GRC as soon as you add single or composite role (not in case of business roles) ."
Once I only selected a role, the access request followed the workflow which I had configured.
Kind regards,
Neresha
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Neresha,
Can you please attach Screen shot of the function?
Regards,
Fazil
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hi Neresha,
can you show screenshot of the BRF+ function/decision table. Data dictionary binding is related, to BRF+, and not error in MSMP.
regards
Plaban
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Mohan
Thank you so much for your suggestion - i can now successfully generate an MSMP version with no errors after adding GRFN_MW_T_AGENT_ID as my Result Data Object on my function. In BRF+ I've activated the decision table, function and application successfully.
However, on my access request, when it's supposed to be directed to the BPO for 2nd level approval, it takes an escape path to the authorizations team because it cannot find the approver.
My decision table now contains the following details, with NOTIFY_EXT_WHO_TYPE and NOTIFY_EXT_WHO_ID not mandatory. Is this correct?
I've set up step 5 maintain paths in MSMP as follows, which is pointing to the Z_BPO Agent ID. Is this correct?
Kind regards,
Neresha
Hi Plaban
I've left all columns blank except for the BPROC column. I could not remove the USERID column completely as it gave me an inconsistency error when i tried to Check the BRF+ decision table.
I created a new access request to test, but after 1st level approval the request is sent to the escape path as it still cannot find the BPO level of approval.
In your suggestion to remove the USERID column from the decision table as it is not required, how does the system know who to send the request to for approval, if "Basis" is selected as the business process, if the user ID is not specified anywhere in the system?
Kind regards,
Neresha
Hi ,
It seems to be BRF+ is fine.
1)Can you check all paths where Z_BPO agent is mapped and check stage settings as well.
if you find different agent maintained in stage settings, change it to Z_BPO.
Activate MSMP and test again.
2)If it still have issues, run transaction code -- GRFNMW_DBGMONITOR_WD to view message log,to view configuration ,etc.
Thanks
Mohan
Hi Mohan
I've double checked that Z_BPO agent is mapped correctly. I even deleted my paths and stages and started from scratch.
I've run the GRFNMW debug and i think I've identified where the workflow stops. Under the Runtime Work Items tab, there is a Wait Step with the following message: Waiting for event 'REJECT' of object type 'CL_GRAC_ACCESS_REQUEST_WF'
I have again successfully gone through the
1. Perform Automatic Workflow Customizing
2. Perform Task-Specific Customizing (Assign Agents (PFTC) and Activate Event Linking (SWE2))
as per SAP post install checks.
I have ensured that WF-BATCH has SAP_ALL profile. But the access request still takes an escape.
See screenshots below from GRFNMW debug:
Kind regards,
Neresha
Hi Neresha,
Have you checked, saved and activated the Function in BRF+ Agent Rule Application? I guess you have only activated the Decision Table. Please check, save and activate the function too.
Let me know if it works.
Regards,
Fazil
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Fazil
Thank you for your reply.
The BRF+ decision table, function and application are all saved, checked and activated with no errors (all 3 have green dots to indicate that they are active).
Was i correct in creating a new Agents rule in MSMP with the Function ID from BRF+?
Kind regards,
Neresha
Using the Function ID is correct.
Have you selected the correct "Business Process" field? There are 2 available, one is at header level, and the other is at line item level, i.e. the Business Process assigned to the role.
Also, have you created the agent rule as a "line item by line item" BRF+ rule?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.