SF_Extension_Center
SF_Extension_Center
Extension Center
© 2020 SAP SE or an SAP affiliate company. All rights reserved.
4 Creating a Picklist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8 Creating an Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
8.1 Configuring Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
8.2 Configuring Relationships. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.3 Configuring Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Configuring Field-Level Rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Reusing an Existing Rule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
8.4 Configuring Workflows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Reusing an Existing Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.5 Configuring UI for an Extension. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.6 Configuring Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
8.7 Configuring Object and Field Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
8.8 Enabling Read Access Log of MDF Objects in Extension Center. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
8.9 Checking Russian Data Privacy Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.10 Reusing an Existing Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
9 Deleting an Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Extension Center
2 PUBLIC Content
11 Configure an Extension to Access it From the Employee Files Page. . . . . . . . . . . . . . . . . . . . . . . . 60
12 Deleting an Extension. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
13 Publishing an Extension. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
13.1 How do you prepare to publish an extension?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Configuring Source and Target Instances in Provisioning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Configuring Permission Settings in the Source Instance to Publish an Extension. . . . . . . . . . . . . . . . 68
13.2 Publishing an Extension. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
13.3 Synchronizing Instance Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
13.4 Extension Publishing Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
Accessing an Extension from the Home Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
16 Reporting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
16.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
16.2 Prerequisites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
16.3 Viewing MDF Objects from Analytics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
17 FAQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
17.1 How do you add Extension Center to your Favorites?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
17.2 What is an Uncategorized extension?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
17.3 Are all features available in MDF for creating extensions available in Extension Center? . . . . . . . . . . . . . .93
17.4 Why does the MDF object definition always fail when publishing the extension?. . . . . . . . . . . . . . . . . . . 94
18 Reference Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
18.1 Data Type Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
18.2 Relationship Types Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
18.3 Rule Category Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Extension Center
Content PUBLIC 3
1 What's New in Extension Center
This document describes changes to the Extension Center Implementation Guide for the recent releases.
2H 2020
The following table summarizes changes to this guide for the 2H 2020 release
What's New Description More Info
Enabling read access log for MDF objects You can enable read access log for MDF Enabling Read Access Log of MDF Ob
in Extension Center objects containing personally sensitive jects in Extension Center [page 51]
data in Extension Center.
Q4 2019
The following table summarizes changes to this guide for the Q4 2019 release
None, Basic, and Multiple Changes Per SAP recommends that all custom MDF Configuring Object and Field Security
Day (MCPD) effective-dated object defi- objects are created as RBP secured. The [page 49]
nitions created in the Extension Center default value of the 'Secured' field on the
are RBP secured by default. Security tab is set to 'Yes' for all the cus
tom objects in the Extension Center. By
default secured is set to Yes for None, Ba
sic, and Multiple Changes Per Day
(MCPD) effective-dated objects and not
for From Parent effective-dated object
definitions. As the newly-created object
definitions are RBP secured, you need to
ensure that you grant the necessary per
missions before you could access such
custom object definitions from the
Manage Data page.
Q3 2019
The following table summarizes changes to this guide for the Q3 2019 release
August 9
Extension Center
4 PUBLIC What's New in Extension Center
What's New Description More Info
Read Access and Change Log In Extension Center, we have renamed Enabling Read Access Log of MDF Ob
jects in Extension Center [page 51]
Configuration renamed as Change Log section Read Access and Change Log
Configuration Configuration to Change Log
Configuration as read access log configu-
ration was never supported.
Q2 2019
The following table summarizes changes to this guide for the Q2 2019 release
June 19
Improved usability when publishing an When you publish an extension, you can Publishing an Extension [page 70]
Q1 2018
The following table summarizes changes to this guide for the Q1 2018 release
March 01
Configuring an object for data protection Added a procedure to configure the ob Enabling Read Access Log of MDF Ob
and privacy ject for data protection and privacy. jects in Extension Center [page 51]
Q4 2017
The following table summarizes changes to this guide for the Q4 2017 release
October 09
Extension Center
What's New in Extension Center PUBLIC 5
What's New Description More Info
Enabling Generic Objects while upgrad Added a prerequisite and note regarding Enabling Extension Center as a feature in
ing Extension Center enabling Generic Objects while upgrad Upgrade Center [page 10]
ing Extension Center.
Q3 2017
The following table summarizes changes to this guide for the Q3 2017 release
August 04
Q2 2017
The following table summarizes changes to this guide for the Q2 2017 release
April 27
Show all fields in Object Details page. You can now view all the fields in the Configuring Fields [page 25]
Object Details page for an existing object.
SAP Cloud Platform Extensions It is now possible to configure SAP Cloud Working with SAP Cloud Platform Exten
Platform extensions in Extension Center. sions [page 101]
Q1 2017
The following table summarizes changes to this guide for the Q1 2017 release
February 23
Updated the procedure for permission Made changes to the field names and im [This content was later removed.]
settings ages to reflect the latest UI.
Updated the procedure to create an ob Made changes to the field names and im Creating an Object [page 23]
ject ages to reflect the latest UI.
Extension Center
6 PUBLIC What's New in Extension Center
What's New Description More Info
Updated to procedure for configuring Made changes to the field names and im Configuring Fields [page 25]
fields ages to reflect the latest UI.
February 10
Enable Extension Center as a feature in This feature allows you to enable Exten Enabling Extension Center as a feature in
Upgrade Center sion Center as a feature in Upgrade Cen Upgrade Center [page 10]
ter. You can leverage Extension Center
without contacting SAP Cloud Support
for Provisioning.
Duplicate existing Objects and Picklists in This feature allows you to clone Objects Duplicating Objects And Picklists From
a new extension and Picklists from an existing extension an Extension [page 56]
and quickly get started on a new exten
sion.
Consistent behavior in MDF during Pick Checks have been added to display a How do you delete a picklist? [page 22]
list deletion warning message when a picklist in use
or is being referred to is deleted. The
message includes information about the
object definitions and other Picklists re
ferred.
Configure the fields in Object Definition Updated the description for Max Length Configuring Fields [page 25]
for maximum length and Decimal Precision fields with recom
mended limits.
Values are added for UI Field Renderer Updated the description for UI Field Ren Configuring Fields [page 25]
derer with the possible values for Pick
lists and Generic Objects.
Limit on the top-level MDF objects A note is added which clearly states the Creating an Object [page 23]
default limit for the top-level MDF objects
and what you have to do to create more
top-level MDF objects.
Extension Center
What's New in Extension Center PUBLIC 7
2 Getting Started with Extension Center
Extension Center allows you to create and manage SF Native extensions and configure SAP Cloud Platform
extensions.
An SF Native extension is a custom application, which is configured to process employee-centric business needs.
For example, as an Admin you can create applications to manage different HR Programs, such as company car
requests, employee wellness programs, tuition reimbursement request, pension plan programs, and so on.
An SAP Cloud Platform extension is an application, designed to serve a certain scenario or task flow. This
application is deployed in the SAP Cloud Platform for your extension subaccount.
This document aims to familiarize the HR Admin with the process of creating and managing SF Native extensions in
Extension Center, and configuring SAP Cloud Platform extensions.
To explain how Extension Center works, we’ll use an example of a Company Car Request Management process. In
this example, the process starts with the HR Admin creating an Extension, which is an interface that allows the
employee to request for a car. The manager then approves or denies the request raised by the employee.
Extension Center
8 PUBLIC Getting Started with Extension Center
In Extension Center, this would involve the following steps:
● Creating an Extension
● Creating Picklists
● Creating and Configuring Objects
● Publishing an Extension
Extension Center
Getting Started with Extension Center PUBLIC 9
Subsequent sections describe these stages in detail.
Related Information
Prerequisites
When you are upgrading the Extension Center as a feature in Upgrade Center, if Generic Objects are not enabled,
the system enables the Generic Objects and in turn upgrades the Extension Center.
Note
After you enable Generic Objects through Upgrade Center, it is not possible to roll-back the change.
Extension Center
10 PUBLIC Getting Started with Extension Center
Procedure
1. Go to Admin Center.
2. Search and click Upgrade Center.
Recommended Upgrades
Note
The Extension Center page is displayed with the description about Extension Center and the prerequisites to
enable Extension Center using Upgrade Center.
Extension Center
Getting Started with Extension Center PUBLIC 11
Extension Center - Upgrade Now
4. Click Upgrade Now to continue the upgrade Extension Center process.
Extension Center
12 PUBLIC Getting Started with Extension Center
Note
Click Save for Later to upgrade Extension Center at a later point in time.
Remember
To undo this feature, go to Completed Upgrades page, and click Undo under Actions.
To use Extension Center, you must be authorized to use MDF and Generic Objects. In addition, you also need to
enable the following options in Provisioning.
Note
After enabling Extension Center, ensure that the Metadata is refreshed. To do this:
1. Go to Admin Center.
2. Search and click ODATA API Metadata Refresh and Export.
Extension Center
Getting Started with Extension Center PUBLIC 13
The ODATA API Metadata Refresh and Export page appears:
3. Click Refresh.
Note
○ Ensure that the user is granted the access to perform Refresh Metadata Cache.
○ Admin who has permission to OData API can refresh metadata cache.
○ To access ODATA API Metadata Refresh and Export, on the Permission Setting page, select
Administrator Permissions Manage Integration Tools Access to OData API Metadata
Refresh and Export .
○ Once the refresh is done, you will get a successful refresh message along with the date and
timestamp of the refresh.
Remember
As a customer, you don't have access to Provisioning. To complete tasks in Provisioning, contact your
implementation partner. If you're no longer working with an implementation partner, contact SAP Cloud
Support.
Note
Now, you can enable Extension Center as a feature in Upgrade Center without contacting SAP Cloud Support
for Provisioning. For more details on how to enable Extension Center as a feature in Upgrade Center, refer
Enabling Extension Center as a feature in Upgrade Center [page 10].
Extension Center, like MDF, leverages the Role-Based Permissions (RBP) framework to restrict and grant access.
The permission role using Extension Center needs the following permissions.
Extension Center
14 PUBLIC Getting Started with Extension Center
● In Administrator Permission Metadata Framework :
○ Configure Object Definitions
○ Configure Business Rules
○ Access to non-secured objects
○ Import Permission on Metadata Framework
○ Admin Access to MDF OData API
○ Manage Configuration UI
● In Administrator Permission Manage Instance Synchronization :
○ Sync MDF Data
○ Sync MDF Picklists
○ Sync MDF Object Definitions
○ Sync MDF Configuration UI
○ Sync MDF Rules
● In Administrator Permission Manage Business Configuration , choose the visibility and actions allowed for
the objects listed.
Note
Visibility for an element indicates whether or not it appears on BCUI. Actions indicate the operations that
can be performed on the element.
Tip
It would be a good idea to spend some time defining the approval workflow before setting permissions,
which helps grant the right people access.
Note
If you’re building an extension that involves workflow, please ensure that you grant relevant permissions to
the target population.
Related Information
Extension Center
Getting Started with Extension Center PUBLIC 15
2.6 What are the different elements of Extension Center?
An object is an entity that defines different aspects of an Extension, such as information about fields, relationships,
workflows, rules, and security for an object.
For example, for the Company Car Request Management extension, there can be two objects:
● Car Request
● Request Acknowledgement
Picklists are values which appear in a dropdown, allowing the user to easily make a selection. This allows you to
limit the types of values a user can enter in the form, eliminating the chances of an incorrect value.
Example of Picklist Showing Car Category, Lease Duration, and Car Make
Note
Extension Center
16 PUBLIC Getting Started with Extension Center
Related Information
Extension Center
Getting Started with Extension Center PUBLIC 17
3 Creating an Extension
Procedure
1. Go to Admin Center.
2. In the Search field, type Extension Center.
This will bring up the Extension Center page.
3. Click Create Extension.
4. Enter the following on the Extension Detail page:
a. Icon & Title: Enter an appropriate title for your extension and click on the icon to select a logo.
b. External Code: Enter a unique code that identifies the Extension Center.
c. Description: Enter a brief description about the extension you are creating.
Extension Center
18 PUBLIC Creating an Extension
4 Creating a Picklist
Context
If you are in the Picklist Center and you have legacy picklists in your system, you see a banner message directing
you to the Picklist Management page to import and export them as a CSV file.
Procedure
1. Go to Extension Center.
2. Select the extension to which you want to add a new picklist.
You’re directed to Picklist Center. Configure all necessary fields of the new picklist in the Picklist Center and
save your changes. For more information, see Creating a Picklist
Next Steps
After creating a new picklist in the Picklist Center, add the new picklist to the extension in the Extension Center. For
more information, see Resuing Existing Picklists in Extension [page 20].
Extension Center
Creating a Picklist PUBLIC 19
5 Resuing Existing Picklists in Extension
Procedure
1. Go to Extension Center.
2. Select the extension you would like to work with.
Extension Center
20 PUBLIC Resuing Existing Picklists in Extension
6 Viewing Large Picklists
Picklists that exceed 200 values are considered large picklists. Such picklists can only be viewed in the picklist
viewer.
Context
Using picklist management page, you can search, sort, group, and filter picklist values. Icons to perform these
operations are available on upper right corner of the page. Use for sorting, use for filtering, use for
grouping, and use to show or hide any column in the UI. There are different steps to work with large picklist. If you
want to work with your picklist offline, use Admin Center Import and Export Data .
Procedure
○ If your legacy picklists have not been migrated to to MDF, use Configure Object Definition page or
Extension Center page to manage MDF picklists.
○ If your picklists have been migrated to MDF, use Picklist Center.
Note
To manage legacy picklists, use the legacy Picklist Management to export and import them as a CSV file.
For more information about working with legacy picklists, please refer to the Implementing Picklists guide.
In either situation, if you want to work offline with your picklist, use MDF Import and Export page.
Extension Center
Viewing Large Picklists PUBLIC 21
7 How do you delete a picklist?
From the Extension Detail page, you can also remove a picklist by clicking Remove Picklist from Extension icon.
Note
Whenever a picklist that is used or referenced in object definitions or other picklists is deleted, a message is
displayed, which contains the information about the object definitions and other picklists where the picklist is
used. This is also applicable to parent-child picklists.
Extension Center
22 PUBLIC How do you delete a picklist?
8 Creating an Object
Describes how you can create and configure an object for extensions in Extension Center.
Context
Let's take the example of the company car request. To create an object that allows the employee to request for a
company car:
Procedure
1. Go to Extension Center.
2. Select the extension to which you want to add an object. In this example, select Company Car.
Extension Center
Creating an Object PUBLIC 23
The Object Detail page appears.
Note
Currently, the Cascade flag field, as seen in the Admin Center Configure Object Definitions page is not
supported. Using the Cascade flag, you can set the following values:
○ Save: User is allowed to edit the referenced field in the Config UI Runtime page.
○ None: User will not be allowed to edit the referenced fields in the Configure UI Runtime Page.
Tip
Tip
All the mandatory fields except Effective Dating have a default value. You will not be able to save the object
without defining the Effective Dating field in the Properties tab.
Extension Center
24 PUBLIC Creating an Object
Results
This creates Car Request object for Company Car Management extension.
Note
There is a limit on top-level custom MDF objects that you can create in the system. The default limit being 25
MDF objects. This limit is not applicable to MDF entities like objects that are associated with parent-child
relationship, module delivered objects, picklists and rules. If you need to create more top-level MDF objects,
create a SAP Support case that specifies the business justification. SAP Cloud Support will authorize 25
additional top level MDF objects for you.
For more information on how to create the request, see Knowledge Base Article https://
launchpad.support.sap.com/#/notes/2388700/E .
Context
Let us now look at how you can add fields to your object. Continuing with the example of the car request, let’s
create the following fields for the Car Request object:
● Name
● Employee ID
● Location
These fields can be used by the employee to enter details like name, employee ID, and location while requesting for
a company car.
Procedure
Extension Center
Creating an Object PUBLIC 25
Note
You can modify the first two fields that appear on the screen to suit your requirements. You can also delete
them or use the toggle switch to mark them as not required.To add more than two fields, click the Add Field
tab at the bottom of the page.
Field Description
Label The label to translate for the field. The default value for this
is the field name. To enter a translated label name, click the
Translations button.
Note that to make entries for translation, click the icon in the
Label field.
Tko_KR: The Korean translator can use this field to enter the
field name after translation.
Data Type The supported data types from the dropdown. For more de
tails on different data types, refer Data Type Table [page
96].
Visibility Editable: Select this to indicate that the field should be visi
ble and editable.
Read Only: Select this to indicate that the field will be visible
but the user will not be allowed to make changes.
Not Visible: Select this when the field needs to be used for
reference but should not be displayed in the UI.
Required Yes,if the field is required. This would make it mandatory for
the user to fill out. For example, in case of the company car
request, if the Required field for employee ID, name, and lo
cation is set to Yes, it becomes mandatory for the user to fill
out these fields before submitting the request.
3. You can view and edit additional options in the Advanced Options section by clicking the down arrow icon:
Extension Center
26 PUBLIC Creating an Object
Note
The Inactivated by field displayed in the Configure Object Definitions page is not supported by Extension
Center. In the Configure Object Definitions page, this field shows who inactivated the field – User or System.
Also, Hide seconds is not currently supported. This field will allow you to hide the seconds for Time Data
Type.
Field Description
Max Length The Maximum allowed data length for the data type String.
The default value for this field is 255.
Note
To configure the fields in the Object Definition UI,
consider the following limits:
○ Maximum length for externalName and
externalCode is 128 characters
○ Maximum length for String data type is 4000
characters for pre-delivered objects
Extension Center
Creating an Object PUBLIC 27
Field Description
UI Field Renderer The name to display for the picklist on the UI. This field also
defines the label that appears in dropdown menus when
selecting a picklist or generic object value in Manage Data.
If this field is defined, the external code is not displayed.
Include Inactive Users Yes, if you want to display data for inactive users, along with
that of active users. Default value is No.
Hide Old Value Yes, if you do not want to strikethrough the previous value of
a record in the History for the field. Effective dated objects
have a history view. In the history view, records for different
start-dates are shown. The text with a strikethrough
indicates the previous value of the field.
Help Text The label to translate for the field. You can give instructions
for the user.
Transient Yes, to make the field transient. Values of transient field are
not stored in the database, but are determined at runtime,
based on rules or associations.
Private or Sensitive Yes, to display the value saved on that field as ***. For
example, you might want to set this to Yes for a password
field. If you set this to No, it behaves like any other field.
Default Value You can set a default value for the field. When a default
value is selected for a field, it will initialize the new page with
the given value. For example, if you set the default value for
a string field as ABC, when you go to the Manage Data page
to create a new object, you will see ABC already listed in
that field.
Status Active: Active fields are available in the system. You can use
them to import, UI, OData, rules, and so on.
Extension Center
28 PUBLIC Creating an Object
Field Description
Database Field Name The field name as it should be stored in the database.
Field Criteria Source Field Name: Field whose values restrict the possible
values for the field that you are defining.
conditionValues A list of values that makes the condition true. Make sure
that you enter the values correctly because there are no
system validations for this.
Decimal Precision Specific precision for decimal value. Default precision value
is 17.
Note
Sum of maxLength and decimal precision for Decimal
data type is 4000 characters, but it is recommended
not to exceed 38.
Extension Center
Creating an Object PUBLIC 29
Field Description
Show Trailing Zeroes Yes: It sets zeros for the decimal value. For example, if user
gives 111 for the decimal field where Show Trailing Zeroes is
set to set after save user will see the value as
111.00000000000000000 (There are 17 zeroes since the
default precision is 17.).
4. Scroll down on the Fields page to add business keys and searchable fields to the object definition.
Note
You can define fields for an MDF object that can be used to search. These fields can be used in the search panel
on the Manage Data page to search for objects. A business key is a unique key used to identify a record. If you
search for a business key that is defined, then it will appear in the search results, by default. When a field is set
as a business key, the field automatically becomes a required field.
Note
You can now view all the fields in the Object Details page for an existing object. To do this, set Show all fields
to Yes in the Fields page. By default this option is set to No.
The Show all fields switch is not enabled on new Object Details page.
Context
Let us now look at how you can define relationships (also known as associations) between objects. In Extension
Center, you can define a hierarchical relationship between two objects. You can add a relationship to define either a
parent-child relationship or a valid-when relationship between the object that you are creating, and another object.
An ERD model (also known as the Entity-Relationship View) graphically shows the relationships between objects.
On the Extension Detail page, multiple levels of objects can be displayed in the ERD View. You can also drag and
drop any object vertically and laterally.
Extension Center
30 PUBLIC Creating an Object
Continuing with the example of the car request, the following image shows a one-to-one relationship between
Request Acknowledgement and Company Car Request object.
Procedure
Extension Center
Creating an Object PUBLIC 31
In This Field... Enter...
Label A label for this relationship. Specify a name that will allow
you to identify the relationship later.
Name The name of the relationship. This is the name by which the
relationship is identified. For this example, enter
cust_Relation_Car. It is important that the name
starts with cust.
Destination Object The object that you want to establish a relationship with. The
object that you want to establish a relationship with.
Extension Center
32 PUBLIC Creating an Object
In This Field... Enter...
Type The type of field, from the drop-down menu. For this exam
ple, we will select Composite. A detailed description of rela
tionship types is described in Relationship Types Table [page
98].
Note
UIAssociationRenderer, available in the Manage Data and Manage Configurable UI pages in Admin Center, is
currently not supported.
4. You can view and edit additional options in the Advanced Options section by clicking the down arrow icon:
Note
You need to fill in the Destination Object Column and Source Object Column options when you set
Relationship type to Join By Column.
Visibility Editable: User can add and delete data for this association.
Source Object Column The field name of the parent object to which the object
should be mapped.
Destination Object Column The field name of the child object to which the object should
be mapped. For example, you have created two entities,
Person, which is non-effective-dated, and PersonInfo, which
is effective-dated. Person is the parent object and
PersonInfo is the child object as it shares the same external
code as Person. When Join-by-Column relationship is
defined, PersonInfo object is entered in the Destination
Object Column field.
Extension Center
Creating an Object PUBLIC 33
In this field... Enter...
Transient 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.
Status Active and 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. This is a read-only field.
5. You can add a condition to ensure that the association is dependent on the value of the parent field and will be
visible when the condition value matches the parent field's value. For example, to assign the new country object
to Legal Entity, the Condition fieldID is countryOfRegistration.code and Condition Values is <Country Code>.
6. Click Add Field Criteria to restrict the possible values for the field you are defining. Note that this applies only
when relationship is set to Valid-When.
Source Field Name Field whose values restrict the possible values for the field
that you are defining.
Destination Field Value Name of the field whose value is being restricted. This is the
name of the field that you are defining. For example, you can
restrict choices of dates based on an effective start date, or
you can restrict choices such as countries, time zones, and
so on, by location.
defaultDestinationValue The default destination value .You can create a default desti
nation in cases where the destination field value is not set.
Currently it only stores constant values.
Extension Center
34 PUBLIC Creating an Object
8.3 Configuring Rules
Context
Let us now look at configuring rules. Rules help you ensure consistent behavior on the occurrence of an event. You
can also use rules to keep a check on data changes (by triggering an approval).
Rules can also be used to autofill field data (for example, time zone information can be auto filled based on location
information).
Procedure
Extension Center
Creating an Object PUBLIC 35
In This Field... Enter...
Rule Name Name by which you want to refer to this rule in the UI. For ex
ample, SetCurrentUserforCar.
Rule ID Unique external code for the rule. For example, SetCurrentU
serforCar.
Start date The date when this rule should be applied for the first time.
By default this is set to 01/01/1900.
Rule Type Any rule type from the drop-down menu. For more informa
tion on different rule types, refer the “Implementing Busi
ness Rules in SuccessFactors Guide”. For this example,
choose Mass Change. Mass change indicates multiple re
cords will be updated as part of the change.
Description A brief description for the rule. For example, enter “Set a cur
rent user for car”.
Note
Name The name for the parameter. For example, Request for com
pany car.
Code The object code of the base object in this field. For example,
cust_demo_companycarRequest
Object The extension object that is the base object of the rule from
the drop-down menu. For example, Request for Company
Car.
Extension Center
36 PUBLIC Creating an Object
Note
You can also select an existing rule by clicking Add Existing Rule. Search and select the rule from the
Existing Rules list.
7. To save, select Action Save Object . A new rule will be created in the extension.
Note
Rules can be triggered at various phases of object creation. Refer the Rule Category Table [page 99] to
find out which phase of object creation triggers which rule.
Context
Apart from object-level rules, you can also add field-level rules. You can use a rule that you created using the
Configure Business Rules page.
Procedure
Extension Center
Creating an Object PUBLIC 37
The Configure Business Rules page appears.
You can now configure the rule as required. If you've used the Admin Center > Configure Business Rules page
before, this works exactly the same way. For more information on working with the Rules, see the MDF
Implementation Guide and the Rules Engine Handbook.
3. When you finish, click Save.
Note
For more information on working with the Rules UI, see the MDF Implementation Guide.
Context
If a rule already exists, you can reuse it instead of defining a new rule.
Procedure
Extension Center
38 PUBLIC Creating an Object
3. Search for an existing rule (say "carStatusRequest"), select it, and click Save.
4. Select Action Save Object , to save the changes for the object.
Context
Let us now look at defining an approval workflow for the company car request.
Workflows are used to define the approval process. In a typical workflow scenario, when the user submits a change,
the approver gets an approval request in the To Do list. The change is reflected in the system only when the
approver approves the request.
Adding a Workflow
Procedure
Extension Center
Creating an Object PUBLIC 39
Here’s the sample of a completed screen defining the workflow. Note that there is no approver type in Step 2.
This indicates manager’s approval is sufficient to approve the application. To add a second level approver, in
Step 2, specify the relationship of the approver. For example, some roles which can be assigned an approver
role include Manager’s Manager, the HR Manager and the Matrix Manager.
Name The name by which you want to refer to this workflow in the
UI.
Future Dated Alternate Workflow Alternate workflow for future dated transactions, to be se
lected from drop-down list.
Approver Type The type of approver from the drop-down menu. Refer the
following descriptions to understand the different approver
types:
Role: With this, you can evaluate the reporting line of the em
ployee or initiator and address the workflow. For example, to
Extension Center
40 PUBLIC Creating an Object
In This Field... Enter...
Relationship to Approver The appropriate relationship with the approver, in the con
text of the process. In this example, Employee.
Approver The approver for the request from the dropdown menu. In
this example, Manager.
Edit Transaction Edit with Route Change: This option gives the approver per
mission to modify the workflow transaction. After the
changes are made, the transaction will be re-evaluated and a
new workflow automatically triggered. This can be the same
workflow, but based on the given changes, this can also re
sult in a different workflow.
No Approver Behavior Skip this Step if the request is not aborted when no approver
is found.
Extension Center
Creating an Object PUBLIC 41
5. You can also enter the Contributors and the CCrole details as follows:
Note
Employees who are listed in CC-roles are informed whenever a workflow is completed.
CC Role Type The type of approver from the drop-down menu. Refer the
following descriptions to understand the different approver
types:
Role: With this, you can evaluate the reporting line of the em
ployee or initiator and address the workflow. For example, to
the manager, manager's manager, or to any job relationship
manager.
Actor The actor can also take an action on the workflow. Select
whom you want to assign the role of an actor from the drop-
down menu. For example, an HR Manager can take action on
the workflow.
Relationship to Approver The appropriate relationship with the approver, in the con
text of the process.
6. To save the workflow changes for the object, select Action Save Object .
Extension Center
42 PUBLIC Creating an Object
8.4.1 Reusing an Existing Workflow
Context
If a workflow already exists, you can reuse the workflow instead of defining a new workflow.
Procedure
4. Select Action Save Object , to save the changes for the object.
Context
You can use the UIs page to define what the form should look like. Taking the example of the car request, let's look
at how we can get the information required by the extension we created.
To add a new configurable UI, click the New UI tab under the UIs tab.
Extension Center
Creating an Object PUBLIC 43
Procedure
1. In the Id field, specify a unique name for this form. Use a name that would help you identify the form later.
2. In the Select Base Object dropdown, select the base object For example, Request for Company car.
Note
In the form below, you will see some fields already listed. All previously created picklists and fields
automatically appear on this page. For example, carCategory and carMake are previously created picklists.
Likewise, RequestDate and Reason are previously defined fields.
3. Hover over the page to see a tool bar at the top right corner. Click icon on the tool bar to add a new field.
4. A new field appears on the screen, you can hover over the field to get the icons.
Note
Extension Center
44 PUBLIC Creating an Object
In This Field... Enter...
Id The field ID. This is a unique ID created by the system for the new field.
Note
This is a read only field
Editable Yes, to allow the user to edit this field. Setting it to No will make it read
only.
Visible Yes, to display the field on the UI. Setting this to No will hide the field.
Value Type User-Defined, if you want the user to enter structure, constant or
enumeration as the value for this field.
Note
For more information see Value Type User-Defined and Value Type
Resolver rows in this table
Value Type User-Defined The type of value you want the user to enter in this field. Example:
structure, constant or enumeration
Extension Center
Creating an Object PUBLIC 45
In This Field... Enter...
Note
This field will appear if you select the User-Defined option in the
value type field.
Value Type Resolver The custom value that you want the user to enter from the dropdown
menu.
Note
This field will appear only if you select the Resolver option in the
Value Type field
Label Override The field name that you wish to display in this field.
OnChange UI Rules The rule that you want to apply to this field. This rule will be triggered
when any changes are made to this field.
6. From the font group, set the style of the Field and Label text by applying font settings as desired and click OK.
Extension Center
46 PUBLIC Creating an Object
8.6 Configuring Object Properties
Context
You can use the Properties configuration page to define and edit the standard aspects of an object like effective
dating, API Visibility and the status. Taking the example of the company car request, let's look at how we can define
the properties of a Company Car Request Object. The Properties tab page displays the Basic Properties and
Advanced Properties sections.
Procedure
Effective Dating The effective date, this is the date when a change takes
effect.
API Visibility Editable, Read Only, or Not Visible options from the drop-
down menu. Default setting is Not Visible. It controls the
visibility of the object, fields, rules and conditions in the
MDF OData API.
Extension Center
Creating an Object PUBLIC 47
In This Field... Enter...
Field Description
MDF Version History No: If this option is selected, or no selection is made, history
records are not stored for any operation.
Extension Center
48 PUBLIC Creating an Object
Field Description
For example, in this field you can enter the ID of the already
configured UI for this object.
Subject User Field The user field that will initiate the workflow as per the input.
The input given by the user can be any user-defined field or
ExternalCode. If no value is specified in this field, and
ExternalCode is of user datatype, this field takes the value
ExternalCode by default.
Todo Category The kind of requests you want to set for the object you are
defining.
Pending Data Yes, if you have chosen a workflow routing that involves an
approval, and you want the data changes to take effect only
if approved. If the changes are not approved, the system
rejects the changes.
Context
SAP recommends that all custom MDF objects are created as RBP secured. Use the Security tab to define and add
security at both object level and field level.
Extension Center
Creating an Object PUBLIC 49
You can add information about adding object, field, and association level security to the MDF object that you’re
defining, see MDF Security Using Role-Based Permissions (RBP) section in the Implementation Guide >
Implementing the Metadata Framework (MDF).
Procedure
Field Directions
Secured
○ This field is set to Yes by default when the Effective
Dating in the Properties page is set to None, Basic, or
Multiple Changes Per Day.
○ When the Effective Dating in the Properties page is set
to From Parent, this field is by default set No. You can't
configure object-level security settings of this type of
object definition. If you want to configure field level
overrides, choose Yes.
Permission Category Select a permission category where you can find the object
definition later in the Manage Permission Roles tool.
RBP Subject User Field Specify a required user field of the current object definition.
The value of this field is used to set up target population in
RBP.
CREATE Respects Target Criteria ○ When this field is set to Yes, users can only create new
objects whose values of fields are within their target
population.
○ When this field is set to No, users can create new ob
jects regardless of field level overrides, but don't have
access to those objects beyond their permissions.
Base Data Field For Blocking Specify a required date field of the current object definition.
The value of this field is used as the effective end date for
data blocking in RBP.
○ When the Effective Dating field is set to None, specify a
required date field. If this field is left blank, you can't set
up data blocking for this object definition in RBP.
○ When the Effective Dating field is set to Basic or Multiple
Changes Per Day, specify a required date field of the
current object definition.
○ When a user field is specified in the RBP Subject
User Field and this field is left blank, this field is set
to mdfSystemEffectiveEndDate automatically after
saving.
Extension Center
50 PUBLIC Creating an Object
Field Directions
○ When both RBP Subject User Field and this field are
left blank, you can't set up data blocking for this
object definition in RBP.
Note
Hide seconds isn’t currently supported. This field allows you to hide the seconds for Time Data Type.
6. Set the view, edit, and import/export rights for this role.
For example, you want the Admin to have all the permissions. You can use the toggle switch to mark Yes against
each of these rights.
7. You can also control the access to the individual fields of an object by selecting Not Override, View, and No
Access options.
Related Information
Data Blocking
You can enable read access log for MDF objects containing personally sensitive data in Extension Center.
Procedure
Data Subject Field indicates the person whom the information is about.
Extension Center
Creating an Object PUBLIC 51
Note
You can't add the following types of field as the Data Subject Field Type:
○ The field isn't a custom field.
○ The field is transient.
○ The field has been selected as a RAL or context field.
○ The parent field of a composite child entity.
○ The Private or Sensitive Information attribute of the field is set to Yes.
3. Choose a module and a functional area to indicate where the read access log comes from.
4. Add context fields if more context information is needed for the read access log.
Note
You can't add the following types of field or association as a context field:
○ The field isn’t a custom field.
○ The field data type is Attachment, CLOB, or Data Source.
○ The field is transient.
○ The field has been selected as a RAL or data subject field.
○ The parent field of a composite child entity.
○ The Private or Sensitive Information attribute of the field is set to Yes.
○ Generic Object, Foundation Object, PickList, or Translatable fields of a referenced object.
○ The association type is Valid When or Join By Column.
○ The association of a referenced object.
Note
You can't add the following types of field or association as a RAL field:
○ The field isn’t a custom field.
○ The field data type is Auto Number or Data Source.
○ The field has already been selected as a context field.
○ The field is configured as a searchable field.
○ The field has been selected as a context or data subject field.
○ Generic Object, Foundation Object, PickList, or Translatable fields of a referenced object.
○ The association type is Valid When or Join By Column.
○ The association of a referenced object.
Extension Center
52 PUBLIC Creating an Object
8.9 Checking Russian Data Privacy Configuration
You can check if records of an object containing personally identifiable information are saved to Russian data
centers.
Context
The Russian Data Privacy Configuration tool is only for read. You can't change the configuration.
Procedure
Context
You can reuse and add an Object from the existing list of Objects.
Procedure
1. Go to Extension Center.
2. Select the Extension to which you want to add the existing Object.
3. Click Add Existing Object.
Extension Center
Creating an Object PUBLIC 53
The Add Existing Object page opens.
4. Enter the object title or the external code of the object you want to add in the search box.
Note
You can also add standard SuccessFactors objects listed under the SuccessFactors Objects tab.
Extension Center
54 PUBLIC Creating an Object
9 Deleting an Object
Context
From the Extension Detail page, you can also delete an object by clicking the Delete Object icon.
Note
This only deletes the object from the extension. The object remains in the system for future reuse.
Extension Center
Deleting an Object PUBLIC 55
10 Duplicating Objects And Picklists From an
Extension
You can duplicate existing objects and picklists form an existing extension to a new extension. In the following
procedure, the Company Car extension is selected to duplicate the objects and picklists to a new extension. The
successful completion of the procedure results in duplicating the Objects and Picklists.
Context
Note
The Rules, Workflows, and ConfigUIs associated with the Objects are not duplicated.
Procedure
1. Go to Extension Center.
2. Select the Extension from which you want to duplicate the objects and picklists.
Preview shows the new extension name with the suffix. Enter the new suffix in case the validation fails.
Extension Center
56 PUBLIC Duplicating Objects And Picklists From an Extension
Duplicate Extension - Suffix
5. Click OK.
You can view the suffix added to this Extension in the External Code field.
Extension Center
Duplicating Objects And Picklists From an Extension PUBLIC 57
New Extension with the Suffix
8. Similarly click Object(s) and Picklist(s) for this newly created Extension to view them. For objects, the suffix is
added in the Code and for the picklist, it is added in the Picklist Code.
Extension Center
58 PUBLIC Duplicating Objects And Picklists From an Extension
Duplicated Picklist with the Suffix
Extension Center
Duplicating Objects And Picklists From an Extension PUBLIC 59
11 Configure an Extension to Access it From
the Employee Files Page
You can configure the application to access the extension from the Employee Files page, provided that the
extension has an object, where the externalCode field has Type set as User.
Context
Let's configure an extension that has an object, where the externalCode field has Type set as User, and on the
Security tab, the security is set to Yes, and the Permission Category is set as Miscellaneous Permissions.
Extension Center
60 PUBLIC Configure an Extension to Access it From the Employee Files Page
Procedure
1. To configure the Employee File layout to add the extension you want employees to access, log in as admin, go
to Admin Center Configure Employee Files , and click Add New View. The employee scorecard dashboard
appears.
2. Under User Portlets, click Insert Portlet. The Choose a Portlet page appears.
3. Corresponding to the MDF portlet, click Create & Add. The Live Profile MDF Information portlet appears.
Extension Center
Configure an Extension to Access it From the Employee Files Page PUBLIC 61
4. Enter Portlet Title, Portlet Description, and for MDF Screen ID, select a UI of the extension, you are adding to the
Employee Files page.
5. Click Save. A portlet for the extension is now added to the new Dashboard.
6. Enter Dashboard Name, its Description, select Layout, and click Save Dashboard.
Extension Center
62 PUBLIC Configure an Extension to Access it From the Employee Files Page
A new employee scorecard has been successfully added. The extension can now be accessed from the
Employee Files page of users, who have the necessary role-based permissions.
Next Steps
Once you configure the Employee Files, you must grant the role-based permissions needed to access the extension
from the Employee Files page.
1. Go to Admin Center Manage Permission Roles Permission Role Employee Views , and select the
check box corresponding to the portlet created for accessing the extension.
2. On the Miscellaneous Permissions tab, configure all the necessary permissions to access the extension.
Extension Center
Configure an Extension to Access it From the Employee Files Page PUBLIC 63
3. Click Done.
4. On the Permission Role Detail page, scroll to the Grant this role to section, grant the role to the appropriate
target users, and click Done.
Extension Center
64 PUBLIC Configure an Extension to Access it From the Employee Files Page
The employees with the necessary role-based permissions can now access the extension from the Employee Files
page in the application.
Extension Center
Configure an Extension to Access it From the Employee Files Page PUBLIC 65
12 Deleting an Extension
Context
From Extension Center, you can also delete an extension by clicking the Delete Extension icon:
Note
When you delete an extension only the extension gets deleted not the objects, workflows, rules, and UIs
associated with it. These objects, workflows, rules, and UIs can be used in other extensions if required.
Extension Center
66 PUBLIC Deleting an Extension
13 Publishing an Extension
You can publish an extension only after you set up the instances involved in publishing of the extension.
● Configure instances as explained in Configuring Source and Target Instances in Provisioning [page 67]
● Enable RBP as explained in Configuring Permission Settings in the Source Instance to Publish an Extension
[page 68].
Related Information
Helps you configure both the instances involved in publishing of the extension.
Context
To begin with, you must have the Source and Target instances configured in Provisioning. For example,
Note
As a customer, you don’t have access to Provisioning. Contact SAP Cloud Product Support to enable these
options.
To enable Source and Target instances in your SAP SuccessFactors system, go to Provisioning Company
Instance Company Settings , and enable Instance Synchronization Tool.
Next, set up Target instance to accept artifacts from the Source instance.
Extension Center
Publishing an Extension PUBLIC 67
Procedure
Helps you configure the permission group and the permissions role, required for publishing the extension.
Prerequisites
Create a permission group for users that will be granted the permission to publish Extension Center.
Extension Center
68 PUBLIC Publishing an Extension
4. In the Definition tab, enter Group Name.
5. Under Choose Member Group, select the users, you want to be able to publish Extension Center.
6. Click Done.
You have successfully created a permission group, with users, who can publish Extension Center.
Context
Once your permission group is ready, grant the group the appropriate role-based permissions for synchronizing the
artifacts from source instance to target instance.
Procedure
1. Log in as an admin, and go to Admin Center. In the Tools search field, enter Manage Permission Roles.
2. Select the role for which you wish to give access to use Extension Center. For example, System Admin.
3. On the Permission Role Detail page, in the Permission Settings section, click Permission.
4. On the Permission Settings dialog box, under Administrator Permissions, select Manage Instance
Synchronization.
Extension Center
Publishing an Extension PUBLIC 69
5. Click Select All.
6. Click Done, and on the Permission Role Detail page, scroll down to the Grant this role to section and click Add.
The Grant this role to dialog box appears.
7. In Step 1, use Permission Group, and select the permission group created for publishing Extension Center.
8. In Step 2, select Target Population, and in the dropdown menu, select Granted User (Self).
9. Click Done, and on the Permission Role List page, click Save Changes.
Enables you to publish the extension from the Source instance to the Target instance.
Procedure
Extension Center
70 PUBLIC Publishing an Extension
Note
If there are no objects available for publishing, create an object as described in Creating an Object [page
23], or to create a new extension, refer to Creating an Extension [page 18].
4. For each object: create Rules, Workflows, configure UIs, on the Security tab, set the security to Yes, under
Permission Category, select Miscellaneous Permissions, and then click Action Save Object to save the
changes.
5. Click the Back to: Extension link, and on the Extension Detail page, click Action Publish Extension . The
Publish Extension dialog box appears.
6. Select the Target Data Center, Target Environment, and Target Company from the dropdown lists, enter the
target user, and choose Next.
Note
If the target information is not available, configure it as explained in Configuring Source and Target
Instances in Provisioning [page 67].
As a customer, you do not have access to Provisioning. Contact SAP Cloud Product Support to enable
these options.
7. Open the Go to sync RBP link in a new window, and configure the RBP synchronization as explained in
Synchronizing Instance Configurations [page 75], and click Confirm.
Extension Center
Publishing an Extension PUBLIC 71
The Extension Published dialog box appears. You can see the current status of your publishing activity, by
clicking the Go to Monitor Jobs Tools link.
Once you close the dialog box and return to the Extension Detail page, the Status could be Publishing in
Progress, which changes to Previously Published in some time.
Extension Center
72 PUBLIC Publishing an Extension
Next Steps
Due to a current limitation in the product, when you publish an extension, the MDF Object Definition artifact may
fail. To rectify the failure,
1. Either, click the Go to Monitor Jobs Tools link on the Extension Published confirmation page, or, go to Admin
Center Instance Synchronization Monitor Tool . The Instance Synchronization Monitor Tool page appears.
2. Click Search. The extension you published appears in the search results.
3. In the Actions column, corresponding to the extension, click Details. The Sync Details pop-up window appears.
Extension Center
Publishing an Extension PUBLIC 73
If the entire column of Failed Count shows "0", then your publishing was successful. Else, if the count for MDF
Object Definition is "1", re-publish the extension on the same Target instance, and it resolves the issue.
Extension Center
74 PUBLIC Publishing an Extension
13.3 Synchronizing Instance Configurations
Enables you to synchronize the role-based permissions of the source and the target instances.
Context
You define role-based permissions and permission group, specific to the publishing activity, on the Source instance.
When you publish an extension, the role-based permissions and permission group must be replicated on the target
instance, as well. This synchronization is achieved using the Synchronize Company Configurations tool.
Procedure
Note
If your previous instance synchronization was not completed, you will have two options: either to continue
with the synchronization from where you left by clicking the Resume it now link, or to start afresh by clicking
the start over from the beginning.
Extension Center
Publishing an Extension PUBLIC 75
13. Click Run Sync Now, and on the confirmation pop-up, click Confirm Synchronization.
Once the synchronization is complete, a confirmation message appears and you are automatically redirected
to the Instance Synchronization Monitor Tool page.
Next Steps
Although, it is optional, you can check the status of your synchronization job on the Instance Synchronization
Monitor Tool page, and then log in to the target instance to check whether the permission group and the permission
role have been copied properly.
Extension Center
76 PUBLIC Publishing an Extension
3. Confirm that the RBP group and role have been copied to the target instance, and click Close.
4. Log in to the target instance as an admin.
5. Go to Admin Center Manage Permission Groups and check the permission group copied from the source
instance.
6. Go to Admin Center Manage Permission Roles and check the permission role copied from the source
instance.
Helps you understand the significance of the statuses involved in publishing of an extension.
● Publishing in Progress: Displays the target instance name in the current publishing process.
● Failed Publishing: Displays the target instance names of failed publish jobs. This appears only if there is at least
one publishing error. If subsequent publishing to the same instance succeeds, this will disappear.
● Previously Published: Displays the target instance names of previous successful jobs. If extension was
published several times to one instance, this instance name appears only once.
Extension Center
Publishing an Extension PUBLIC 77
● Unpublished: If the extension has not been published anywhere yet, status will be Unpublished.
Note
The publishing job status, a detail report of the error log in case of failed publishing, and further details will
appear on the Instance Sync Tool Monitor page. The HR Admin can see the status and monitor the page. For a
detailed error log, or to analyze the error please contact SAP Cloud Product Support.
You can create Links to the extension or create custom tiles for the extension on the Home Page.
Context
The extensions can be accessed from the Manage Data page, or (extensions with object having the externalCode
field of <Type>: User) can be accessed from the Employee Files page. On the Home Page v12, you can either add
links to the Manage Data page and the Employee Files page and make them available on the Links tile or add
custom tiles for them and provide links to the respective pages.
Create a custom tile on Home Page of the application and add links to pages such as Employee Files, Employee
Profile Portlet, Manage Data, etc.
Context
Let's add a custom tile for the extension on Home Page v12.
Extension Center
78 PUBLIC Publishing an Extension
Procedure
1. Log in as admin, go to Admin Center Manage Home Page , and on the Default tab, click Add Custom Tile.
The Add Custom Tile page appears.
2. Fill out the tile settings, configure the content, and in the Main Content add the link to access the extension
(from the Manage Data page or the Employee Files page).
Extension Center
Publishing an Extension PUBLIC 79
3. Click Save.
Context
The extensions can be accessed from the Manage Data page, or (extensions with object having the externalCode
field of <Type>: User) can be accessed from the Employee Files page. You can add links to these pages, within the
Links tile.
Extension Center
80 PUBLIC Publishing an Extension
Procedure
1. Log in as admin, go to Admin Center Manage Home Page , and on the Default tab, click Manage Links
corresponding to the Links tile. The Manage Links page appears.
2. Add Link Label, select On by default check box to view the link on the tile by default, and enter the URL for the
extension.
Extension Center
Publishing an Extension PUBLIC 81
3. Click Save, and navigate back to the Home Page.
4. On the Links tile, click Edit. The Links pop-up window appears.
5. From the Available section, select the link(s) you added for accessing the extension. The link(s) appear in the
Selected section.
Extension Center
82 PUBLIC Publishing an Extension
6. Click Save. The link(s) now appear on the Links tile of the Home Page.
Extension Center
Publishing an Extension PUBLIC 83
14 How Do Employees Use Extension?
Once the HR Admin publishes the extension, the employee can use the application created as a result of the
extension.
The employee can access the extension through the Manage Data page or through the Employee Profile page.
Continuing with the example of the Company Car Request, the employee can use this application to request the
company car. Here’s a sample of the workflow the employee will be going through:
Context
The extensions with objects where the externalCode field is not set to type User, cannot be made available on
Employee Files. Such extensions can only be accessed from the Manage Data page. Continuing with the Request for
Company Car example, here's how you can use the new extension for the Company Car Request, using the Manage
Data page.
Extension Center
84 PUBLIC How Do Employees Use Extension?
Note
To grant access to the Manage Data page, you must enable the relevant role-based permission: go to Admin
Center Manage Permission Roles Permission Role Metadata Framework , and select Manage Data.
Procedure
1. Go to Admin Center.
2. In the Search field, enter Manage Data. This will bring up the Manage Data page.
3. In the Create New dropdown, search for Car Request, and select the relevant form. The Request for Company
Car page opens.
4. Fill out the required fields in form. As you can see the fields are self-explanatory.
5. In the externalCode and externalName fields, type acknowledgement.
Note
The externalCode and externalName fields will not be visible to the employee. The employee will only see
the fields in step 4.
Next Steps
Context
The extensions with objects where the externalCode field is set to type User, can be used from the Employee Files
page. Continuing with the Request for Company Car example, here's how you can use the new extension for the
Company Car Request, from the Employee Files page.
Extension Center
How Do Employees Use Extension? PUBLIC 85
Procedure
1. Go to My Employee File. The Request for Company Car portlet appears on the Employee Files page.
2. Select Edit on the top-right corner of the portlet to create a new company car request. The company car
request form opens.
3. Fill out the required fields in form. As you can see the fields are self-explanatory.
4. In the externalCode and externalName fields, type acknowledgement.
5. Click Save. You are prompted to confirm your action.
6. Enter a message for the approver in the field and click Confirm. A request for approval is sent to the manager.
Extension Center
86 PUBLIC How Do Employees Use Extension?
15 How does the Manager review the
application?
After the employee has requested for the car, the manager receives an application for approval.
Tip: The manager can check the To-Do list to see a list of pending requests. The application sent by the employee
will also appear in this list. Here’s a sample of the workflow the manager will be going through:
Extension Center
How does the Manager review the application? PUBLIC 87
Here’s the sample of the page that the manager will see:
Extension Center
88 PUBLIC How does the Manager review the application?
15.1 Approving or Sending Back a Request
This section describes how the manager can approve or send back a request made by the employee using the
extension created in the Extension Center.
Context
Following the Company Car Request example, let us see how the manager can approve the request or application
submitted by the employee.
Procedure
1. Log in to the SuccessFactors HCM Suite. You will find the pending request in the To Do tile, of your Home page.
2. Select "Request for Company Car" to view the request.
3. Select Approve, to approve the request.
Note
Optionally, a comment can also be provided in the Comment field of the request before being approved or
sent back to the employee.
Extension Center
How does the Manager review the application? PUBLIC 89
16 Reporting
16.1 Overview
For data in your client's MDF instance, reports are generated using SAP SuccessFactors Workforce Analytics. To
create custom reports for your client's MDF data, you can use the report designer.
16.2 Prerequisites
This sections explains what is needed to set up reporting for the MDF.
For MDF data to be available in the report designer, you need to set up the correct object and field level permission
security with role-based permissions (RBP).
Your access to tables and their related fields in reporting depend on their security settings as well.
Note
You can use Advanced Reporting to report the data involving delivered and custom MDF objects, where the
MDF objects can be used as a data source. Advanced Reporting requires Employee Central. If you don't have
Employee Central, you can export data from MDF objects with Integration Center or MDF Import/Export.
Related Information
Adding Security
Advanced Reporting in the Online Report Designer
Extension Center
90 PUBLIC Reporting
16.3 Viewing MDF Objects from Analytics
Context
After you have set up the correct permissions, you can access MDF objects to generate reports.
Procedure
If MDF is installed and the permissions are set up correctly, you see Metadata Framework in your list of
available tables. These MDF tables are treated just like any other tables by Workforce Analytics. For information
about generating reports from these tables, see the Employee Central Master Implementation Guide from the
SAP Help Portal at Employee Central Implementation Guides .
Extension Center
Reporting PUBLIC 91
17 FAQ
Context
You can add Extension Center to your Favorites on the Admin Center page, to make it easily accessible.
Procedure
● All objects, rules, workflows and configurable UIs that are not part of any other extension are displayed under
‘Uncategorized’ title.
● You can use the objects, rules, workflows, and configurable UIs from this Uncategorized extension in any other
extension you are creating.
● You cannot delete the ‘Uncategorized’ title.
Extension Center
92 PUBLIC FAQ
● The Uncategorized extensions contain custom objects that are not included in any other extensions. These
extensions do not include SuccessFactors delivered objects or java defined objects such as Position, Cost
Center, and so on even though they are available on the system.
To add deliver objects to an extension, go to Extension Center and click Add Existing Object. Select the standard
SuccessFactors objects listed under the SuccessFactors Objects tab and click Save. For more information on
adding SuccessFactors objects to an extension, see Reusing an Existing Object [page 53].
Cascade flag for Object Field and Associ Not supported Supported
ations
Extension Center
FAQ PUBLIC 93
17.4 Why does the MDF object definition always fail when
publishing the extension?
This is due to a limitation in the workflow today. As a workaround, you are requested to republish the extension. On
republishing, the job will pass.
Extension Center
94 PUBLIC FAQ
Once publishing is done, the status of the extension is changed to Previously Published.
Extension Center
FAQ PUBLIC 95
18 Reference Tables
Context
Procedure
String Used for text input fields. MDF allows storing text up to 4K
long.
DateTime Used to store the date and time information related to a time
zone This is a more granular data type. Time is converted to
the time zone of the user who views or requests the export,
and not to that of the user who originally entered the time.
Time Used to allow the user to enter times without having to specify
any time zone information. Times are generally displayed in
HH:MM:SS format and are validated to ensure that a valid time
value is entered. However, multiple formats are allowed based
Extension Center
96 PUBLIC Reference Tables
Select the Data Type… This is….
Translatable Used to allow the entry of localized strings for different locales
Generic Object Used to reference a generic object. When the object is created,
this field shows a value help with a list of the instances of that
generic object.
Foundation Object Used to reference a foundation object. When the object is cre
ated, this field shows a value help with a list of the instances of
that foundation object. Note: Foundation objects are standard
SuccessFactors object.
CLOB Used to store a block of text. The advantage of this data type is
that access is fast because an application program can access
any portion of a CLOB object. Additionally, this data type pro
vides large storage for a user-defined data type.
Auto Complete Used to automatically fill the information based on earlier user
input.
Extension Center
Reference Tables PUBLIC 97
18.2 Relationship Types Table
Context
Procedure
Valid When (or Reference) The associated objects have their own lifecycles and the object
exists even without the parent object.
For example, the car request object can have a Valid When rela
tionship with a delivery location object. When you use this rela
tionship type to add a car request object, you are shown an au
tocomplete for the available locations that are active and effec-
tive on the current entity’s start date. If the current entity is not
effective-dated, the results for current date (according to the
system) are shown.
Join By Column You can use this relationship type to model associations that are
neither composite nor reference (Valid When) associations. Set
one field of the parent object definition as the source object
column and one field of the child object definition as the desti
nation object column. Then the Join by Column association will
make the value of these two object columns reference each
other. For example, you have created two objects, Person,
which is not effective-dated, and PersonInfo, which is effective-
dated. Person is the parent object and the externalCode col
Extension Center
98 PUBLIC Reference Tables
Select this Relationship Type…. When…
Saving Save rules ("saveRules") are triggered when a user tries to save
changes to an object (an "onSave" event). You can use these
rules to check related field values for correctness. For example,
a field could become required as a consequence of a save.
Extension Center
Reference Tables PUBLIC 99
Rule Category Description
Extension Center
100 PUBLIC Reference Tables
19 Working with SAP Cloud Platform
Extensions
In the Extension Center, you can configure SAP Cloud Platform extensions that are applications deployed in this
cloud platform.
The SAP Cloud Platform extensions are applications, designed to serve a certain scenario or task flow. These
applications are deployed in the SAP Cloud Platform for your extension subaccount. Then, they appear in the
Extension Center in the SAP Cloud Platform Extensions tab.
In the context of the SAP Cloud Platform, these applications are called solutions and you can deploy them using the
SAP Cloud Platform tools. For more information, see Solutions.
Prerequisites
● Have the Extension Center enabled. See Prerequisites for Using Extension Center [page 13]
● Have your SAP SuccessFactors company integrated with an SAP Cloud Platform extension subaccount. You
need this to enable the SAP Cloud Platform Extensions tab in the Extension Center. See Configure Extension
Package for SAP SuccessFactors.
● Have your solution installed using the SAP Cloud Platform tools in your extension subaccount. This solution
appears as an extension tile in the SAP Cloud Platform Extensions tab. See Deploying Solutions Using the
Cockpit.
● Access Points
● Connections
● Permission Roles
To configure each one of these options you are redirected from the Extension Center to the respective tool in SAP
SuccessFactors.
Extension Center
Working with SAP Cloud Platform Extensions PUBLIC 101
19.1 Configuring Access Points
Context
Go to the Access Points tab. Depending on the Access Point type, you are redirected to a different tool.
● To open the application URL, on the Application row, choose Action Open Application .
● To configure the Home Page tile for this extension, on the Home Page Tile row, choose Action Configure
Home Page Tile . The Manage Home Page tool appears. See SAP SuccessFactors Home Page.
Note
To have the Home Page Tile row in the Access Points list, you need to have the Home Page tiles set up for
your extension.
Context
● You can change the system user only connections with name
sap_hcmcloud_core_odata_technical_user. To do that, choose Action Configure Connection .
● To check the OAuth client, choose Action Configure OAuth Client . The Manage OAuth2 Client
Applications tool appears. See Authentication using OAuth 2.0.
Extension Center
102 PUBLIC Working with SAP Cloud Platform Extensions
19.3 Configuring Permission Roles
Context
Go to the Permission Roles tab. You can configure the permissions for the listed role. Choose Action Configure
Permission Role . The Manage Permission Roles tool appears. See Setting up Groups and Roles.
Note
You have a Permission Roles tab only if your solution contains roles.
Extension Center
Working with SAP Cloud Platform Extensions PUBLIC 103
Important Disclaimers and Legal Information
Hyperlinks
Some links are classified by an icon and/or a mouseover text. These links provide additional information.
About the icons:
● Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your agreements
with SAP) to this:
● The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.
● SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any
damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.
● Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering a SAP-hosted Web site. By using such links, you
agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this information.
Example Code
Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax and
phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of example
code unless damages have been caused by SAP's gross negligence or willful misconduct.
Gender-Related Language
We try not to use gender-specific word forms and formulations. As appropriate for context and readability, SAP may use masculine word forms to refer to all genders.
Extension Center
104 PUBLIC Important Disclaimers and Legal Information
Extension Center
Important Disclaimers and Legal Information PUBLIC 105
www.sap.com/contactsap
SAP and other SAP products and services mentioned herein as well as
their respective logos are trademarks or registered trademarks of SAP
SE (or an SAP affiliate company) in Germany and other countries. All
other product and service names mentioned are the trademarks of their
respective companies.