Skip to Content
Author's profile photo Kayla Toelle

Syncing your Onboarding Corporate Structure using the Integration Center – Part One

When implementing Onboarding, syncing the corporate structure always seems to come up.  The implementation guide advises “Do not sync the Corporate Structure information, because the sync only brings the label and code information, which can result in information loss”.  I’ve been stuck in that manual maintenance nightmare before and it ends up becoming a full time job to keep up with your company’s ever-changing corporate structure.

Existing Standard Corporate Sync

The corporate structure sync can be done through the foundation import or an adhoc report. Some limitations to these methods include:

  • Integration issues
  • Information loss/ formatting issues
  • Limited to only 3 levels of an organizational hierarchy as there is only an import file for division, department, and location

With Integration Center, our savior, you’re able to:

  • Sync code and name as separate fields
  • Sync more than three levels
  • Sync relationships
  • Sync additional corporate structure details

The below example will walk you through the steps for modifying the foundation import and foundation import mapping files, creating location and department integration center reports, and modifying the LocationImport XSLT file.

Determine Corporate Structure Levels

In Onboarding, go to Onboarding > Reference Files > Corporate Structure

/wp-content/uploads/2016/08/1_1014864.png

OR

In Super Admin, go to See Also > Corporate Structure

/wp-content/uploads/2016/08/2_1014865.png

Create the Integration Center Reports

The following reports will be setup similar to the adhoc reports but will have generic field names and a new Org Level column which will determine which corporate structure level the file belongs to.

  1. Go to Admin Tools > Company Settings > Integration Center and select click My Integrations
    /wp-content/uploads/2016/08/3_1014866.png
  2. Click the Create button and then select Scheduled Flat File Output Integration 
    /wp-content/uploads/2016/08/4_1014867.png
  3. Search for “Location” and select Location (FOLocation)
  4. Select Location Code (externalCode) and Location Name (name)
  5. Uncheck Start Date
  6. Click Select                                                     
    /wp-content/uploads/2016/08/5_1014868.png
  7. Enter Integration Details
    1. Integration Name: Onboarding Locations Export
    2. Output File Type: csv
    3. Header Type: Simple
  8. Click Next                                                        
    /wp-content/uploads/2016/08/6_1014869.png
  9. Click Location Code and change the label to ClientID
  10. Click Location Name and change the label to Name
    /wp-content/uploads/2016/08/7_1014870.png
  11. Click Location Code and select Insert Field > Insert Fixed Value Field (You can create a calculated field to calculate count but for demo purposes, we will use a fixed value field)
    1. Label: Count(User Sys ID)
    2. Default Value: 5
  12. Click OK
    /wp-content/uploads/2016/08/8_1014871.png/wp-content/uploads/2016/08/9_1014872.png
  13. Repeat steps to create OrgLevel
    1. Label: OrgLevel
    2. Default Value: Your Location Level (In this demo, it’s 4)
  14. Click OK
    /wp-content/uploads/2016/08/10_1014874.png
    Your report should now look like this:

    /wp-content/uploads/2016/08/11_1014876.png
  15. Click Next
  16. Expand the Advanced Filters section and click Browse
  17. Search and select ‘Status (status) in Location (FOLocation)’
  18. Click Change Association to “Status”

    /wp-content/uploads/2016/08/12_1014877.png

  19. Enter A in the Value field to only include Active Locations
  20. Click Next

    /wp-content/uploads/2016/08/13_1014878.png

  21. Enter Destination Settings
    1. Enter SFTP Server Host Address, username, and password
    2. File Name Prefix: <case sensitive Company ID>_Location_Sync
    3. Date Suffix Format: yyyyMMdd
    4. File Extension: csv
    5. File Folder: /ONB/Inbound
  22. Click Save

    /wp-content/uploads/2016/08/14_1014880.png

**Repeat steps to create department report.

  • Starting Entity: Department (FODepartment)
  • Fields: Count(User Sys ID), ClientID, OrgLevel, Name
  • File Prefix: <case sensitive Company ID>_Department_Sync.csv

Modify the Import Files

Location Import File

**This file will be used to import all corporate structure levels versus having one import file per level. It is very important that all of the field names match exactly or the sync will fail.**

  1. In Super Admin, Go to Integration > Import/Export Settings
  2. Under the Integration section, export the ImportLocation file.
  3. Save a backup of the file
  4. Update the xslt file to the following code.
    /wp-content/uploads/2016/08/15_1014881.png
  5. Save as a new file
  6. Return to Import/Export Settings in Super Admin and import the new location import file

Foundation Import File

  1. In Super Admin, Go to Integration > Import/Export Settings
  2. Under the Integration section, export the FoundationImport file.
  3. Save a backup of the file
  4. Change the department import file to ImportLocation and modify the field names
    /wp-content/uploads/2016/08/16_1014882.png
  5. Save as a new file
  6. Return to Import/Export Settings in Super Admin and import the new foundation import file

