Quantcast
Channel: SCN : Blog List - SAP ERP Human Capital Management (SAP ERP HCM)
Viewing all articles
Browse latest Browse all 889

HCM Process and Forms: Identify all the processors of the form programatically

$
0
0

In one of the P&F implementation, there was a requirement to send an Email to all the agents involved in the process when,

 

1) The form is rejected by an agent (  Rejection button in Approve Form step )

2) The form is WITHDRAWN by initiator or HR Admin

 

My initial thoughts were to use familiar SAP workflow WAPI to get the actual agent of the work item or to update a multi-line element in workflow and keep adding actual agents of each foreground activity in this element. 

 

Then I realized that SAP application on portal shows processor details of the ongoing process and hence there was a possibility that the data I required might be housed in some P&F table. On looking further in DDIC, I came across table T5ASRSTEPDETAILS. As shown below, this is very useful table as it not only houses processors's SAP user ID of each step, but also processor role, draft/processing and execution and retention time of form with each agent.

 

P&F1.JPG

 

The key to identify record in the table is PROCESS and STEP GUID. These values are available in the container of the P&F workflow as an attributes of process object and step object instances. If a simpler way is needed, SAP utility class CL_HRASR00_PROCESS_UTILITIES. Methods GET_POBJ_BY_WI and GET_STEPOBJ_BY_WI are useful to directly get process and step object instances using work item ID itself.

 

P&F2.JPG

 

One of the limitation that I found with table T5ASRSTEPDETAILS is that it houses actual agent of the process form only and not the responsible agents. Example, the workflow sends approve form step and the rule found two approvers for the form. Say USR1 and USR2. The work item is placed in the URL of both the users. At this point, table T5ASRSTEPDETAILS is not updated with information of both USR1 and USR2 as approvers. But when any one of the user opens the form or saves form as DRAFT, an entry is created.

 

Now this is not a limitation if we were to interpret people involved in process as only those users who "actually viewed or approved the form". i.e. if the form was sent to UWL of USR2 but he/she never opened it, then he/she was not involved in the process in reality.

 

If you are using BI reporting to create reports for processes, this information is available in data-source 0PA_AS_2. Refer to this link for more details on this data-source.

 

I hope that developers with similar requirement would find this table useful.


Viewing all articles
Browse latest Browse all 889

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>