When trying to complete a Rehire, the user clicks on Save (at the end of the Rehire wizard, without a workflow configured) or the final Approver tries to approve the Rehire (with workflow configured) - "An Application Error has Occurred"
The error can be either of the following -:
1) JDBC batch update error -:
2) An Application Error has Occurred -:
- Add New Employee > Use this match (Rehire a regular Employee)
- Add New Employee > Use this match > Rehire with new employment (could be any regular employee Rehire, or also a conversion, i.e. rehiring from Global Assignment or Contingent Worker)
- Rehire Inactive Employee
Employee Central 2.0
Reproducing the Issue
The issue does not occur for every Rehire, so reproducing the issue every time is not always possible. To try and reproduce, Rehire an employee via any one of the 3 correct Rehire methods -:
- Admin Center > Add New Employee wizard > trigger the "Use This Match" feature (by entering First/Last Name, Date of Birth and National ID of a Terminated employee) to Rehire the employee
- Admin Center > Rehire Inactive Employee
- Admin Center > Manage Pending Hires > Hire an employee and then trigger the "Use This Match" feature (by entering First/Last Name, Date of Birth and National ID of a Terminated employee) to Rehire the employee
Where will the error occur?
1) If no Rehire workflow is configured, the error will occur when clicking "Save" at the end of the Rehire process
2) If a Rehire Workflow is configured, the error will occur when the final aprover tries to approve the workflow request
The error is caused by a data issue, with the employees existing data in the system (not the data entered via the Rehire process). The root cause that creates this scenario has not yet been identified (as it is not reproducible). The Development investigation is still on-going.
Which data can cause these errors?
It could be one of the following -:
- Global Information (child data of Personal Information element)
- Email Information
- Phone Information
- Dependents Information (see Knowledge Article 2379934 - for information on work-around and fix timeframe)
- National Id Information
Identifying what data is causing the error
First step is to identify what data is causing the error. Currently you will need to engage with SAP SuccessFactors Product Support (Employee Central) to determine the exact root cause. To do so you will need to capture the following information, and provide it in the Support Incident you create, along with the ID of this Knowledge Article -:
- User ID (of the employee being Rehired)
- Data Center
- Instance ID
- Error id (If you get the "An Aplication Error has Occurred" message - copy the entire contents of the pop-up's text area - it should look something similar to this -: errorId=a119a9b-0f1e-46fd-8f35-55dce38970, timestamp=2016-09-15T09:09:09.329+0200, server=191PC123BCF274, versionInfo=Release%3A%20b1608.1074547%0A%20%20%20%20%20%20Server%3A%2019PC12BCF27%0A%20%20%20%20%20%20Timestamp%3A%202016-09-15T09%3A08%3A40.325%2B0200)
- Immediate Time Stamp when the error occurs (reproduce the error message, then click OK on the error message and scroll to the bottom of the page, and click "Show version information" and take a screenshot or copy/paste the text into the incident)
For CPS colleagues, please review the following internal KBA for futher detail on finding the cause of the issue via the error logs:
2472634 - INTERNAL - How to use SPLUNK to find Cause of JDBC Batch Error for Rehire
What to do once the data causing the issue has been identified
The issue is always with the existing data, not that which was entered during the Rehire process. Therefore to work-around this problem you would need to -:
- Navigate to My Employee Files
- Search for the employee you are Rehiring (using the "Include Inactive Users in Search" feature)
- Navigate to their Personal Information page
- Delete the existng data in the portlet identified as causing the issue
We strongly recommend that you take a backup of the data before you delete it. With Email Info and Phone Info, as there is no history records for these elements, a screenshot should suffice. But for Global Information, you may want to run a Person and Employment Export Ad Hoc report, to backup all of the Historic records for Global Info, before deleting them all. For Dependents Info, please refer to Knowledge Article 2379934 for further guidance.
Once the problem data has been removed, you can complete the Rehire process. Note - the data captured in the Rehire will not be effected. If you are not using workflows, then you will definitely need to backup previous data, as you need to complete the process again.
What is a good idea here, is to use a workflow for all Rehires - so the process does not need to be completed again and again if this issue occurs, because when using Workflow, the Rehire data is stored on a temporary table until final approver approves the workflow.
Produc Support Note: Please refer to Internal Memo for Application Log examples
JDBC batch update, An Application Error has Occurred, Rehire error, Unable to Rehire, Rehire Workflow, JDBC, batch, Rehire, JDBC, Batch, Unable to approve rehire workflow, UC_PER_PERSON_KEY, updatePersonRelationshipsInfo, 8e531727cde1d0233f6660c97e8e0fa798f3c19b, ECT-85773, ECT-51409, ECT-44062, ECT-33809, ECT-33715, ECT-87110, HibernateException thrown could not insert, getAllEffectiveEmpEmailInfoForUserByType, unique constraint violated, EMP_EMAIL_INFO, UC_EMP_EMAIL_INFO_KEY , KBA , LOD-SF-EC-HIR , New Hire/Rehire Wizards , LOD-SF-EC-WFL , Workflow & Trigger (Rules & XML) , LOD-SF-EC-CGA , Global Assignments/ Concurrent Employment , LOD-SF-EC-CWF , Contingent Workforce , Problem