Professional Documents
Culture Documents
Extension Center
CUSTOMER
Content
2.1
2.2
2.3
2.4
2.5
2.6
4.1
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
How do you configure an extension to access it from the Employee Files page?. . . . . . . . . . . . . . .51
9.1
CUSTOMER
Extension Center
Content
9.2
9.3
9.4
10
10.1
10.2
How do you use the extension from the Manage Data page in Admin Center?. . . . . . . . . . . . . . . . . . . . . 77
10.3
How do you use the extension from the Employee Files page?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
11
11.1
12
12.1
12.2
12.3
Are all features available in MDF for creating extensions available in Extension Center? . . . . . . . . . . . . . 84
12.4
Why does the MDF object definition always fail when publishing the extension?. . . . . . . . . . . . . . . . . . . 85
13
Reference Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
13.1
13.2
13.3
Extension Center
Content
CUSTOMER
This document describes changes to the Extension Center Implementation Guide for the recent releases. If the
information you are looking for is not described in this guide or if you find something described incorrectly, please
send mail to SAPSuccessFactorsDocumentation@sap.com and we'll update this guide.
Q3 2016
Table 1: The following table summarizes changes to this guide for the Q3 2016 release
What's New
Description
More Info
September 12
Extension Center Administration Guide
CUSTOMER
Extension Center
What's New in This Guide
2.1
This document aims to familiarize the HR Admin with the process of creating and managing extensions in
Extension Center.
2.2
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.
Enable Extension Center
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
CUSTOMER
3. Click Refresh.
Employee Central Foundation Objects must be selected for workflow
Enable Generic Objects and Enable the Attachment Manager
Remember
As a customer, you do not have access to Provisioning. To complete tasks in Provisioning, contact SAP Cloud
Support.
2.3
Before you can start using Extension Center, you need to define certain permissions that will allow users to create
new extensions and objects.
Note
As you will see from the steps, Extension Center, like MDF, leverages the Role-Based Permissions (RBP)
framework.
To set permissions:
1. Go to Admin Center.
2. In the Search field, type Manage Permission Roles.
3. In the list of permission roles, select the role you'd like to grant access to Extension center. For example,
System Admin.
4. On the Permission Role Detail page, in the Permission Settings section, click Permission.
5. On the Permission Settings page, select
User Permissions
Metadata Framework .
CUSTOMER
Extension Center
Getting Started with Extension Center
Tip
It would be a good idea to spend some time defining the approval workflow before setting permissions. This
will help you grant the right people access.
8. On the Permission Settings page, select
following:
Create
Insert
Correct
Delete
View (Note that this is selected by default)
Extension Center
Getting Started with Extension Center
CUSTOMER
Note
If you are building an extension which involves workflow, please ensure you grant relevant permissions to
the target population.
2.4
To explain how Extension Center works, well 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.
CUSTOMER
Extension Center
Getting Started with Extension Center
Extension Center
Getting Started with Extension Center
CUSTOMER
Related Information
How do you create a new extension? [page 15]
How do you create a picklist? [page 16]
How do you create an object? [page 19]
How do you prepare to publish an extension? [page 58]
2.5
10
CUSTOMER
Extension Center
Getting Started with Extension Center
You can toggle between the Grid view and the List view for the available extensions.
Grid View
List View
Extension Center
Getting Started with Extension Center
CUSTOMER
11
Search existing extensions, objects, rules, workflows and UIs by typing the keyword in the Search field. Note
that as you enter the name, extensions matching the name search are displayed below.
You can open an extension by clicking it. The obejcts defined within the extension appear.
You can view the objects by toggling between following views: Grid, List, and EntityRelationship Diagram
(ERD).
Grid View: Displays objects using Tiles
12
CUSTOMER
Extension Center
Getting Started with Extension Center
ERD View: An ERD model (also known as the Entity-Relationship View) shows the relationships that exist between
objects and instances of those entity types.
2.6
CUSTOMER
13
Car Request
Request Acknowledgement
Related Information
How do you use an existing picklist? [page 17]
14
CUSTOMER
Extension Center
Getting Started with Extension Center
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
How do you create a new extension?
CUSTOMER
15
Procedure
1. Go to Extension Center.
2. Select the extension to which you want to add an existing Object.
3. Click Add New Picklist.
16
CUSTOMER
Extension Center
How do you create a picklist?
Note
The following fields are not supported currently:
Insert a New Record: Allows you to access the picklist history
Display Order: Allows you to sort the picklist values in Alphabetical or Numeric order
5. To add a value to the picklist, click Add Value, enter Label and a relevant External Code, and set the Active
status. You can also add a Parent Picklist Value, if applicable. You can add as many values as needed.
6. Click Save.
4.1
Context
To reuse a picklist:
Procedure
1. Go to Extension Center.
2. Select the extension you would like to work with.
3. Click Add Existing Picklist.
The Add Existing Picklist page opens.
4. In the Search field, enter the name of the picklist you want to reuse:
Extension Center
How do you create a picklist?
CUSTOMER
17
18
CUSTOMER
Extension Center
How do you create a picklist?
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.
The Extension Detail page appears.
Extension Center
How do you create an object?
CUSTOMER
19
Note
Currently, the Cascade flag field, as seen in the Admin Center Configure Object Definitions
supported. Using the Cascade flag, you can set the following values:
page is not
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
Use the Configure Object Definitions page to apply these settings.
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.
20
CUSTOMER
Action
Save Object .
Extension Center
How do you create an object?
5.1
Context
Let us now look at how you can add fields to your object. Continuing with the example of the car request, lets
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
1. Click Add Field.
This brings up the Fields page.
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.
CUSTOMER
21
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.
Default Value: The label that you wish to translate appears in
this field.
Tko_KR: The Korean translator can use this field to enter the
field name after translation.
zh_CN_SF: The Chinese translator can use this field to enter
the field name after translation.
Type
Visibility
Required
3. You can view and edit additional options in the Advanced Options section by clicking the down arrow icon:
22
CUSTOMER
Extension Center
How do you create 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.
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.
Help Text
The label to translate for the field. You can give instructions
for the user.
Extension Center
How do you create an object?
CUSTOMER
23
Field
Description
Transient
Private or Sensitive
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.
Inactive Inactive fields are not available in the system. You
cannot use them to import, UI, OData, rules, and so on.
Note that you cannot make the fields inactive from the UI.
Field Criteria
condition
conditionValues
24
CUSTOMER
Extension Center
How do you create an object?
Field
Description
Note
Decimal Precision
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.
5. Click
Action
Save Object .
Extension Center
How do you create an object?
CUSTOMER
25
5.2
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.
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
1. Go to the Relationships tab.
2. 2. Click Add Relationship.
3. Fill in the following details:
26
CUSTOMER
Extension Center
How do you create an object?
In This Field...
Enter...
Label
Name
Multiplicity
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 in
Chapter 3, Reference.
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:
Extension Center
How do you create an object?
CUSTOMER
27
Note
You need to fill in the Destination Object Column and Source Object Column options when you set
Relationship type to Join By Column.
In this field...
Enter...
Transient
28
CUSTOMER
Extension Center
How do you create an object?
In this field...
Enter...
Required
Visibility
Editable: User can add and delete data for this association.
Read Only: User can only view records of this association. A
user cannot add, delete, or edit any association data.
Not Visible: User cannot view this association. Determines
whether the association is visible.
Status
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>.
In this field...
Enter...
Field ID
Condition Values
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.
In this field...
Enter...
Field whose values restrict the possible values for the field
that you are defining.
7. Click
Action
Save Object .
Extension Center
How do you create an object?
CUSTOMER
29
5.3
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
1. Go to the Rules tab.
2. Click Add New Rule and enter the details.
3. To enter the Basic Information, click
icon.
In This Field...
Enter...
Rule Name
Name by which you want to refer to this rule in the UI. For
example, SetCurrentUserforCar.
Rule ID
30
CUSTOMER
Extension Center
How do you create an object?
In This Field...
Enter...
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
Note
Parameters are used by rules to trigger the workflow.
6. To add a new parameter, click
icon.
In This Field...
Enter...
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.
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
Extension Center
How do you create an object?
Action
CUSTOMER
31
Note
Rules can be triggered at various phases of object creation. Refer the Rule Category Table [page 90] 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
1. To do this, click Show in Rule Engine.
32
CUSTOMER
Extension Center
How do you create an object?
2. To edit, select
Take Action
Make Correction .
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
1. Go to the Rules page.
2. Click Add Existing Rules.
3. Search for an existing rule (say "carStatusRequest"), select it, and click Save.
Extension Center
How do you create an object?
CUSTOMER
33
4. Select
5.4
Action
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
1. Go to the Workflows tab.
2. Click Add New Workflow.
This brings up the Workflow page.
3. Lets now define the workflow for approval. In this example, we'll define a single level of approval from the
manager
Heres the sample of a completed screen defining the workflow. Note that there is no approver type in Step 2.
This indicates managers 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 Managers Manager, the HR Manager and the Matrix Manager.
34
CUSTOMER
Extension Center
How do you create an object?
In This Field...
Enter
Code
Name
Description
Enter...
Approver Type
Extension Center
How do you create an object?
CUSTOMER
35
In This Field...
Enter...
fine different behaviors in different parts of the company.
You can do so by matching one or more attribute values to
specific approvers of type user, dynamic group, or position.
Dynamic Group: Similar to permission groups, you can de
fine a group of employees that are dynamically included into
this group on the basis of the employees job information at
tributes. When a workflow is addressed to a dynamic group,
all employees will receive the workflow request in their in
box.
Position: If position is selected, the workflow will go to all
employees who are incumbents of this position at the time
when the participants are evaluated.
Relationship to Approver
Approver
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 result in a different workflow.
Edit without Route Change: Similar to the above, the ap
prover can make changes. However, the workflow then con
tinues to the next step and there is no new workflow.
Context
No Approver Behavior
Respect Permission
5. You can also enter the Contributors and the CCrole details as follows:
36
CUSTOMER
Extension Center
How do you create an object?
Note
Employees who are listed in CC-roles are informed whenever a workflow is completed.
In This Field...
Enter
CC Role Type
Actor
Relationship to Approver
Context
Respect Permission
Extension Center
How do you create an object?
Action
Save Object .
CUSTOMER
37
Context
If a workflow already exists, you can reuse the workflow instead of defining a new workflow.
Procedure
1. Go to the Workflows page.
2. Click Add Existing Workflow.
3. Select a workflow from the dropdown and click OK. Assuming Car Lease Request was the workflow already
existing, select it from the dropdown.
4. Select
5.5
Action
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.
38
CUSTOMER
Extension Center
How do you create an object?
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
4. A new field appears on the screen, you can hover over the field to get the
5. Select the
icons.
Note
Click on the
Extension Center
How do you create an object?
CUSTOMER
39
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
Name
Show Label
Required
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
Note
For more information see Value Type User-Defined and Value Type
Resolver rows in this table
The type of value you want the user to enter in this field. Example:
structure, constant or enumeration
40
CUSTOMER
Extension Center
How do you create an object?
In This Field...
Enter...
Note
This field will appear if you select the User-Defined option in the
value type field.
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
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.
7. Select
Action
Extension Center
How do you create an object?
Save Object .
CUSTOMER
41
5.6
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
1. Enter the following Basic Properties details:
In This Field...
Enter...
Effective Dating
API Visibility
Editable, Read Only, or Not Visible options from the dropdown menu. Default setting is Not Visible. It controls the
visibility of the object, fields, rules and conditions in the
MDF OData API.
Status
42
CUSTOMER
Extension Center
How do you create an object?
In This Field...
Enter...
Field
Description
Extension Center
How do you create an object?
CUSTOMER
43
Field
Description
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.
For example, for the company car request object, Generic
Object Change Requests is set as the Todo category.
PII
Pending Data
5.7
Context
You can use the Security configuration page to define and add security at both object level and field level. Define
permissions to control security at both the object and field level. Taking the example of the company car request,
let's look at how we can define the security of a Company Car Request Object.
44
CUSTOMER
Extension Center
How do you create an object?
You can add information about adding object, field, and association level security to the MDF object that you are
defining, see MDF Security Using Role-Based Permissions (RBP) section in the Implementation Guide >
Implementing the Metadata Framework (MDF).
Procedure
1. Go to the Security tab.
2. Enter the following details:
In This Field...
Enter...
Secured
Permission Category
1.
Miscellaneous Permissions
After an Object is secured, you can control access to that Object in role-based permissions.
3. Click Add Permission Role.
Extension Center
How do you create an object?
CUSTOMER
45
46
CUSTOMER
Extension Center
How do you create an object?
Note
Hide seconds is not currently supported. This field will allow you to hide the seconds for Time Data Type.
6. Now you can set the view, edit and import/export rights for this role.
For example, you want the Admin to have all the above rights. 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.
Not Override: Both View and edit rights
View: Read-only rights
No Access: Will not be visible in the UI
Extension Center
How do you create an object?
CUSTOMER
47
5.8
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.
Note
You can also add standard SuccessFactors objects listed under the SuccessFactors Objects tab.
48
CUSTOMER
Extension Center
How do you create an object?
Extension Center
How do you create an object?
CUSTOMER
49
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.
50
CUSTOMER
Extension Center
How do you delete an object?
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
How do you configure an extension to access it from the Employee Files page?
CUSTOMER
51
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
appears.
Configure Employee Files , and click Add New View. The employee scorecard dashboard
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.
52
CUSTOMER
Extension Center
How do you configure an extension to access it from the Employee Files page?
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
How do you configure an extension to access it from the Employee Files page?
CUSTOMER
53
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.
54
CUSTOMER
Extension Center
How do you configure an extension to access it from the Employee Files page?
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
How do you configure an extension to access it from the Employee Files page?
CUSTOMER
55
The employees with the necessary role-based permissions can now access the extension from the Employee Files
page in the application.
56
CUSTOMER
Extension Center
How do you configure an extension to access it from the Employee Files page?
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
How do you delete an extension?
CUSTOMER
57
9.1
You can publish an extension only after you set up the instances involved in publishing of the extension.
Before publishing an extension, you must:
Configure instances as explained in How do you configure source and target instances in Provisioning? [page
58]
Enable RBP as explained in How do you enable permissions in the source instance to publish the extension?
[page 59].
Related Information
How do you publish the extension? [page 61]
Context
To begin with, you must have the Source and Target instances configured in Provisioning. For example,
Source instance: PLTAHU01
Target instance: PLTAHU01C
Note
As a customer, you do not 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
Instance
Provisioning
Company
Next, set up Target instance to accept artifacts from the Source instance.
58
CUSTOMER
Extension Center
How do you publish an extension?
Procedure
1. In Provisioning, go to Company Instance Instance Synchronization Company Permissions . The
Synchronize Company Data Permission page appears.
2. Select either Configure Instance in the same Data Center or Configure Instance in different Data Center
depending on whether your Source and Target instances are on the same Data Center or not.
3. Enter Target Data Admin's User ID, and select the Source instance (in this case, the one with Company ID as
PLTAHU01). The Select objects that the company can push dialog box appears.
4. Select all Configuration Items, and click Done.
5. On the Synchronize Company Data Permission page, click Save
Prerequisites
Create a permission group for users that will be granted the permission to publish Extension Center.
Creating a Permission Group
1. Log in as an admin, and go to Admin Center.
2. In the Tools Search field, enter Manage Permission Groups. The Manage Permission Groups page appears.
3. To create a new group for publishing Extension Center, click Create New. The Permission Group dialog box
appears.
Extension Center
How do you publish an extension?
CUSTOMER
59
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 User Permissions, select Manage Instance Synchronization.
5. Click Select All.
60
CUSTOMER
Extension Center
How do you publish an extension?
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.
9.2
Enables you to publish the extension from the Source instance to the Target instance.
Procedure
1. Log in to the Source instance (PLTAHU01) as an admin, and go to Admin Center.
2. In the Tools Search field, enter Extension Center. The Extension Center page appears.
3. Select the extension you want to publish. The Extension Detail page appears, which shows the list of objects
defined for the extension.
Extension Center
How do you publish an extension?
CUSTOMER
61
Note
If there are no objects available for publishing, create an object as described in How do you create an
object? [page 19], or to create a new extension, refer to How do you create a new extension? [page 15].
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
changes.
Action
Save Object
to save the
5. Click the Back to: Extension link, and on the Extension Detail page, click
Publish Extension dialog box appears.
Action
62
CUSTOMER
Extension Center
How do you publish an extension?
Note
If there are no target instances available, configure a target instance as explained in How do you configure
source and target instances in Provisioning? [page 58].
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 How to
synchronize instance configurations? [page 67], and click Confirm.
Extension Center
How do you publish an extension?
CUSTOMER
63
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.
64
CUSTOMER
Extension Center
How do you publish 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
Center
Admin
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
How do you publish an extension?
CUSTOMER
65
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.
66
CUSTOMER
Extension Center
How do you publish an extension?
9.3
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
1. Go to Admin Center
page appears.
2. Click the link for "Synchronize Company Configurations tool". The configuration sync wizard appears.
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.
3. Select the target instance you want to synchronize.
4. Under Which type of data you want to copy?, select RBP Permission Groups and RBP Permission Groups, and
click Start. The Dependency Description dialog box appears.
5. Click Auto-Select Dependencies. The dependent artifacts are automatically selected. The artifacts, which are
uncompatible for sync or are inaccessible to you, are ignored.
6. Click Start, and you are on the Name tab of the wizard.
7. Provide a Name, a User ID from the target instance, and click Next. The Copy Data Model page appears.
8. For the Copy Data Model and Copy Picklists pages, click Next without selecting any options.
9. For the question on whether you want to overwrite the existing picklists on the target instance, select No, and
click Next. The Copy RBP Permissions Groups page appears.
10. Select the group you created for publishing the extension, and click Next. A question, whether you want to
overwrite the existing RBP groups on the target instance, appears. Select Yes, and click Next. The Copy RBP
Permissions Roles page appears
11. Select the permission role you created for publishing the extension and click Next. A question, whether you
want to overwrite the existing RBP roles on the target instance, appears. Select Yes, and click Next. The Copy
MDF Rules page appears.
12. Click Next without selecting any options on the Copy MDF Rules and Copy MDF Object Definition pages, and on
the questions for overwriting the existing MDF rules and the existing MDF Object Definition on the target
instance, select No and click Next. The Summary page appears.
Extension Center
How do you publish an extension?
CUSTOMER
67
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.
1. Click Search. Your synchronization job appears in the search results.
2. In the Actions column, click Details corresponding to the job. The Sync Details pop-up appears.
68
CUSTOMER
Extension Center
How do you publish 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
source instance.
6. Go to Admin Center
instance.
9.4
Helps you understand the significance of the statuses involved in publishing of an extension.
The publishing status of an extension is available on the Extension Detail page.
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
How do you publish an extension?
CUSTOMER
69
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.
70
CUSTOMER
Extension Center
How do you publish an extension?
Once the HR Admin publishes the extension, the employee can use the application created as a result of the
extension.
As per the current extension design, the employee can access the extension through the "Manage Data" page, or
through portlet linked to "Employee Profile" or "Employee Files".
Continuing with the example of the Company Car Request, the employee can use this application to request the
company car. Heres a sample of the workflow the employee will be going through:
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
Extension Center
How does the Employee use the extension?
CUSTOMER
71
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.
Context
Let's add a custom tile for the extension on Home Page v12.
Procedure
1. Log in as admin, go to Admin Center
The Add Custom Tile page appears.
72
CUSTOMER
Manage Home Page , and on the Default tab, click Add Custom Tile.
Extension Center
How does the Employee use the extension?
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
How does the Employee use the extension?
CUSTOMER
73
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.
74
CUSTOMER
Extension Center
How does the Employee use the 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
How does the Employee use the extension?
CUSTOMER
75
5. From the Available section, select the link(s) you added for accessing the extension. The link(s) appear in the
Selected section.
76
CUSTOMER
Extension Center
How does the Employee use the extension?
6. Click Save. The link(s) now appear on the Links tile of the Home Page.
10.2 How do you use the extension from the Manage Data
page in Admin Center?
Shows you how to use an extension created using Extension Center.
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
How does the Employee use the extension?
CUSTOMER
77
Note
To grant access to the Manage Data page, you must enable the relevant role-based permission: go to
Center
Permission Role
Admin
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.
6. Click Save. You are prompted to confirm your action.
7. Enter a message for the approver in the field and click Confirm. A request for approval is sent to the manager.
Next Steps
Check out the Manager's To Do list to approve or deny the request.
10.3 How do you use the extension from the Employee Files
page?
Shows you how to test an extension created using Extension Center.
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.
78
CUSTOMER
Extension Center
How does the Employee use the extension?
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
How does the Employee use the extension?
CUSTOMER
79
11
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. Heres a sample of the workflow the manager will be going through:
80
CUSTOMER
Extension Center
How does the Manager review the application?
Heres the sample of the page that the manager will see:
Extension Center
How does the Manager review the application?
CUSTOMER
81
11.1
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.
82
CUSTOMER
Extension Center
How does the Manager review the application?
12
12.1
Context
You can add Extension Center to your Favorites on the Admin Center page, to make it easily accessible.
Procedure
1. Go to Switch back to NextGen Admin Center > Tools.
2. Click See All.
3. You will find Extension Center under Company Settings.
4. Hover over Extension Center, and click on the
icon.
Extension Center
FAQ: Extension Center
CUSTOMER
83
MDF
Not supported
Supported
Not supported
Not applicable
Not supported
Supported
Not supported
Supported
UIAssociationRenderer in Association
Not supported
Supported
Not supported
Supported
Not supported
Supported
Not supported
Not applicable
field
Insert a new record in picklist (to access
picklist history)
ations
Duplicate extension
84
CUSTOMER
Extension Center
FAQ: Extension Center
12.4 Why does the MDF object definition always fail when
publishing the extension?
In all likelihood, you are seeing the following error:
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
FAQ: Extension Center
CUSTOMER
85
Once publishing is done, the status of the extension is changed to Previously Published.
86
CUSTOMER
Extension Center
FAQ: Extension Center
13
Reference Tables
13.1
Context
Extension Center supports the following Data Types:
Procedure
This is.
String
Number
Auto Number
Decimal
Boolean
Date
DateTime
Time
Extension Center
Reference Tables
CUSTOMER
87
This is.
on the settings in the object definition, for example, HideSec
onds and TwelveHourFormat.
Picklist
Translatable
Enum
Generic Object
Foundation Object
Attachment
User
CLOB
Auto Complete
88
CUSTOMER
Extension Center
Reference Tables
Context
Extension Center supports the following Relationship Types:
Procedure
When
Composite
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 re
lationship with a delivery location object. When you use this re
lationship type to add a car request object, you are shown an
autocomplete for the available locations that are active and ef
fective on the current entitys start date. If the current entity is
not effective-dated, the results for current date (according to
the system) are shown.
Effective Dated: It is the date when the action takes effect. An
object with an effective date will also have an effective enddate, indicating when the setting is no longer applicable.
Join By Column
Extension Center
Reference Tables
CUSTOMER
89
When
fective-dated. Person is the parent object and the external
Code column is used as the source. PersonInfo is the child ob
ject and, using the Join By Column, its externalcode column
refers to the Person object. In this way, these two objects al
ways share the same external code.
Effective Dated: It is the date when the action takes effect. An
object with an effective date will also have an effective enddate, indicating when the setting is no longer applicable.
Description
Initialization
Validation
Saving
90
CUSTOMER
Extension Center
Reference Tables
Rule Category
Description
After Saving
Delete
Extension Center
Reference Tables
CUSTOMER
91
Coding Samples
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive system
environment. The Code is only intended to better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and
completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, unless damages were caused by SAP
intentionally or by SAP's gross negligence.
Accessibility
The information contained in the SAP documentation represents SAP's current view of accessibility criteria as of the date of publication; it is in no way intended to be a
binding guideline on how to ensure accessibility of software products. SAP in particular disclaims any liability in relation to this document. This disclaimer, however, does
not apply in cases of wilful misconduct or gross negligence of SAP. Furthermore, this document does not result in any direct or indirect contractual obligations of SAP.
Gender-Neutral Language
As far as possible, SAP documentation is gender neutral. Depending on the context, the reader is addressed directly with "you", or a gender-neutral noun (such as "sales
person" or "working days") is used. If when referring to members of both sexes, however, the third-person singular cannot be avoided or a gender-neutral noun does not
exist, SAP reserves the right to use the masculine form of the noun and pronoun. This is to ensure that the documentation remains comprehensible.
Internet Hyperlinks
The SAP documentation may contain hyperlinks to the Internet. These hyperlinks are intended to serve as a hint about where to find related information. SAP does not
warrant the availability and correctness of this related information or the ability of this information to serve a particular purpose. SAP shall not be liable for any damages
caused by the use of related information unless damages have been caused by SAP's gross negligence or willful misconduct. All links are categorized for transparency (see:
http://help.sap.com/disclaimer).
92
CUSTOMER
Extension Center
Important Disclaimers and Legal Information
Extension Center
Important Disclaimers and Legal Information
CUSTOMER
93
go.sap.com/registration/
contact.html