This blog explains what is concurrent employment, how the employee data looks like when one is on concurrent employment, which integration logics can be used to map the required record in various integration scenarios.
What is Concurrent Employment
Concurrent Employment refers to an employee who has more than one Job simultaneously, they are employed by multiple departments or hold multiple positions within the same department in the same country. Just to give an example, let's say the position for the role "Head of Mortgages" of a financial organization is vacant and an employee who is currently working as "Head of Cards & Loans" has been handed over additional interim responsibility to manage that vacant position ( until a replacement is found). This kind of requirement is managed in Employee Central using the concurrent employment functionality.
One should not confuse concurrent employment with global assignment.Concurrent Employment and Global assignment are not connected at all and these are 2 separate functionalities. A global assignment and concurrent employment cannot be applied to the same employee at the same time. This means that, if an employee has a concurrent employment, he/she cannot have a global assignment at the same time, and vice-versa.
You can add concurrent (or multiple) employments that overlap in duration for the same person in the system, with one of these employments being the main employment and all others classified as secondary employments.
The below diagram is an example of Concurrent Employment where employee is having 2 active jobs in the same country.
Concurrent Employment is enabled in Admin Centre(check SAP Help here)
SF API "CompoundEmployee" should be used to extract the concurrent employment and the related secondary assignments
To have the API extract Secondary Assignments, the item “SecondaryAssignments” needs to be added in the “CompoundEmployee” query.
Once the prerequisites are applied, employees who are on concurrent employment the data in CompoundEmployee output XML will have new segments (employment_information & secondaryAssignments).Please note, for each secondary assignment, there will be a new "employment_information" node and a corresponding "secondaryAssignments" node.
The below diagram explains how the employment_information record is linked to "SecondaryAssignments" segments.
The "SecondaryAssignments" segment is a sub element under the person segment of the Compound Employee API.
The subitem "SecondaryAssignmentsItem" is additionally replicated as "SecondaryAssignmentPeriod" under the corresponding employment_information segment.
Once an employment record is set as the Secondary, system creates a “SecondaryAssignment” node at the same level as employment Information.This "SecondaryAssignments" is linked to the “username” of the employment information.
Each "SecondaryAssignment" segment will have fields “effectiveStartDate” and “effectiveEndDate” which can be used to identify if the assignment is active or not.
In most of the cases, only the primary employment information is sent to the downstream system. The above-mentioned logic can be used to identify the primary record.
Like Global Assignments, when an employee is assigned a secondary employment, a unique user ID is created. It is important to note that this cannot be assigned to any other user.
P.S - There is a field called "isPrimary" under "employment_information" node. This field is deprecated ( at least as of Q2 2017) and not related to the concurrent employment feature. This should NOT be used to derive the primary or secondary record. It would have been great if SAP could have given such flag, but unfortunately, that is not the case at the moment.
What are the challenges in Integration?
Q1: Which API can be used to extract Concurrent Employment details?
A1: The SF API “CompoundEmployee” should be used to extract data.
Q2: How to identify which employment record is Primary and which are secondary?
A2: For every secondary employment there will be a corresponding “SecondaryAssignments” record. The employment record which does not have an active secondary record is the Primary employment.
Q3: Can an employee have multiple Concurrent Employments?
A3: Yes- an employee can have multiple Secondary records, at least system allows.
Q4: Which record (primary or secondary) should be mapped for EC to LMS integration?
A4: For LMS one learning record for both employments. So, the primary record can be sent to learning.
Q5: Primary or Secondary record should be mapped for EC to Payroll integration (EC-PY or non-EC PY)?
A5: For EC to EP-PY replication (P2P) all employee records are replicated.
For EC to non- EC payroll interfaces, generally employees are extracted based on pay group (also called payroll area), so if the secondary records contain different pay group code then those records won’t be interfaces. However, if the secondary record(s) have same pay group, then those secondary records are interfaced.