SAP Knowledge Base Article - Public

2507221 - Employee Central - Home Address HRIS Sync

Symptom

This article explains how HRIS Sync works for homeAddress in EC.

"Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental."

Environment

SAP SuccessFactors Employee Central

Resolution

Hard-Coded Sync FAQ

There are no pre-delivered hard-coded sync-mappings for homeAddress. If you wish to synchronize homeAddress data to Profile, you must define custom sync-mappings in the Succession Data Model xml

How does the homeAddress sync work?

homeAddress is synchronized during the "Generic Entity" step of the HRIS Sync job (step 7). Please refer to KBA 2505747 - HRIS Sync - HRIS Sync Job - Order in which Elements are Synchronized - for more information

 

How does the HRIS Sync know which addressType to synchronize?

When you configure the sync-mappings for homeAddress, you must provide an "entity-type". The "entity-type" is the external_code of the addressType picklist. Normally you would configure "home" as the entity-type, to synchronize this address data to EP -:

addressType_Picklist.jpg

 Example in xml -:

    <hris-element-ref refid="homeAddress">
      <hris-mapping entity-type="home" >
        <hris-field-ref refid="address1"/>
        <standard-element-ref refid="addressLine1"/>
      </hris-mapping>

 

What about Country Specific configurations for homeAddress element?

The HRIS Sync will synchronize the fields as per the custom sync-mappings you defined in the Succession Data Model xml. When you configure homeAddress sync-mappings, you should always define the fields that are used by all countries, and not fields defined for few or 1. For example, if address6 is only used for USA in your configuration, you can still map it in the Succession Data Model, but data will be synchronized only for the countries which use it. Therefore it helps to plan consistency across all of your Country Specific homeAddress configurations.

  • Country Specific homeAddress field configuration can be found in the Country Specific Succession Data Model xml.

 

How does the system know when to sync coporateAddress Vs homeAddress to fields in EP?

The system will always synchronize corporateAddress as per the Hard-Coded logic. The destination fields in EP can be overridden, meaning you can for example map homeAddress fields. In this scenario (corporateAddress vs homeAddress), the homeAddress mappings will always win.

  • At which stage in the HRIS Sync process does the  corporateAddress get synchronized?
    • It is sync'ed 3rd (after phoneInfo and emailInfo). Please refer to KBA 2505747 - HRIS Sync - HRIS Sync Job - Order in which Elements are Synchronized - for more information
    • homeAddress is synchronized during the "Generic Entity" part of the job (step 7), therefore homeAddress sync-mappings will always win (as it is synchronized later).

The below is an example of how this works

1) You add the following mappings in the Succession Data Model -:

  <hris-sync-mappings>
    <hris-element-ref refid="homeAddress">
      <hris-mapping entity-type="home" >
        <hris-field-ref refid="address1"/>
        <standard-element-ref refid="addressLine1"/>
      </hris-mapping>
      <hris-mapping entity-type="home" >
        <hris-field-ref refid="address2"/>
        <standard-element-ref refid="addressLine2"/>
      </hris-mapping>
      <hris-mapping entity-type="home" >
        <hris-field-ref refid="address3"/>
        <standard-element-ref refid="addressLine3"/>
      </hris-mapping>
    </hris-element-ref>

The outcome is described in the table below. As per the order in which data will be synchronized, and also what custom sync-mappings have been defined, if you are overriding the corporateAddress fields with homeAddress mappings then the outcome is as per below (please refer to KBA 2505747 HRIS Sync - HRIS Sync Job - Order in which Elements are Synchronized - for more information) -:

 Sync Step 3  Sync Step 7   Outcome  
HRIS Element EC Fields HRIS Element EC Fields  EP Fields Which Element Wins? 
coporateAddress address1 homeAddress address1

addressLine1

homeAddress

address2 address2

addressLine2

homeAddress
address3 address3

addressLine3

homeAddress
city       ------->    ------->

city

coporateAddress
state       ------->    -------> state corporateAddress
zip-code       ------->    -------> zipCode corporateAddress
country       ------->    -------> country corporateAddress

 

Custom Sync Mappings for homeAddress

As mentioned above, there are no hard-coded mappings for the homeAddress element. Therefore you need to define custom sync-mappings in the Succession Data Model.

