Error handling and Reprocessing of Employee Data for inbound Integration from third party Recruitment system to SuccessFactors (SF) Employee Central (EC)
Inbound Integrations to SAP SuccessFactors Employee Central (EC) are tricky and little complex. Most troublesome can be a New Hire Integration because it requires updating information in multiple portlets in EC.
I will share my insights and will specifically focus on such Inbound Integrations in which Employee Hiring is done in third party systems and New Hire employee data flows to SAP SuccessFactors Employee Central via Middleware.
Usually it is a file based interface from third party system i.e. You get a file from third party hiring system and you use APIs to update employee data in EC. Files should be archived for reprocessing. Most probably files will be encrypted so you should use an Encryption/Decryption software to decrypt the file to understand the issues with the employee data.
There can be various reasons for errors in such Integrations such as-
- Incorrect data from sender system
- Missing value in input file for a mandatory field in EC
- Business rule not triggered during API call
- Configuration change in EC
In frontend/UI in Employee Central (EC) we have ‘Add New employee’ wizard by which we can fill the employee information and complete the Hiring process. To do this via APIs we need to follow a particular sequence to call different APIs for different portlets. Typical sequence is given below. (After EmpJob API calls can be made in parallel)
If Interface fails while calling any of the above API or while updating any portlet via these APIs then new hire process won’t complete and we are left with incomplete data for employees in EC. For ex. If there is a failure while updating jobinfo then Interface will end up completing Perperson, personal and contact information for the employee. In such scenarios we have to define a process to complete the hiring process in EC.
Few options can be –
- Create another Interface with individual nodes for each API. Then you can update individual portlets. In above example you can call the Empjob, Empcomp and Paycomprecurring APIs individually for failed employees.
- You can import the data in individual portlets using ‘Import Employee data’ in EC. This requires templates preparation for each portlet so time consuming. Since there is manual intervention so prone to errors.
- Data can be updated manually (in each portlet) which is not a very sustainable option.
- Purge the errored out employees completely and rerun the interface for those employees after corrections (in inbound data or EC)
As per my experience mostly customers prefer to go with Option 4 i.e. Purge because of several reasons.
- Purging an employee in EC is quick and very easy
- No manual intervention in hiring process
- Accurate results
Only inactive employees can be purged so if Job information is not created then employee status will be inactive but if Job information has been processed successfully by the interface then you have to terminate the employee before purging.
There are 2 types of purge – Soft purge and Permanent purge. With soft purge the username and userid are preserved in Employee central and can be made active again. With permanent purge complete data of employee gets erased and you cannot undo the purge so make sure which one you suits you as per your requirement.