SAP Knowledge Base Article - Public

2285199 - How to create a Custom Foundation Object

Symptom

With Employee Central, there are a pre-defined set of Foundation Objects that are delivered such as Legal Entity, Business Unit, Cost Center, etc. But what if more are needed? How do you create a Custom Foundation Object?

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
  • SAP SuccessFactors HXM Suite 

Cause

There may be a business requirement to use more Foundation Objects in the Organisation, Pay or Jobs Structure in the system.

Resolution

Using the Metadata Framework, you can create Custom Foundation Objects, which can be used in Employee Central > Job Information, to accommodate specific requirements which the pre-delivered set of Foundation objects may not cover.

The following actions do not require a Support case, and can be executed by an Admin User. A few things to remember here before getting started -:

  1. Start Simple! Try not to do everything at once on your 1st try. Keep it simple, get the basic configuration working, and then work to expand to the more complex scenarios.
  2. Always start in your Test/Sandbox instance - never start in a QA/Production instance. 
  3. Ensure that you follow the below steps and create your working object first, before trying any custom configurations, as it is much simpler to get the basic object working and then build up to the intended configuration instead of doing it all in 1 step (as mistakes can be made which could lead to errors/inconsistent behaviours).

Example Custom FO Configuration - Sub Department

  1. Log into the Test/Sandbox instance as a System Administrator - one that has access to Configure Object Definitions, Manage Business Configuration (BCUI), Manage Data and Test Users
  2. Navigate to Admin Center > Configure Object Definitions. And Create a New Object Definition

CreateMDFObject.JPG

  1. You will need to complete all of the Required fields. For example, you will need to provide a unique "Code" value which you will need later on. As well as decide whether the Object should use Effective Dating or not, and what Status the object should have.
  • Code: Typically the Code is entirely up to you, but you should try and use a Code that identifies the object easily (as the Code will be used in other area's of the EC configuration - which we will touch on later in this article).
  • Effective Dating: It is a good idea select "Basic" Effective Dating (in line with the MDF Foundation Objects configuration). Please do not use the "Multiple Changes per Day" option.
  • Status: This should always be set to Active (always)

SubDept_GO.JPG

  1. Once these options have been set, click "Save" at the bottom of the page. Again, please do note specify Security, Business Rules or add new fields at this stage.
  2. Then use the Take Action button in the top right to Make Correction -:

Make Correction.JPG

  1. Next we will change the Label for the "externalCode" and "externalName" fields by clicking the "Details" link to the right of each field and then set a sensible label (Such as Code/ID and Name/Sub Department Name) -:

Label.JPG

  1. You can also add any custom fields in which you may want to capture other data in. You add these by using the field at the bottom of the field list  -:

NewField.JPG

  1. Type in the Name you wish the field to have (again try to use the fields intended name to make identifying it easier and ensure there are no spaces) Also you can choose what Type of field this is - in my below example this will just be a simple STRING (Text) field to capture the Floor Number. Again, dont forget to add a Label under the Details link. Then click Save at the bottom of the page and the initial configuration is complete -:

FloorNumber.JPG

  1. Now that the Object is created, navigate to Admin Center > Manage Data and create a few test values which we will use in our test a little later.

Manage Data.JPG

SD1000.JPG SD Values.JPG

  1. Next we will need to add this Custom Foundation Object to our Job Information configuration. To do so we will need to update the Business Configuration as well as grant permission to the new field we create. First we start with navigating to Admin Center > Manage Business Configuration. Once in Manage Business Configuration, select the "jobInfo" element -:

BCUI.JPG

  1. Scroll down to the bottom of the field list, and you will be able to add a new custom-string field (in our example we used custom-string18). Ensure you also add a Label as well as set the "Enabled" field to "Yes" -:

custom18.JPG

  1. Then click "Details" for the new field and set the -:
  • Type of Reference Object = Foundation Object
  • Reference Object = The "Code" of the Object we created in Step 3 above (in our case - cust_SubDepartment)
  • Visibility = Edit

Once completed, click Done -:

BCUIDetails.JPG

  1. Then, use the Up/Down arrows at the edge to move the field up the configuration to the desired place. Once done, click Save at the bottom of the page -:

UpDown.JPG

  1. You may get the following Confirmation box as we just added a new field but had not specified the field length value. Please click Yes if you see this particular message, as the warning is requesting the field length be specified - ideally this should be kept at the maximum (255 characters) for Custom FO fields.

Confirmation.JPG

  1. Next navigate to Admin Center > Manage Permission Roles - as we will need to grant permission to be able to view/edit the new field in Job Info for users. Identify the Permission Role that is granted to the Admin User and open the Permission Role. Once open, click on the "Permissions" button. Navigate to "Effective Dated Entities" and scroll down to the "Job Information" section and ensure you select all 5 permission options for the field (you can restrict later if needed - after testing is complete) -:

New_custom-string18_field_RBP.JPG

  1. Navigate to My Employee Files > Search for a Test user and navigate to their Employment Information page. You will then see the new field in Job Information. Final check to make is to ensure you see valid values in the field when editing Job Info. You can either use History > Insert New Record/Make Correction or Take Action > Change Job and Compensation Information to test your changes.

JobInfo.JPG

  1. Before deploying the same solution to a Production instances, please ensure you thoroughly test the changes thoroughly. Meaning, ensure the field works in all available UI's (History, MSS UI, etc). Make sure that when assigning permission that the relative roles have access to view/edit data in this field. And verify any workflows triggered off of changing this field are triggered accordingly.

If you have further configuration questions please consult the Implementation/Configuration Handbooks for Employee Central & Metadata Framework

See Also

2484522 - Employees can Edit Objects and Make Changes

Keywords

Custom Foundation Object, MDF GO, Create Custom FO, custom MDF, , KBA , LOD-SF-EC-FOO , Foundation Objects (Organisation, Pay and Job Structures) , LOD-SF-MDF-OBJ , Object Definition & Field Related Issues , How To

Product

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