Implementation of Global Assignments in EC to LMS/EC-PY/non-SAP Integration
This blog explains what is global assignment, how the employee data looks like when one is on Global Assignments, what integration logics could be used to map the required record for EC to LMS, EC-PY or other non-SAP systems (e.g. payroll, Active directory etc..) integrations.
What is Global Assignment
In multinational organizations, it’s quite common for employees to move from one country to another on short term/long term basis.Global Assignment is an Employee Central functionality using which employee can be sent from one country to another country.The HR Ops and/or managers are generally given access to add a global assignment.Once the global assignment is added, an employee will have 2 employment records, HOME and HOST. During the duration of the global assignment, the home employment is marked as ‘dormant’ to indicate the employee is away.
The below diagram is an example of Global Assignment where employee’s Home country is France and the Host country is USA. The Host Job record will get new values for country specific org fields ( e.g position, department, location etc..).
How the data looks like when Employee is on GA (Global Assignment)
When an employee is on GA the “Host” employment record can have only following portlets:-
- Job Information
- Compensation Information
- Bank Details
All other portlets ( e.g Personal Information, address Information, dependent Information, email, phone etc..) will be common for both Home or Host record.
To illustrate this further, let’s consider the employee “Joe Blogg”, who was hired in France on 1st January 2010. On 1st June 2015, he finally got a chance to move to another country for a short term assignment for 6 months. He returns from to Home country France on 1st Jan 2015. I’ve explained here various scenarios with an example to show how the data in the API “Compound Employee” will look like at various events.
P.S – I’ve considered only fields( start_date, end_date) for Employment Information and fields( start_date, end_date, empl_Status and event) for Job Information in this example.Based on one’s requirement other fields can also be considered.
During Hire – John will have only one employment record( Home) and job record underneath it.
End date of home employment remains open
Job record ( only certain fields are shown here, job will have lot of other fields)
2. Addition of Global Assignment
on 1st June – John moves to Global Assignment. As mentioned at the beginning, SF will create another employment record ( called HOST) which will have Job record(s) as well.
The Home employment and Job record look like below. Please note – SF delimits the hire job record and then creates a Dormant record from the day employee moves to Global assignment
3. End of Global Assignment
on 1st Jan 2016 – John’s record in SF will look like below. A new job record with active status would be inserted.
HOST employment and Job record will be ended
What are the challenges in Integration?
Q1: Which API can be used to extract Global assignment details?
A1: The SF API “CompoundEmployee” or ODATA API “EmpEmployment” can be used to extract data.
Q2: How to identify which employment record is Home and which is Host?
A2: The HOST record will always have field a called “isHostAssignment” which is set as “true”.
Q3: Can an employee have multiple global assignments?
A3: Yes- an employee can have multiple HOST records, however generally at any given point of time only one HOST assignment will be active.
Q4: In case employee has multiple Host records, how to identify the active host record?
A4: Use the hose record where this condition is satisfied ( there will be only one such record)
isHostAssignment == true &&
(/person/employment_information/start_date <= current_date &&
(/person/employment_information/end_date >= current_date)
There could be many other challenges related to incremental, delta or full load interfaces.Also based on the target system data requirement might differ. For example, payroll might need only Home record related data when an employee is on short term Global Assignment but need data from HOST when on a long term assignment. Such requirement can as well be achieved by checking the assignment types in Job information employee class/employee type field.
Hope this blog will help people in understanding the nitty gritty of global assignment when it comes to integration.
Q5: Home or Host record should be mapped for EC to LMS integration?
A5: LMS need only current data of an employee, so map the HOST record as currently, the employee is active on Host (dormant on Home).
Q6: Home or Host record should be mapped for EC to Payroll integration (EC-PY or non-EC PY)?
A5: For EC to EP-PY replication (P2P) both home and host record are sent. For EC to non- EC payroll interfaces, generally employees are extracted based on pay group( also called payroll area), so if the host record contains different pay group code ( which is most likely as pay groups are country specific, even in some cases each country will have different pay groups – based on how this is configured in EC) then host record won’t be interfaced, only the home record.
If you want to know about “concurrent employment” check here