Skip to Content

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.

Image 4.JPG

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.

Image 1.jpg

Image 2.jpg

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.

Image 3.jpg

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. 🙂

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

Leave a Reply