Hello
I have written a simple Web Dynpro (ABAP) that allows the user to enter/amend/delete sickness absences. I know that the system will handle collisions for me, but I have been asked to check for attendance/absence collisions in the code.
To do this I am using 'BAPI_PTMGREXTATTABS_CHECKCOLLI' and it works fine, except when the user creates an absence, and then creates another for the same employee that should collide with the one just created. If the user restarts the Web Dynpro after creating the first absence the collision is detected when the second absence is entered, but if they do not restart the collision is not detected.
i.e.
Scenario 1 - create two absences in sequence
Create absence for today
Get list of absences (using HR_READ_SUBTYPE (bypass buffer = 'X') and display in Web Dypro (includes new absence).
Create another absence for today - collision is not identified by BAPI_PTMGREXTATTABS_CHECKCOLLI
Scenario 2- create second absence after restarting WD
Create absence for today
Get list of absences (using HR_READ_SUBTYPE (bypass buffer = 'X') and display in Web Dypro (includes new absence).
Reload Web Dynpro
Create another absence for today - collision is identified by BAPI_PTMGREXTATTABS_CHECKCOLLI
I have tried initialising buffers and using different ways to commit the changes to no avail. I am using FM 'HR_INFOTYPE_OPERATION' to update the employee's sickness record.
Kind regards
Steve