You have an integration scenario which is set up in the SAP Business ByDesign system. When an employee is terminated in the external system, the employee is also terminated in SAP Business ByDesign with current date as Termination Date and current date as Valid To date for the corresponding business user.
When a change from the external system alters the Termination Date to the future (either by a direct change to the termination date or a rehiring) in a way that causes employee data is SAP Business ByDesign to be active again, you notice that the corresponding business user's Valid To date is overwritten by some random date.
Your expectation is that the Valid To date of the business user should not be changed.
SAP Business ByDesign
Reproducing the Issue
To check the validity of the business user:
- Go to Application and User Management work center
- Access the Business Users subview
- Search for the respective business user
At the bottom of the screen, in the Details section, you see the Validity From/To field for the business user.
If the Valid To date is provided lower than the Last Logon Date, then the Valid To date will be set as Last Logon Date. The Valid To date of the user cannot be set to a date before that user's Last Logon Date (since if the user could logon yesterday, for example, then the business user record needs to have been valid at least until yesterday).
In case of changes from the external system which reactivate the employee, new validity is passed as 01.01.0001 to 01.01.0001. Since this would mean that the Valid To date would be behind the Last Logon Date, then the Valid To date is automatically updated to match Last Logon Date.
This is the expected system behavior.
Let us consider a real time example of an employee,
1. When employee was first terminated effective 15.09.2022, Identity/UserID of this employee was valid till 31.12.9999 and the termination was performed on 16.09.2022.
In this situation, as the identity/UserID was already valid for this employee, Identity/UserID end date as well got updated with termination date 15.09.2022.
This is system behavior: “Whenever an employee has identity/UserID valid in future and termination of employee is performed, identity/UserID end date is updated with the termination end date.”
2. When the termination date was changed from 15.09.2022 to 20.09.2022, identity of this employee was only valid till 15.09.2022 and the date on which this termination date change was performed was 19.09.2022.
If you notice here, Identity/UserID end date is in the past when compared to the date(19.09.2022) on which the termination date changed was performed.
In this case, due to license reasons end date of Identity/UserID can only be updated to “Last Logon Date” of the employee itself.
This is the system behavior: “Whenever Identity/UserID is inactive (end date is in past) and termination date change is performed, Identity/UserID end date can only be updated to “Last Logon Date” of employee and not with the new termination date of employee due to license reasons”.
Additionally, this change in the Identity/UserID end date to “Last Logon Date” is imposed by the system, but this happens due to the change initiated by respective user/person performing the termination and hence the user/person is seen in the change logs.
This is as per the system design itself. This behavior is applicable for even when termination of employees are done via "Personnel Administration UIs" and is not limited to via CPI integration.
Rehire, Business User, Integration, Hire, Termination, Valid To, Employee, Validity, Valid From, Last logon date, User Activation and Deactivation Log, Personnel Administration , KBA , personnel administration , user activation and deactivation log , rehire , integration , employee , business user , termination , valid from , valid to , validity , last logon date , hire , SRD-HR-PAD , Personnel Administration , Problem