How can I mass import Job profile data, such as Families, Roles, Competencies, Behaviours or any Job Profile Sections?
Is there a way for me to mass import mapping between two JPB objects, such as Competency - Role, or Behavior - Role Mappings?
This article aims to cover the steps required to mass update JPB objects via import, giving guidelines and some tips and tricks, and it should be used by the system administrator to avoid making any mistakes that will end up generating data issues, inconsistencies and errors on the import. This is by no means a full guide to JPB Data Management, and for that it is highly recommended that you go through our Help Portal page here, which covers this topic.
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
SAP SuccessFactors Job Profile Builder
Reproducing the Issue
- Job Profile Builder is enabled in the instance. IMPORTANT: If you have migrated from JDM1.0/Families&Roles to Job Profile Builder, please make sure all your Families, Roles, Competency and Behavior Data has been migrated to Job Profile Builder, and can be seen on Manage Job Profile Content page before adding any new data via import or UI.
- Before proceeding with any imports, especially when deleting or editing existing data, make sure to understand fully what each object does, what other objects are mapped to it, and where it will affect other modules of your successFactors instance.
- JPB Data is consumed by Recruiting when creating a Job Requisition, or displaying competency ratings on Interview questions, by Performance Management where a form can bring competency data based on the user role, by CDP/Career Worksheet, where you can use Role data to determine an user readiness to a role based on it's competencies, as well as go through Families and Roles and add roles the user is interested in. It is also used in LMS where you can have competencies exported from Job Profile and imported in Learning via Competency connector.
- When you delete competencies that are no longer used, for example, this may have an impact on completed performance forms that had ratings for those competencies, a safer approach would be to remove them from the role, and set them to inactive status.
- When removing an object that is still mapped to other objects, such as deleting a family that is still mapped to a Job Profile Template, or Deleting a behavior that is mapped to competencies, or a competency that is mapped to active roles, you may end up causing data inconsistencies, that could render your JPB data inaccessible due to application error. If you try to do that via UI, there will be a warning listing the objects still mapped to it, but the import has no such guardrails, and the system admin should be aware of the consequences of any changes done massively to existing data. Before deleting unwanted objects, make sure they are not mapped to other objects, or being used elsewhere in the system.
- Provide Manage Job Profile builder permission to the system admin. Refer to our help portal here for more details on how to do so.
- Before importing the data for the objects you will need to export the Template with the existing data. Use that as opportunity to keep an unchanged copy saved in your computer, so that in case of any wrong changes, you have the backup to go back to.
- Keep in mind that sometimes depending on your spreadsheet reader configuration, it might make changes to the file, and thus create errors when trying to import. To be sure there is nothing changed by excel formatting, you can open the file with a text editor such as Notepad++ or SublimeText, for example.
Creating Job Profile Content Via Import
- The first step before importing JPB Data is to export the template for the specific object you want to Import. In case you need more information on how to do that, read our Help Portal page to guide you through the steps.
- Now that you have the file with the existing data, you should use it as a template on how to create new data. A good tip is to create a couple of records manually if you have none to see how they are displayed in the exported template and use as a guide.
Below is a screenshot from a Family Export File, some other files such as role, competency, behavior, skill or Job Profile sections might be different, so always export the correct template for the object you are importing. (The "See also" portion of this article has some links for the specific KBA for each import file, that covers them in depth).
Please note: "Import and Export Data" should only be used for troubleshooting and fixing issues in JPB data, while "Manage Job Profile Content Import/Export" is the place where you should go for importing, editing and exporting JPB data.
- In this file you can see first is the OPERATOR field. That is reserved for when you want to edit existing data, as removing the lines and importing the file won't remove the data. For Job Profile Builder purposes, you should use the DELETE operator on a line when you want to delete an object, so if I add it to one of the families existing in the import, that family will be deleted once I upload the file. In addition, the DELIMIT operator should be used when dealing with a file that controls the mapping between two objects, such as the ROLE - COMPETENCY file. Delimiting the mapping between a competency and a role will not delete the competency or the role, but will make sure that competency is no longer mapped to that role.
- The export files for JPB objects also contain all the translations of the objects, for the different languages you have enabled in your instance. This might be useful when you want to add translations to all your families, as that could be done in one single import, instead of manually translating one by one. Note that for entries that have no translation to a specific language, the default value will be used.
- The status column is used for when you want to activate or inactivate an object, where A stands for active, and I for Inactive. Inactive objects should still be seen by an admin(although greyed out) under Manage Job Profile content page, but will not be seen by the end user. This is recommended rather than outright deleting an objects in most scenarios, to avoid any data issues that might come with the deletion of those. Also note that this should not be changed to mapping files such as ROLE-COMPETENCY file, but only to object files, such as FAMILY, ROLE, or COMPETENCY, as the mapping should be delimited, and inactivating it will not have any effect.
- Next to it comes the externalCode field, this is a system generated GUID that is given to any object created in the system, so the ones you export will have a number in there. When creating new data please make sure to always leave this column blank for the new records, and never change it for existing records, as this will cause data issues.
- The last column for JPB objects is subModule. It is very important that for newly created objects the subModule field is always left blank. When looking at your exported data, you may spot some objects with subModule set to RCM. Note that this is to show that the object in question is a copy of an existing JPB Object, created for the sole purpose of a job requisition based on the Job Profile that contains that object (that can happen to all the JPB objects). Being so, all the objects flagged with subModule RCM won't display under Manage Job Profile Content, as they are only used on that specific Job Requisition. As a best practice, if an object has subModule RCM, leave it as it is, and if it is blank, leave it as blank. Never change the subModule of an existing object, as this may break your JPB Data and cause inconsistencies that are time-consuming to fix, as well as possible data loss.
Mapping Job Profile Content Via Import
After you have created JPB objects, such as roles or competencies, you can also map them to each other via bulk import. Please note that both objects you are trying to map should already exist in the system. Trying to map a job code that does not exist to your role will not create that job code, it will only throw an error in the import.
The screenshot below is an example Role-Competency mapping template file with data. Note that some columns are omitted for it to fit on screen, as each different locale you have in your instance will add a column for its own weight and expected rating within that role.
- The first column is also the Operator column, which was already covered on the section on creation of objects, but keep in mind to use DELIMIT operator for mapping files when you want to remove an existing mapping between two objects.
- Different from the file where you create the role, for example, this file will not contain the names of the roles, as this was already defined in the ROLE file, and should be changed through there. For this one you can see the same operator column, which was explained before, and one column for the role GUID, as well as one for the Competency GUID. The principle here is that you have exported also the COMPETENCY file, and the ROLE file, so you can check their External codes, and use those in mapping.
- In this case on the first line you can see the Role 1002706 is mapped to the competency 1000038. You can map many competencies to the same role in this way, as well as map the same competency to different roles. Other mappings do not allow this. For example, on ROLE-JOB CODE mapping file, one role can have many Job Codes mapped to it, but one job code cannot be mapped to different roles. Before importing mapping files, make sure that you are aware of the possible object associations such as those. For additional information on this, refer to our Help Portal page here.
- In this specific file you can see the competency weight and expected rating for that role, which are defined in the UI when adding a competency into a role, but for other mapping files other fields will be displayed. Always make sure to compare with your existing data to make sure you are using the correct options in each of those, so you can properly setup the data.
- The status, External Code and subModule column are used for the same purpose as in object creation, but some things are important to keep in mind to always leave them both blank for new records, and never change those for existing records, to avoid causing data issues.
Mass importing Job Profile Sections
Under Manage Job Profile Content Import/Export screen, you can also export the sections of your job profile, which are defined under Manage Job Profile Templates screen, such as Header, Long Description sections, Relevant Industries, Interview Questions and so on. Below is the file for Header section of the job profile.
- The main difference between those export files and the ones covered previously, is the Job Profile External code value right next to the operator column, which defines which job profile this belongs to, and the sectionID column, which defines in which section of the Job Profile Template that data should be displayed (your Job Profile can have more than one Long Description section, for example, so this can have an impact).
- Some of the files in Job Profile Sections will contain long strings of text with many comma within it, and thus would be hard to view in columns in excel or other spreadsheet editor, as separating text to columns by comma would break the text of those strings. If that is the case, we recommend that you open that file on another text editor such as Notepad++ or Sublime Text, to get a better view of it.
- It's important to note that sometimes each entry will take more than one line, like you can see in the example above. The entry starts with Operator blank column and Job Profile External Code, and ends with the status (A for active in the first example), the GUID (system generated), and the blank column for submodule.
Job Profile Import, JPB Import, Bulk Import JPB Data, Family, Role, Competency, Behavior, Mass, Upload, Import, Export, Data, Job Profile Builder, JPB, Create, Map, Configure, Edit, Manually, file, how to , KBA , LOD-SF-EP-JPB , Job Profile Builder , LOD-SF-EP , Employee Profile , How To