SuccessFactors MetaData Framework allows you to customize objects and to extend the functionality of features/modules that are built using it. For example, you can extend existing Employee Central and Succession entities by adding new fields and defining business rules. This article explains how to create fields for existing MDF Objects.
1. Go to Admin Center > Company Settings > Configure Object Definitions.
2. In the first dropdown, select “Object Definition” and in the second, select the object you want to modify. For example, you might choose to add fields to the “Position” object.
3. In the top-right corner, click Take Action > Make Correction.
4. Scroll to the bottom of the list of Fields and you should see “cust_” in the last text box.
5. In this box, you can type the field’s Name, which will be the unique identifier for the field in that given object. The Name should not have any spaces.
After typing the field name, press “Tab”. You’ll see that the name will have the “cust_” prefix, which is expected for all custom fields.
6. Then, you can also specify the “Maximum Length” for the field and the “Data Type”. See an explanation for the available data types below:
Those options are explained in the below table:
1. Valid Values Source : This field needs to be set for the following field types:
o Picklist: ID of the picklist.
o Generic Object: Object ID of the generic object you want to reference.
o Foundation Object: Object ID of the foundation object you wanttoreference
o Enum: Fully qualified class name of the Java enum for this data type.
2. Hide Old Value : Effective dated objects have a history view. In thehistory view, records for different start-dates areshown. A strikethrough is shown to indicate theprevious value of the field. If you do not want tosee the strikethrough for the field, set Hide OldValue to Yes.
3. Decimal Precision : Decimal precision for a decimal data type.
4. Include Inactive Users : Set to Yes if you want to display data for inactiveusers, along with that of active users. Default value is No.
5. UI Field Renderer : Use this field to define the label that appears in dropdown menus when selecting a picklist or generic object value in Manage Data. If this field is defined, external code is hidden in these menus.To hide the external code for picklists, usethe “displayPickListWithoutExternalCode” field renderer. And if you want to hide the external code for GOs, “usedisplayGOWithoutExternalCode”.
6. Transient : Set to Yes to make the field transient. Values of transient field are not stored in the database, but are populated at runtime in the user interface, based on rules or associations.For example, you can use transient fields to display simple calculations at runtime, such as an age or a number of days remaining or days since a particular date. You can also use transient field to display different text labels based on certainrules, such as an indication of whether a given pay component is shown as a percentage or an amount.
7. Help Text : Set this translatable text for the field. You can give instructions for the user.
8. Private or Sensitive Information : Set to Yes or No.NoteIf you set this to Yes, then the value saved on that field will be visible as '***'. For example, apassword field for any login page.If you set this to No, then it behaves like all the other fields.
9. Show Trailing Zeros : Set to Yes or No.NoteIf you set this to Yes, then it will show trailing zerofor decimal precision. For example, for a decimalfield, set the decimal precision to 4, enter valuefor the field as 12 and save. The value then appears as 12.0000
10. Default Value : You can set a default value for the field.When a default value is selected for a field, it willinitialize the new page with the given value. Forexample, if you set the default value for a STRINGfield as ABC, when you go to Manage Data page tocreate a new object, then you will see ABC alreadylisted in that field.
11. Hide Seconds : Set to Yes or No.If you set this to Yes for a field with the DateTime or Time data type, then it it hides the seconds for the time display.
12. Required : Set to Yes if the field is required.
13. Visibility : Set to one of the following:
o Editable: Field is visible and editable.
o Read Only: Field is visible and read only.
o Not Visible: Field is inactive and will not appear in UI, API, imports/exports, and so on.
14. Status : This is a read-only field with the value Active or Inactive. Inactive fields are not available in the system. You cannot use them in import, UI, OData, rules, and so on. If you do not enable the corresponding module, fields become inactive automatically. Note that you cannot make the fields inactive from the UI.
15. Label : Set this translatable label for the field. The default value for this is the field name. To enter a translated label name, click the translations button.
16. Cascade : Set to one of the following:
o No Selection: User will see the field as read only on the Business Configuration UI page.
o None: User will see the field as read only on the Business Configuration UI page.
User will be able to edit the field on the Business Configuration UI page.
8. Then, you can click on “Save” and the custom field will be created.