Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
cancel
Showing results for 
Search instead for 
Did you mean: 
parag_parikh
Participant

In a recent implementation, we implemented Qualification Expiration/Renewal Workflow. After a week from go-live we encountered a fake error in workflow which I would like to share here.

For profile matach up task TS01000136 provided by SAP, we used rule 17900012 ( which uses FM HR_ASR_AGENTFINDER ) to determine user ID of the employee by reading course participation details from triggering event BO BUS7019->CREATEDWITHVALIDITY.

We passed below parameters to the the rule.

Workflow container Rule Container
'17900013'&SUB_RULE&
01&MANAGER_LEVEL&
&QUALIFICATION.PERSONTYPE&&RULE_BASIS_OTYPE&
&QUALIFICATION.PERSONID&&RULE_BASIS_OBJECTS&

After a week from go-live some workflows erred out with message "Element ISTAT not available in the container". Neither the rule 17900012, nor workflow had any mandatory / optional parameter to send ISTAT ( active status ). The error message looked misleading.

On further investigation we found out that bad programming practice followed in SAP FM HR_ASR_AGENTFINDER resulted into fake error message.

In this FM for rule, SAP uses FM HR_GET_USER_FROM_EMPLOYEE to read user ID of an employee number form PA0105. If no user ID is maintained in PA0105, it simply raises an exception NOBODY_FOUND without any error message!!! In normal scenarios we would never have discovered this issue as all employees are assigned to a valid user ID. However in this case since employee was terminated before this dialog work item was created, we discovered the issue.

As a result , calling FM RH_GET_ACTOR raises an exception with any fake "Error" message ( see line 191 on screen below ) depending on the last message statement in the call stack which set system variables SY-SMGID, SY-MSGNO etc.

Again lessons learnt. Never forget best practice of raising exceptions with the appropriate error messages. In the current scenario as a permanent solution, define custom rule to get data required with appropriate error handling and request SAP to correct programming error to avoid misleading errors. :smile:

1 Comment
Labels in this area