Foundation Import Field Mapping File

  1. In Super Admin, Go to Integration > Import/Export Settings
  2. Under the Integration section, export the FoundationImportFieldMapping file.
  3. Save a backup of the file
  4. Modify the fields under Department and Location
    /wp-content/uploads/2016/08/17_1014883.png
  5. Save as a new file
  6. Return to Import/Export Settings in Super Admin and import the new foundation import field mapping file

Run the Integration Center Reports

  1. In Provisioning, go to Manage Scheduled Jobs
  2. Find your Location Sync Report and select Run Now from the Actions drop down
  3. Repeat for your Department Sync

Check Import Status in Onboarding Audit Report

  1. Once your report has been picked up from the ftp site, the file should no longer be listed in the inbound folder.
  2. Other than checking your corporate structure, you can determine the status of the import by going to Onboarding > Settings > Audit Report
  3. Select the blank option from the Type drop down, enter INTEGRATION in the Event Code text box and click filter
  4. Find the import file and see if it is complete

/wp-content/uploads/2016/08/18_1014884.png

Once your report runs successfully and is processed by Onboarding, your corporate structure will be available in Onboarding.

/wp-content/uploads/2016/08/19_1014885.png

I hope this post will make managing your Onboarding Corporate Structure a little easier. Please stay tuned for parts two and three on syncing relationships and additional attributes.

Assigned Tags

      34 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi Kayla,

      Awesome contribution to the community.  I know many consultants will find this information useful. 

      Author's profile photo Former Member
      Former Member

      Hi Kayla,

      Thank you for sharing the ONB Corp Structure!

      Is there a way to map the EC MDF objects to ONB Corp structure without using foundation objects import/export in super admin?

      For Ex: If Org/Dept/location updates in EC MDF objects then automatically same objects should get sync in ONB Corp Structure!

      How can we achieve this?

      Thank you,

      Saisree.s

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      Yes! The above method syncs MDF objects from EC to onboarding if they change or are added in EC. It does not delete inactive objects because you would want them there for historical reporting.

      Author's profile photo Former Member
      Former Member

      Thank you Kayla, Appreciate your quick response.

      For Position Management integrated system also updates the same process?

      For Ex: If Inactive position Id is marked as a active position id to New Organization in EC, then this New Org Id get sync through the Integration Center in ONB Corp structure?

      Thank you,

      Saisree.

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      Correct. Part 3 of this blog will go through an example of syncing position and all of the position attributes from EC to Onboarding.

      Author's profile photo Former Member
      Former Member

      Thank you once again Kayla:-)

      Author's profile photo Former Member
      Former Member

      Once again THANK YOU Keyla for sharing the challenging piece of MDF objects sync - EC to ONB.

      Thank you,

      Saisree.

      Author's profile photo Rajaraman Jayaraman
      Rajaraman Jayaraman

      Hi Kayla

      Thanks for the useful write up.

      My requirement is:

      When I add an employee in ONB, I have two custom corp fields in ONB (they are like department or division). The data for these have to flow down from EC to ONB. Do you think using your method will help synchronize this? This is bit urgent. So, appreciate your early reply.

      Thanks a lot again
      Raj

      Author's profile photo Rajaraman Jayaraman
      Rajaraman Jayaraman

      Hi

      I actually want to move two Corporate Structure related MDF objects from EC to ONB. These should reflect while adding an employee in ONB. Now Division and Dept are reflecting in ONB screen. Similarly these, MDF objects should also reflect there.

      Thanks
      Raj

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      Hi Raj,

      Yes, this will work for that. You might need to add a new level in onboarding super admin if one doesn't already exist for the MDF object but other than that, the steps would be the same.

      Thanks,
      Kayla

      Author's profile photo Former Member
      Former Member

      Hi Kayla,

      What is the purpose of the Count(User Sys ID) field? Why did we set it to 5? And why/how would we create a calculated field?

      Thanks

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      Hi Heidi,

      The count field was in the original sync file, so I left it there and just chose 5 as a static number. In integration center, you can create a fixed column and enter any value and it will be used for all rows.

      Author's profile photo Former Member
      Former Member

      Hi Kayla,

      With this process, if an entry for a company in Onboarding already exists and has, for example, the E-Verify  field set to yes, is that entry overlaid by the update?  Or are only the fields defined in the import updated for an existing record and not the whole company record?

      Thanks!

       

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      It only updates the fields defined in the import. For example, I defined client id, name, and country and then manually populated city and e-verify in onboarding. I updated the location name in EC and then ran the sync. Only the name updated but the fields I manually entered weren't changed.

       

      Author's profile photo Aleksandra Kurkowska
      Aleksandra Kurkowska

      Absolutely fantastic! Thank you so much for sharing this!

       

      Author's profile photo Former Member
      Former Member

      Kayla - this is great! Thank you for sharing!

      Author's profile photo Former Member
      Former Member

      Has anyone attempted to sync user's location with this method?  The user location is showing the concatenated value (location name (location code)), but ONB is expecting the location code only. I tried setting up the separate Integration Center file with User ID and Location Code but could only find Location" for the user.  Thank you in advance if you can assist!

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      Hi Stacey,

      Yes, I know of several people that have done this method and I have implemented it several times now. When looking for location in the integration center, use the location foundation object instead of the location on the user. You don't need to include the user id in this file and you will be able to get the code and name as separate values from the foundation table.

      Thanks,
      Kayla

       

      Author's profile photo Former Member
      Former Member

      Kayla,

       

      Thanks for sharing your knowledge in this complex topic. Can you confirm if the solution you propose above can be used for updating level 1 Company and if this will also allow all the standard fields available for a company by standard. Thanks in advance

      Ricardo

      Author's profile photo Suresh Jain
      Suresh Jain

      Thanks Kayla for sharing and putting nice blog.

      I am sure lot of people must have used your solution and saved the time and energy by NOT replicating the foundation objects as corporate structure. And Sync to avoid the regular maintenance.

      I tried to do the same but some how the files from SFTP site is not read by Onboarding application. Did anyone else had same issue? Appreciate your input.

      Thank you,

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      What did you name the files? The files from integration center have to be like above because Onboarding uses the file mask from the foundation import file to pick up the file. If the title there doesn't match the file name, it won't be picked up by onboarding.

      Author's profile photo Suresh Jain
      Suresh Jain

      Here are the file names and they do match.

      • instanceT1_Location_Sync20170620
      • 
