You are trying to release a Timesheet and after executing a line of ABSL script, a dump is raised with the following message:
Type conflict with ASSIGN in program Y12345ABC_CL_XXXXXXXXXXX
SAP Business ByDesign - All Versions
Reproducing the Issue
1. Click the Self Service tile on the Launchpad
2. Select "Edit Timesheet"
3. Click Release (all or current week)
4. Dump occurs
The action SubmitForApproval from EmployeeTime Business Object does not support validations in ABSL if they are created outside of an Enhancement Implementation.
SAP has provided a standard BADI definition which can be implemented by the partners 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, you need 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 SUBMIT_FOR_APPROVAL) 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. If the requirement is to raise an error message only from the ESS time sheet, 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 regards to the error message like BADI implementation name, error occurred (Yes/No), message severity, error message text etc.
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 onto the UI.
For this requirement, "Enhancement Implementation" from SAP Cloud Applications Studio can be used rather than SubmitForApproval Action Validation.
BADI; EmployeeTime; SubmitForApproval; , KBA , SRD-HR-TLM , Time and Labour Management , Problem