SAP Knowledge Base Article - Public

3140302 - Not Possible to Approve Leave - '500 Internal Server Error' or 'Task Cannot be Started' Error

Symptom

You are unable to approve a leave request after a PDI implementation. You get the error 'Task cannot be started' or '500 Internal Server Error'.

Environment

 SAP Business ByDesign

Reproducing the Issue

  1. Go to Manage My Area
  2. Select Approvals view
  3. Select one of the following options:
  • Option 1: Click on Detail and get the task execution error: 'Task cannot be started'
  • Option 2: From the result page, select a task, click on approve and get a '500 Internal Server Error'

Cause

The PDI development may cause empty values being passed. This is considered as type conflict and throwing the dump.

You may create a SAP incident so that our support can check the backend logs and verify.

Resolution

SAP has provided a standard Enhancement spot which can be implemented by the Customer for these types of validations. The BADI name is TIM_EMP_TIME_VALIDATION_CHECK and the corresponding enhancement spot name is ES_TIM_REC_VAL_CHK_EXT. This BADI has an interface with only one method “VALIDATE” which needs to be implemented.

 

This interface method has importing parameter of type TIM_EMP_TIM_VAL_CHK which in turn consists of Employee Time ROOT UUID, Action Name and Recording View type code as input parameters. These parameters will be passed from the standard SAP code to the BADI implementation whenever any action will be called on the employee’s working time confirmations.

 

In the BADI implementation, the partner needs to check for the Action name that is existing on the ROOT node of the TIMX_EMPLOYEE_TIME BO (if the implemented code needs to be executed for some specific actions, in this case APPROVE) and then retrieve the ROOT and ITEM node data of TIMX_EMPLOYEE_TIME business object with the help of received Root Node UUID.

 

After data retrieval, the conditions need to be put to validate the entered/saved time durations. For example, if the requirement is to raise an error message only from the ESS time * then the recording view type code can be checked in the retrieved ITEM data of the BO. The error message which needs to be raised can be logged into the CHANGING parameter of the interface which in turn consists of some attributes with regardso on. to the error message like * implementation name, error occurred (Yes/No), message severity, error message text and s

 

The SAP standard code will take care of the error handling and the error message which is received from the BADI implementation, will be shown on the UI.

Keywords

BADI Validation PDI , KBA , SRD-HR-TLM , Time and Labour Management , AP-RC-BDS-LM , ByDesign Studio Lifecycle Management , Problem

Product

SAP Business ByDesign all versions

Attachments

BADI+in+cloud.docx