Best Practice configuration:

It is best practice to not override the corporateAddress mappings with homeAddress mappings. This is because you can cause inconsistencies in the Basic User Data depending on the configuration (as per the example give above in the section "How does the system know when to sync coporateAddress Vs homeAddress to fields in EP?"). Therefore it is actually recommended that you map homeAddress data to UserInfo Elements instead!

Please refer to KBA 2363922 - How to create a HRIS Sync Mapping between an Employee Central field and an Employee Profile Using Userinfo Element field - for more information on using userinfo-elements to extend synchronization between EC and EP

Example homeAddress mappings to userinfo-elements

First the userinfo-elements must be added to the Succession Data Model:

  <userinfo-element id="cust_addressLine1" type="varchar" max-length="256" required="false" reportable="true">
    <label>Home Address Line 1</label>
     <label xml:lang="en-US">Home Address Line 1</label>
  </userinfo-element> 

<userinfo-element id="cust_addressLine2" type="varchar" max-length="256" required="false" reportable="true">
    <label>Home Address Line 2</label>
     <label xml:lang="en-US">Home Address Line 2</label>
  </userinfo-element> 

<userinfo-element id="cust_addressLine3" type="varchar" max-length="256" required="false" reportable="true">
    <label>Home Address Line 3</label>
     <label xml:lang="en-US">Home Address Line 3</label>
  </userinfo-element> 

<userinfo-element id="cust_city" type="varchar" max-length="256" required="false" reportable="true">
    <label>Home Address City</label>
     <label xml:lang="en-US">Home Address City</label>
  </userinfo-element>

<userinfo-element id="cust_state" type="varchar" max-length="256" required="false" reportable="true">
    <label>Home Address State</label>
     <label xml:lang="en-US">Home Address State</label>
  </userinfo-element>

<userinfo-element id="cust_zipCode" type="varchar" max-length="256" required="false" reportable="true">
    <label>Home Address Zip Code</label>
     <label xml:lang="en-US">Home Address Zip Code</label>
  </userinfo-element>

<userinfo-element id="cust_country" type="varchar" max-length="256" required="false" reportable="true">
    <label>Home Address Country</label>
     <label xml:lang="en-US">Home Address Country</label>
  </userinfo-element>

Then you can add the sync-mappings to the Succession Data Model xml -:

  <hris-sync-mappings>
    <hris-element-ref refid="homeAddress">
      <hris-mapping entity-type="home">
        <hris-field-ref refid="address1"/>
        <userinfo-element-ref refid="cust_addressLine1"/>
      </hris-mapping>
      <hris-mapping entity-type="home">
        <hris-field-ref refid="address2"/>
        <userinfo-element-ref refid="cust_addressLine2"/>
      </hris-mapping>
      <hris-mapping entity-type="home">
        <hris-field-ref refid="address3"/>
        <userinfo-element-ref refid="cust_addressLine3"/>
      </hris-mapping>
      <hris-mapping entity-type="home">
        <hris-field-ref refid="city"/>
        <userinfo-element-ref refid="cust_city"/>
      </hris-mapping>
      <hris-mapping entity-type="home">
        <hris-field-ref refid="state"/>
        <userinfo-element-ref refid="cust_state"/>
      </hris-mapping>
      <hris-mapping entity-type="home">
        <hris-field-ref refid="zip-code"/>
        <userinfo-element-ref refid="cust_zipCode"/>
      </hris-mapping>
      <hris-mapping entity-type="home">
        <hris-field-ref refid="country"/>
        <userinfo-element-ref refid="cust_country"/>
      </hris-mapping>
    </hris-element-ref>

More information can be found in the Employee Central implementation guide

See Also

2363922 - How to create a HRIS Sync Mapping between an Employee Central field and an Employee Profile Using Userinfo Element field

Keywords

homeAddress, hris sync, ec sync, sync, synchronization, hris-mapping, hris-sync-mappings, hris sync, succession data model, xml, sdm, employee central, ec, sync, home address, FAQ , KBA , LOD-SF-EC-HRS , HRIS Sync , How To

Product

SAP SuccessFactors Employee Central all versions ; SAP SuccessFactors HCM suite all versions