instanceT1_Division_Sync
      • 
instanceT1_Department_Sync

      Location file got the date stamp after sync word but I think its should not impact because in foundation import we had put the * after sync.

      Thanks for quick reply.

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      Hi,

      On the foundation import file, try putting the * after the object instead of sync so it'd be like (Account Name)_Department*

      Author's profile photo Former Member
      Former Member

      Hello Kayla,

      This might be a stupid question,I'm just not sure with number 11. on the fixed field or calculated field, I'm not sure what to add or use on this field, hope you can share some idea.

      I'm just wondering on what's that value we are trying to get with this field. Is it the user sys id? If yes what's the use of the fixed field or calculated field.

      Hope you can help.

      Thank you so much.

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      Hi,

      On the sync files by SF, it has a column called Count(User Sys ID) which is a count of users in the org unit. For this integration, I left the column but just hardcoded a random number instead of doing a count. It won’t hurt anything if you do a count of employees in this column instead.  Then #13 is a fixed field and it’s the org level from onboarding.

      Hope this helps!

      Author's profile photo Former Member
      Former Member

      Hi Kayla,

       

      Thank you for your blog, it would really help the maintenance of corp structure, there's just one thing that I can't seem to do, the "Modify Import File,Location Import File" when I tried to export the Location in super admin, I'm getting a different format than yours.

      Here's what I have.

       

      Do I need to remove all those code and change it same as your screenshot or do I just need to add your code somewhere here on the above image.

      And what if we have more than 4 levels, is it just the same process?

      Really appreciate your help.

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      Hi,

      Yes, you'll replace everything except for the open and close stylesheet tags.  Below is a screenshot of a full file with 4 levels.  If you have more than that, you'll just add the additional levels.  If you want to sync additional attributes for some of the levels, part 3 of this blog includes that. Hope this helps!

       

       

      Author's profile photo Lyra Laconico
      Lyra Laconico

      Hi Kayla,

      Thank you so much for this! This is very helpful 🙂

       

      Can this done for Company as well?

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      Hi Lyra, This can be used for all corporate structure levels.

      Author's profile photo Jorge Gabriel Da Silva
      Jorge Gabriel Da Silva

      Hi Kayla, I tried the level 1 company, I need it, but I could not find the file ImportCompany (ImportCompany.xslt) in Super Admin, Integration, Import / Export Settings. Can you help me know how to synchronize level 1?

      Author's profile photo Chetan Chavan
      Chetan Chavan

      Thanks Kayla

      I have followed all the steps,

      but while importing "ImportLocation" file syetm giving me "Failed to validate configuration file." error.

      Am I missing anything.

      Regards

      Chetan

      Author's profile photo Eliza Dash
      Eliza Dash

      Is there a part two?

      Author's profile photo Kayla Toelle
      Kayla Toelle
      Blog Post Author

      Hi Eliza Dash here is part 2: https://blogs.sap.com/2016/11/02/syncing-your-onboarding-corporate-structure-relationships-using-the-integration-center-part-two/

      and part 3: https://blogs.sap.com/2016/12/29/syncing-your-onboarding-corporate-structure-integrating-position-management-with-onboarding-part-three/

      Author's profile photo Mohit Somani
      Mohit Somani

      @Kayla

      Hello Kayla,

      Thanks a lot for the steps.

      I have a query though : if we have codes and names differently, in the Work queue screen, in the pending hires screen, in new manager activities, in e-mail notifications; everywhere the codes will be visible and not the text.

      Is that right, or I am missing on some configuration?

       

      E.g. For Department : Client ID : 101   Name : ABC Department

      So, in all the screens, "101" will be visible and not "ABC Department".

       

      Regards,

      Mohit Somain

       

       

      Regards,

      Mohit Somani