Sunday, April 17, 2016

how does SuccessFactors Employee Central integrate with on-premise SAP Payroll systems

SuccessFactors Employee Central, a modern, state-of-the art cloud solution for core HR operations is slowly gaining momentum. Many customers are moving to the SaaS model for core HR.

But how does SuccessFactors Employee Central integrate with on-premise SAP Payroll systems? What are the challenges and the various considerations in terms of data migration, configuration and synchronization in such an undertaking.

This paper talks about how we and SAP partnered together in designing and improving integration between core SAP HR and Success Factor Employee Central. The innovative collaboration lead to a very successful go-live at a client site and some of the solutions applied on this engagement became part of the subsequent integration releases in versions 1405 and 1408 by SAP.

We and SAP partnered together to design, develop and enhance the current integration solution for a fortune 100 client who was planning to deploy Employ Central as their core HRIS system of record and continue to use SAP Payroll on-premise.

During the initial design and build sessions for integration, several challenges were identified which could have derailed the project.

Fundamentals of EC to SAP HR integration.

The current preferred method and recommended approach by SAP for cloud integration is Dell BOOMI based iflows. SAP has developed standard iFlows, which are pre-packaged integration flows. The maintenance and upgrade of these Iflows are handled by SAP. The platform enables customers to design cloud-based integration processes called Atoms and transfer data between cloud and on-premises applications.

The standard Iflows delivered by SAP are -:
1) Org Structure Replication. – Syncs foundation objects in EC to Org Objects in SAP
2) Employee Master Data to Payroll. – Syncs EE master data between systems
3) Org Assignment replication. – Creates EE to Org Management Object relationships

Saturday, January 2, 2016

Detailed Successfactos EC Implementation Guide





 

Call us: 419-408-3178



Product Documentation INTERNAL
SuccessFactors
Employee Central Implementation Handbook

Table Of Contents
1 Overview: implementation sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 What is Employee Central? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 What do you need to know before starting an implementation? . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Recommended 13-step implementation sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Establishing a new customer account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Initial configuration tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Configuration Setup for To-Dos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Managing role-based permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Managing permission roles for Employee Central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 User permissions relevant for Employee Central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3 Administrator permissions relevant for Employee Central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4 Setting up data models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1 What are data models? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 Setting up the Corporate Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3 Setting up the Succession Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4 Using the Business Configuration UI to Maintain Elements of the Succession Data Model . . . . . . . . 57
4.5 Setting up country-specific data models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.6 Setting up country-specific picklists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5 Working with foundation objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.1 What are foundation objects? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.2 What are the characteristics of foundation objects? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3 Which foundation objects can you use to structure your business? . . . . . . . . . . . . . . . . . . . . . . . . 80
5.4 Which foundation objects can you use to handle job-related areas? . . . . . . . . . . . . . . . . . . . . . . . . 81
5.5 Which foundation objects can you use to handle pay-related areas? . . . . . . . . . . . . . . . . . . . . . . . 81
5.5 Pay-Related Objects A-Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.6 Which other foundation objects are available? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.7 Setting up country-specific picklists for pay components or event reasons . . . . . . . . . . . . . . . . . . 83
6 Working with generic objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.1 What are generic objects? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.2 What are the characteristics of generic objects? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.3 How do you configure and manage generic objects? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.4 How do you create customer-specific foundation objects? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
SuccessFactors
Table Of Contents I N T E R N A L • © 2013 SAP AG. All rights reserved. 3
6.5 How do you create associations for generic objects? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7 Creating rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.1 Setting up propagation rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.2 Setting up event-reason derivation rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.3 Setting up configurable rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8 Setting up approval workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.1 What are approval workflows? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.2 When do you want to use approval workflows? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.3 What are approver types? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.4 What do you need to do first before you can create workflows? . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.5 How do you create workflows? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.6 XML examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8.7 How do you set up alerts and notifications? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
9 Working with data imports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.1 Introduction to Data Imports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.2 Importing Foundation Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.3 Translating Foundation Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9.4 Importing Employee Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
9.5 Importing Picklists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
9.6 FAQs: Importing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
10 Managing HRIS sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.1 Human Resource Information System (HRIS) Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.2 Data Integration for the Performance Management Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
10.3 HRIS Sync configuration workbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
11 Employee Central and your mobile device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.1 Using Employee Central on your mobile device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
11.2 Mobile Time Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
11.3 Mobile To-Dos in Employee Central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
12 Data Objects: Quick Reference Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
12.1 Foundation object tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
12.2 HR Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Person object tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Employment object tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
4 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Table Of Contents
1 Overview: implementation sequence
1.1 What is Employee Central?
Employee Central drives a lot of the information you see in Employee Profile and talent information. Information is
natively stored in our product so other modules can access the information. It captures information about a
company’s organization, pay, job structure and employees.
Employee Central data is smart because it allows you to capture history, create associations, use effective-dated
objects, define automated workflows and automatically configure options for on-screen selections.
1.2 What do you need to know before starting an implementation?
Now that you’ve completed your training and are familiar with how to set up Employee Central, you can use this
handbook as a reference to reinforce your learning. This handbook further explains key EC concepts and provides
a sequence to help you organize your implementation. Tips and recommendations based on seasoned PS
experiences have been included through this handbook.
Use this handbook in tandem with the Configuration Workbook that you will be giving your customers. The
Configuration Workbook is a working document that you will use to capture your customer’s requirements and is
typically provided by your Team Leader.
While your customer will be completing the Configuration Workbook, you’ll be guiding them to get the right answers.
Use the handbook to determine the type of questions you want to ask them so you’re able to implement successfully.
1.3 Recommended 13-step implementation sequence
To help you with your implementation, we recommend following this proven 13-step formula. This formula is based
on PS expertise.
We strongly recommend you follow this sequence for the first few implementations and discuss any variations
with your Team Lead.
For information on
this step… See…
Step 1: Setting up a
new account in
Provisioning
Initial configuration tasks [page 7]
This section describes the steps to get started with your implementation, including the different options
you need to select in Provisioning to enable Employee Central.
Step 2: Creating the
Super Admin
Initial configuration tasks [page 7]
The section How do you create the Super Admin describes the different steps required to create the
Super Admin.
Step 3: Defining the
Corporate Data
Model
Setting up the Corporate Data Model [page 40]
This section describes how to set up the Corporate Data Model for your customer.
SuccessFactors
Overview: implementation sequence I N T E R N A L • © 2013 SAP AG. All rights reserved. 5
For information on
this step… See…
Step 4: Configuring
the Succession Data
Model
Setting up the Succession Data Model [page 46]
This section describes how to set up the Succession Data Model for your customer.
Step 5: Configuring
the Country-Specific
Corporate and
Succession Data
Models
Setting up country-specific data models [page 69]
This section describes how to set up Country-Specific Corporate and Succession Data Models for your
customer.
Step 6: Importing the
Picklist
Importing Picklists [page 153]
This section describes how to import the different values that a customer sees when they click on a
dropdown menu.
Step 7: Creating
Foundation Objects
Working with foundation objects [page 78]
This chapter describes what foundation objects are including how you can define them.
Step 8: Configuring
Propagation Rules
Setting up propagation rules [page 95]
This chapter describes how to set up the different rules that determine what options display on screen,
depending on user selections.
Step 9: Creating
Event-Reason
Derivation Rules
Setting up event-reason derivation rules [page 98]
This section describes how to set up the different rules. Depending on the attributes that change, the
system automatically determines the rule to apply.
Step 10: Creating
Workflow Derivation
Rules
Setting up approval workflows [page 126]
This chapter describes what workflows are, when to use them and how to set them up.
Step 11: Managing
Role-Based
Permissions
Managing permission roles for Employee Central [page 14]
This section describes which permission roles are specific to Employee Central and how you manage
them.
Please refer to the Role-Based Permissions Handbook for details on how to set up role-based
permissions, permission groups and permission roles.
Step 12: Importing
Employee Data
Working with data imports [page 143]
This section describes everything you need to know about importing employee data.
Step 13: HRIS Sync Managing Human Resource Information System (HRIS) synchronization [page 160]
This chapter describes how you can integrate other SuccessFactors modules with Employee Central.
6 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Overview: implementation sequence
2 Establishing a new customer account
2.1 Provisioning
Provisioning is an internal tool that Professional Services consultants and partners use to set up SuccessFactors
modules for a customer. You can access each customer instance from within Provisioning.
Customers do not have access to Provisioning.
2.2 Initial configuration tasks
To get started with the customer implementation, you need to do a number of initial configuration tasks as described
below. These are the minimum settings you need to start working. You will make further Provisioning settings based
on the customer's requirements as you progress through the implementation.
Prerequisite
An instance has already been created for the customer.
Tasks
Do the initial configuration tasks in the following sequence.
What basic options do you need to set?
1. Log on to Provisioning with your user name and password, and select the company
from the list shown or through the initial letter of the company ID.
2. Select Edit Company Settings Company Settings .
3. Enable the company languages by selecting the checkboxes of the relevant language
packs.
Make sure you select a minimum of one language pack.
4. Select the following Employee Central checkboxes:
SuccessFactors
Establishing a new customer account I N T E R N A L • © 2013 SAP AG. All rights reserved. 7
5. Select the Role-based Permission checkbox:
6. Select the following checkboxes for Compensation and Generic Objects.
7. Select the following profile checkboxes:
8. Select the following user interface checkboxes:
9. Scroll back up to the top and select Save Feature on the right of the screen.
What Reporting options do you need to set?
1. On the Company Settings page of Provisioning, scroll down to the section Analytics and
Dashboard Tabs & Misc Reporting.
2. Select the following Ad Hoc Report Builder checkboxes:
8 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Establishing a new customer account
3. Scroll to the top of this section and, on the right of the page, select Save.
What Attachment options do you need to set?
1. On the Company Settings page of Provisioning, scroll to the section Document
Attachment.
2. Specify the Attachment settings as required by the customer.
SuccessFactors
Establishing a new customer account I N T E R N A L • © 2013 SAP AG. All rights reserved. 9
If the customer requirements are not known at this time, make the following settings:
3. On the right of the page, select Save.
How do you create the Super Admin?
The Super Admin is the person who can give an employee the authorizations to work as a
Security Admin or System Admin. The Super Admin is sometimes referred to as the “Super
User.” For more information about Super Admins, refer to the Role-Based Permissions
Handbook.
1. On the Company Settings page of Provisioning, scroll down until you are nearly at the
bottom of the page.
2. Specify entries in the following fields:
The Super Admin will be asked to change the password on first logon.
3. On the right of the page, select Create Admin.
How do you keep the User Directory and Org Chart up to date?
The User Directory and Org Chart use data that is maintained and stored in Employee Central.
You need to make sure that the data in the different systems is kept up to date. Use a Quartz
job to sync the data automatically, based on the dates on which changes become effective.
1. Navigate away from the Company Settings page of Provisioning by clicking the
company name on the top left.
2. Scroll down and select Manage Job Scheduler Manage Scheduled Jobs .
3. Select Create New Job (above the Job Type) field.
4. Enter a suitable job name (such as EC Effective Dates Sync).
5. As the job owner, specify the Super Admin you created in the previous task. You can
use the Find User function to do this.
6. From the dropdown list, select the job type HRIS Sync.
7. Based on the customer requirements, specify the time and frequency of the job.
8. Specify additional email recipients and job start notifications as required.
9. On the bottom right, select Create Job.
10 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Establishing a new customer account
Activating Employee Central SOAP APIs
1. Go to Edit Company Settings Company Settings .
2. Under Web Services flag the Employee Central SOAP API setting and save your changes.
With this option turned on, you can use Employee Central SOAP APIs.
Activating the New Home Page
1. Go to Edit Company Settings Company Settings .
2. Flag the Wow Home Page setting and save your changes.
Activating the Admin Alert
To make the Admin Alert available for a user in your company flag the Manage Workflow
Requests permission under Administrator Permissions Manage User .
2.3 Configuration Setup for To-Dos
Overview
As the name suggests, to-dos are tasks you are expected or required to carry out. For example, as a manager, you
might be expected to approve an employee's rating or assessment.
Features
To-dos appear in your profile, but you must enable the feature before they appear there. You do this on Provisioning
by choosing Company Settings, then checking the Show ToDo Portlet option under Home Page Settings.
Once you have done this, the portlet appears in your profile.
SuccessFactors
Establishing a new customer account I N T E R N A L • © 2013 SAP AG. All rights reserved. 11
To-Dos
You can manage how your To-Dos look using the To-Do List Manager.
For example, you can:
● Choose how long completed tasks continue to be displayed.
● Choose how long before they're due pending tasks are displayed.
● Generate lists of to-dos covering a given period, such as a month or a year.
● Opt to drop “supplemental tasks” — that is, tasks you actually create from the list.
Here's what the manager looks like:
12 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Establishing a new customer account
To-Do List Manager
See Also
Mobile To-Dos in Employee Central [page 201]
SuccessFactors
Establishing a new customer account I N T E R N A L • © 2013 SAP AG. All rights reserved. 13
3 Managing role-based permissions
3.1 Managing permission roles for Employee Central
Role-based permissions allow you to grant different levels of read or write access depending on the role of the
employee. For example, an employee is only allowed to read their own compensation information, but an HR Admin
is allowed to edit it. You define these kind of permissions by managing permission roles.
As role-based permissions are used by all modules within SuccessFactors, we provide you an overview of the rolebased
permissions relevant for a basic implementation of Employee Central and what to consider when setting these
up.
Note: The Add New Employee screen does not respect the role-based permissions you set up here. Instead it respects
the settings from the data models with regards to whether a field or portlet is visible or editable.
What you need to do first:
You need to have set up role-based permissions before you can manage permission roles. You find more information
about this in the Role-Based Permissions Handbook.
How do you manage permission roles?
1. Go to Administration Tools.
2. In the Manage Employees portlet, select Set User Permissions Manage Permission Roles .
3. On the Permission Role List page, under Permission Role, click the permission role for which you want to
manage the permissions.
The Permission Role Detail page opens.
4. In the Permission settings section, click the Permission... button to specify the permission you want to assign
to the role.
The Permission Settings window opens:
14 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Managing role-based permissions
5. On the left side of the window, you see the different permission categories. Click a permission category to
reveal the different permissions, for example, Employee Data which is listed under User Permissions.
The list of permissions associated with this category are displayed on the right side. In our example, you can
see the HR Information section that contains several permissions, for example, for Biographical Information.
For more information about the different permissions, refer to User permissions relevant for Employee
Central [page 16] and Administrator permissions relevant for Employee Central [page 25].
6. Select the checkboxes against the permissions you'd like to grant to the role.
7. Click the Done button when you finish marking your selection.
8. Back on the Permission Role Detail page, scroll down to the Grant this role to... section.
Click the Add button to select the employees to be granted this permission.
The Grant this role to... page opens.
9. Define whom you want to grant this role permission to in step 1.
SuccessFactors
Managing role-based permissions I N T E R N A L • © 2013 SAP AG. All rights reserved. 15
10. Specify the target population accordingly in step 2.
11. Click the Done button to assign this role to the corresponding users in the system. You are taken back to
the Permission Role Detail page.
12. Click the Save Changes button to complete creating the role.
If you click Cancel at this stage, the role will not be created.
For more information and examples on how to grant permission roles to employees, refer to the Role-Based
Permissions Handbook.
3.2 User permissions relevant for Employee Central
Under User Permissions, the following permission categories are relevant for Employee Central:
● Employee Data
● Employee Central Effective Dated Entities
● Employee Views
In the following, you can find more information about each of these categories.
Employee Data
Under Employee Data, the following sections are relevant for Employee Central:
● HR Information
● Employment Details
● Global Assignment Details
Only available if you have activated Global Assignment Management in Provisioning.
● Pension Payout Details
Only available if you have activated pension payouts in Provisioning.
● HR Actions
● Future Dated Transaction Alert
● Transactions Pending Approval
● View Workflow Approval History
● Pay Component Groups
● Pay Components
Permissions relevant for these sections are:
● View
● Edit
Here you can find more information to each of these sections:
HR Information
Here you assign permissions for portlets that refer to non-effective dated entities for Employee Central. Noneffective
dated means that the history for the changes will not be maintained (for example, for Phone Information).
16 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Managing role-based permissions
The entries listed here refer to the different portlets that have been defined as HRIS elements in the Succession Data
Model. You can choose these permissions:
● View: The user can see the portlet.
● Edit: The user can edit the portlet on the Personal Information or Employment Information page by clicking
the Edit link in the portlet:
Note that the labels depend on the labels defined in the Succession Data Model. If you have taken over the standard
Succession Data Model, the following entries are displayed under HR Information:
This HR
Information
entry... ...refers to this HRIS element:
Biographical
Information
personInfo
National ID
Information
nationalIdCard
Phone
Information
phoneInfo
Email
Information
emailInfo
Business Email
Address
This entry is an exception: It refers to the Email Type field of the emailInfo HRIS element, where you can
select the type Business:
It is listed here because normally every employee needs a business email address. If a company assigns the
email addresses to the employees and does not want them to be editable by the employees, select only
View permission here.
Social
Accounts
Information
imInfo
Primary
Emergency
Contact
emergencyContactPrimary
Direct Deposit directDeposit
SuccessFactors
Managing role-based permissions I N T E R N A L • © 2013 SAP AG. All rights reserved. 17
This HR
Information
entry... ...refers to this HRIS element:
Spot Bonus payComponentNonRecurring
Here you define the permissions for the manager:
● Select View to allow the user to view the Spot Bonus portlet on the Employment Information page.
● Select Edit so that the user can navigate from the Employment Information page to the Update
Employee Records page using the Take Action button:
You can assign approval workflows for changes done on the Update Employee Records page.
Spot Bonus Edit
Action
payComponentNonRecurring
Here you define the permissions for the employee for changes done on the Employment Information page.
Payment
Information
paymentInfo
Work Permit
Info
workPermitInfo
Global
Assignment
Details
globalAssignmentInfo
This entry is only relevant when you have activated Global Assignments Management in Provisioning.
You can find more information in the Global Assignments Handbook.
● Select View to allow the user to view the Global Assignment portlet on the Employment Information
page.
● Select Edit to allow the user to manage global assignments on the Update Employee Records page
using the Take Action button.
You can assign approval workflows for changes done on the Update Employee Records page.
Pension Payout
Details
pensionPayoutsInfo
This entry is only relevant when you have activated pension payouts in Provisioning.
You can find more information in the Pension Payouts Config Guide.
● Select View to allow the user to view the Pension Payout Details portlet on the Employment
Information page.
● Select Edit to allow the user to manage pension payouts on the Update Employee Records page using
the Take Action button.
You can assign approval workflows for changes done on the Update Employee Records page.
Employment Details
This section refers to the Employment Details portlet. Listed here are the fields from the Succession Data Model for
the HRIS element employmentInfo. Only the HRIS fields with visibility "both" or "view" are available for setting
permissions. Termination-related fields are also included. There are these exceptions:
18 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Managing role-based permissions
For this
Employment
Details entry... ...select this permission:
Employment
Details MSS
For the manager:
● View to allow the manager to view the Spot Bonus portlet on the Employment Information page.
● Edit to allow the manager to navigate from the Employment Information page to the Update Employee
Records page using the Take Action button.
You can assign approval workflows for changes done on the Update Employee Records page.
Employment
Details Edit
For the employee:
● View to allow the user to view the Employment Details portlet on the Employment Information page.
● Edit to allow the user to edit the portlet on the Employment Information page by clicking the Edit link
in the portlet.
Note that workflows cannot be assigned for changes done this way.
Bonus Pay
Expiration Date
This field is listed here because of a functional limitation of the role-based permissions framework. Hide this
field from the user interface by deselecting View and Edit.
Global Assignment Details
This section refers to the Global Assignment Details portlet. Listed here are the fields from the Succession Data
Model for the HRIS element globalAssignmentInfo. Only the HRIS fields with visibility "both" or "view" are
available for setting permissions. There is one exception:
For this Global
Assignment
Details entry... ...select this permission:
Global
Assignment
Details Edit
● View to allow the user to view the Global Assignment Details portlet on the Employment Information
page.
● Edit to allow the user to edit the portlet on the Employment Information page by clicking the Edit link
in the portlet.
Note that workflows cannot be assigned for changes done this way.
Pension Payout Details
This section refers to the Pension Payout Details portlet. Listed here are the fields from the Succession Data Model
for the HRIS element pensionPayoutsInfo. Only the HRIS fields with visibility "both" or "view" are available for
setting permissions. There is one exception:
For this
Pension
Payout
Details
entry... ...select this permission:
Pension
Payout
Details Edit
● View to allow the user to view the Pension Payout Details portlet on the Employment Information page.
● Edit to allow the user to edit the portlet on the Employment Information page by clicking the Edit link in
the portlet.
Note that workflows cannot be assigned for changes done this way.
HR Actions
The HR Actions section controls mainly who has access to the Update Employee Records page for actions defined
in the Succession Data Model.
SuccessFactors
Managing role-based permissions I N T E R N A L • © 2013 SAP AG. All rights reserved. 19
This HR Action... ...defines this permission:
Update Employment Records
(displayed as Take Action
button)
This option overrules all other permissions in this section. It controls whether the user can
see and use the Take Action button from the Employment Information page.
View Higher Grades This option defines if a manager can view an employee's job classification if it is higher than
the manager's.
To restrict a manager’s view, leave the permissions unchecked. Make sure that the job
classifications are assigned to a pay grade, and have a paygradeLevel maintained. When
the manager goes to the Update Employee Records page for Job Information, the list of job
classifications in the dropdown is limited to those whose paygradeLevel is less than the
manager’s. Note that this function is limited to this page; it does not have any effect on the
Job Info History page.
hireAction This is an hris-action from the Succession Data Model. It defines if the user can access the
Add New Employee link in the Administration Tools.
reHireAction This is an hris-action from the Succession Data Model. It defines if the user can access the
Rehire Inactive Employee link in the Administration Tools.
terminateAction This is an hris-action from the Succession Data Model. It defines if the user can access the
Take Action button on the Employment Information page and select Terminate from the
dropdown menu.
Manage Leave of Absence This is an hris-action from the Succession Data Model. It defines if the user can access the
Take Action button on the Employment Information page and select Manage Leave of
Absence from the dropdown menu.
returnLeaveOfAbsenceAction This is an hris-action from the Succession Data Model. It defines if the user can enter a return
date for an employee that is returning from a leave of absence. On the user interface, the user
can access the Return from Leave link on the Update Employee Records page for Manage
Leave of Absence.
Permissions to access the Update Employee Records page for Global Assignments are set in the section HR
Information [page 16].
Future-Dated Transaction Alert
In this section, you define if a user has the permission to view future changes for effective-dated entities by clicking
on the Pending future change… link as in this example:
20 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Managing role-based permissions
Only the View permission is applicable here (Edit has no function). Future-dated transaction alerts can be set for the
following portlets:
This portlet... ...refers to this HRIS element:
Personal Information personalInfo
Home Address homeAddress
Dependents personRelationshipInfo
This entry is only relevant if you have activated the Dependents Management feature in
Provisioning. You can find more information in the Dependents Management Config Guide.
Job Information jobInfo
Compensation Information compInfo
Job Relationships jobRelationsInfo
Transactions Pending Approval
In this section, you define if a user can see if a workflow has been initiated, but has not been approved so far, by
clicking on the Pending Approval link:
View means the pending approval link is shown, but you cannot click on it to get to the details of the workflow request.
Edit means you can view and click on the pending approval link. You can set the permission for the following portlets:
This portlet... ...refers to this HRIS element:
Personal Information personalInfo
Employment Details employmentInfo
Job Information jobInfo
Compensation Information compInfo
Spot Bonus payComponentNonRecurring
Job Relationships jobRelationsInfo
View Workflow Approval History
In this section, you can define the permissions to view the workflow history from the History page of the following
effective-dated entities:
This portlet… ...refers to this HRIS element:
Personal Information personalInfo
Job Information jobInfo
Compensation Information compInfo
Job Relationships jobRelationsInfo
SuccessFactors
Managing role-based permissions I N T E R N A L • © 2013 SAP AG. All rights reserved. 21
Here, only the View permission is relevant, Edit has no function. The user with View permission can select View
Approval History from the Take Action dropdown menu from the History page as in this example:
Pay Component Groups
This section lists all pay component groups that exist in the system. Pay component groups are foundation objects.
AnnualizedSalary is a default pay component group that exists already in the system; the remaining entries in this
section are the pay component groups the Admin has created in the system.
Only View is applicable here; Edit has no function. If you select View, the user can see the pay component group in
the system, for example, on the Employment Information page:
Pay Components
This section lists all pay components that have been created in the system. Pay components are foundation objects.
View and Edit are both applicable for pay components. Select View to allow the user to see pay components on the
user interface as read-only. Select Edit to allow the user to edit and delete a pay component on the Update Employee
Data page by clicking the Take Action button and selecting Change Job and Comp Info from the dropdown menu:
22 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Managing role-based permissions
Employee Central Effective Dated Entities
Here you can set field-level permissions for effective-dated portlets and fields. This includes also country-specific
fields that are prefixed by the 3-letter ISO code (for example, FRA for France, DEU for Germany, and so on). There
are 5 different permissions you can select for effective-dated entities:
● Delete: The user to delete an effective-dated entity. This is only applicable at element or portlet level, not at
field level.
● View Current: The user can see only the current field value of an effective-dated entity. When the user looks
at the history page, the past data record for this field is not displayed.
● View History: The user can see past values on the History page. This permission also includes the View
Current permission, so that the user can also see the current field value.
● Edit/Insert: The user can edit an effective-dated entity by inserting a new data record for it which is effective
as of a certain date. As the user does not really change the data record itself (then it would just overwrite the
past data record), past data records are still available in the History. The field is also available for editing when
a new data record is inserted.
● Correct: The user can make corrections to a field from the History page:
The following sections are relevant for Employee Central:
For this portlet… …you can set permissions for fields from:
Personal
Information
personalInfo
plus globalInfo fields from the country-specific Succession Data Model
Home Address homeAddress
This is an exception: Here you can only set permissions on portlet level, but not on field level.
Dependents personRelationshipInfo
This entry is only relevant if you have activated the Dependents Management feature in Provisioning.
You can find more information in the Dependents Management Config Guide.
Job Information jobInfo
plus jobInfo fields from the country-specific Succession Data Model
Note: The field FTE is a calculated field and thus read-only; select only View Current and/or View
History.
Compensation
Information
compInfo
Note: The fields range penetration and compa-ratio are calculated fields and thus read-only;
select only View Current and/or View History.
Job Relationships jobRelationsInfo
For a complete list of all listed fields, refer to the fields listed in your Succession Data Model and country-specific
Succession Data Model.
In addition, for each of the sections, you can set these two permissions on portlet level:
● [portlet] Actions: This permission allows the user to:
SuccessFactors
Managing role-based permissions I N T E R N A L • © 2013 SAP AG. All rights reserved. 23
○ Insert a new record from the History page
○ Add a new record using the Take Action dropdown menu, or add a new record using the Edit link in the
portlet for those portlets that are listed on the Personal Information page
Use this option when you want to associate an approval workflow with the changes done in this portlet.
Select Correct as minimum if you want to grant this permission to a user.
● Edit Link: Allows the user to edit fields in the portlet by clicking the Edit link in the portlet on the Employment
Information or Personal Information page.
The remaining entries refer to the fields listed in the Succession Data Model and country-specific Succession Data
Model. If a field is configured in both the Succession Data Model and the country-specific Succession Data Model,
only the field from the Succession Data Model is shown in this list.
Employee Views
Under Employee Views, you define if the user can access pages from the Employee Files using the dropdown menu
like in this example:
The following employee views are relevant for Employee Central:
● Employment Information: Grants access to the Employment Information page
● Personal Information: Grants access to the Personal Information page
● Pending Requests: Grants access to the Pending Requests page for workflows requested by you, or of which
you are the approver as shown here:
24 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Managing role-based permissions
3.3 Administrator permissions relevant for Employee Central
Under Administrator Permissions, the following permission categories are relevant for Employee Central:
● Manage Compensation
● Manage System Properties
● Manage User
● Manage Time Off
● Manage Mass Changes
● Employee Central API
● Manage Foundation Objects
● Manage Foundation Object Types
● Metadata Framework
● Manage Business Configuration
● Manage Position
In the following, you can find more information about each of these categories.
Manage Compensation
In this category, one entry is required for Employee Central to ensure that the calculation of the pay groups works:
Select the Manage Currency Conversion Rate Tables checkbox.
Manage System Properties
Select the Company System and Logo Settings checkbox. This allows the Admin to access the Company System and
Logo Settings link in the Administration Tools, which has Employee Central relevant settings.
1. Go to Administration Tools. In the Company Processes & Cycles portlet, select Company
Settings Company System and Logo Settings .
2. On the Company Logo page, select the following three checkboxes that are relevant for Employee Central:
● Enable Address Validations
● Enable National ID Validations
● Enable Bank Account Validations
3. Optional: Depending on the customer's requirements, you can make an entry in the field Next Person Id
Assigned.
Example: Let's say a company with 10.000 employees acquires another company. When merging the
employees into one company, 5.000 new employees are added with a CSV file import to the system. You
would then need to set the ID for the next person that is hired to be the current number of employees plus 1,
so you would enter 15.001 in the Next Person Id Assigned field.
Manage User
Here, the following checkboxes are relevant for Employee Central:
SuccessFactors
Managing role-based permissions I N T E R N A L • © 2013 SAP AG. All rights reserved. 25
● Add New User: Grants access to the Add New Employees link in the Administration Tools.
● Rehire Inactive Employee: Grants access to the Rehire Inactive Employee link in the Administration Tools.
● Include Inactive Employees in the search: Enables the search for inactive users on the Employee Files page
as in this example:
and in the directory search:
● Import Employee Data: Grants access to the Import Employee Data link in the Administration Tools.
● Manage Workflow Requests: Grants access to the Manage Workflow Requests link in the Administration Tools,
for example, to change the approver for a particular workflow.
Note that the Admin can only access the workflow requests for the target population to which the Admin role
has been granted access.
● Manage Workflow Groups: Grants access to the Manage Workflow Groups link in the Administration Tools.
Manage Time Off
Here you set permissions relevant for Time Off Management. You can find more details about how to configure Time
Off in the Time Off handbook.
26 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Managing role-based permissions
Manage Mass Changes
Here you set permissions relevant for Mass Changes. You can find more details about how to configure Mass Changes
in the Mass Changes Config Guide.
Employee Central API
Here you set permissions for SOAP-based application programming interfaces (APIs) for Employee Central. These
are relevant for integrating Employee Central with other software products.
These permissions are only relevant when you have activated the corresponding APIs in Provisioning. The Foundation
APIs are relevant for foundation data, the HRIS APIs for person and employment data:
● Employee Central Foundation SOAP API
● Employee Central HRIS SOAP API
● Employee Central Foundation OData API (read-only)
● Employee Central HRIS OData API (read-only)
● Employee Central Foundation OData API (editable)
● Employee Central HRIS OData API (editable)
Manage Foundation Objects
Here you define permissions for working with foundation objects.
● Import Foundation Data: Grants access to the Import Foundation Data link in the Administration Tools.
● Import Translations: Allows the Admin to import translations for the jobCode foundation object, using the
Import Translations link in the Administration Tools. You can find more information under Translating
Foundation Data [page 144].
Manage Foundation Object Types
Here you define permissions for the Admin that refer to the different types of foundation objects. Foundation objects
are created, edited and deleted in the Administration Tools, in the Company Processes & Cycles portlet, under
Employee Files Manage Organization, Pay and Job Structures .
The following permissions are relevant here and refer to what the Admin is allowed to do on the Manage Organization,
Pay and Job Structures page:
● View: The Admin can only view the corresponding foundation object type.
● Create: The Admin can create a foundation object of the selected type.
● Insert: The Admin can create a new data record for a foundation object type, by clicking the
Insert New Record button as shown in this example:
SuccessFactors
Managing role-based permissions I N T E R N A L • © 2013 SAP AG. All rights reserved. 27
● Correct: The Admin can correct foundation objects by selecting Take Action Make Correction in the
History page:
● Delete: The Admin can delete foundation objects by selecting Take Action Permanently delete record
in the History page:
Metadata Framework
The Metadata Framework is used to create generic objects that are also used in Employee Central, for example, to
create customer-specific foundation objects. It is also used in Employee Central to create configurable rules.
These are the permissions:
● Configure Generic Object Definition: Allows the Admin to access the Configure Generic Object Definition link
in the Administration Tools, where the Admin can create generic object definitions and generic object picklists.
● Manage Data: Allows the user to access the Manage Data link in the Administration Tools.
● Configure Business Rules: Allows the Admin to access the Configure Business Rules link in the Administration
Tools.
● Read/Write Permission on Metadata Framework: Allows the Admin to read/write generic objects on any page
in the system.
28 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Managing role-based permissions
What is the difference to the Manage Data permission?
Without the read/write permission, the user cannot see or manage generic objects on any page in
the system. Without the Manage Data permission, the user cannot access the Manage Data page,
but is still able to manage data from other pages, such as the Configure Business Rules page (if the
Configure Business Rules permission is granted).
● Import Permission on Metadata Framework: Allows the Admin to import and export data for generic objects
or business rules using the Import and Export Data link in the Administration Tools.
You can find more information for the use of generic objects in Employee Central under How do you create customerspecific
foundation objects? [page 90] and Setting up configurable rules [page 105].
For more information about the Metadata Framework in general, refer to the Metadata Framework Implementation
Handbook.
Manage Business Configuration
This entry is only displayed if you have activated the Business Configuration in Admin Tools feature in Provisioning.
Choose Select All to allow the Admin to use the Business Configuration UI to make changes to the Succession Data
Model and the country-specific Succession Data Model.
Manage Position
Here you set permissions relevant for Position Management. You can find more details about how to configure
Position Management in the Position Management Handbook.
SuccessFactors
Managing role-based permissions I N T E R N A L • © 2013 SAP AG. All rights reserved. 29
4 Setting up data models
4.1 What are data models?
Data models are used to set up Employee Central in that way that satisfies a company's requirements. You define
how a company's organization structure is reflected in the system and what entries a user can make to set up
company, person, and employment data. You can add customer-specific fields and rename fields.
The data models are:
● Corporate Data Model
This is where you set up a company's organization, pay and job structure. The data model refers to data that
is used throughout the entire instance of the customer.
● Succession Data Model
This is where you set up the data structure of data that relates to the people working in a company, such as
compensation and address information.
● Country-specific Corporate Data Model
This is where you set up fields that are specific to a single country. This data model might be needed if the
company has locations in more than one country, for example, to define the corporate address fields for each
country.
● Country-specific Succession Data Model
This is where you set up international formats and fields, for example, for addresses and national IDs. You
might want to set this data model up even if a company operates in only one country, as your employees
might live or come from abroad.
What are foundation objects, generic objects, person objects, and employment
objects?
These are the four types of data objects that are used in the data models:
● Foundation objects
● Generic objects
● Person objects
● Employment objects
Foundation objects define company data. Generic objects make available certain settings and functions relating to
employees, such as vacation and position information. Person and employment objects define employee data and
are sometimes referred to as HR data objects. In the following section, you can find more information about these
data objects.
What are foundation objects?
With foundation objects you set up data that can be shared across the entire company, such as job codes,
departments, or cost centers. Foundation objects can be subdivided into four main areas:
● Organization structures
● Job structures
30 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
● Pay structures
● Other data objects, such as event reasons, workflows, and dynamic roles
You define foundation objects in the Corporate Data Model and the country-specific Corporate Data Model.
You can find more information about foundation objects in What are foundation objects? [page 78] and under
Foundation object tables [page 203].
What are generic objects?
You use generic objects for settings and information relating to the people working for a business. This information
includes, for example, vacation and position information.
You have to enable generic objects in your installation before you can use them. You do this in Provisioning, by
checking the Enable Generic Objects box.
You define generic objects in the Succession Data Model and the country-specific Succession Data Model.
What are person objects?
Person objects include information that is linked to the person and does not depend on the job, such as the
employee's address and national ID.
You define person objects in the Succession Data Model and the country-specific Succession Data Model.
You can find more information about person objects under Person object tables [page 240].
What are employment objects?
Employment objects include job-related information about a person, such as compensation and hire date.
You define employment objects in the Succession Data Model.
You can find more information about employment objects under Employment object tables [page 255].
How do you work with data models?
The data models are XML files that you can adjust according to a company's requirements. The XML files have
standard elements and fields included, so you need only touch those parts of it you want to adjust. You can use the
existing XML coding as a guideline, and you also find XML examples and explanations in the following chapters.
General information on data model XML files
The following information is meant to help you understand how the XML files are structured and what you can change.
XML example
The following is an example of how a foundation object is defined in the Corporate Data Model:
<hris-element id=”company”>
<label>Legal Entity</label>
<hris-field max-length=”32” id=”externalCode” visibility=”both” required=”true”
pii=”false”>
<label>Legal Entity ID</label>
</hris-field>
</hris-element>
The main sections of this XML code are the following:
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 31
HRIS element: Data objects are set up as HRIS elements in the XML files. Each HRIS element has an ID that you
cannot change. In our example, the foundation object “Legal Entity” has the ID “company”. Whenever you refer to
this foundation object in one of the XML files, you reference this ID.
HRIS field: Each HRIS elements has certain HRIS fields assigned to it. This is the field that appears on the UI, except
when the visibility of the field is set to “none”.
Field types
In the data models, you define the data objects and the fields they refer to. There are different field types:
● Standard fields
Each HRIS element has a number of standard fields to handle the most common customer requirements.
Standard fields have a predefined ID you should not change. The predefined XML files for the data models
contain only a selection of the most widely used fields; for a detailed overview of all possible fields, check the
data object tables:
○ Foundation object tables [page 203]
○ Person object tables [page 240]
○ Employment object tables [page 255]
● Custom fields
Each HRIS element has several custom fields to add customer-specific information. These can be text fields,
date fields, or number fields. Some custom fields are included in the standard XML files and are by default
hidden, so you have to explicitly change their visibility attribute if you want them to appear on the UI. You
should also change the standard label to a meaningful name.
This is what a custom field looks like in the XML code that is by default hidden:
<hris-field max-length=”45” id=”custom-string1” visibility=”none”
required=”false” />
<label>Custom String1</label>
...
To find out how many custom fields you can use for an HRIS element and what their field ID is, check the
corresponding tables for the data objects:
○ Foundation object tables [page 203]
○ Person object tables [page 240]
○ Employment object tables [page 255]
● Country-specific fields
You can add country-specific fields using the country-specific data models. For more information, see Setting
up country-specific data models [page 69].
Field order
The order in which the fields are displayed on the UI is determined by the order in which they are listed in the Corporate
or Succession Data Model. Exception is the start date: This always appears on top of the screen as the date when
the change is supposed to be effective. For the order of country-specific fields, refer to chapter Setting up countryspecific
data models [page 69].
Visibility of fields
You define if a field is visible on the UI by setting the value of the attribute visibility accordingly:
● “none”: Field is hidden. You cannot import data for this field via CSV files.
● “view”: Field is read-only. You cannot import data for this field via CSV files.
● “both”: Field is visible on the UI and can be edited
32 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
Mostly, you would use either the values “none” — to hide fields that are not needed — or “both” — to allow data entry
and data import.
This is what the XML code looks like for a hidden field:
<hris-element id=”company”>
<label>Legal Entity</label>
<hris-field id=”end-date” visibility=”none” required=”false” pii=”false”>
...
If you want to allow data import for a field that is read-only (that is, with visibility=”view”), you can add
the attribute allow-import=”true” to it in the corresponding data model. This could be the case for the
employee ID field: If the ID is system-generated, you prevent the user from accidentally changing the ID by
setting it to read-only. However, you might want to upload existing data for the employees, including their IDs,
via CSV file. To make this possible, add the allow-import=”true” attribute as in this example:
<hris-field max-length=”32” id=”person-id-external” visibility=”view” allowimport=”
true”>
<label>Employee ID</label>
</hris-field>
Note that the person-id-external field is an exception: You can also use the allow-import attribute
when this field is hidden (that is, with visibility=”none”).
Mandatory fields
You can make a field mandatory by setting the attribute “required” accordingly:
● “true”: The field is mandatory. It is flagged as such on the UI and the user has to enter a value to be able to
save changes.
● “false”: The field is optional.
This is what it looks like in the XML code when a field is mandatory:
<hris-element id=”location”>
<label>Location</label>
<hris-field max-length=”32” id=”externalCode” visibility=”view” required=”true” />
<label>Code</label>
...
For which fields can you not change the “required” attribute?
The following HRIS fields still require a user entry on the UI, even if you change the attribute in the XML file to
required=”false”:
● start-date
● externalCode
● status
…plus the following HRIS fields as listed below:
For this HRIS element in the Corporate Data Model... ...this HRIS field is always required:
company country
corporateAddress country
dynamicRoleAssignment person
eventReason event
frequency annualizationFactor
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 33
For this HRIS element in the Corporate Data Model... ...this HRIS field is always required:
payCalendar payPeriodBeginDate
payPeriodEndDate
payGroupCode
payComponent payComponentType
payRange frequency
wfConfigCC actorRole
actorType
context
wfConfigContributor actorRole
actorType
context
wfStepApprover approverRole
approverType
context
For this HRIS element in the Succession Data Model... ...this HRIS field is always required:
compInfo currency-code
emailInfo email-address
email-type
employmentInfo end-date
start-date
globalAssignmentInfo company
end-date
assignment-type
planned-end-date
imInfo im-id
jobInfo job-code
company
business-unit
jobRelationsInfo relationship-type
rel-user-id
nationalIdCard card-type
national-id
isPrimary
country
payComponentNonRecurring pay-component-code
value
pay-date
payComponentRecurring pay-component
frequency
paycompvalue
pensionPayoutsInfo company
end-date
personalInfo first-name
last-name
personRelationshipInfo relationship-type
phoneInfo phone-type
phone-number
workPermitInfo issue-date
34 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
For this HRIS element in the country-specific Succession Data Model... ...this HRIS field is always required:
globalInfo country
homeAddress country
Labels
The label is the descriptor that appears on the UI. You can change this label by overwriting it with a name that the
customer prefers.
In the following example, the value of the <label> tag of the HRIS element is the descriptor for the foundation object
“location”:
<hris-element id=”location”>
<label>Location</label>
...
In the following example, the value of the <label> tag of the HRIS field is the descriptor for the field “externalCode”:
<hris-element id=”location”>
<label>Location</label>
<hris-field max-length=”32” id=”externalCode” visibility=”both” required=”true” />
<label>Code</label>
...
Translatability of labels
The label is the descriptor that appears on the UI. You can change this label. It can also be translated into other
languages using the xml:lang attribute and the corresponding language code. The corresponding translations are
stored in the XML file for the data model as shown below:
<hris-element id=”company”>
<label>Legal Entity</label>
<hris-field max-length=”32” id=”externalCode” visibility=”both” required=”true”
pii=”false”>
<label>Legal Entity ID</label>
<label xml:lang="de-DE">Kennung der juristischen Einheit</label>
<label xml:lang="en-GB">Legal Entity ID</label>
<label xml:lang="es-ES">ID de entidad legal</label>
<label xml:lang="fr-CA">ID d’entité juridique</label>
<label xml:lang="fr-FR">ID de la personne morale</label>
<label xml:lang="it-IT">ID entità legale</label>
</hris-field>
</hris-element>
If the system does not find a corresponding label for the system language, it displays the label that has been
configured without the xml:lang attribute; in the example above, “Legal Entity ID” would then be displayed.
Effective Dating
The HRIS fields “start-date” and “end-date” are used for effective dating. The “start-date” is mostly shown on top
of all other fields on the UI. This is where the user has to enter the date when he wants the changes to be effective.
Whether an HRIS element is effective-dated or not is defined by the system.
The HRIS field “end-date” does not appear on the UI but is used for reporting purposes. For example, if you change
an effective-dated field such as pay grade and set the date when the change should be effective to 01/01/2012, the
system records 12/31/2011 as the end date in the background. If you run a report on the pay grade in the time from
01/01/2011 until 12/31/2011, the pay grade value that was valid in that time frame will be shown.
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 35
This is what the XML code looks like for start and end date:
<hris-field id=”start-date” visibility=”both” required=”true” pii=”false”>
<label>Start Date</label>
</hris-field>
<hris-field id=”end-date” visibility=”none” required=”false” pii=”false”>
<label>End Date</label>
</hris-field>
Search criteria
You can define search criteria that are used to find an entry in the system. In the following example, you define that
you can search for a location by entering a city or a country. The system then tries to find a match with the information
stored in the corporate address and shows the corresponding result.
<hris-element id=”location”>
<search-criteria>
<search-field id=”corporateAddress.city” />
<search-field id=”corporateAddress.country” />
</search-criteria>
</hris-element>
List of XML elements and attributes
The following tables provide a quick overview of the XML elements and attributes that are most commonly used in
the data models.
● XML elements can contain other XML elements nested inside them. For example, the hriselement
XML element can contain label and hris-field XML elements:
<hris-element id=”location”>
<label>Location</label>
<hris-field max-length="32" id="externalCode" visibility="both"
required="true" pii="false" showTrailingZeros="false" >
<label>Code</label>
</hris-field>
<hris-associations>
<association id=”id” multiplicity=”ONE_TO_ONE” destinationentity=”
geozone” required=”false” />
</hris-associations>
<search-criteria>
<search-field id=”corporateAddress.city” />
</search-criteria>
</hris-element>
● XML elements can contain several attributes, for example, the XML element hris-field contains the
attributes max-length and id:
<hris-field max-length=”256” id=”amount”>
● Attributes are name-value pairs; it is predefined which values can be entered for which attributes. In
the following example, the attribute with the name max-length can have a number as value:
max-length=”256”
36 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
<hris-element>
...can include these XML elements
or attributes: How to use this XML element or attribute:
Attribute id This is the identifier for an HRIS element, which represents one foundation object, or
one person or employment object.
You cannot change the ID; to find out which data object has which ID, refer to the hriselement
id of the data object tables:
● Foundation object tables [page 203]
● Person object tables [page 240]
● Employment object tables [page 255]
Element description This is where you enter a text that describes an XML element, or what the data model
is used for, for example. This description does not appear on the UI.
Element label This is the text that is shown on the UI. You can change it if the customer wants to use
a different naming. This text is also translatable.
Element trigger-rule This is used to assign a configurable rule the customer has created to a user action on
the user interface. For example, when a page is loaded or saved, a specific system
behavior defined in the configurable rule is triggered.
For more information, see Setting up configurable rules [page 105].
Element hris-field With hris-field you define each individual field within this HRIS element.
Element hrisassociations
Associations define the relationship between foundation objects.
Associations can only be defined in the Corporate Data Model.
Element searchcriteria
Search criteria define what fields can be used to search this HRIS element.
<hris-field>
...can include these XML elements or
attributes:
These are
possible
attribute
values: How to use this XML element or attribute:
Attribute max-length 256 This defines the maximum length of this field on the UI.
For boolean fields, you can leave out this attribute.
Attribute id start-date This is the identifier for a field within an HRIS element.
You cannot change the ID; to find out which HRIS field has
which ID, refer to the column Field ID in the data object tables:
● Foundation object tables [page 203]
● Person object tables [page 240]
● Employment object tables [page 255]
Attribute visibility ● none
● view
● both
The visibility defines if this field is visible on the UI:
● “none”: Field is hidden. You cannot import data for
this field via CSV files.
● “view”: Field is read-only. You cannot import data for
this field via CSV files.
● “both”: Field is visible on the UI and can be edited
Attribute required ● true
● false
If this is set to “true”, the field becomes mandatory — that
means a user entry is required — and is marked as such on the
UI.
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 37
...can include these XML elements or
attributes:
These are
possible
attribute
values: How to use this XML element or attribute:
Attribute pii ● true
● false
If this setting is true (pii=”true”), it defines that the field
is a sensitive field; as such, it will be masked on the screen for
security reasons. This is a setting used for password fields, for
example. When the user enters his data, only asterisks or
similar symbols are shown on the UI instead of the actual data
entered. This is done to prevent over-the-shoulder snooping
for the user's password.
Attribute maximumFractionDigits Possible values
are 0–5:
● 0
● 1
● 2
● 3
● 4
● 5
With this XML attribute you define how many decimal digits
are shown after the decimal point. Depending on the number
of decimal digits you indicate here, the numbers displayed in
the system get rounded up or down.
You can use this property only for HRIS fields with the data
type DOUBLE, and you can define up to 5 decimal places. If
you do not use this attribute for a DOUBLE data type, the
number is rounded to three decimal places by default. If you
define a value higher than 5, the system uses the maximum
value, which is 5. If you define a negative value, for example,
-1, the default value of 3 decimal places is used. Example:
maximumFractionDigits=”2”
If the user enters 4.394 on the UI and the
maximumFractionDigits have been defined to 2, the
system reduces the decimal digits from 3 to 2 as defined in the
data model and rounds down the value to show the following:
4.39
Make sure that the following HRIS fields use the same
maximumFractionDigits value:
● payComponentValue of HRIS element
payComponent
● paycompvalue of HRIS element
payComponentRecurring
● value of HRIS element
payComponentNonRecurring
The pay component value field of the pay component
foundation object is reused in the compensation
information. If you then choose to override this field
and the value of the maximumFractionDigits
attribute is different for the fields, it leads to an error.
Attribute showTrailingZeros ● true
● false
With this XML attribute you define if trailing zeros after a
decimal number are displayed, and how many. You can use
this attribute only for HRIS fields with the data type DOUBLE.
If you do not use this attribute for a DOUBLE data type in the
XML file, by default no trailing zeros are shown.
If maximumFractionDigits is set to 4 and
showTrailingZeros is set to “true”, and the user enters
1.3 on the UI, the value is displayed as follows: 1.3000.
Element label — This is the text that is shown on the UI. You can change it if the
customer wants to use a different naming. This text is also
translatable.
38 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
...can include these XML elements or
attributes:
These are
possible
attribute
values: How to use this XML element or attribute:
Element trigger-rule — This is used to assign rules the customer has created in the
Rules Engine to a user action on the user interface. When a
field is changed, a specific system behavior defined in the rule
is triggered.
For more information, see:
● Setting up configurable rules [page 105]
● How do you set up alerts and notifications?
[page 133]
Element picklist — If the value of this HRIS field comes from a picklist, define the
associated picklist information.
You can find more information about picklists in How do you
manage picklists?
<hris-associations> (only valid for Corporate Data Model)
...can include these XML elements or
attributes: These are possible attribute values:
How to use this XML element or
attribute:
Element association — Associations define relationships
between foundation objects, or
between a foundation object and a
generic object.
Attribute id The only possible value is:
id
This is the identifier for an
association between this
foundation object and another
object; do not change this value.
Attribute multiplicity ● ONE_TO_ONE
● ONE_TO_MANY
Multiplicity defines whether this
relationship is ONE_TO_ONE or
ONE_TO_MANY. If you create new
associations, define the multiplicity
as ONE_TO_MANY.
Attribute destination-entity ● division
● company
● Generic_Object_Building
This is where you define the other
foundation object or generic object
that this object has a relationship
with. You enter the HRIS-element ID
of that foundation object or the
external code of the generic object
as attribute value. The destination
entity is the controlling object of the
association.
Attribute required ● true
● false
If this is set to “true”, the field
becomes mandatory — that means
a user entry is required — and is
marked as such on the UI.
<search-criteria>
...can include these XML elements or
attributes: How to use this XML element or attribute:
Element search-field This defines a searchable field of this HRIS element.
You can define search criteria that are used to find an entry in the system.
In the following example, you define that you can search for a location by
entering a city or a country. The system then tries to find a match with the
information stored in the corporate address and shows the corresponding
result.
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 39
...can include these XML elements or
attributes: How to use this XML element or attribute:
Attribute id This is the ID that the system is searching for. You use the HRIS-element ID
followed by the HRIS-field ID, separated by a period.
<label>
...can include these XML
elements or attributes:
These are possible
attribute values: How to use this XML element or attribute:
Attribute xml:lang ● en-GB
● fr-CA
● it-IT
The label that appears on the UI can also be translated into other languages
using the xml:lang attribute and the corresponding language code. The
corresponding translations are stored in the XML file for the data model. If
the system does not find a corresponding label for the system language, it
displays the label that has been configured without the xml:lang attribute;
in the example, Legal Entity ID would then be displayed.
<trigger-rule>
...can include these
XML elements or
attributes:
These are possible
attribute values: How to use this XML element or attribute:
Attribute event For hris-elements:
● onInit
● onSave
● onView
● onEdit
● saveAlert
For hris-fields:
● onChange
This is the event on the user interface that triggers the execution of the
rule. Possible values are:
● onInit: Rule is triggered when the page is loaded
● onSave: Rule is triggered when a page or HRIS-element is saved
● onChange: Rule is triggered when a field is changed.
● onView: Rule is triggered when portlet or page with transient field
is loaded
● onEdit: Rule is triggered when portlet or page is opened in edit
mode
● saveAlert: Rule is triggered when a data record change has
taken place and the current date is equal or after the effective date
of the defined alert
For more information, see:
● Setting up configurable rules [page 105]
● How do you set up alerts and notifications? [page 133]
Attribute rule external code of the rule This is the rule that is triggered when the event on the user interface takes
place. You must have defined this rule in the Rules Engine and refer to the
external code of the rule.
4.2 Setting up the Corporate Data Model
What is the Corporate Data Model?
The Corporate Data Model is your starting point to set up a company's structure for Employee Central. This is where
you define how the organization, pay and job structures that define the company are reflected in the system. For
example, if a company's departments can be funded by several cost centers, you allow that more than one cost
center can be assigned to a department in the system. You set this up by defining foundation objects in the Corporate
Data Model and define the relationships between them by creating associations in the XML file for the data model.
Only the foundation objects defined in this data model can later be used in Employee Central, and the associations
define what a user can enter. You also define what fields are going to be used on the UI, what they are called, which
fields are hidden, and you can also add customer-specific fields.
40 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
What are foundation objects?
With foundation objects you set up data that can be shared across the entire company, such as job codes,
departments, or cost centers. You find more information about foundation objects in What are foundation objects?
[page 78]
In the XML file for the Corporate Data Model, you can make changes to the standard setup that is predelivered by
SuccessFactors. The following table lists all foundation objects that are included in the standard XML file. The
columns define the following:
● HRIS-element ID: This is the ID that is used to identify the foundation object in the XML files.
● Standard label: This is the label for the HRIS element that appears on the UI. You can overwrite this label. If
no label is included in the standard XML file, then the label that appears on the UI is pulled from the backend
system. To overwrite the label, add the corresponding label tags in the XML file below the corresponding HRIS
element and put the new label text inside the label tags.
● Subtype: Foundation objects can be logically divided into four main areas:
○ Organization structures
○ Job structures
○ Pay structures
○ Other objects, such as event reasons, workflow, and dynamic roles
The fields for the foundation objects legalEntityLocal and jobClassLocal are defined in the countryspecific
Corporate Data Model. For more information, see Setting up country-specific data models
[page 69].
HRIS-element ID Standard label Data object type Subtype
company Legal Entity Foundation object
This is the only mandatory HRIS element you
should not delete from the XML files.
Organization structure
legalEntityLocal — Foundation object
All fields for this HRIS element are set up in the
country-specific Corporate Data Model.
Organization structure
businessUnit Business Unit Foundation object Organization structure
locationGroup Location Group Foundation object Organization structure
geozone Geo Zone Foundation object Organization structure
location Location Foundation object Organization structure
division Division Foundation object Organization structure
department Department Foundation object Organization structure
costCenter Cost Center Foundation object Organization structure
jobCode Job Classification Foundation object Job structure
jobClassLocal — Foundation object
All fields for this HRIS element are set up in the
country-specific Corporate Data Model.
Job structure
jobFunction Job Function Foundation object Job structure
payGroup Pay Group Foundation object Pay structure
payRange Pay Range Foundation object Pay structure
payGrade Pay Grade Foundation object Pay structure
payComponent Pay Component Foundation object Pay structure
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 41
HRIS-element ID Standard label Data object type Subtype
payComponentGroup Pay Component Group Foundation object Pay structure
payCalendar Pay Calendar Foundation object Pay structure
frequency Frequency Foundation object Pay structure
corporateAddress — Part of foundation object location Organization structure
dynamicRole Dynamic Role Foundation object Dynamic Role
dynamicRoleAssignment — Part of foundation object dynamicRole Dynamic Role
wfConfig Workflow Foundation object Workflow
wfConfigStep — Part of foundation object wfConfig Workflow
wfStepApprover — Part of foundation object wfConfig Workflow
wfConfigContributor Contributor Type Part of foundation object wfConfig Workflow
wfConfigCC CC Role Type Part of foundation object wfConfig Workflow
eventReason Event Reason Foundation object Event reason
Can you add more foundation objects?
In addition to the foundation objects listed above that SuccessFactors predelivers, you can define more foundation
objects specific for your customer. For more information, see How do you create customer-specific foundation
objects? [page 90]
What are associations?
Associations define relationships between foundation objects, or between a foundation object and a generic object.
For example, a business unit consists of several departments, so you would create an association of one business
unit to many departments — a ONE_TO_MANY association. Whereas a location can only have one geozone
associated to it — this is a ONE_TO_ONE association. The type of association restricts what the user can display or
enter in Employee Central — for a ONE_TO_ONE association from location to geozone, for example, the user can
enter exactly one geozone for a location on the UI.
The standard XML file for the Corporate Data Model already contains some associations. These are listed in the table
below. You can add more ONE_TO_MANY associations, or change the existing associations in the XML file if needed.
Each association has a “driving object” that acts as the basis for the association.
Source Target Multiplicity Description
Location Geozone ONE_TO_ONE A location can only belong to one geozone. (Location is the
driving object)
Location Legal Entity ONE_TO_MANY Several companies can have the same location. (Legal Entity is
the driving object)
Division Business Unit ONE_TO_MANY A division can have several business units. (Division is the driving
object)
Department Division ONE_TO_MANY A department can have multiple divisions. (Division is the driving
object)
Job Code Business Unit ONE_TO_MANY A job code can be used across several business units. (Job Code
is the driving object)
Pay Range Geozone ONE_TO_ONE Companies generally have different pay ranges for each
combination of Legal Entity, Job Code, and Geozone.
Pay Range Pay Grade ONE_TO_ONE A pay range is generally associated with one pay grade.
42 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
Source Target Multiplicity Description
Pay Range Legal Entity ONE_TO_ONE Companies generally have different pay ranges for each
combination of Legal Entity, Job Code, and Geozone.
Pay Component Group Pay Component ONE_TO_MANY A Pay Component Group can contain multiple Pay Components.
How do you set up the Corporate Data Model?
1. Download the XML file for the Corporate Data Model.
● If you're setting up the Corporate Data Model the first time for a company,
download the most current version from this link: http://
confluence.successfactors.com/display/PRODINFO/Data+Models+and
+Picklists .
● If you're changing an already uploaded Corporate Data Model, download the XML
file from Provisioning under Succession Management Import/Export
Corporate Data Model XML .
2. If no changes are required to the XML file, you can proceed directly to step 3. Otherwise,
open the XML file in an XML editor and adjust the data model according to the
company's requirements you have discussed with the customer before.
If you want to adjust the XML file, proceed as follows:
1. HRIS elements
You can change the following for the HRIS elements:
● Delete HRIS elements
Except for company, which is a mandatory HRIS element, you can delete the
HRIS element you don't want to use from the data model.
Interaction between data models:
Consider the interaction between the data models when you delete
HRIS elements that might be used in some other data model. Some of
the foundation objects defined in the Corporate Data Model are used
to fill fields that are part of person or employment objects defined in
the Succession Data Model. For example, when you delete the
costCenter HRIS element from the Corporate Data Model, you
should also delete the cost-center field from the Succession Data
Model (which belongs to HRIS element jobInfo), or set its visibility to
“none”, so it does not appear on the UI. Otherwise, when the user
selects the cost-center field in the Job Information portlet on the UI,
no information can be entered in this field.
The same applies to the following fields:
HRIS element in
Corporate Data
Model
HRIS field in
Succession Data
Model
HRIS element in Succession Data
Model
company company jobInfo
businessUnit business-unit jobInfo
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 43
HRIS element in
Corporate Data
Model
HRIS field in
Succession Data
Model
HRIS element in Succession Data
Model
location location jobInfo
department department jobInfo
costCenter cost-center jobInfo
jobCode job-code jobInfo
payGroup pay-group jobInfo
payGroup pay-group compInfo
payGrade pay-grade jobInfo
payComponent pay-componentcode
payComponentNonRecurring
payComponent pay-component payComponentRecurring
frequency frequency compInfo
eventReason event-reason-code jobInfo
● Change the label for HRIS elements
If you want to use a different label text on the UI, overwrite the existing label
text of the corresponding HRIS element or, if there is no label included in the
standard XML file, insert a label with the corresponding text.
2. HRIS fields
You can change the following for HRIS fields:
● Hide or show fields on the UI by setting the visibility attribute accordingly
For example, set the visibility of HRIS fields the customer does not want to
use to “none”, so they don't appear on the UI and no data import is possible.
● Change labels for HRIS fields by overwriting the existing label text
● Make fields mandatory by setting the required attribute to “true”
● Mask data entry on screen by including the pii attribute
● Configure custom fields
3. Search criteria
You can add search criteria to a field by adding the <search-criteria> element
to an HRIS element.
4. Associations
To define relationships between foundation objects, or between a foundation
object and a generic object, set up new associations or change the associations
included in the standard XML file. The associations are included before the HRIS
element end tag and define whether it is a ONE_TO_ONE or a ONE_TO_MANY
association. For more information, see below under “How do you define
associations?”
The HRIS field costCenter is part of the HRIS element department and
as such behaves to it like a one-to-one association, even if there is no such
association defined in the XML file. If you want to change this, set the
visibility attribute value of costCenter to “none” and create an association
(for example, to allow many cost centers for one department, you set up a
one-to-many association from department to cost center).
44 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
For more information on the XML elements, attributes and their possible values, see
What are data models? [page 30]
3. Upload the Corporate Data Model in Provisioning under Succession
Management Import/Export Corporate Data Model XML .
What are the next steps?
The company's Admin can now create specific foundation objects in the system one by one,
or mass upload data. You might have to show the Admin where this can be done in the system:
● To create single foundation objects, such as departments, business units, and so on,
go to Administration Tools. In the Company Processes & Cycles portlet, select
Employee Files Manage Organization, Pay and Job Structures .
● To mass upload foundation object data via CSV file, go to Administration Tools. In the
Company Processes & Cycles portlet, select Employee Files Import Foundation
Data .
XML examples
How is a foundation object defined in the XML file?
This is an example how the foundation object “location” is defined in the Corporate Data Model:
<hris-element id=”location”>
<label>Location</label>
<hris-field max-length=”32” id=”externalCode” visibility=”both” required=”true” />
<label>Code</label>
</hris-field>
...
<search-criteria>
<search-field id=”corporateAddress.city” />
<search-field id=”corporateAddress.country” />
</search-criteria>
</hris-element>
In the XML file for the Corporate Data Model, the HRIS element defines a foundation object. Each foundation object
has an ID you should not change, in this example, “location”. The label name can deviate from the ID. This is the label
shown on the UI. The field associated with “location” is “externalCode”. You can change the labels of the field and
the HRIS element.
Below, you can find search criteria for the location. In this example, if the user searches for existing locations, and
enters a city or country name, the system searches the entries of the fields “city” and “country” of the HRIS element
“corporateAddress”, which is also defined in the Corporate Data Model, for a match.
How do you define associations?
One-to-many association
Let's assume the company “ACE Services” has the locations “Chicago” and “Dallas”. This is a ONE_TO_MANY
association from the company to the location:
<hris-element id=”company”>
...
<hris-associations>
<association id=”id” multiplicity=”ONE_TO_MANY” destination-entity=”location” />
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 45
</hris-associations>
</hris-element>
For the destination-entity, enter the HRIS-element ID of the foundation object, or the external code of the
generic object you want to associate the foundation object with.
You can only define ONE_TO_MANY, but not MANY_TO_ONE associations. See the following example:
Two companies, “ACE Software” and “ACE Corporation”, have the same location: “Philadelphia”. Logically,
this would be a MANY_TO_ONE relationship from the companies to the location. However, as only
ONE_TO_MANY associations are possible, this would need to be configured as a one-to-many association
from location to the company. Once this association has been defined, the legal entities can be attached to
the location in Employee Central when setting up the legal entities on the UI. You do this under Administration
Tools. In the Company Processes & Cycles portlet, select Employee Files Manage Organization, Pay and
Job Structures .
<hris-element id=”location”>
...
<hris-associations>
<association id=”id” multiplicity=”ONE_TO_MANY” destinationentity=”
company” />
</hris-associations>
</hris-element>
One-to-one association
The following example shows the ONE_TO_ONE associations from payRange to the foundation objects geozone,
payGrade and company.
Do not create more ONE_TO_ONE associations to those that are predelivered in the standard XML file.
<hris-element id=”payRange”>
...
<hris-associations>
<association id=”id” multiplicity=”ONE_TO_ONE” destination-entity=”geozone” />
<association id=”id” multiplicity=”ONE_TO_ONE” destination-entity=”payGrade” />
<association id=”id” multiplicity=”ONE_TO_ONE” destination-entity=”company” />
</hris-associations>
</hris-element>
4.3 Setting up the Succession Data Model
What is the Succession Data Model?
With the Succession Data Model, you set up data that is related to the people in a company. This data can be divided
into the following areas:
● Person data:
This includes information that is linked to the person and does not depend on the job, such as the employee's
address and national ID.
● Employment data:
This includes job-related information about a person, such as compensation and hire date.
46 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
You set up this data by defining person objects and employment objects in the XML file for the Succession Data
Model. This is where you define what the fields are going to be called on the UI, which fields are hidden, and you can
add customer-specific fields. In the following table you find more information about the person and employment
objects included in the standard XML file delivered by SuccessFactors. The columns define the following:
● HRIS-element ID: This is the ID that is used to identify the person or employment object in the XML file.
● Standard label: This is the label for the HRIS element shown on the UI. You can overwrite this label. If no label
is included in the standard XML file, then the label that appears on the UI is pulled from the backend system.
To overwrite the label, add the corresponding label tags in the XML file below the corresponding HRIS element
and put the new label text inside the label tags.
● Portlet: Each HRIS element and its fields is shown in a portlet on the UI, that means, in a clearly defined area
on the UI. Most HRIS elements have their own portlet. In this column you find the portlet name.
● Data object type: There are two types of data objects you define in the Succession Data Model — person
objects and employment objects. Person objects appear on the UI on the Personal Information page in the
Employee Files or when adding a new employee. Employment objects appear on the UI on the Employment
Information page in the Employee Files or when adding a new employee.
The fields for the person objects globalInfo and homeAddress are defined in the country-specific
Succession Data Model. For more information, see Setting up country-specific data models [page 69].
HRIS-element ID Standard label Portlet Data object type
personInfo Biographical
Information
Biographical Information Person object
personalInfo Personal
Information
Personal Information Person object
globalInfo Global Information Part of Personal Information
portlet (appears when the user
adds a country in this portlet)
Person object
All fields for this HRIS element are
defined in the country-specific
Succession Data Model.
nationalIdCard National Id
Information
National Id Information Person object
homeAddress Home Address Home Address Person object
All fields for this HRIS element are
defined in the country-specific
Succession Data Model.
phoneInfo Phone Information Part of Contact Information portlet Person object
emailInfo Email Information Part of Contact Information portlet Person object
imInfo Social Accounts
Information
Part of Contact Information portlet Person object
emergencyContactPrimary Primary
Emergency
Contact
Primary Emergency Contact Person object
personRelationshipInfo Dependents Dependents Person object
directDeposit Direct Deposit Direct Deposit Person object
paymentInfo Payment
Information
Payment Information
You have to activate payroll
integration to use this
feature.
Person object
employmentInfo Employment
Details
Employment Details Employment object
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 47
HRIS-element ID Standard label Portlet Data object type
jobInfo Job Information Job Information Employment object
compInfo Compensation
Information
Compensation Information Employment object
payComponentRecurring Compensation Part of Compensation Information
portlet
Employment object
payComponentNonRecurring Spot Bonus Spot Bonus Employment object
jobRelationsInfo Job Relationships Job Relationships Employment object
workPermitInfo Work Permit Info Work Permit Info Employment object
Note that when you have activated
the Global Assignments feature, the
workPermitInfo portlet is
displayed on the Personal
Information page.
globalAssignmentInfo Global Assignment
Details
Global Assignment Details
You have to activate global
assignments management
to use this feature.
Employment object
pensionPayoutsInfo Pension Payout
Details
Pension Payout Details
You have to activate
pension payouts to use this
feature.
Employment object
userAccountInfo Employee
Information
Employee Information portlet on
the Add New Employee screen
Employment object
The following HRIS element is only applicable to Employee Central 1.0: corporateAddress.
How do you set up the Succession Data Model?
1. Download the XML file for the Succession Data Model.
● If you're setting up the Succession Data Model the first time for a company,
download the most current version from this link: http://
confluence.successfactors.com/display/PRODINFO/Data+Models+and
+Picklists .
● If you're changing an already uploaded Succession Data Model, download the XML
file from Provisioning under Succession Management Import/Export Data
Model .
2. If no changes are required to the XML file, you can proceed directly to step 3. Otherwise,
open the XML file in an XML editor and adjust the data model according to the
company's requirements.
The XML file for the Succession Data Model is divided into several sections. Only
some are relevant for Employee Central. Under “How is the XML file
structured?” you can find more information about all sections.
48 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
● Go to the section that includes the HRIS elements. Each HRIS element
corresponds to a person or employment object. You can adjust the HRIS elements
and the HRIS fields just as you did in the previous step when adjusting the
Corporate Data Model. For a list of all possible HRIS elements and fields, see
Person object tables [page 240] and Employment object tables [page 255].
To make any changes, proceed as follows:
1. HRIS elements
You can change the following for the HRIS elements:
● Delete HRIS elements
You can delete the HRIS element you don't want to use from the data
model. For example, a customer might decide that they don't need
phone information or compensation information, so you can delete the
phoneInfo and compInfo HRIS elements from the data model. You can
delete all HRIS elements except for the following mandatory ones:
○ employmentInfo
○ jobInfo
○ personInfo
○ personalInfo
When you delete an HRIS element, the corresponding portlet is
also not shown anymore on the UI.
● Change the label for HRIS elements
If you want to use a different label text on the UI, overwrite the existing
label text of the corresponding HRIS element or, if there is no label
included in the standard XML file, insert a label with the corresponding
text.
2. HRIS fields
You can change the following for HRIS fields:
● Hide or show fields on the UI by setting the visibility attribute
accordingly
For example, set the visibility of fields the customer does not want to use
to “none”, so they don't appear on the UI and no data import is possible.
For some fields, you should leave the visibility attribute to “none”
or “view”, for example, for fields that are calculated by the system
and should not be filled by the user. To check for which fields you
can change this attribute, have a look at the Person object tables
[page 240] and Employment object tables [page 255].
● Change labels for HRIS fields by overwriting the existing label text
● Make fields mandatory by setting the required attribute to “true”
● Mask data entry on screen by including the pii attribute
● Configure custom fields
○ You can add custom fields as you did for the Corporate Data Model.
○ Interaction between data models — the “type” attribute
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 49
Do not use the type attribute for the field customstring1
of the jobInfo HRIS element.
○ You can connect custom fields from the Succession or
Corporate Data Model to any foundation object to copy its
behavior. You do this by using the attribute
type=”foundationObject”. The custom field is displayed
as a separate field with its own label on the UI, and its own
attributes if you define them here, but it takes over the
following behavior from the foundation object it is connected
to:
○ List of values: If the Admin has already created or
uploaded data for the company foundation object, this
data is shown in the custom field as a list of values to
choose from. As soon as the user starts entering a value
in the custom field, the possible values of that list are
displayed.
○ Effective dating: If the foundation object is effective
dated, the custom field will also be, that means the user
has to enter a start date as of which the changes are
supposed to become effective.
○ Search: If the search-criteria attribute has been
defined for the foundation object, it is also applied to the
custom field.
See the following example, where the HRIS field “customstring7”
in the Succession Data Model behaves like the
company foundation object from the Corporate Data Model:
<hris-field max-length="256" id="customstring7"
visibility="both" type="company”>
<label>Legal Entity of Contract</label>
</hris-field>
○ You can use the type attribute to define your own customerspecific
foundation object. For this, you have to create a
generic object first (see What are generic objects?
[page 88]). In the Succession Data Model, you can then add
a custom field of the type custom-string and add the
type attribute referencing the generic object. You have to use
the external code of the generic object as the type, as in this
example:
<hris-field max-length="256" id="customstring5"
visibility="both"
type="Generic_Object_Building”>
<label>Building</label>
</hris-field>
50 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
For using the type attribute with generic objects, use
only a custom field of the type custom-string.
○ You can also use the type attribute to connect a custom field
to the user “worker”. Then the custom field contains the list
of users contained in “worker”. This is the same list the system
proposes for the HRIS field manager-id. This is an example
how to use the attribute for this purpose:
<hris-field max-length="256" id="customstring7"
visibility="both" type="worker”>
<label>Payroll Manager</label>
</hris-field>
● For jobInfo HRIS fields, you can define sections
For more information, see below under XML Examples, under Sections
for jobInfo.
● Permission group filters
If you want to set permission group filters to enable fields to be available for setting
up permission groups, go to the section with the <dg-filters> tag.
Permission groups are used to define which group of people is granted certain
permissions. For example, you can set up a group with all members of the sales
department located in the USA and allow them to view the employee data of all
employees in the United States. Instead of having to search for each member of
the sales department to add them one by one to a permission group, you can select
the department and automatically include all members of that department in that
group. You can set up that you can also use other selection criteria apart from
department to set up a permission group by defining it in the Succession Data
Model. You select the HRIS element and/or the corresponding HRIS field, for
example, the cost center. The cost center will then appear in the dropdown list
with all other selection criteria when you set up a permission group under
Administration Tools, in the Manage Employees portlet under Set User
Permissions Manage Permission Groups . For more information on permission
groups, refer to the Role-Based Permissions Handbook.
Permission group filters for the following HRIS fields are included in the standard
XML file:
○ For the HRIS element jobInfo:
○ Business unit
○ Cost center
○ Company
○ Pay grade
○ Job classification
○ Employee class
○ Location
○ Department
○ Division
○ Location group
○ Name of the department
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 51
○ For the HRIS element compInfo:
○ Pay group
To add permission filters, copy one of the existing permission group filters and
overwrite the value of the refid attribute with the HRIS-element ID of the data
object that contains the field you want to use to filter the search for permission
groups. Then you have to refer to the field that is part of that HRIS element with
the hris-field-ref tag as in this example:
<dg-filters>
<permission-group-filter>
<hris-element-ref refid=”jobInfo” >
<hris-field-ref refid=”cost-center” />
<hris-field-ref refid=”department” reffield=”
name” />
<hris-field-ref refid=”company” reffield=”
country” />
</hris-element-ref>
</permission-group-filter>
</dg-filter>
In the above example you define that the cost center, department name and
country field for the company are shown in the dropdown list when the user creates
permission groups.
For cost center, you enter the HRIS-field ID of the cost center that is part of the
jobInfo HRIS element. For department, which is a foundation object that is reused
as a field in the jobInfo, you can narrow down the search to a field within that
foundation object (name) by using the ref-field attribute.
You can also use country fields for permission group filters as in the example above
for the company.
● HRIS Sync Mapping
With HRIS sync, you can define what information that the user enters in Employee
Central is transferred to Employee Profile. With this you guarantee that the
information entered in Employee Central is the same in both places, as well as in
all other modules that are connected to Employee Profile (for example,
Performance Management, Goal Management, 360 Degree Review, Learning &
Development and Jam).
The standard XML file includes mapping of the following information:
○ Phone Information
○ Email Information
If you want to have more fields using HRIS sync than delivered in the standard XML
file, proceed as follows:
1. Go to the section with the <hris-sync-mappings> tag.
2. Copy an existing hris-sync-mapping.
3. Enter the following information:
● The field ID of the HRIS element used in Employee Central as refid
value of hris-element-ref
● The ID of the standard-element used in Employee Profile as refid value
of standard-element-ref
52 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
The standard-elements are listed on top of the XML file for the
Succession Data Model.
4. Towards the end of your implementation, you have to define when HRIS sync
is triggered. You find more information in Managing Human Resource
Information System (HRIS) synchronization [page 160].
3. Upload the Succession Data Model in Provisioning under Succession
Management Import/Export Data Model .
What are the next steps?
The company's Admin can now add employees to the system or import employee data in the
system. You might have to show the Admin where this is done in the system:
● To add an employee, go to Administration Tools. In the Manage Employees portlet,
select Update User Information Add New Employee .
● To import employee data, go to Administration Tools. In the Manage Employees portlet,
select Update User Information Import Employee Data . If you want to know more
about data imports, refer to How do you import employee data?
XML examples
How are person and employment objects defined in the XML file?
In this example, you see how the employment object jobInfo is defined in the Succession Data Model:
<hris-element id=”jobInfo”>
<label>Job Information</label>
<hris-field max-length=”256” id=”company” visibility=”both”>
<label>Company</label>
</hris-field>
<hris-field max-length=”256” id=”business-unit” visibility=”both”>
<label>Business Unit</label>
</hris-field>
<hris-field max-length=”128” id=”division” visibility=”both”>
<label>Division</label>
</hris-field>
</hris-field>
<hris-field max-length=”128” id=”department” visibility=”both”>
<label>Department</label>
</hris-field>
<hris-field max-length=”128” id=”location” visibility=”both”>
<label>Location</label>
</hris-field>
<hris-field max-length=”256” id=”custom-string1” visibility=”none”>
<label>Custom String 1</label>
</hris-field>
</hris-element>
In the XML file for the Succession Data Model, the HRIS element defines a person or employment object. Each person
or employment object has an ID you should not change. The label is the portlet name shown on the UI. Below you
find a standard set of fields that are grouped within the portlet Job Information. You can change the labels of the
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 53
fields and the HRIS element. You can also hide fields by changing the visibility attribute. You can also add customerspecific
fields (Custom String 1) by changing the label accordingly and changing the visibility to “both”, for example.
How do you use sections for jobInfo fields?
The fields contained in the jobInfo HRIS element are divided on the UI into several sections with the following titles:
● Organization Information
● Job Information
● EEO Information (for USA only)
You can see these sections as part of he Employment Information of the employee, for example:
If you want to define yourself which fields for jobInfo appear in which section on the UI, you have to define sections
in the Succession Data Model XML file by inserting the tag <hris-section>. You can also adjust the section title.
If you do not define sections in the data model, it is predefined which fields appear in which section on the UI.
The standard data models delivered by SuccessFactors contain sections for jobInfo that you can adapt to
your own needs.
This is an example of sections in the Succession Data Model XML file:
<hris-element id=”jobInfo”>
<label>Job Information</label>
<hris-section id=”positionInfoList”>
<label>Position Information>
<hris-field max-length=”256” id=”position” visibility=”both”>
<label>Position</label>
</hris-field>
</hris-section>
<hris-section id=”orgFieldsList”>
<label>Organisation Information</label>
<hris-field max-length=”256” id=”company” visibility=”both”>
<label>Company</label>
54 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
</hris-field>
<hris-field max-length=”256” id=”business-unit” visibility=”both”>
<label>Business Unit</label>
</hris-field>
...
</hris-section>
....
</hris-element>
Which hris-sections can you use?
Here is a list of the hris-sections that you can use:
Hris-section ID
Standard
Label How To Use This Section
positionInfoList Position
Information
If you want to use hris-sections and you have activated Position Management,
you have to add the position HRIS field to this section. You cannot use other
fields in this section.
orgFieldsList Organization
Information
You can use this section for fields related to the company.
If you use the following fields in your data model, you have to put them into
this hris-section:
● company
● businessUnit
● location
● department
● costCenter
● division
jobFieldsList Job
Information
You can use this section for fields related to the job, for example:
● Job Classification
● Job Title
● FTE
timeOffRelatedFields Time Off
Information
You can use this section for fields related to Time Off, for example:
● Holiday Calendar
● Work Schedule
● Time Profile
eeoFieldsList EEO
Information
You can use this section for fields related to equal employment opportunity
(EEO). This is only applicable to USA.
If you use the following fields in your data model, you have to put them into
this hris-section:
● eeo1JobCategoryUSA
● eeo4JobCategoryUSA
● eeo5JobCategoryUSA
● eeo6JobCategoryUSA
● eeoJobGroupUSA
● eeoClass
FAQs: Sections
Do you have to use sections in the Succession Data Model?
No, only if you want to influence which fields appear in which section on the UI. If you do not define sections in the
Succession Data Model, the system defines which fields appear in which section.
Where in the data model do you include sections?
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 55
The hris-section tag has to be inside the start and end tag of the jobInfo HRIS element.
Can you add customer-specific fields for each section?
You can add customer-specific fields to all sections except positionInfoList.
Can you leave fields outside of sections?
If you use sections in the data model, all fields that are part of the jobInfo HRIS element have to be inside an hrissection
tag.
Can you use the same field in different sections?
In the country-specific Succession Data Model, you can use the same field in different sections for each country,
except for the fields mentioned in the table above that have to be included in a specific section.
However, if you use the same field in the Succession Data Model and the country-specific Succession Data Model,
the field has to be in the same section in both data models. If you want that a field appears in a different section for
each country, you have to remove that field from the Succession Data Model first.
Do you have to use sections in the country-specific Succession Data Model?
If you use sections in the Succession Data Model, you also have to use sections in the country-specific Succession
Data Model, and vice versa.
Do you need sections for all countries?
If you use sections in the country-specific Succession Data Model, all the countries with a jobInfo HRIS element
have to use sections. If a country has no jobInfo HRIS element defined in the data model, you do not have to add
sections to that country.
Do you have to use the same sections for all countries?
No, you can use different sections in each jobInfo HRIS elements for each country in the country-specific
Succession Data Model.
Can you sort the fields in a section differently for each country?
Yes, the order of the fields in a section can be different for each country defined in the country-specific Succession
Data Model.
Can you sort the sections differently for each country?
Yes, the order of the sections can be different for each country defined in the country-specific Succession Data
Model.
How is the XML file structured?
The XML file for the Succession Data Model is divided up into several sections. The elements in these sections refer
to different modules of SuccessFactors, only some are relevant for Employee Central. For Employee Central, focus
on the following sections:
● hris-element
● hris-sync-mappings
Section in XML
File Purpose
standardelement
These are the person and employment fields that are used in the Employee Profile under Personal
Information as well as the User Directory and Review form.
userinfoelement
These are user-defined fields in Employee Profile.
backgroundelement
Background elements are used to add and modify fields that appear on the Employee Profile page.
56 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
Section in XML
File Purpose
tab-element These tabs are used to navigate from Employee Profile to Employee Central. These are the tabs included in
the XML file:
● pendingapprovals
This tab is used to navigate to the Pending Requests page.
● employmentInfoTab
This tab is used to navigate to the Employment Information page.
● personalInfoTab
This tab is used to navigate to the Personal Information page.
● payrollIntegration
This tab is used to navigate to the Payroll page (relevant for payroll integration).
● payrollPayslip
This tab is used to navigate to the Pay Statement page (relevant for payroll integration).
● timeOffTab
This tab is used to navigate to the Time Off page (relevant for Time Off Management).
● timeOffAdminTab
This tab is used to navigate to the Manage Time Off page (relevant for Time Off Management).
● ectbenefitsfocus
This tab is used to navigate to the My Benefits page (relevant for benefit focus integration).
● globalBenefits
This tab is used to navigate to the Employee Benefits page (relevant for benefit focus integration).
hris-element This is where you can add or change fields of the person and employment objects that are used in Employee
Central. For a list with the person and employment objects and their fields and attributes, refer to Person
object tables [page 240] and Employment object tables [page 255].
hris-action This is where you find 5 transactions that are relevant for Employee Central:
● Hire
● Rehire
● Terminate
● Plan leave of absence
● Return from leave of absence
These transactions are already included in the standard XML file. The labels of these transactions are
displayed on the UI; you can change them if required by overwriting the label tag in the XML file.
elementpermission
This section is obsolete and listed in the data model for backwards compatibility purposes.
view-template Defines all available Succession Data Model elements to the system UI
hris-syncmappings
This is where you can set up HRIS sync for fields from Employee Central to fields in Employee Profile.
For more information, see Managing Human Resource Information System (HRIS) synchronization
[page 160]
4.4 Using the Business Configuration UI to Maintain Elements of the
Succession Data Model
The Business Configuration UI (BCUI) allows administrators to maintain certain elements of the Succession Data
Model using their end-user UI instead of maintaining these elements in XML. Since the BCUI is available in Admin
Tools, administrators can make configuration changes that they previously had to contact colleagues for with access
to Provisioning.
The BCUI covers the following frequent use cases:
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 57
● Changing labels
● Adding or changing translations
● Activating fields
● Changing the display sequence of fields
● Changing the visibility of fields
● Setting fields to “required”
● Adding custom fields
Limitations of the Business Configuration UI
If customers ask you to set up the BCUI for them, you need to point out that there are some limitations when using
this UI.
Firstly, the sequence of actions is different compared to the sequence in XML as described in Recommended 13–
step implementation sequence [page 5]:
● Before the customer can use the BCUI, you have to upload the data models the customer wants to use. It is
recommended that you also download already existing succession data models for backup purposes.
The XML has to be loaded, after you have set the switch in Provisioning.
● Wait until the upload and synchronization of a data model is completed before starting the upload and
synchronization of another data model (for example, first complete this for the succession data model and
then do this for the country-specific succession data model). The BCUI is locked during this synchronization.
● The customer can only assign picklists in the BCUI after these have been uploaded.
In addition, you need to point out that changes made and uploaded using XML will overwrite changes made on the
BCUI. To include any changes made on the BCUI, you should download the data model and then make the changes
in XML: This way, changes made by the customer on the BCUI will not be lost.
Finally, you need to point to some additional limitations of the BCUI.
These are:
● The XML-tags </format-group> and </format> or their attributes for HRIS element national ID card are
not supported by the BCUI. You will need to maintain this information in the XML-file.
● The customer cannot use the BCUI for HRIS sync mappings of HRIS fields to userInfo elements. You will need
to do this in the XML-file for the Succession Data Model.
● HRIS sync mappings for country-specific fields are not supported by the BCUI. In the XML the only specific
use case for this are the country-specific address fields in the HRIS element homeAddress. If the customer
requires this specific use case, you will need to maintain it in the XML-file for the country-specific Succession
Data Model.
Tasks
Setting Up the Business Configuration UI
The BCUI is an opt-in feature. You have to set the switch in Provisioning in order for the customer to be able to use
this UI. If a customer wants to use the BCUI, you will need to enable this. You need to enable this for every company,
using a switch in Provisioning in the following sequence:
1. Log on to Provisioning with your username and password, and select the company from the list shown or
through the initial letter of the company ID.
2. Select Edit Company Settings Company Settings
58 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
3. Select the following checkboxes:
● Enable Generic Objects (Not Ready for Sales/Production)
● Employee Central V2 (i.e. Event Reason Derivation)
Requires Effective Dated Data Platform
● Enable Business Configuration in Admin Tools — requires “Enable Generic Objects”, “Employee Central
V2 (i.e. Event Reason Derivation)” and “Effective Dated Data Platform”
After you set the switches in Provisioning, the customer administrator needs certain permissions to be able to use
the BCUI.
1. Go to Admin UI Set User Permissions Manage Permission Roles
2. Select Meta Data Framework Select All
3. Select Manage Business Configuration Select All
After you have set the permissions, you need to synchronize the succession data model with the meta data
framework (MDF) storage of the BCUI. To allow for the maintenance of configuration data, the data is stored as MDF
generic objects. The data is maintained on the MDF UI. You can synchronize the SDM storage with the MDF storage
in two ways:
1. Run the synchronization job in Provisioning
2. Upload the succession data model and the country-specific succession data model XML files in Provisioning
If you chose option 2, the QUARTZ job from option 1 will run automatically for each XML upload. This makes option
1 the easier and quicker approach.
The sync of the BCUI and the succession data model needs to be carried out after the switch in Provisioning has
been set and is required only once after you have set up the company and selected the provisioning features.
Option 1: Run the Synchronization Job in Provisioning:
a. In Provisioning, go to Managing Job Scheduler Manage Scheduled Jobs .
Click Create New Job.
b. Select Synchronize Business Configuration under Job Type:
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 59
Use an admin user to run the job.
c. Run the job by going to Actions Select and then either
● Submit to run the job at a scheduled time
● Run It Now to run the job immediately
You can monitor the progress of the job on the Monitor Jobs UI.
Option 2: Upload the Succession Data Model and the Country-Specific Succession Data Model XML Files in
Provisioning
The XML files of both SDM and CSFSDM can be uploaded again after the provisioning switch is set for the company.
You need to upload both files: first the SDM, then the CSFSDM. You do this in Provisioning. It is possible to download
the XML files and start the upload using the downloaded files. This way, you ensure that the uploaded configuration
is the same as the one currently stored in the company.
Running the sync job can take between 2 and 10 minutes, depending on the size of the data model and the
performance of the environment. The synchronization uses a QUARTZ job that runs asynchronously. During the run,
you cannot access the BCUI and you get the following error message if you try to access it:
60 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
Please wait for the job to finish.
The customer´s administrator is now able to use the BCUI using the new Administration Tools UI.
Starting the Business Configuration UI — for Administrators
The customer´s administrator can access the BCUI by going to the new Administration Tools UI and then selecting
Company Settings Manage Business Configuration .
On the left-hand side of the screen, an activity list appears with elements that can be configured using the BCUI. Two
sections are available:
● Employee Central
Here you find the HRIS elements that are shown in Personal Information and Job Information.
● Employee Profile
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 61
Here you find standard elements and userInfo elements that are shown in the different portlets of the
Employee Profile.
On the right-hand side of the screen you can maintain the actual elements. This picture shows you the layout of the
BCUI. A check mark in the activity list on the left-hand side of the screen indicates the element is used.
Configuring HRIS Elements and Fields — for Administrators
Under the Employee Central section, the administrator can see all the configurable HRIS elements. On the BCUI, the
administrator can maintain the country-specific fields, HRIS sync mappings to profile elements, or configurable
rules.
Some typical use cases for configuring HRIS elements on an element level are:
● Changing the label
● Changing or adding translations for the label
● Disabling or enabling the element
If administrators disable an HRIS element, they in effect deactivate this element and removes it
from the Succession Data Model. As a result, this HRIS element is not part of any XML download
or export. We suggest you test this change before disabling any HRIS elements in a productive
system.
Some typical use cases for configuring HRIS elements on a field level are:
● Changing a label
62 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
On the details screen, you see two attributes for labels. The Label attribute shows the label in your current
logon language. This can be translated into all languages your instance supports. You see Default Label
attribute in those cases where a label is not maintained in the current logon language.
● Changing or adding translations for a label
● Disabling or enabling a field
If administrators disable an HRIS field, they in effect deactivate this field and it will no longer be
visible on any UI. The data already created in this field is then no longer accessible. We suggest you
test this change before disabling any HRIS fields in a productive system.
If administrators enable a field for which permissions are controlled on a field level, they have to make sure
that the correct permissions are maintained for the activated field. If they don´t do this, the field will remain
invisible.
To change the permissions on the new Admin Tools UI, go to Set User Permissions Manage Permission
Roles . Ensure that the permissions of the Employee Central Effective Dated Entities are checked:
● Adding a picklist to a field
In the attribute Type of Reference Object, select Picklist. Then, in the attribute Picklist, select a picklist from
the list.
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 63
Note that picklists cannot be added for fields with the Data Type DOUBLE.
● Marking a field as required
● Changing the visibility of a field
● Masking a field
● Defining the number of digits after the decimal point and displaying the trailing zeros for floating point
numbers
● Allowing the import of a field if the visibility is set to Show.
This allows the import of fields that are display-only on the UI during data migration.
● Changing the sequence of fields within an HRIS element
64 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
Adding Custom Fields and Fields Not Included in the Succession Data Model XML — for
Administrators
Administrators can add custom fields or fields that were not included in the XML upload to an HRIS element. By using
the up- and down arrows, they can then change the sequence of the fields for the element. If they use a custom field
with field-level permissions, they need to set these permissions in Employee Central Effective Dated Entities as
described above.
There are some additional use cases for custom fields:
● Custom fields can refer to either pre-delivered or custom-defined foundation objects. For this, administrators
need to select Foundation Object in the Type of Reference Object attribute.
● Custom fields can refer to employees. For this, administrators need to select Employee in the Type of
Reference Object attribute.
Working with Sections in HRIS Element jobInfo — for Administrators
The fields in the Job Information portlet appear in different sections:
● Position Information
● Organization Information
● Job Information
● Time-Off Information
● EEO Information
The fields in the jobInfo HRIS element can be (re-)assigned to sections by using the BCUI. If sections are not defined,
there is a standard assignment. However, administrators can change the standard assignment of a field. If they want
to do that, they need to maintain the section attribute for all fields. This is the case for all global fields as well as
country-specific fields.
Typical use cases are:
● Assigning a (custom) field to a specific section
● Assigning a country-specific field to a specific section
A couple of restrictions need to be kept in mind:
● The field position can only be assigned to the section Position Information. Custom fields cannot be assigned
to this section.
● Section assignments should not be different for a field that is defined both globally (in the succession data
model) and locally (in the country-specific succession data model).
● Section assignments can be different for a field that is defined in more than one country, as long as it is not
defined globally.
These restrictions are validated by the BCUI.
Assigning Configurable Rules to HRIS Elements and Fields — for Administrators
Administrators can assign rules to HRIS elements and fields, and trigger certain events. They maintain the rules they
want to assign on the Admin Tools UI Company Settings Maintain Rule Objects . They must maintain the rule
by using the HRIS element as the base object.
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 65
For more information, see Setting up configurable rules [page 105].
Administrators can assign rules on either the level of the HRIS element or of the field within the HRIS element that
is the base object. The events that can be selected depend on the level the rule is assigned to.
The following use cases are supported on the BCUI:
● Assigning rules on HRIS element level
Event types onInit and onSave are available. The rule is triggered if the information of the HRIS element (in
the portlet or the hiring wizard) is displayed for the first time or saved. Administrators can assign rules on
HRIS element level in the Trigger Rules section on the BCUI. Here, they can also select the event type.
66 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
● Assigning rules on HRIS field level
Only event type onChange is supported. This means that the rule is executed each time the field content
changes. Changes can be made in the portlet, during the upload, in a self-service scenario, or during the
execution of a wizard. In this case, administrators assign the rules in the Details screen of a field.
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 67
Rules can only be assigned as configurable rules in the BCUI, if they have already been created in Manage
Rules Objects.
Configuring HRIS Sync Mappings — for Administrators
Administrators can define the mapping of HRIS elements to standard elements (HRIS sync mappings) directly on
the details screen for the HRIS field. The value help of the identifier attribute of the HRIS sync mapping provides a
list of all standard elements that are enabled. Administrators can define these mappings for both pre-defined and
custom fields. Some mappings between HRIS fields and standard elements are hard-coded, as described in Human
Resource Information System (HRIS) synchronization [page 160].
Configuring Country-Specific Fields — for Administrators
Administrators can add country-specific fields to the following HRIS elements:
● globalInfo
● homeAddress
● jobInfo
● employmentInfo
68 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
● compInfo
Localized fields can only be entered after the administrator presses Save after the country-specific element is
created.
HRIS fields for jobInfo, employmentInfo, and compInfo can be defined both globally and locally. if a field is defined
more than once or for more than one country, all attributes must be the same (with the exception of label and
displayOrderFollows). If the administrator changes attributes on a global or local level, this change is propagated to
the respective local or global fields. The administrator will be asked to confirm those changes.
The fields regarding EEO of the jobInfo element are intended for use in the USA and should therefore only be defined
as country-specific fields for the USA.
Country-specific fields for globalInfo can only be defined locally. This element must not have fields defined on a global
level.
For more information about country-specific fields and special circumstances, see Setting up country-specific data
models [page 69].
Some typical use cases for country-specific fields:
● Having a specific label for a global field in certain countries (valid for jobInfo, employmentInfo, compInfo)
● Defining the sequence for the global field differently from the local field (valid for jobInfo, employmentInfo,
compInfo)
● Making a global field available only in a specific country (valid for jobInfo, employmentInfo, compInfo)
For this, the field must only be defined in the country and not globally. There are some exceptions for this,
where the field must be disabled in the succession data model. The BCUI will verify this.
● Using a custom field with different attributes in different countries (valid for globalInfo)
● Creating a specific address format for a country (valid for homeAddress)
4.5 Setting up country-specific data models
What are country-specific data models?
Certain types of information need to be entered in a specific format depending on the country the company is located
in. For example, the format for national ID can vary depending on the country – for USA, the social security number
follows the format 999-99-9999, in Great Britain the format is AA999999A.
By setting up country-specific data models, you reflect these country-specific differences by defining the following:
● Which fields are country-specific
For example, Fair Labor Standards Act (FLSA) is only valid for USA.
● Which different values a field can have that is used for all countries
For example, the local job title can vary depending on the country in which the employee works. You can set
up specific picklists for each country that contain country-specific values.
● Which fields need a country-specific format
A field that is applicable to all countries, but that can be formatted differently in each country, for example,
the address or national ID.
What country-specific data models exist?
There are two country-specific data models:
● Country-specific Corporate Data Model
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 69
You use this data model to set up country-specific fields and picklists for HRIS elements that have been
previously defined in the Corporate Data Model. For example, country-specific job codes. You can also change
the format for the corporate address for a country.
In the standard XML file, the following setup is already included:
○ For all countries listed in the data model, the corporate address (HRIS-element ID:
corporateAddress) with country-specific address fields is already defined. Also, custom fields you
can use as a basis to define own fields are listed.
○ For USA, in addition to the above mentioned information, legalEntityLocal and jobClassLocal
are defined, which include fields for the legal entity type, federal reserve bank, EEO job categories, and
the FLSA status.
● Country-specific Succession Data Model
You use this data model to set up country-specific fields, formats, and picklists for HRIS elements that have
been previously defined in the Succession Data Model. For example, international formats for addresses and
national IDs.
In the standard XML file, the following setup is already included:
○ National ID format for all countries listed in the standard XML file
○ Home address with country-specific fields for all countries listed in the standard XML file
○ Global information for some of the countries listed in the standard XML file
For example, ethnic group, religion, or for USA, information about veterans and Visa type. To each field
the corresponding picklists are assigned.
○ For USA, in addition to the above mentioned information, the job information is defined which includes
fields for the FLSA status, the EEO job group and EEO categories.
You can find more information about the country-specific fields for each country in the Employee Central
Country-Specific Implementation Handbook.
How do you set up country-specific data models?
1. Download the XML file for the corresponding country-specific data model:
● If you're setting up the corresponding data model the first time for a company,
download the most current version from this link: http://
confluence.successfactors.com/display/PRODINFO/Data+Models+and
+Picklists .
● If you're changing an already uploaded data model, download the corresponding
XML file from Provisioning:
○ Succession Management Import/Export Country Specific XML for
Succession Data Model or
○ Succession Management Import/Export Country Specific XML for
Corporate Data Model
2. If no changes are required to the XML file, you can proceed directly to step 3. Otherwise,
open the XML file in an XML editor and adjust the data model according to the
company's requirements.
In the data models, you can do the following:
● Change existing fields in the standard XML files
You can overwrite labels, change attributes, or delete fields not needed like you
did in the Corporate or Succession Data Model.
70 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
● Add custom fields to contain country-specific information
1. If the HRIS element the field belongs to is not yet included in the data model,
copy it over from the Corporate or Succession Data Model and insert it under
the corresponding country. Consider that you can add country-specific fields
only to those HRIS elements listed below:
Country-specific Corporate Data Model
You can only add country-specific fields, values, and formats for the following
HRIS elements and their fields:
● Corporate address (HRIS-element ID: corporateAddress)
This is the address format used in the location foundation object.
● legalEntityLocal: All fields relevant for legalEntityLocal are
defined in the country-specific Corporate Data Model.
● jobClassLocal: All fields relevant for jobClassLocal are defined in
the country-specific Corporate Data Model.
Country-specific Succession Data Model
You can only add country-specific fields, values, and formats for the following
HRIS elements and their fields:
● Job information (HRIS-element ID: jobInfo)
● Employment information (HRIS-element ID: employmentInfo)
● Compensation information (HRIS-element ID: compInfo)
● Address information (HRIS-element ID: homeAddress)
● Global information (HRIS-element ID: globalInfo): All fields relevant
for global information are defined in the country-specific Succession
Data Model. This is the country-specific element for the Personal
Information.
● National ID (HRIS-element ID: nationalIdCard)
2. Insert the custom field within the HRIS element tags.
3. Overwrite the label with the text you want to appear on the UI, and set the
visibility to “both”, for example, if you want the field to be visible and editable
on the UI.
● Make fields used in the Corporate or Succession Data Model country-specific
1. Insert the HRIS element the field belongs to into the country-specific data
model under the corresponding country. Copy also the label and the
xml:lang translations over, if existing. Do not forget to insert the end tag of
the HRIS element at the end. Consider that you can add country-specific
fields only to those HRIS elements listed in the previous step.
2. Copy the HRIS field from the Corporate or Succession Data Model and paste
it in the country-specific data model within the HRIS-element tags.
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 71
If you want to make a field from the Succession Data Model countryspecific,
consider the following:
● If you want to change only the label depending on the country,
you can copy the field over into the country-specific Succession
Data Model and change only the text inside the label tags.
● If you want to change attributes of the field depending on the
country, you have to delete the field from the Succession Data
Model as you can use the field and its attributes only once —
either in the Succession Data Model, or in the country-specific
Succession Data Model. This does not apply to fields from the
HRIS element homeAddress — these can be used in both data
models with different attributes.
3. Adjust the label and attributes according to your country-specific needs.
With the attribute display-order-follows you can influence the
field order of the country-specific field on the UI. See below under XML
examples in the section How can you influence the field order?
4. If this field is also to be used in other countries, insert the corresponding HRIS
element and HRIS field also under the corresponding country ID.
Only for fields from the country-specific Succession Data Model that
belong to jobInfo, employmentInfo, compInfo or
nationalIdCard, keep this in mind: If you reuse a country-specific
field across several countries, you can only change the label, but you
have to keep the same attributes for all the fields (visibility, required,
and so on).
5. Repeat the steps for all fields you want to make country-specific.
You can find some XML coding examples below under XML examples.
3. Upload the corresponding data model in Provisioning:
● Succession Management Import/Export Country Specific XML for Succession
Data Model or
● Succession Management Import/Export Country Specific XML for Corporate
Data Model
XML examples
How do you set up a country-specific field?
In this example, you define that if the employee works for a company that is located in the United States, the field
“EEO Job Group” to identify the equal employment opportunity (EEO) class of the employee is displayed in the job
information. The 3-letter code for the country is the ISO code. The ID for the HRIS element is the ID from the
Succession Data Model for the job information. The predefined values the user can select come from the picklist
EEOJOBGROUP_USA. For more information about picklists, see How do you manage picklists?
<country id=”USA”>
<hris-element id=”jobInfo”>
<label>Job Information</label>
72 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
<hris-field max-length=”256” id=”eeo-class” visibility=”both” required=”false”
pii=”false”>
<label>EEO Job Group</label>
<picklist id=”EEOJOBGROUP_USA” />
</hris-field>
</hris-element>
</country>
How do you set up a country-specific format for a field?
In this example, you define that the format for the national ID for USA follows the structure XXX-XX-XXXX. You can
make this the only format allowed if the employee works for a company in the USA. The ID for the format group is
the ID defined in the Succession Data Model for this field. Display format is a hint for the user in which format to enter
the national ID if the entry is not correct. <reg-ex> is the regular expression which is used to validate the user input.
<country id=”USA”>
<format-group id=”national-id”>
<format id=”ssn”>
<instruction>Social Security Number</instruction>
<display-format>XXX-XX-XXXX</display-format>
<reg-ex>[\d]{3}-[\d]{2}-[\d]{4}</reg-ex>
</format>
</format-group>
</country>
How can you influence the field order?
The field order in which you enter the data for country-specific elements is only relevant for the HRIS element
homeAddress. Here, the order of the fields you define in the country-specific data model is the order the fields appear
in on the UI. In all other cases, the system follows the field order as defined in the Corporate or Succession Data
Model.
If you want to override this field order, you can only do so for the Succession Data Model. With the element displayorder-
follows in the XML file of the country-specific Succession Data Model, you can define that a certain field
follows some other field on the UI. Look at this example from the country-specific Succession Data Model where the
field “FLSA Status” is displayed after the field for the employee class for the country USA:
<hris-field max-length=”256” id=”flsa-status” visibility=”both” required=”false”
pii=”false”>
<label>FLSA Status</label>
<picklist id=”FLSASTATUS_USA” />
<display-order-follows ref-id=”employee-class” />
</hris-field>
4.6 Setting up country-specific picklists
Picklists allow you to control what users see when selecting values from a dropdown. Earlier, values displayed in lists
were the same irrespective of the region you belonged to. This led to a situation where users saw values which didn't
necessarily apply to their region. You can now make sure that users only see values relevant to their region. This can
be achieved by configuring country-specific picklists. Configuring a country specific picklist is a 5–step process.
Step 1: Modify the country-specific Succession Data Model
Step 2: Define the Picklists
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 73
Step 3: Set permission for the Job Information fields
Step 4: Update the HRIS Propagation XML
Step 5: Validate your changes
The above mentioned steps are described using an example below.
How do you set up country-specific picklists?
Step 1: Modify the country-specific Succession Data Model
Consider the following extract from the country-specific Succession Data Model. In this
example, we’ll be defining country-specific values for the fields notice-period and sick-paysupplement
. The extract provided below is for Germany (country id=”DEU”).
<country id="DEU">
<hris-element id="jobInfo">
<label>Job Information</label>
<label xml:lang="de-DE">Stelleninformationen</label>
<label xml:lang="en-GB">Job Information</label>
<hris-field max-length="256" id="country-of-company"
visibility="view">
<label>Country</label>
<label xml:lang="de-DE">Country</label>
<label xml:lang="en-GB">Land</label>
<picklist id="ISOCountryList"/>
</hris-field>
<hris-field max-length="256" id="sick-pay-supplement"
visibility="both">
<label>Sick Pay Supplement</label>
<label xml:lang="de-DE">Krankengeld</label>
<label xml:lang="en-GB">Sick Pay Supplement</label>
<picklist id="SICKPAYSUPP" parent-field-id="country-ofcompany"/>
</hris-field>
</hris-element>
<hris-field max-length="256" id="notice-period" visibility="both">
<label>Notice Period</label>
<label xml:lang="de-DE">Kündigungsfrist</label>
<label xml:lang="en-GB">Notice Period</label>
<picklist id="NOTICEPERI" parent-field-id="country-of-company"/
>
</hris-field>
</country>
A few things to note:
● For the field country-of-company, the picklist id ISOCountryList has been defined.
● For the field sick-pay-supplement, the picklist SICKPAYSUPP has been defined, whose
parent picklist is the picklist ISOCountryList which is assigned to HRIS field countryof-
company. Likewise, for the field notice-period, the picklist NOTICEPERI has been
defined, whose parent picklist is also the picklist ISOCountryList which is assigned to
HRIS field country-of-company. In both cases, the parent-field-id has to refer
to the HRIS-field ID country-of-company.
74 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
Step 2: Define the Picklists
Start by downloading the picklist. To download the picklist:
1. Go to Administration Tools.
2. In the Company Processes & Cycles portlet, select Company Settings Picklist
Management . The Picklists page is displayed.
3. Select Export all picklist(s).
4. Click Submit.
Now that you’ve downloaded the picklist file, modify the picklist file to include the country
specific entries. Start by noting the OptionId for Germany in the picklist ISOCountryList. You
will need this when defining the entries for the picklist SICKPAYSUPP and NOTICEPERI. In this
example, the OptionId is 5949.
Note: OptionId is a system generated code that gets generated when you upload the picklist.
Note that the OptionId column must be left blank, when uploading the CSV file, for the code
to be generated.
You are now ready to add the entries for the picklist SICKPAYSUPP and NOTICEPERI. Sample
entries are shown below. Note the reference to the OptionId. The OptionId for Germany in the
picklist ISOCountryList (5949) now serves as the parentOptionId for the picklists
SICKPAYSUPP and NOTICEPERI.
Upload the modified picklist using the Administration Tools. Use the Company
Settings Picklist Management option provided in the Company Processes & Cycles portlet.
Step 3: Set the Permissions for the Job Information Fields
In this example, we need to set the permission for the Germany specific fields for Sick Pay
Supplement and Notice Period. The Permission Settings page is shown below.
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 75
Step 4: Update the HRIS Propagation XML
In the HRIS Propagation XML file, set up the propagation from company in the Corporate Data
Model to country-of-company in the Succession Data Model. Do this by adding the following
lines at the end of the file:
<propagate foundation-element-id="company">
<field id="country">
<destination hris-element-id="jobInfo" field-id="country-ofcompany"/>
</field>
</propagate>
Upload the file after making your changes. For more information on the HRIS Propagation
XML, refer to Setting up propagation rules [page 95].
Step 5: Validate your Changes
With this step, you are now ready to verify your changes. For a user, when the country is set
to Germany, you will notice the following entries displayed for the Sick Pay Supplement and
Notice Period fields.
Sick Pay Supplement picklist when country is set to Germany
Notice Period picklist when country is set to Germany
76 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up data models
SuccessFactors
Setting up data models I N T E R N A L • © 2013 SAP AG. All rights reserved. 77
5 Working with foundation objects
5.1 What are foundation objects?
Business Background
Foundation objects are used to set up data that can be shared across the entire company, such as job codes,
departments, or cost centers. Foundation objects are sometimes referred to as “foundation tables”.
Foundation objects are contained and configured in the Corporate Data Model.
Tasks
Foundation objects are the first objects you should load because some of the lists of values proposed in employment
information come from the foundation objects.
You can use foundation objects to populate data at employee level. For example, if you assign a job code to an
employee, that employee’s record is then populated with all information based on the attributes of the job code.
(Note: In such a case, you must first configure propagation of the relevant attributes in the propagation data model.)
You create and maintain foundation objects in the Corporate Data Model. For details of how to do this, read the
related documentation [page 40].
See Also
What are the characteristics of foundation objects? [page 78]
Which foundation objects can you use to structure your business? [page 80]
Which foundation objects can you use to handle job-related areas? [page 81]
Which foundation objects can you use to handle pay-related areas? [page 81]
Which other foundation objects are available? [page 82]
5.2 What are the characteristics of foundation objects?
Features
Here's a survey of the features available in foundation objects:
● Foundation objects consist of one or more fields. Some of them are required if you use the relevant object.
● Each foundation element has a technical ID, called an hris-element-id. You cannot change this.
● Each field within a foundation object also has a technical field ID. You cannot change this.
● However, you can change the labels for the foundation objects and the fields they contain. The label is the
descriptor that appears on the user interface (UI).
● Except for the start date and, if defined, the end date, which always appear at the top of the screen, the order
in which the fields are displayed on the UI is the same as the order in which you list them in the foundation
object.
78 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with foundation objects
● You can decide whether a field actually appears on the UI and, if so, whether
○ It is required or optional.
○ It is only for display or whether users can change or edit it.
● Every foundation object contains custom fields. These are empty fields you can use to handle data not covered
by the fields supplied as standard.
● Some, but not all foundation objects, are “effective dated”.
What is effective dating?
Effective dating means that information records capture time as part of the data that is stored in SuccessFactors
and the time element can be edited.
In the application, the HRIS fields “start-date” and “end-date” are used for effective dating. The “start-date” is mostly
shown on top of all other fields on the UI. This is where the user has to enter the date when he wants the changes to
be effective. Whether an HRIS element is effective-dated or not is defined by the system.
The HRIS field “end-date” does not appear on the UI but is used for reporting purposes. For example, if you change
an effective-dated field such as pay grade and set the date when the change should be effective to 01/01/2012, the
system records 12/31/2011 as the end date in the background. If you run a report on the pay grade in the time from
01/01/2011 until 12/31/2011, the pay grade value that was valid in that time frame will be shown.
The system does not change the stored data. Instead, it creates a new row of data to track the new values as of the
effective date of the change, but continues to store the values that were effective before the change.
What are associations?
Associations define relationships between foundation objects. For example, a business unit consists of several
departments, so you would create an association of one business unit to many departments — a ONE-TO-MANY
relationship. Whereas a location can only have one geozone associated with it — this is a ONE—TO—ONE association.
The type of association restricts what the user can display or enter in Employee Central — for a ONE_TO_ONE
association from location to geozone, for example, the user can enter exactly one geozone for a location on the UI.
The standard XML file for the Corporate Data Model already contains some associations. These are shown in the
table below. You can add more ONE_TO_MANY associations, or change the existing associations in the XML file if
needed. Each association has a “driving object” that acts as the basis for the association
Source Target Multiplicity Description
Location Geozone ONE_TO_ONE A location can only belong to one geozone. (Location is the
driving object)
Location Legal Entity ONE_TO_MANY Several companies can have the same location. (Legal Entity is
the driving object)
Division Business Unit ONE_TO_MANY A division can have several business units. (Division is the driving
object)
Department Division ONE_TO_MANY A department can have multiple divisions. (Division is the driving
object)
Job Code Business Unit ONE_TO_MANY A job code can be used across several business units. (Job Code
is the driving object)
Pay Range Geozone ONE_TO_ONE Companies generally have different pay ranges for each
combination of Legal Entity, Job Code, and Geozone.
Pay Range Pay Grade ONE_TO_ONE A pay range is generally associated with one pay grade.
Pay Range Legal Entity ONE_TO_ONE Companies generally have different pay ranges for each
combination of Legal Entity, Job Code, and Geozone.
Pay Component Group Pay Component ONE_TO_MANY A Pay Component Group can contain multiple Pay Components.
SuccessFactors
Working with foundation objects I N T E R N A L • © 2013 SAP AG. All rights reserved. 79
See Also
Foundation object tables [page 203]
5.3 Which foundation objects can you use to structure your business?
There are different types of foundation objects. You can use one of these types, called organization objects, to define
how your business is structured.
Organization Objects A-Z
● BusinessUnit (hris-element-id: businessUnit)
The Business Unit foundation object stores information for all the operating units of a company. One business
unit record represents one operating unit.
● CostCenter (hris-element-id: costCenter)
The cost center foundation object stores all the cost centers of a company. Cost centers are usually defined
in the ERP financial systems, and you simply load cost center info from those systems.
● Department (hris-element-id: department)
It is usually necessary to divide a business into a number of departments, such as Sales and Marketing, Public
Relations, and Dispatch. This foundation object enables you to do this.
● LegalEntity (hris-element-id: company)
The legal entity table stores all the legal entities of a company. No legal entity can cover more than one country,
so the country in the legal entity determines the country of employees assigned to the legal entity.
● Division (hris-element-id: division)
Division is an entity and can have a hierarchical structure using the 'parent' field.
● GeoZone (hris-element-id: geozone)
You can group locations into one geozone. For example, you could create the GeoZoneEurope West,
containing the locations UK, Netherlands, and Germany.
This foundation object includes an Adjustment Factor field that where you enter a percentage to indicate the
adjustment to the pay range for this GeoZone due, for example, to differences in the cost of living.
For example, if you decide that people on the west coast of the US should be paid 10% more than those on
the east coast and that the pay range for people on the east coast is $100K - $110K, the pay range for people
on the west coast is $110K - $121K
● LegalEntityLocal (hris-element-id: legalEntityLocal)
This foundation object stores country-specific information for each legal entity. You can define as many of
them as you require.
● Location (hris-element-id: location)
The location foundation object stores address information for all the physical offices of a company. It supports
international address formats. It is also possible to combine locations into location groups under the
LocationGroup (hris-element-id: locationGroup) foundation object. For example, you might want to group all
your offices on the east coast of the United States in a location group labeled “US East Coast”. You achieve
this combination by creating associations between the relevant objects. See the documentation on the
Corporate Data Model for information on how to do this.
See Also
Foundation Object Tables [page 203]
80 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with foundation objects
5.4 Which foundation objects can you use to handle job-related areas?
Overview
Some of the foundation objects can be used to handle job-related issues.
Job-Related Objects A-Z
● JobClassification (hris-element-id: jobCode) and JobClassLocal (hris-element-id: jobClassLocal)
This JobClassification table stores all job codes defined in a company and information associated with job
code. Here are some examples of fields often used to achieve this:
○ Employment Type
○ Supervisor Level
○ Job Level
○ Regular/Temporary
○ Full Time/Part Time
○ Employee Class
○ Job Title
○ Pay Grade
JobClassLocal contains the country-specific information needed by each country for a JobClassification.
Companies can have one universal job classification, used for more than one country.
JobFunction (hris-element-id: jobFunction)
Several Job Classifications can have the same Job Function. For example, the Job Classifications "Developer" and
“Development Manager” could be associated to the same Job Function “Engineering”.
See Also
Foundation object tables [page 203]
5.5 Which foundation objects can you use to handle pay-related
areas?
Overview
Some of the foundation objects can be used to handle compensation-related issues.
5.5 Pay-Related Objects A-Z
● PayCalendar*(hris-element-id: payCalendar)
The PayCalendar foundation object stores all the pay periods within a year. For example, June 1 – June 15
2010 could be one pay period.
● PayComponent (hris-element-id: payComponent)
SuccessFactors
Working with foundation objects I N T E R N A L • © 2013 SAP AG. All rights reserved. 81
An employee’s pay is comprised of more than one component, such as:
○ Basic salary
○ Target bonus
○ Company car allowance
○ In the case of each component, a company needs to define the following:
○ Whether the component is recurring or one-time. If recurring, how often it is paid (this is called the
“frequency”; see below).
○ Whether the component is paid as an absolute amount or percentage
○ If percentage, what the percentage is based on. For example, is it based on how many units of a
particular product the employee makes or sells?
○ Is it actual pay or a target?
○ Should it be visible to managers on Manager Self Service?
○ Is it used by the Comp Planning module?
○ Taxable or Non-Taxable
○ Frequency (hris-element-id: frequency)
Frequency is used by the PayComponent foundation object how often a pay component is paid - for
example, annually.
● PayComponentGroup (hris-element-id: payComponentGroup)
It is possible to group pay components into pay component groups. The amount of a pay component group
is equal to the sum of the pay components it includes. If the amounts in question are in different currencies
or for periods of less than a year, the system automatically annualizes them and converts the currencies.
● PayGrade (hris-element-id: payGrade)
Pay Grade is a foundation object related to Job Classification. A Job Classification is connected by default to
a Pay Grade. This is optional and you can turn it off in the Corporate Data Model sing the 'grade' field on the
'jobCode' element. To do this, simply set visibility to “none”.
● PayGroup (hris-element-id: payGroup)
We recommend that you group people who share the same payroll-related attributes into one pay group. For
example, employees in Europe who are all paid by SAP Payroll and paid bi-weekly can be grouped into one
European Pay Group.
● PayRange (hris-element-id: payRange)
Pay Range is primarily used for the calculation of Compa Ratio and Range Penetration
Your company can define as many pay ranges as required.
See Also
Foundation Object Tables [page 203]
5.6 Which other foundation objects are available?
Overview
In addition to the organization objects, job-related objects, and pay-related objects, you can also use the following:
● Event Reasons
In the case of events such as termination of employment, Employee Central uses event reasons to determine
exactly which HR event has taken place when employee data is changed and why. For example, the event
82 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with foundation objects
“Termination” can take place either because the employee´s performance was not satisfactory, or because
the employee wanted to change company. In this case, if you need to differentiate between the two
possibilities, you would define two event reasons that you could call “Terminated-Performance Issues”, or
“Terminated – By Employee”. You can create as many event reasons for an event as you like.
● Workflow IDs
A single workflow can be defined and then associated with multiple situations. For example, the workflow
might be a manager or HR for a promotion or job change. Each step of a workflow may have one or more
approvers.
● Dynamic Role
A Dynamic Role is one of the approver types available in setting up of approval workflows for changes to
employee data. If you choose it, it means that the system will find the approver for you, rather than your having
to enter a specific approver yourself.
For full information on how this works, take a look at What are approver types? [page 126]
● Workflow contributor
You can use this object to configure who contributes to workflow. The following options are available:
○ Role
○ Dynamic Role
○ Dynamic Group
○ Person
● CC Roles contributor
You can use this object to configure the following CC roles in workflow:
○ Role
○ Dynamic Role
○ Dynamic Group
○ Person
○ External email
● CC role
● Generic objects
Generic objects are empty objects, which you can use to handle data not covered by the objects we supply
as standard.
See Also
Setting up event-reason derivation rules [page 98]
Foundation Object Tables [page 203]
5.7 Setting up country-specific picklists for pay components or event
reasons
Customers that operate in multiple countries tend to have pay components that are very specific for a country. For
example, the customer pays their German employees based on the pay agreements with the German Trade Unions.
This pay component would never be used for an employee based in the USA. However, the Admin has to scroll
through the picklist containing all the pay components existing in the system for all countries when adding a new
employee, for example.
SuccessFactors
Working with foundation objects I N T E R N A L • © 2013 SAP AG. All rights reserved. 83
As the employee is always clearly assigned to one legal entity, and thus to one specific country, you can set up
country-specific picklists for pay components filtering the values to those that are relevant for that employee. You
can do the same for the picklist containing the customer's event reasons.
Once the country-specific picklists for event reasons or pay components are set up, Admin and manager benefit
from it on all screens with an event reason or pay component field (Employment/Personal Information page; Update
Employee Records page; History pages (for example, Job History), Add New Employee page, and so on).
This feature is useful for:
● Big customers that operate in multiple countries, and that have several legal entities in one country
● Customers that have a high number of country-specific event reasons or pay components
What do you need to do first?
● You use the generic object Country. For the prerequisites of using generic objects, refer to the chapter How
do you configure and manage generic objects? [page 89]
You can also find more general information about generic objects in the Metadata Framework Implementation
Handbook.
● You need to have created event reason and pay component foundation objects in the system. For more
information, refer to the following chapters:
○ What are foundation objects? [page 78]
○ Importing Foundation Data [page 143]
How do you set up country-specific picklists for pay components/event reasons?
1. You create an association from the Country generic object to the foundation object pay component or event
reason:
1. Create a wrapper generic object for pay component or event reason:
1. Go to Administration Tools. In the Company Processes & Cycles portlet, select Company
Settings Configure Generic Object Definition .
2. In the Create New: field, select Object Definition and create the wrapper generic object as in this
example:
84 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with foundation objects
Fill out the following fields:
● Code: Enter the external code for this generic object to uniquely identify it in the system.
Note that the prefix cust_ is automatically added to the external code.
● Label: Enter a label for the wrapper generic object.
3. Click Save .
2. Associate the generic object Country with the wrapper generic object:
1. From the Configure Generic Object page, search for the generic object definition Country.
2. Click Take Action Make Correction .
3. Under Associations, in the Destination Object field, select the wrapper generic object that you have
created in step 1 as in this example:
4. Click Save .
3. Link the wrapper generic object to the foundation object:
1. Navigate back to the wrapper generic object by selecting Object Definition in the Search: field, and
selecting the wrapper generic object.
2. To edit the wrapper generic object, click Take Action Make Correction .
3. Click the Details link for the externalCode field and make the following entries:
● Data Type: Select Foundation Object.
● Valid Values Source: Enter the HRIS-element ID of the foundation object as defined in the
Corporate Data Model. In this example, we want to have an association to the payComponent or
eventReason foundation object.
● Field Criteria:
○ Destination Field Value: Enter parent.effectiveStartDate
○ Source Field Name: Enter start-date.
SuccessFactors
Working with foundation objects I N T E R N A L • © 2013 SAP AG. All rights reserved. 85
See this example:
4. Click Done .
5. Click Save .
2. Import content for the Country generic object:
1. Log in to Confluence, and download the Country.csv file:
https://confluence.successfactors.com/display/PRODINFO/Data+Models+and+Picklists .
2. Go to Administration Tools. In the Company Processes & Cycles portlet, select Employee Files Import
and Export Data .
3. Import the CSV file as in this example:
3. For each country, assign the event reason/pay component relevant for that country.
86 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with foundation objects
1. Go to Administration Tools. In the Company Processes & Cycles portlet, select Employee
Files Manage Data .
2. In the Search: field, select the Country generic object.
3. In the field next to Country, select the corresponding country, for example: United States (USA).
4. Click Take Action Make Correction .
5. Under Event Reasons, select the corresponding event reasons as in this example:
Note the following:
● Assign the country-specific event reasons or pay components to the relevant country only.
● Assign the globally applicable event reasons or pay components to all countries.
6. Under Pay Components, select the corresponding pay components accordingly.
7. Click Save .
Repeat these steps for all relevant countries.
SuccessFactors
Working with foundation objects I N T E R N A L • © 2013 SAP AG. All rights reserved. 87
6 Working with generic objects
6.1 What are generic objects?
About this document
Generic objects are created using the Metadata Framework. This handbook concentrates on the use of generic
objects in the context of Employee Central. You can find more detailed information about the Metadata
Framework and its features in the Metadata Framework Implementation Handbook.
Business Background
What are generic objects and what do they do?
You use generic objects for information and settings relating to the people working in the company, such as their
compensation, vacation, and address information. You create generic objects in the Succession Data Model.
Don't confuse them with foundation objects, which apply across your whole business and are used to set up the
company's organization as well as the job structure. You create foundation objects in the Corporate Data Model.
For complete information on the Succession Data Model, read the relevant documentation [page 46].
Tasks
Before you can start using generic objects, you need to enable them for each company in Provisioning. Check under
Admin Tools whether the generic tool options appear. If they don't, enable generic options proceed as follows:
1. Log on to Provisioning.
2. Choose Edit Company Settings —> Company Settings
3. Select Enable Generic Objects.
See Also
What are data models? [page 30]
What are the characteristics of generic objects? [page 88]
How do you configure and manage generic objects? [page 89]
6.2 What are the characteristics of generic objects?
Features
Here's a survey of the characteristics of generic objects.
● Each object has a technical ID, which you cannot change.
88 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with generic objects
There are different types of technical ID. Here are some examples:
○ Tab element ID: If you include a generic object with a tab element ID in your Succession Data Model, the
relevant tab is available for use in your installation. You need to configure permissions for them though
(see below).
○ Field ID: If you include a generic object with a field ID, that field is available for use in your installation.
Again, you need to give each user the permissions they need to use the field.
Each object has a label, which you can change to suit your requirements. It is possible to maintain this label
in different languages if you need to.
● You have to enable generic objects in your system before you can use or see them. You do this by checking
the Enable Generic Objects feature in Provisioning.
● You have to set permissions for generic objects, which determine who can use them and what they can do
with them.
● In the case of field IDs, you can decide whether each field appears in your UI and, if so, whether it is for display
only or whether users can change or edit the information in it.
6.3 How do you configure and manage generic objects?
Business Background
Before you can use the generic objects entered in your Succession Data Model, there are certain things you need to
do.
Tasks
1. The first step is to enable generic objects so that they appear at all in your installation.
To do this, access Provisioning and check the Enable Generic Objects option.
2. Add any missing objects you want to use to your Succession Data Model.
3. Make sure users have the authorizations they need to use generic objects.
1. To do this, go to Administration Tools. In the Manage Employees portlet, select
Set User Permissions Manage Permission Roles .
2. Select the role name, such as System Administrator, whose permissions you want
to manage.
3. Click Permissions...
4. On the Permission Settings screen, scroll down to Manage Generic Objects and
specify which permissions users with this role should have.
4. Define permission checks for your generic objects.
1. To do this, go to Administration Tools. In the Company Processes & Cycles portlet,
select Company Settings Configure Generic Object Definition .
2. Search for the generic object for which you want to define permission checks and
click Take Action Make Correction .and
3. Scroll down to the Security section, select Yes for the permission category
Miscellaneous Permissions and save your changes.
SuccessFactors
Working with generic objects I N T E R N A L • © 2013 SAP AG. All rights reserved. 89
4. Go back to Administration Tools. In the Manage Employees portlet, select Set
User Permissions Manage Permission Roles .
5. Select the role name, such as System Administrator, whose permissions you want
to manage.
6. Click Permissions...
7. On the Permission Settings screen, scroll down to Miscellaneous Permissions and
specify which permissions users with this role should have.
6.4 How do you create customer-specific foundation objects?
In addition to the foundation objects that SuccessFactors predelivers to capture company data, you can define more
foundation objects specific for your customer. A generic object has to be created first, and then you refer to this
generic object in the Succession Data Model.
Tasks
1. Tell the Admin to give you the external code of the generic object the customer has
created. You might have to tell the Admin where they can create a generic object in the
system:
Go to Administration Tools. In the Company Processes & Cycles portlet, select
Company Settings Configure Generic Object Definition .
This is an example of what such a generic object could look like:
2. Download the Succession Data Model from Provisioning and open it in an XML editor.
3. In the Succession Data Model, add a customer-specific field as a custom-string and
add the type attribute referencing the external code of the generic object, as in this
example:
<hris-field max-length="256" id="custom-string5"
visibility="both" type="GO_Building” >
<label>Building</label>
</hris-field>
90 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with generic objects
Use only a custom-string as customer-specific field when you use the type
attribute with generic objects.
4. Save your changes and upload the Succession Data Model in Provisioning.
For more information about how to configure the data model, see Setting up the Succession
Data Model [page 46].
6.5 How do you create associations for generic objects?
You can create associations to define the relationship between generic objects, or between a foundation object and
a generic object.
For example, a business unit consists of several departments, so you would create an association of one business
unit to many departments — a ONE_TO_MANY association. Whereas a location can only have one geozone
associated to it — this is a ONE_TO_ONE association. The type of association restricts what the user can display or
enter in Employee Central — for a ONE_TO_ONE association from location to geozone, for example, the user can
enter exactly one geozone for a location on the user interface
Creating associations...
From generic object to generic object:
This procedure is also used for customer-specific foundation objects that the customer
has created using generic objects.
This type of association is defined by the Admin using the Metadata Framework. You might
have to tell the Admin where this is done in the system:
1. Go to Administration Tools. In the Company Processes & Cycles portlet, select
Company Settings Configure Generic Object Definition .
2. Create or search for the generic object for which you want to define the association.
3. Under Associations, in the Destination Object field, select the generic object that you
want to associate with.
For more information about the Metadata Framework, refer to the Metadata Framework
Implementation Handbook.
From foundation object to generic object:
You define this type of association in the Corporate Data Model.
1. Ask the Admin to give you the external code of the generic object the customer has
created.
You will reference the external code of the generic object in the Corporate Data Model.
2. Download the Corporate Data Model XML file from Provisioning and open it with an
XML editor.
SuccessFactors
Working with generic objects I N T E R N A L • © 2013 SAP AG. All rights reserved. 91
3. Scroll down to the HRIS element that represents the foundation object for which you
want to create the association. Before the end tag of that HRIS element, add the
association to the generic object like in this example:
<hris-element id=”location”>
...
<hris-associations>
<association id=”id” multiplicity=”ONE_TO_MANY”
destination-entitiy=”GO_Building” />
</hris-assocation>
</hris-element>
The destination-entity is the external code of the generic object you want to
associate the foundation object with.
For more information about the data model, see Setting up the Corporate Data Model
[page 40].
From generic object to foundation object:
For this type of association you have to create another generic object first that serves as a
wrapper for the foundation object. This means that you actually associate the generic object
with the wrapper generic object which itself is linked to the foundation object.
You define this type of association using the Metadata Framework. For more information about
the Metadata Framework, refer to the Metadata Framework Implementation Handbook.
To associate a generic object with a foundation object:
1. Create the wrapper generic object:
1. Go to Administration Tools. In the Company Processes & Cycles portlet, select
Company Settings Configure Generic Object Definition .
2. Select Create New: Object Definition and create the wrapper generic object as in
this example:
Fill out the following fields:
92 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with generic objects
● Code: Enter the external code for this generic object to uniquely identify it in
the system.
Note that the prefix cust_ is automatically added to the external code.
● Label: Enter a label for the wrapper generic object.
3. Click Save .
2. Associate the generic object with the wrapper generic object:
1. In the Search: field, select Object Definition, and search for the generic object which
you want to associate the foundation object with.
2. Click Take Action Make Correction .
3. Under Associations, in the Destination Object field, select the wrapper generic
object that you have created in step 1 as in this example:
4. Click Save .
3. Link the wrapper generic object to the foundation object:
1. Navigate back to the wrapper generic object by selecting Object Definition in the
Search: field, and selecting the wrapper generic object.
2. To edit the wrapper generic object, click Take Action Make Correction .
3. Click the Details link for the externalCode field and make sure you make the
following settings:
● Data Type: Select Foundation Object.
● Valid Values Source: Enter the HRIS-element ID of the foundation object as
defined in the Corporate Data Model (see also the Foundation object tables
[page 203]). In this example, we want to have an association to the
location foundation object.
● Field Criteria: If the foundation object is effective-dated, make the following
entries:
○ Destination Field Value: Enter parent.effectiveStartDate.
○ Source Field Name: Enter start-date.
If the foundation object is not effective-dated, leave these fields empty.
See this example:
SuccessFactors
Working with generic objects I N T E R N A L • © 2013 SAP AG. All rights reserved. 93
4. Click Done .
5. Click Save .
94 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with generic objects
7 Creating rules
7.1 Setting up propagation rules
What are propagation rules?
You define propagation rules to have the system automatically fill in fields in employment data. For example, if the
user selects a certain location in Job Information, the time zone for that location can be filled automatically. Or if the
user selects a job code, the job title to it will automatically be displayed in the job title field. This way, you reduce the
amount of data the user has to enter manually, and it improves the consistency of data, which is vital for accurate
reporting.
Propagation is only possible from certain foundation objects to certain employment objects. Below under How do
you set up propagation rules?, in step 2.2, you find a table from which foundation objects you can propagate to which
employment objects.
What do you need to do before you set up propagation rules?
You must have configured the fields you are going to reference in your propagation rules before in the Corporate
Data Model and the Succession Data Model. If you are referring to country-specific fields, you must have set the
fields in the country-specific data models accordingly.
The field of the HRIS element in the Succession Data Model you are referencing in your propagation rules
must be visible. If you have hidden the field, that is, if you have set the attribute value to
visibility=“none”, propagation will fail.
How do you set up propagation rules?
1. Download the XML file for propagation rules.
● If you're setting up propagation rules the first time for a company, download the
most current version from this link: http://confluence.successfactors.com/
display/PRODINFO/Data+Models+and+Picklists .
● If you're changing already uploaded propagation rules, download the XML file from
Provisioning under Succession Management Import/Export HRIS Propagation
Configuration XML .
2. Open the file in an XML editor and adjust it according to the company's requirements.
1. Insert a propagation rule by copying an existing rule from the standard XML file
and adjusting the following:
● foundation-element-id: This is the HRIS-element ID of the foundation
object. You find the correct ID either in the XML file for the Corporate Data
Model, or in the Foundation object tables [page 203].
● field id: This is the HRIS-field ID of the field that belongs to the HRIS
element and which contains the values you want to propagate.
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 95
● destination hris-element-id: This is the HRIS-element ID of the
employment object. You find the correct ID you need to enter here either in
the XML file for the Succession Data Model, or in the Employment object
tables [page 255].
● field-id: This is the HRIS-field ID of the field that belongs to the HRIS
element and to which you want propagate the values from the foundation
object field.
If you are referencing a country-specific field, you have to insert the country code
as follows:
<field id=”jobClassLocal.custom-string2” country=”USA”>
<destination hris-element-id=”jobInfo” field-id=”eeo1–jobcategory”/>
</field>
You must have defined the country-specific Corporate Data Model and the
country-specific Succession Data Model before, as this is where you define the
field IDs you are referencing. In this example, custom-string2 is a field defined
in the country-specific Corporate Data Model for USA, under HRIS element
jobClassLocal. eeo1–job-category is a country-specific field you have set
up before in the country-specific Succession Data Model, where it has been
defined for country USA for the HRIS element jobInfo.
2. Map the foundation objects to the corresponding employment objects by inserting
propagation mapping at the end of the XML file. You have to set up a propagation
mapping for every combination of foundation object to employment object. You
always map from the external code of the foundation object to a specific field of
the employment object in the following format:
<propagation-mapping foundation-field=”company.externalCode”
hris-field=”jobInfo.company” />
● foundation-field: This consists of the HRIS-element ID of the foundation
object (company) and the HRIS-field ID of the external code
(externalCode).
● hris-field: This consists of the HRIS-element ID of the employment object
(jobInfo) and the HRIS-field ID of the field that is connected to the external
code of the foundation object field (company). To find out which field ID you
have to enter here, refer to the table below.
96 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
Let's say you want to propagate the field values from the timezone
field of the location to the timezone field in the job information
portlet as in this example:
<hris-propagations>
<propagate foundation-element-id=”location”>
<field id=”timezone”>
<destination hris-elementid=”
jobInfo” field-id=”timezone” />
</field>
</propagate>
...
</hris-propagations>
To have the system execute this propagation rule, you need to
insert a mapping from the location foundation object to the jobInfo
employment object. If such a propagation mapping already exists
in the XML file, you do not have to add it again. But if it is not there
yet in the XML file, add the following propagation mapping at the
end of the XML file:
<propagation—mapping foundationfield=”
location.externalCode” hrisfield=”
jobInfo.location” />
In this table, you find the correct employment object field ID. Look for the
foundation object from which you are propagating, then for the employment
object you are propagating to. In the same row of the table, you find the
correct employment object field you need to map the propagation with. This
is always the same field, no matter which field of that employment object you
are actually using in the propagation rules.
Foundation
object
(HRIS-element
ID)
Foundation
object field
(HRIS-field ID)
Employment object
(HRIS-element ID)
Employment
object field
(HRIS-field ID)
company externalCode jobInfo company
businessUnit externalCode jobInfo business-unit
location externalCode jobInfo location
division externalCode jobInfo division
department externalCode jobInfo department
costCenter externalCode jobInfo cost-center
jobCode externalCode jobInfo job-code
jobClassLocal externalCode jobInfo job-code
payGroup externalCode jobInfo pay-group
payGroup externalCode compInfo pay-group
payGrade externalCode jobInfo pay-grade
payGrade externalCode compInfo pay-grade
payComponent externalCode payComponentRecurring pay-component
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 97
Foundation
object
(HRIS-element
ID)
Foundation
object field
(HRIS-field ID)
Employment object
(HRIS-element ID)
Employment
object field
(HRIS-field ID)
payComponent externalCode payComponentNonRecurring paycomponentcode
frequency externalCode compInfo pay-frequency
frequency externalCode payComponentRecurring frequency
3. Upload the propagation rules in Provisioning under Succession
Management Import/Export HRIS Propagation Configuration XML .
7.2 Setting up event-reason derivation rules
What are event-reason derivation rules?
When the manager or Admin changes an employee’s data, for example, by increasing the salary or changing the
department information, the reason behind this change is normally that an event has taken place in that employee’s
professional life. In our example, the event could be a promotion or a transfer to another department. The information
about which event lies behind this change is stored in the system for reporting purposes. However, such a change
might also include a change to the employee’s status, for example, if the employee leaves the company, the employee
status would be changed accordingly to reflect that the employee is no longer an active user in the system.
You can create rules that define the event reason according to what change is done to an employee’s data, so that
the system automatically selects the appropriate event reason. Depending on the event reason, the employee status
is updated, if necessary.
Why do you want to use event-reason derivation rules?
If you don’t create derivation rules, the user has to manually select the event and the event-reason from the UI every
time the user makes a change to the employee data that is linked to an event. However, this is time-consuming and
more error-prone, as the employee status depends on the event reason that is selected.
What are events?
Events are occurrences that span the various stages of an employee’s lifecycle from hire to rehire. Technically, events
are defined in picklists. Events are predelivered by SuccessFactors; you can’t create new events or change existing
ones, except for their labels.
This is a list of events delivered by SuccessFactors:
● Additional Job
● Assignment
● Assignment Completion
● Job Change
● Completion of Probation
● Data Change
● Demotion
● Furlough
● Hire
98 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
● Job Reclassification
● Leave of Absence
● Pay Rate Change
● Position Change
● Probation
● Promotion
● Rehire
● Return from Disability
● Return to Work
● Suspension
● Termination
● Transfer
● Add Global Assignment
● End Global Assignment
● Obsolete
● Start Pension Payout
What are event reasons?
Event reasons are defined by the customer. They are used to define more specifically the reason why an event has
taken place. For example, the event “Termination” can take place either because the employee’s performance was
not sufficient, or because the employee wanted to change company. In this example, if the company wants to
differentiate between the two possibilities, you define two event reasons that you could call “Terminated-
Performance Issues”, or “Terminated – By Employee”. You can create as many event reasons for an event as you
like.
Technically, event reasons are foundation objects. This means that the Admin can create event reasons under
Administration Tools, in the Company Processes & Cycles portlet, under Employee Files Manage Organization,
Pay and Job Structures , or mass upload data via CSV file under Administration Tools, in the Company Processes
& Cycles portlet, under Employee Files Import Foundation Data .
Are event reasons mandatory?
Yes. Even if a company decides not to create own event reasons for the purpose of narrowing down the reasons why
an event takes place, the Admin has to create an event reason for each event that the company uses. This is because
the system defines the employee status after an event has taken place by what has been defined in the event reason.
For example, the employee status after the event reason “Terminated – By Employee” is “Terminated”. If the
employee status was “Active” before, it will change to “Terminated” after the event with the corresponding event
reason has taken place.
For a minimum setup, the Admin should create one (or several) event reasons for the following:
● Hire event
● Rehire event
● Termination event
● changes to Job Information and Compensation Information
You can associate the event reason for such changes to the Data Change event, or you create more specific
event reasons for the events Promotion, Transfer, Pay Rate Change, and so on.
● If Leave of Absence is activated, you need to create event reasons for the events Leave of Absence and Return
to Work.
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 99
What do you need to do before you can use event-reason derivation rules?
1. Upload events and employee status picklists.
There is a predelivered list of events and employee statuses that you should not change. You can change the
labels, but you cannot add new events or employee statuses. You can also choose to use only part of the
predelivered events.
For more information about picklists, see How do you manage picklists?
2. In Provisioning, go to Edit Company Settings Company Settings . Under Employee Central, select the
checkbox Enable youCalc rules engine for HRIS [Not Ready for Sales/Production] — requires “Employee
Central V2 (i.e., Event Reason Derivation)” and “Effective Dated Data Platform”.
Only after enabling this setting will you see the link for importing/exporting the XML file for eventreason
derivation rules. If you do not enable this setting, you cannot upload the XML file, and the user
has to manually select the event and event-reason from the UI when changing an employee’s data.
3. The Admin creates event reasons in the system. You might have to show the Admin where this is done in the
system:
● To create an event reason, go to Administration Tools. In the Company Processes & Cycles portlet, select
Employee Files Manage Organization, Pay and Job Structures .
● To mass upload event reasons via CSV file, go to Administration Tools. In the Company Processes &
Cycles portlet, select Employee Files Import Foundation Data .
SuccessFactors delivers a predefined list of standard event reasons. You can use this as a basis,
even if you decide to use just some of them. You can find the most current version of this list as
CSV file under this link: http://confluence.successfactors.com/display/PRODINFO/Data
+Models+and+Picklists .
● If an event or event reason leads to a change of the employee status, the Admin has to define the
corresponding employee status accordingly. For example, if the contract with an employee is terminated,
the employee status should change to “Terminated”. If the employee is rehired, the employee status
becomes “Active” again.
If the event or event reason does not lead to a change of the employee status, for example, if an employee
is promoted, the Admin has to leave this field on No Selection.
● The Admin has to tell you the external code (Event ID) that was used to define the event reasons, as you
need these later for the <trueoutput> value in the XML file for event-reason derivation rules.
How do you set up event-reason derivation rules?
1. Download the XML file for event-reason derivation rules.
● If you're setting up event-reason derivation rules the first time for a company,
download the most current version from this link: http://
confluence.successfactors.com/display/PRODINFO/Data+Models+and
+Picklists .
● If you're changing already uploaded event-reason derivation rules, download the
XML file from Provisioning under Succession Management Import/Export
Rules XML for EventReason Derivation .
2. Open the XML file in an XML editor and adjust it according to the company's
requirements.
100 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
You do this by copying an existing rule and changing the following values:
1. Enter a unique rule ID (for example, rule-18).
2. Enter the external code of the event reason the Admin has created before as the
<trueoutput> value of the event-reason derivation rule.
Consider the following:
● You can only configure rules for events and event reasons that are used under
Employment Information in the Job Information portlet (HRIS-element ID:
jobInfo) or in the Compensation Information portlet (HRIS-element ID:
compInfo), and for the foundation object payComponentGroup which is
used to identify salary changes.
● You cannot create rules for the following events:
○ Hire
○ Rehire
○ Termination
○ Leave of Absence
○ Return to Work
● Consider the sequence of events as the system reads the file from top to
bottom and the first rule that is met is applied (see below under Sequence of
event reasons in the XML file).
3. Choose the logical operand you want to use: <and>, <or>, or <xor>. For some
examples, see below under XML examples in section Logical operands for rules
configuration.
4. Choose the comparative operand you want to use: <greater>, <lesser>, or
<equal>. For some examples, see below under XML examples in section
Comparative operands for rules configuration.
5. Enter the ID for the field change that is supposed to trigger the rule. Follow this
format:
hris-element-id.hris-field-id
You can find examples below under XML examples in section Examples for eventreason
derivation rules.
6. A catch-all event reason is included at the end of the standard XML file — keep this
in the XML file and do not change it.
For more information, see below under XML examples in section Catch-all event.
3. Upload the XML file in Provisioning under Succession Management Import/Export
Rules XML for EventReason Derivation .
XML examples
Examples for event-reason derivation rules
Field change triggers rule
To have any kind of change to a field value on the UI trigger a rule, use the inverse=”true” attribute as in the
following example:
<rule id=”rule-1”>
<trueoutput>JOB_CHANGE</trueoutput>
<conditions>
<and>
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 101
<equal id=”jobInfo.job-code” inverse=”true” />
</and>
</conditions>
</rule>
<rule id=”rule-2”>
<trueoutput>XFER</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.location” inverse=”true” />
<equal id=”jobInfo.cost-center” inverse=”true” />
<equal id=”jobInfo.manager” />
</and>
</conditions>
</rule>
In the first rule, you define that if the job code is changed, the event reason code is JOB_CHANGE. Job code is a field
of the HRIS element jobInfo. To refer to the field use the syntax hris-element-id.hris-field-id. If this field
is changed, the event reason JOB_CHANGE is applied. The <trueoutput> value has to be the same as the external
code of the event-reason foundation object the Admin creates under Administration Tools, in the Company Processes
& Tools portlet under Employee Files Manage Organization, Pay and Job Structures .
The second rule defines that when location and cost center are changed, but the manager stays the same, the eventreason
code is XFER for transfer.
Field change to a certain value triggers rule
Instead of just checking if a field is changed, you can also define a rule that is met when a certain value is chosen.
For this, you use the compareToNew attribute and specify the value that triggers the rule.
In the following example, if an employee's department is changed to “ENG”, the rule ENG_DEPT_CHANGE is used.
The compareToNew attribute determines whether to use the new value for comparison or the old value; that is, if
the compareToNew attribute value is true, the rule is met:
<rule id=”rule-23”>
<trueoutput>ENG_DEPT_CHANGE</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.department” value=”ENG” compareToNew=”true” />
</and>
</conditions>
</rule>
You can also set the compareToNew attribute to “false” if you want to evaluate the initial value of an attribute as
in the following example:
<equal id=”jobInfo.custom-string12” value=”N” compareToNew=”false” />
Change to specific data object triggers rule
Instead of defining the HRIS-field ID as you did in the previous examples, you can also define the ID of a specific
foundation, person or employment object. In the following example, the pay component group “A1” has been defined
in the system. “A1” is the external code of the pay component group (standard label on the UI is Pay Component
Group ID). In the XML file, you follow this syntax: hris-element-id.externalCode
The following rule is met when a change, such as a salary change, to A1 takes place:
<rule id=”rule-3”>
<trueoutput>SC01</trueoutput>
<conditions>
<and>
<equal id=”payComponentGroup.A1” inverse=”true” />
102 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
</and>
</conditions>
</rule>
Logical operands for rules configuration
● AND: Both conditions have to be true.
● OR: At least one of the conditions has to be true.
● XOR: a XOR b is true only when one of a, b is true, but NOT both are true (a so-called “exclusive OR”).
Example for “AND”
The logical operand “AND” allows you to define events that involve changes on fields belonging to different HRIS
elements. For example, the customer can define an event called promotion, when the job code changes (jobcode)
and the salary increases (AnnualizedSalary). job-code and AnnualizedSalary come from different
HRIS elements (jobInfo and payComponentGroup). You would define this as follows:
<rule id=”rule-1”>
<trueoutput>JOBTRN</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.job-code” inverse=”true” />
<equal id=”payComponentGroup.AnnualizedSalary” inverse=”true” />
</and>
</conditions>
</rule>
job-code is a field that belongs to the HRIS element jobInfo. jobInfo is an employment object that is defined in
the Succession Data Model.
PayComponentGroup is a foundation object that is defined in the Corporate Data Model. AnnualizedSalary is
the external code of a payComponentGroup that the Admin creates under Administration Tools, in the Company
Processes & Tools portlet under Employee Files Manage Organization, Pay and Job Structures .
The above rule means that if the job code field from the Job Information portlet is changed and the
AnnualizedSalary (which is the sum of the Pay Component Groups) is changed in the Compensation Information
portlet, the event reason will be determined as JOBTRN.
You cannot combine AND with OR, but you would have to create 2 different rules. For example, if you want a
rule for a data change to manager and cost center or department, you have to set up a rule for a data change
to manager and cost center, and then a second rule for manager and department.
Comparative operands for rules configuration
● Greater: The new value is greater than the old value.
● Lesser: The new value is less than the old value.
● Equal: The new value is the same as the old value.
If you want to set something to unequal, meaning data has changed, add inverse=”true” to it as in this
example:
<equal id=”jobInfo.location” inverse=”true” />
Example for “greater”
In this example, the rule is met when the value for the pay grade is increased:
<rule id=”rule-2”>
<trueoutput>PAYGRADEINC</trueoutput>
<conditions>
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 103
<and>
<greater id=”jobInfo.pay-grade” />
</and>
</conditions>
</rule>
Example for “lesser”
In this example, the rule is met when the value for the pay grade is lower than before:
<rule id=”rule-3”>
<trueoutput>PAYGRADEDEC</trueoutput>
<conditions>
<and>
<lesser id=”jobInfo.pay-grade” />
</and>
</conditions>
</rule>
Example for “equal”
“Equal” is mostly used in its reverse sense, meaning, that something has changed and thus is not equal anymore.
This is achieved by adding the inverse=”true” attribute. In the following example, the rule is met when the location
in the job information portlet is changed:
<rule id=”rule-3”>
<trueoutput>PAYGRADEDEC</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.location” inverse=”true” />
</and>
</conditions>
</rule>
Sequence of event reasons in the XML file
When a change occurs for job information or compensation information, the system checks whether an event reason
derivation rule applies by reading the XML file from top to bottom. The first rule that applies is picked; all following
ones are ignored. So, in the following example, if the user changes the company AND the cost center on the UI, only
the first rule will be applied:
<rule id=”rule-1”>
<trueoutput>PAYXFR</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.company” inverse=”true” />
</and>
</conditions>
</rule>
<rule id=”rule-2”>
<trueoutput>DATACOST</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.cost-center” inverse=”true” />
</and>
</conditions>
</rule>
104 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
This means that, when setting up rules, you either have to prioritize the event reasons accordingly or configure the
various combinations by using logical operands as explained above. So in this example, if you want a rule to be
triggered when the user changes the company OR the cost center OR both, you define this as follows:
<rule id=”rule-1”>
<trueoutput>COMPCOSTC</trueoutput>
<conditions>
<or>
<equal id=”jobInfo.company” inverse=”true” />
<equal id=”jobInfo.cost-center” inverse=”true” />
</or>
</conditions>
Catch-all event
If the system has not detected a matching rule in the XML file, the catch-all event defines that the data change is
stored as such in the system. This is to make sure that even if no matching rule is found, the system derives an event
reason. This is necessary because all changes that are connected to an event need an event reason assigned to them
as described above under Are event reasons mandatory?
<rule id=”rule-23”>
<!-- Catch all -—>
<trueoutput>DATACHG</trueoutput>
<conditions>
<or>
</or>
</conditions>
</rule>
7.3 Setting up configurable rules
Configurable rules allow you to define how the system reacts when the user performs a specific action, for example,
when changing a specific field, or saving the job information for a newly hired employee. Earlier, you could only default
values that the Admin had entered for a foundation object to an employment object using HRIS propagation rules.
Now you can set up configurable rules to do the following:
● Set default values
You can define default values for specific fields.
Example: The OK to rehire field on the termination screen is always Yes by default.
● Set conditional values
You can define which default value is set when a specific condition is met: IF this condition is met, THEN this
is how the system should react.
Example: When the Admin selects the business unit ENG, the job classification is automatically set to
Engineering.
See Examples for conditional values [page 113].
● Set field properties
You can dynamically default a field as visible or required.
Example: If the company is COMP_USA, the phone extension is always required.
● Display error messages
You can define that an error message is displayed.
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 105
Example: The Admin forgot to maintain the national ID for a new employee; the error message National ID is
required is displayed. See Example for error messages [page 120].
● Calculate transient fields
You can define transient fields that are calculated “on the fly” when the user opens a page. The calculated
values are not meant to be written to the database, as they are not fix values.
Example: The user can see the employee's current age in the system.
What you – or the customer's Admin – have to do to set up configurable rules is to follow this 2-step process:
Step... What do you do? Where do you do it?
1. Create a
configurable
rule
1. Decide which page in the
system is affected and
select the base object
accordingly.
2. Define IF and THEN
conditions for the rule.
Administration Tools:
In the Company Processes & Cycles portlet, select Company
Settings Manage Rule Objects .
2. Assign this
rule to a
specific field
or HRIS
element
Define if the rule is triggered when
loading or saving a page, or when
changing a field, for example
● For person and employment objects:
○ Succession Data Model
○ Country-specific Succession Data Model
Note: You can also use the Business Configuration UI to assign
the rule to person and employment objects. For more
information, see Using the Business Configuration UI to
maintain elements of the Succession Data Model [page 57].
● For foundation objects:
Corporate Data Model
When is a configurable rule triggered?
There are different types of rule events that define when a rule is triggered:
● onInit
● onSave
● onChange
● onView
● onEdit
● saveAlert
saveAlert is an event that is only used for setting up workflow notifications. For more information,
see How do you set up alerts and notifications? [page 133]
Here you see when to use which rule event type:
Rule is triggered when...
Use this rule event type in
data model:
Assign the rule event type in
data model to: Use this event type to:
Portlet or page is loaded onInit HRIS element Set field properties (for
example, making fields
mandatory, hiding fields), or
to default values that should
be shown as soon as the user
calls up a page
106 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
Rule is triggered when...
Use this rule event type in
data model:
Assign the rule event type in
data model to: Use this event type to:
Portlet or page is saved onSave HRIS element Validate user entries when the
user wants to save the
changes
For example, if the user did
not enter a mandatory field,
an error message is displayed.
Field value is changed onChange HRIS field Trigger rules as soon as the
user makes a change to a field
Portlet or page with transient
field is loaded
onView HRIS element Calculate fields that are
transient (that means the
result is not a fix value stored
on the database, but
calculated during runtime
when the user calls up the
page)
For example, to calculate an
employee's age.
Note: Requires an additional
onSave rule that sets the
transient field back to null.
Portlet or page is opened in
edit mode
onEdit HRIS element
onEdit is currently
only supported for the
paymentInfo HRIS
element.
Default values for editable
fields
Such defaults might be
derived from other fields in
the user context.
Please note: onEdit is
different from onInit: While
both are similar in use (to set
defaults using rules),
onInit is used on the Add
New Employee page (if base
object is a person or
employment object) or the
Manage Organization, Job and
Pay Structures page (if base
object is a foundation object)
only, whereas onEdit is
used on all other editable
pages.
What do you need to do before you set up configurable rules?
1. You use the Rules Engine to define configurable rules. To set up the Rules Engine, you have to:
1. Enable generic objects
For more information, see How do you configure and manage generic objects? [page 89]
2. Configure rule types
In the use case of configurable rules, the rule type has no function, but it is a mandatory field.
For more information on how to create rule types, see https://confluence.successfactors.com/display/
ENG/Rule+Objects .
2. To configure rules that trigger messages, you have to create a generic object called MessageDefinition
with the text that the message shall display, as in this example:
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 107
To create a MessageDefinition, go to Administration Tools. In the Company Processes & Cycles portlet,
select Employee Files Manage Generic Objects .
Note that you have to refer to the external code of this message when you create the configurable rule.
How do you set up configurable rules?
1. Create the configurable rule:
1. Go to Administration Tools. In the Company Processes & Cycles portlet, select
Company Settings Manage Rule Objects .
2. Click Create New Rule .
3. Enter the following information about the rule:
● Rule ID: This is the external code of the rule itself. The code has to be unique
in the system.
In step 2, you have to refer to this code, so we recommend you note it
down.
● Rule Name: This is the name for the rule. It does not have to be unique.
● Base Object: This is a list of data objects that exist in the system. It includes
the data objects that correspond to HRIS elements in the Succession Data
Model, the Corporate Data Model, as well as generic objects. The names of
the HRIS elements listed here correspond to the labels you defined in the
corresponding data model.
The base object defines what you can enter in the rule; for example, to set
field properties, you have to choose a Model base object. At the same time,
the base object defines what event types you can use in a later step when you
assign the rule to the HRIS element in the data model. For example, you
cannot use onView events for changes done on the Add New Employee
screen. Here's a short overview of how base objects, event types and pages
in the system belong together:
108 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
When the user is on
this page:
And you want to trigger the
rule when the user is...
Then choose this type of
base object:
Employee
Files Employment
Information/
Personal
Information
● Changing a field value
(see onChange event)
● Saving a portlet or page
(see onSave event)
● Viewing a transient field
(see onView event)
● Opening a portlet or
page in Edit mode (see
onEdit event)
(currently limited to the
HRIS element
paymentInfo)
Person or Employment
Object/
[Person or Employment
Object] Model
For example:
● Compensation
Information
● Compensation
Information Model
● Job Information
● Job Information
Model
Note: Select a Model base
object to set field
properties in the rule (for
more information, see
below).
Add New Employee ● Opening a page or
portlet (see onInit
event)
● Changing a field value
(see onChange event)
● Saving a portlet or page
(see onSave event)
Employee Information /
Employee Information
Model
Note: Select Employee
Information Model to set
field properties in the rule
(for more information, see
below).
Manage
Organization, Pay
and Job Structure
● Opening a page or
portlet (see onInit
event)
● Saving a portlet or page
(see onSave event)
Foundation object, for
example:
● Cost Center
● Department
About the Model base objects:
You can set the following properties for Model base objects:
○ required: You can make a field required or not by entering true or
false accordingly.
○ visibility: You can enter the following values:
○ both: Field is visible and editable.
○ view: Field is read-only.
○ none: Field is not visible on the user interface.
○ previous: Use this property when you want to compare an old value with
a new value, for example, when a rule is triggered only when a certain
value is changed to a specific new value. You can also define that any
data change to a specific field triggers the rule by setting up the rule as
follows:
New value is not equal to previous value
For example: FTE.Value is not equal to FTE.Previous Value
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 109
When you use previous in the Then condition, do not use Set as
output type; it will be ignored by the system, as you cannot change
a previous value using the previous property.
○ value: Use this property when you want to combine setting field
properties with setting default or conditional values. When you select
value, you have to select the corresponding value in the dropdown list
when creating the rule.
Current limitations for Model base objects:
● Consider if the onSave event makes sense for setting field
properties. For example, a field should be set to mandatory
as soon as the user opens a page (then choose the
onInit event), or when the user makes certain changes
(onChange event), but not when the user saves a change.
● Country-specific fields are currently not supported.
● Rule Type: For configurable rules, there is no function behind this field, so it
is up to you if you want to use an existing rule type, or if you want to create
an own rule type for configurable rules.
For some modules, like variable pay, the rule type defines that only
rules with the rule type varpayEligibility can be selected from the
variable pay screens, for example.
4. Enter the IF and THEN conditions for the rule.
You can find some examples for rules further below under Examples
[page 111].
Please note the following:
You can define cross-portlet rules to determine that the change in one portlet (for
example, Job Information) leads to a change in another portlet (for example,
Compensation). However, there are the following limitations:
● You have to use an onSave event.
● In the Then condition, you can only refer to the following employment objects:
○ Employment Details (employmentInfo HRIS element)
○ Job Information (jobInfo HRIS element)
○ Compensation Information (compInfo HRIS element)
○ Compensation (payComponentRecurring HRIS element)
○ Spot Bonus (payComponentNonRecurring HRIS element)
○ Job Relationships (jobRelationsInfo HRIS element)
For all other event types or data objects, the following is valid:
The THEN condition of the rule has to refer to a field that is part of the current
entity, meaning the HRIS element that you assign the rule to in the data model;
the IF condition can refer to data objects or fields that are not part of the
current entity itself, that means it can refer to some other HRIS element than
the one the rule is assigned to in the data model.
Example:
110 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
○ Base Object: Employment Details
○ If condition: JobInformation.company is equal to USA
(Note that Job Information is a different HRIS element than Employment
Details.)
○ Then condition: Eligible for Stock is equal to Yes
(Note that Eligible for Stock is an HRIS field of the Employment Details
HRIS element. You should not select a different HRIS element, such as
JobInformation.EventDate, because such a rule would not be triggered.)
2. Assign this rule to an HRIS field or HRIS element:
1. Download the Succession Data Model or the country-specific Succession Data
Model XML file from Provisioning.
2. Open the XML file in an XML editor and add the rule to the corresponding HRIS
field or HRIS element after the <label> tag, as in this example:
<hris-element id=”nationalIdCard”>
<label>National ID Information</label>
<trigger-rule event=”onInit” rule=”INIT_NID” />
<hris-field max-length=”100” id=”country” visibility=”both”
required=”true”>
...
Please note the following:
● event for the event type onChange has to be assigned to the HRIS field; all
other event types have to be assigned to the HRIS element.
● rule is the external code of the configurable rule that you have created in
step 1.
● In the Succession Data Model, do not add configurable rules for the
userAccountInfo HRIS element. userAccountInfo does not correspond
to a portlet on the UI, it is just used to show the user name field on the Add
New Employee screen. A rule assigned to this HRIS element would not be
triggered.
How do you know to which HRIS element or HRIS field to assign the rule
to?
● If the base object is Employee Information or Employee
Information Model, assign the rule to the HRIS element in the XML
file that is used in the THEN condition.
● For all other base objects, assign the rule to the HRIS element or
HRIS field of the base object.
3. Save your changes.
4. Upload the Succession Data Model XML file in Provisioning.
Examples
Examples for default values
National ID for new hire is defaulted (onInit event)
You want to define that the national ID is already filled with default values when the Admin wants to add a new
employee, as shown in this example:
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 111
This is the configurable rule you have to create to achieve this system behavior:
● You select Employee Information as the base object because you want these values only to be defaulted
when the Admin adds a new employee in the system. The rule will not take effect on other screens.
● You select Always True for the If condition because the values defaulted on the user interface do not
depend on a specific user entry or user action.
This is how you assign the rule to the national ID portlet in the Succession Data Model XML file:
112 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
<hris-element id=”nationalIdCard”>
<label>National ID Information</label>
<trigger-rule event=”onInit” rule=”ONINIT_NID” />
<hris-field max-length=”100” id=”country” visibility=”both” required=”true”>
...
You select the rule event onInit because you want the default values to show up as soon as the Admin opens
the Add New Employee screen, independent of any values that the Admin might add on this page.
Examples for conditional values
Default values are set depending on selected company (onInit event)
You want to define that when the Admin adds a new employee and selects the company SAP_USA in the Job
Information portlet, the phone type should be defaulted to Home and the Is Primary field should be defaulted to
Yes as in this example:
This is the configurable rule you have to create to achieve this system behavior:
This is how you assign the rule to the Phone Information portlet in the Succession Data Model XML file:
<hris-element id=”phoneInfo”>
<label>Phone Information</label>
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 113
<trigger-rule event=”onInit” rule=”INIT_PHONE” />
<hris-field max-length=”100” id=”phone-type” visibility=”both” required=”true”>
...
● You select the rule event onInit because you want the default values to show up as soon as the Admin
opens the Personal Information page when adding a new employee, independent of any values that the
Admin might add on this page (the company is selected on the pages before and thus can be used to
define what shows up when the Personal Information page is opened).
● This rule would not work if you refer to portlets (hris-elements) on the entry screen of adding a new
employee in the THEN condition, because the company needs to be selected first before this rule can
be triggered.
Default values are set depending on Employment Details (onChange event)
You want to define that when the Admin adds a new employee and selects the company SAP_USA in the Job
Information portlet, and Eligible for Stock is set to Yes, the initial stock grant is automatically set to 200 as in this
example:
This is the configurable rule you have to create to achieve this system behavior:
114 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
This is how you assign the rule to the Initial Stock Grant field in the Succession Data Model XML file:
<hris-element id=”employmentInfo”>
<label>Employment Details</label>
...
<hris-field max-length=”256” id=”initialStockGrant” visibility=”both” >
<label>Initial Stock Grant</label>
<trigger-rule event=”onChange” rule=”EMPL_ONCHANGE” />
...
Selecting the business unit defaults the manager (onChange event)
You want to define that the manager is defaulted when the Admin selects the business unit ENG as in this example:
This is the configurable rule you have to create to achieve this system behavior:
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 115
This is how you assign the rule to the Business Unit field in the Succession Data Model XML file:
<hris-element id=”jobInfo”>
<label>Job Information</label>
...
<hris-field max-length=”256” id=”business-unit” visibility=”both” >
<label>Business Unit</label>
<trigger-rule event=”onChange” rule=”JOB_CHN” />
</hris-field>
Default values for compensation information (onSave event)
When the Admin defines that an employee is highly compensated in the Compensation Information portlet and saves
this information, the employee is automatically eligible for a company car as in this example of:
This is the configurable rule you have to create to achieve this system behavior:
116 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
This is how you assign the rule to the Compensation Information portlet in the Succession Data Model XML file:
<hris-element id=”compInfo”>
<label>Compensation Information</label>
<trigger-rule event=”onSave” rule=”COMP_INFO” />
Automatic generation of external codes for foundation objects (onInit event)
Instead of having the Admin manually create external codes for new foundation objects, you can let the system
automatically generate external codes for foundation objects. In this example, the system defines the external codes
for the job code foundation object, following a sequence you have defined beforehand.
1. Create a Sequence generic object:
1. Go to Administration Tools.
2. In the Company Processes & Cycles portlet, select Employee Files Manage Data .
3. Select Create New: Sequence.
4. Enter the following:
● externalCode: Enter an external code for the Sequence object that serves as unique identifier.
● externalName: Enter a name or short description for the Sequence object.
● start: Enter the first value of the sequence.
● step: Enter the step width of the sequence that is used to calculate the next sequence number.
For example, if step is 5, and start is 1000, the number sequence would be 1000, 1005, 1010, 1015,
and so on.
● current: This field displays the value that will be used as the next sequence number when the
Sequence object is called up.
Here's an example:
5. Save your changes.
2. Create a rule like in this example:
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 117
Note the following:
● The base object is the foundation object Job Classification.
● The If condition defines when the rule is triggered — in this example, when the Job Code field is empty.
● The Then part of the rule defines that the external codes created by the system follow the template Job
%d:
○ “Job” is the prefix for the number that is taken from the sequence.
○ %d is a placeholder; the Sequence object (SequenceJobCodeNumbering) defines what the
placeholder will be replaced with.
In this example, the next results would be: Job1011, Job1012, and so on.
If you want to add leading zeros, follow this format:
Job%50d
The result is Job000001011, with 5 leading zeros before the placeholder.
3. Assign the rule to the foundation object:
The rule is assigned to the corresponding HRIS element. In this example, it is assigned to the jobCode HRIS
element with the event onInit:
<hris-element id=”jobCode”>
<label>Job Classification</label>
<trigger-rule event=”onInit” rule=”JobNumberingID” />
...
For automatically setting external codes, you should always use an onInit or onSave event.
Examples for setting field properties
Setting default field properties (onInit event)
You can define that the middle name is required on the Add New Employee screen. For this, you use a rule to set the
field property. All other pages where this field appears would consider the properties set in the data model and rolebased
permissions.
This is the configurable rule you have to create to achieve this system behavior:
118 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
This is how you assign the rule to the personalInfo portlet in the Succession Data Model XML file:
<hris-element id=”personalInfo”>
<label>Personal Information</label>
<trigger-rule event=”onInit” rule=”PERS_ONINIT” />
Setting conditional field properties (onChange event)
When the Admin selects the location AN in the Job Information portlet, the department field becomes read-only, the
shift-code field is defaulted to the value 123, and the cost center becomes required.
This is the configurable rule you have to create to achieve this system behavior:
This is how you assign the rule to the jobInfo portlet in the Succession Data Model XML file:
<hris-element id=”jobInfo”>
<label>Job Information</label>
...
<hris-field id=”location”>
<label>Location</label>
<trigger-rule event=”onChange” rule=”PROP_LOC” />
</hris-field>
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 119
Example for error messages
Error message is displayed when national ID is not maintained (onSave event)
You want to define that when the Admin adds a new employee and wants to save the page or go to the next page
without maintaining the national ID, an error message is displayed and prevents the Admin to proceed, as in this
example:
This is the configurable rule you have to create to achieve this system behavior:
This is how you assign the rule to the National ID portlet in the Succession Data Model XML file:
<hris-element id=”nationalIdCard”>
120 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
<label>National ID Information</label>
<trigger-rule event=”onSave” rule=”REQUIRED” />
You select the rule event onSave to have the rule triggered when you either save the Personal Information
page of the Add New Employee screen, or when you move to the next page, for example by clicking on the
Personal Information tab on top, which automatically saves the current page.
Examples for cross-portlet rules
Pro-rating a pay component
When the FTE is changed in the job information, the system automatically adapts the basic salary according to the
relative change of the FTE.
To achieve this, you have to create the following rule:
● On the UI, the change happens to the Job Information portlet, but the update of fields is done in the
Compensation portlet.
● You choose a Model base object to be able to select the previous property.
● The If condition defines that any data change to the FTE field triggers the rule, following the definition
“New value is not equal to previous value”.
● The left expression of the Then condition defines that the system changes the basic salary pay
component. The right expression of the Then condition defines that the new basic salary is calculated
following this formula:
Pay Component Amount for Basic Salary * (Current FTE/Previous FTE)
This is how you assign the rule to the jobInfo portlet in the Succession Data Model XML file:
<hris-element id=”jobInfo”>
<label>Job Information</label>
<trigger-rule event=”onSave” rule=”JOBDTLS_ONSAVE” />
Creating a new pay component when employee moves to London
When an employee is transferred to London, the system automatically adds a new pay component for that employee
to compensate for the high cost of living in London. This is what the rule looks like:
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 121
Consider the following:
● As you can use only onSave events for cross-portlet rules, you first have to define a data change in the If
condition:
If Location.Previous Value is not equal to Location.Value
Otherwise, the rule would get triggered every time the data is saved again.
● In the Then condition, you use the Create output type to automatically create a new pay component for the
employee when the If condition is met.
This is how you assign the rule to the jobInfo portlet in the Succession Data Model XML file:
<hris-element id=”jobInfo”>
<label>Job Information</label>
<trigger-rule event=”onSave” rule=”Add_London_W” />
Removing a pay component when employee moves away from London
When an employee moves away from London, the system automatically removes the London-specific pay
component for that employee which was used to compensate for the high cost of living in London. This is what the
rule looks like:
122 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
Consider the following:
In the Then condition, you use the Delete output type to automatically delete the London-specific pay component
for the employee when the If condition is met.
This is how you assign the rule to the jobInfo portlet in the Succession Data Model XML file:
<hris-element id=”jobInfo”>
<label>Job Information</label>
<trigger-rule event=”onSave” rule=”Remove_London_W” />
Example for calculating a transient field
Calculate age based on date of birth (onView event)
You want to display the employee’s current age on the Personal Information page. As this is not a fix value, but
changes every year, you need to follow these steps:
1. You first need to create a custom field in the Succession Data Model that should display the age as in this
example (the custom field ID is custom-double1):
<hris-element id=”personInfo”>
<label>Biographical Information</label>
<hris-field max-length=”128” id=”custom-double1” visibility=”view”>
<label>Age</label>
</hris-field>
...
</hris-element>
The visibility has to be “view”, as this is a calculated field that the user should not edit.
2. Create a rule to calculate the age based on the date of birth as in this example:
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 123
You use the onView event for calculating transient fields.
3. As the field is a transient field, that means the result should not be written to the database as it changes all
the time, you have to create a second rule that sets the field “Age” back to null when saving:
4. Assign both rules to the HRIS element in the Succession Data Model as in this example:
<hris-element id=”personInfo”>
<label>Biographical Information</label>
<trigger-rule event=”onSave” rule=”AgeClearID” />
<trigger-rule event=”onView” rule=”AgeRuleID” />
<hris-field max-length=”128” id=”custom-double1” visibility=”view”>
<label>Age</label>
</hris-field>
...
</hris-element>
124 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Creating rules
Frequently Asked Questions (FAQs)
What is the difference between configurable rules and the HRIS propagation XML file?
With the HRIS propagation XML file, you can only default values from a foundation object to an employment object,
whereas you can use the configurable rules for all data objects that are part of the Succession Data Model, as well
as generic objects.
Furthermore, you cannot use the HRIS propagation XML file for more complex rules, such as setting conditional
values that are defaulted only when the Admin selects certain values, or defaulting specific values, such as 200 for
the Initial Stock Grant. HRIS propagation also does not allow you to raise error messages.
Can you assign rules to all HRIS elements?
You can assign rules only to HRIS elements contained in the Succession Data Model or the country-specific
Succession Data Model.
You cannot assign rules to the userAccountInfo HRIS element.
Can you assign more than one rule for the same HRIS element or HRIS field?
Yes, you can assign several rules for the same HRIS element or HRIS field in the data model.
Can you create country-specific rules?
At the moment, there is a limitation here. The rule itself that you define using the Rules Engine UI cannot refer to
country-specific fields. Only the HRIS elements and HRIS fields that are available in the Succession Data Model can
be selected here.
However, you can assign a rule to country-specific HRIS elements and HRIS fields in the country-specific Succession
Data Model. For example, you can define that when a country-specific field, such as the FLSA status field for USA,
is changed, a rule is triggered that sets a globally available field (that means it is defined in the Succession Data
Model), such as the job classification, to a certain value.
Can you assign a rule in the Succession Data Model, and then a rule for the same field or the same
element in the country-specific Succession Data Model?
Yes, you can assign a rule to the same HRIS field or HRIS element once in the Succession Data Model, and another
rule in the country-specific Succession Data Model.
Can you define rules that behave differently from the above mentioned use cases?
Which system behavior you can define with configurable rules depends on the functionality provided by the Rules
Engine. The examples mentioned above are only the most common use cases, but you are free to deviate from these
if the functionality is supported by the Rules Engine.
SuccessFactors
Creating rules I N T E R N A L • © 2013 SAP AG. All rights reserved. 125
8 Setting up approval workflows
8.1 What are approval workflows?
You can define workflows to set up approval processes for changes the manager or employee makes to an
employee's data. Let's say you have set up a workflow for changes to the national ID of an employee. If the user
changes this national ID, a popup shows who has to approve this change. If the user confirms the change, the approver
gets an approval request in the To-Do List. The change is not processed by the system until the approver approves
the request.
8.2 When do you want to use approval workflows?
The Admin defines which changes to an employee’s data trigger an approval workflow, and who needs to approve
the change. For example, if the employee creates a leave of absence, the manager has to approve it. Or if the manager
promotes an employee, the Admin can define that the manager's manager and the employee's HR responsible are
automatically notified by email about this promotion and make their approval required. Only if both have approved
this change, the change is processed by the system.
8.3 What are approver types?
The Admin defines the approver of a workflow by selecting the approver type. There are three approver types:
● Role
● Dynamic Role
● Dynamic Group Role
Role means that the approver is the employee, the employee's manager, the manager's manager, or the employee’s
HR responsible. The Admin can also select whether the old or new manager has to approve a step when an employee's
manager changes (Source for the old manager, Target for the new manager).
Dynamic Role means you let the system find the right approver. For example, let's assume the Admin wants to define
a controller role to represent the controller of a legal entity. Depending on the legal entity of the person for whom
the data has been changed, the system selects the controller of that legal entity.
Dynamic Group is a group of several approvers the Admin sets up before creating workflows. Any member of this
group can approve the workflow request.
126 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up approval workflows
8.4 What do you need to do first before you can create workflows?
● This is already included in the standard XML file for the Corporate Data Model:
Make sure the foundation object for workflow has been created as well as the following HRIS elements for
approval steps:
<hris-element id=”wfConfig”>
</hris-element>
<hris-element id=”wfConfigStep”>
</hris-element>
<hris-element id=”wfStepApprover”>
</hris-element>
● This is already included in the standard XML file for the Succession Data Model:
Make sure the pending approvals tab has been created:
<tab-element id=”pendingapprovals”>
<label>Pending Requests</label>
</tab-element>
● In the Succession Data Model, add the workflow-related HRIS elements you are going to refer to in your
workflow rules.
● If you use event-reason derivation rules, create the rules required for your workflows in the corresponding
XML file. For more information, see Setting up event-reason derivation rules [page 98].
● If you want to use Dynamic Roles or Dynamic Groups, you need to create these first as described below.
Tasks
How do you create Dynamic Roles?
As Dynamic Roles are foundation objects, the fields the Admin can fill out for setting up a new Dynamic Role have
been previously defined in the Corporate Data Model. By default, all foundation objects on Job entity will be shown
when you create a new Dynamic Role. If you want to hide any fields, set their visibility attribute to “none”. In the
following example, the fields Event Reason and Pay Grade will not appear on the UI for creating a new Dynamic Role:
<hris-element id=”dynamicRole”>
</hris-element>
<hris-element id=”dynamicRoleAssignment”>
<hris-field id=”eventReason” visibility=”none”>
<label>Event Reason</label>
</hris-field>
<hris-field id=”payGrade” visiblity=”none”>
<label>Pay Grade</label>
</hris-field>
</hris-element>
The Admin can now create a Dynamic Role using the fields defined in the Corporate Data Model. You might have to
show the Admin where this is done in the system:
Go to Administration Tools. In the Company Processes & Cycles portlet, choose Employee Files Manage
Organization, Pay and Job Structures . The Admin can choose several persons for a Dynamic Role. For example, it
is possible to set up the following two entries:
SuccessFactors
Setting up approval workflows I N T E R N A L • © 2013 SAP AG. All rights reserved. 127
● Location Canada, department Sales, person Sarah Jones
● Location USA, department Sales, person John Smith
If the employee whose data is changed belongs to location USA, department Sales, then John Smith gets the approval
request.
How do you create Dynamic Groups?
The Admin sets up Dynamic Groups in the system. You might have to show the Admin where this is done in the
system:
Go to Administration Tools. In the Company Processes & Cycles portlet, choose Employee Files Manage Workflow
Groups . This is where the Admin sets up who is part of a Dynamic Group. Under Membership you can see how
many people are part of this group. Once the workflow is triggered, all members of the Dynamic Group receive the
approval request. As soon as one of the members approves the workflow request, it is removed from all members'
pending approval requests.
8.5 How do you create workflows?
Tasks
1. Together with the customer, define the workflows the company wants to use.
2. The Admin creates the workflow foundation objects in the system one by one, or mass
uploads workflows via CSV file. The Admin also enters the approver(s) for a workflow
in this step.
You might have to show the Admin where this is done in the system:
1. To create single workflows, go to Administration Tools. In the Company Processes
& Cycles portlet, select Employee Files Manage Organization, Pay and Job
Structures .
2. To mass upload workflow data via CSV file, go to Administration Tools. In the
Company Processes & Cycles portlet, select Employee Files Import Foundation
Data .
3. The Admin creates one or more workflows and adds an external code in the
Code field.
4. The Admin adds one or more approval steps. The Admin can select Dynamic
Groups or Dynamic Roles that the Admin has set up before to choose the
approvers, or select the approver using the approver type Role. It is also possible
to add more than one approval step.
3. The Admin should now provide you with the external code of the workflows, as you will
reference these as <trueoutput> value in the XML file for workflow derivation rules.
4. Now you set up the workflow rules in the XML file.
1. In Provisioning, download the XML file for workflow derivation rules under
Succession Management Import/Export Rules XML for Workflow
Derivation .
128 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up approval workflows
2. Add a workflow rule. As value of the <trueoutput> tag of the rule, enter the
external code of the workflow the Admin has created before in the system.
You can find some examples and explanations below under XML examples
[page 129].
3. Upload the XML file under Succession Management Import/Export Rules XML
for Workflow Derivation .
8.6 XML examples
You can define whether a workflow is triggered based on a change on the UI, or if you want to use events you have
set up before. Here are some examples of how you can set up the workflow in the XML file:
Select workflow based on employee or job data
In this example, whenever the user changes the department, workflow DEPT_CHANGE is used. DEPT_CHANGE is
the external code of the workflow foundation object. You reference the department field as follows:
● The HRIS-element ID you defined before in the Succession Data Model is jobInfo.
● The HRIS-field ID is department.
<rule id=”rule-1”>
<trueoutput>DEPT_CHANGE</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.department” inverse=”true” />
</and>
</conditions>
</rule>
In this example, the rule is applied when the pay component in the Spot Bonus portlet changes:
● The HRIS-element ID for Spot Bonus is payComponentNonRecurring.
● The HRIS-field ID of the pay component is pay-component-code.
<rule id=”rule-30”>
<trueoutput>SPOTPAYCOMP</trueoutput>
<conditions>
<and>
<equal id=”payComponentNonRecurring.pay-component-code” inverse=”true” />
</and>
</conditions>
</rule>
In this example, the rule is applied when the user enters a relationship type other than “HR Manager” in the Job
Relationships portlet:
● jobRelationsInfo is the HRIS-element ID for the Job Relationships portlet
● relationship-type is the HRIS-field ID for the field where you select the manager for the relationship type
● hr manager is the external code for “HR Manager” of the picklist that is used to provide predefined values
for this field. The picklist ID is jobRelType.
SuccessFactors
Setting up approval workflows I N T E R N A L • © 2013 SAP AG. All rights reserved. 129
You can find out which picklists are used for a field in the Person object tables [page 240] and
Employment object tables [page 255].
<rule id=”rule-40”>
<trueoutput>HRMANAGER</trueoutput>
<conditions>
<and>
<equal id=”jobRelationsInfo.relationship-type.hr manager” inverse=”true” /
>
</and>
</conditions>
</rule>
Select workflow based on event
To base a workflow on an event, enter the ID in the following format: hris-element-id.event
The event field is a picklist. Value “5” is the external code of the event. As you compare this value with what the user
enters on the UI, or with the value derived by the system if you use event-reason derivation rules, you use the
compareToNew attribute.
If you have uploaded the standard picklist from SuccessFactors without changing the labels, you can find
the external codes and what their labels are in that file. In this example, the external code 5 refers to the
event Data Change.
If the picklist labels have been adjusted by the company, you need to check the picklists that were uploaded
in the system: Go to Administration Tools. In the Company & Processes portlet, select Company
Settings Manage Picklists . This is where you can download and open the picklist used in the system. In
the column for the external code, look for the value. In the same row, you find the label for your language
(for example, in column en_US).
<rule id=”rule-1”>
<trueoutput>OnLeave</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.event” value=”5” compareToNew=”true” />
</and>
</conditions>
</rule>
Select workflow based on event reason of the change
You can use any foundation object to create a workflow, including event reason. So, in the case of Leave of Absence,
you can define a rule based on the event reason foundation object in the workflow XML file. The value is the external
code of the event reason foundation object. The ID follows the following format: hris-element-id.event-reason
See the following example:
<rule id=”rule-2”>
<trueoutput>OnLeave</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.event-reason” value=”LOA” compareToNew=”true” />
</and>
</conditions>
130 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up approval workflows
</rule>
Select workflow based on country
You can have different workflows per country. The 3-letter ISO code is used for each country.
In the following example, two workflows are configured for the same change, but for users belonging to different
countries. The ID follows the format: hris-element-id.hris-field-id.country
You also need to include the country as a value: value=”USA”
<rule id=”rule-3”>
<trueoutput>CountryUSA</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.company.country” value=”USA” compareToNew=”false” />
<equal id=”jobInfo.department” inverse=”true” />
</and>
</conditions>
</rule>
<rule id=”rule-4”>
<trueoutput>CountryIndia</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.company.country” value=”IND” compareToNew=”false” />
<equal id=”jobInfo.department” inverse=”true” />
</and>
</conditions>
</rule>
Logical operands for rules configuration
You can use the following logical operands when defining rules:
● AND: Both conditions have to be true
● OR: At least one of the conditions has to be true
● XOR: a XOR b is true only when one of a, b is true, but NOT both are true (a so-called “exclusive OR”)
You cannot combine AND with OR, but you would have to create 2 different rules. For example, if you want a
rule for a data change to manager and cost center or department, you have to set up a rule for a data change
to manager and cost center, and then a second rule for manager and department.
Comparative operands for rules configuration
● Greater: The new value is greater than the old value.
● Lesser: The new value is less than the old value.
● Equal: The new value is the same as the old value.
If you want to set something to unequal, meaning data has changed, add inverse=”true” to it:
<equal id=”jobInfo.location” inverse=”true” />
Example for “greater”
In this example, the rule is met when the value for the pay grade is increased:
<rule id=”rule-2”>
<trueoutput>PAYGRADEINC</trueoutput>
<conditions>
SuccessFactors
Setting up approval workflows I N T E R N A L • © 2013 SAP AG. All rights reserved. 131
<and>
<greater id=”jobInfo.pay-grade” />
</and>
</conditions>
</rule>
Example for “lesser”
In this example, the rule is met when the value for the pay grade is lower than before:
<rule id=”rule-3”>
<trueoutput>PAYGRADEDEC</trueoutput>
<conditions>
<and>
<lesser id=”jobInfo.pay-grade” />
</and>
</conditions>
</rule>
Example for “equal”
“Equal” is mostly used in its reverse sense, meaning, that something has changed and thus is not equal anymore.
This is achieved by adding the inverse=”true” attribute. In the following example, the rule is met when the location
in the job information portlet is changed:
<rule id=”rule-3”>
<trueoutput>PAYGRADEDEC</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.location” inverse=”true” />
</and>
</conditions>
</rule>
Field change triggers rule
To have any kind of change to a field value on the UI trigger a rule, use the inverse=”true” attribute. In this example,
the rule is met when the job code changes:
<rule id=”rule-1”>
<trueoutput>JOB_CHANGE</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.job-code” inverse=”true” />
</and>
</conditions>
</rule>
Field change to a certain value triggers rule
In this example, if an employee's department is changed to “ENG”, the workflow ENG_DEPT_CHANGE is used. The
compareToNew attribute determines whether to use the new value for comparison or the old value; that is, if the
compareToNew attribute value is true, then it uses the new department value that is changed in Employee Central.
If the compareToNew attribute value is false, then it uses the user's current department. So in this example, if the
user’s department is changed to something other than ENG, this rule will not be used:
<rule id=”rule-1”>
132 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up approval workflows
<trueoutput>ENG_DEPT_CHANGE</trueoutput>
<conditions>
<and>
<equal id=”jobInfo.department” value=”ENG” compareToNew=”true” />
</and>
</conditions>
</rule>
You can also set the compareToNew attribute to “false” if you want to evaluate the initial value of an attribute as
in the following example:
<equal id=”jobInfo.custom-string12” value=”N” compareToNew=”false” />
Change to specific data object triggers rule
Instead of defining the HRIS-field ID as you did in the previous two examples, you can also define the ID of a specific
foundation, person or employment object. In the following example, the pay component group A1 has been defined
in the system. A1 is the external code of the pay component group (standard label on the UI is Pay Component Group
ID). In the XML file, you follow this syntax: hris-element-id.externalCode
The following rule is met when a change, such as a salary change, to A1 takes place:
<rule id=”rule-3”>
<trueoutput>SC01</trueoutput>
<conditions>
<and>
<equal id=”payComponentGroup.A1” inverse=”true” />
</and>
</conditions>
</rule>
8.7 How do you set up alerts and notifications?
You can define the following types of alerts and notifications for workflows:
You want to... That are sent when... Then choose this method:
Define templates for email
notifications and To-Do alerts
A workflow is approved or a
comment is added
Set up workflow notifications [page 133]
Send reminder notifications A workflow has been pending for
a certain period and action is
required
Set up reminder notifications [page 135]
Send email notifications and To-
Do alerts
A period is approaching its end
and action is required
Set up alerts and notifications using rules [page 137]
Tasks
Set up workflow notifications
You can set up email notifications if the person doing the change and the approver of the
current step are to get an email if somebody approves a workflow or writes a comment. This
SuccessFactors
Setting up approval workflows I N T E R N A L • © 2013 SAP AG. All rights reserved. 133
is an optional step; if you don't define email notifications, the approvers will still get the approval
request in their To-Do List.
To set up workflow notifications:
1. Go to Administration Tools.
2. In the Company Processes & Cycles portlet, select Company Settings E-Mail
Notification Templates Settings .
3. Define the templates using the following tags that are currently supported:
Tag Name Description Sample Value
APPROVAL_CHAIN The approval chain up to the
current user who gets the
email notification
List of users
CURRENT_OWNER The current owner of the
workflow with whom the
workflow is or by whom the
workflow is rejected (if the
workflow is rejected by an
approver)
User
EFFECTIVE_DATE The effective start date for the
suggested change
Calendar date
EVENT The event associated with the
workflow
Change Job/
Transfer/Data
Change
EVENT_REASON Event reason associated with
the workflow
For Employee Central
2.0, we suggest you use
event reasons instead of
HRIS actions.
Hire, transfer
CREATED_USER The user who created the
workflow
CREATED_TIME Date/time at which the
workflow was created
The company's default date
format is selected.
RECENTLY_APPROVED_BY The name of the user who
recently approved the
workflow request
Bill Mintz
RECENTLY_APPROVED_BY_COMMENT Comments entered by the user
who recently approved the
workflow request
Comments
posted by
recently
approved
approver
RECENT_COMMENT_POSTED Recently posted comment on
workflow by the approver or
contributor
Comments
posted by
approver/
contributor
RECENT_COMMENT_POSTED_BY Full name of the user who
recently posted the comment
RECENT_COMMENT_POSTED_DATE Date/time when the latest
comment was posted
07/09/2012
RECIPIENT_NAME Full name of the email recipient
134 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up approval workflows
Tag Name Description Sample Value
REJECTED_BY The user who rejected/
declined the workflow
REJECTED_BY_COMMENT Comments entered by the user
who rejects the workflow
request
Comments
posted by
rejected
approver
SUBJECT_USER The user for whom the change
is suggested
User
VIEW_LINK Link to the approval page
Set up reminder notifications
You can define that the current workflow approver is reminded to take action on a pending
workflow after a certain number of days. To achieve this, you have to set up reminder
notifications for approval workflows. You can either...
● Set up the same number of days for all workflows
In this case you only have to set up the number of days once in Provisioning.
● Set up individual number of days for different workflow foundation objects
For example, you might want to have a more frequent reminder for promotion-related
workflows than for job relationship changes. For simple data changes you might even
decide not to have any reminder notifications at all. The Admin can define the number
of days for each workflow foundation object individually in the Administration Tools.
To set up reminder notifications:
1. Log in to Provisioning, and select your company.
2. Under Managing Job Scheduler, click Manage Scheduled Jobs.
3. On the Manage Scheduled Jobs page, click Create New Job:
4. On the Create New Job page, enter the required details:
● Job Name: Enter a name for the job.
● Job Owner: Enter a valid user in the system.
● Job Type: Select Workflow Action Reminder.
● Job Parameters: Remind In Days: Here you have two options:
○ To set up the same number of days for all workflows, enter a number into this
field.
This is the number of days after which a reminder notification is sent to the
current approver of a pending workflow.
○ To set up individual number of days for different workflow foundation objects,
leave this field empty.
● Occurrence: Select Recurring.
Choose an appropriate time. We recommend to run this job daily, once a day.
● Start Date: Enter the date when this job should be run for the first time.
SuccessFactors
Setting up approval workflows I N T E R N A L • © 2013 SAP AG. All rights reserved. 135
● Additional E-mail Recipients: You can enter additional email recipients who should
be notified when this scheduled job is completed. Note that this has got nothing
to do with the actual workflow notification sent to the workflow approvers.
5. Click Create Job.
6. In the row that contains the created scheduled job, click Select Submit .
If you have chosen to set up the same number of days for all workflows by entering a
number in the Remind In Days field, you are done with setting up the reminder
notifications.
If you have chosen to set up individual number of days for different workflow foundation
objects by leaving the Remind In Days field empty, you have to follow one more step:
7. In Provisioning, check that the following HRIS field is part of the Corporate Data Model:
<hris-element id=”wfConfig”>
...
<hris-field id=”remind-indays” visibility=”both”>
<label>Remind in Days</label>
</hris-field>
...
</hris-element>
Note: You can find more information about the Corporate Data Model under Setting up
the Corporate Data Model [page 40].
This field is displayed in the system, in the Administration Tools:
The Admin can enter a different number of days in this field for the different workflow
foundation objects existing in the system. To do this, the Admin has to go to the
Administration Tools, to the Company Processes & Cycles portlet and select
Employee Files Manage Organization, Pay and Job Structures .
The resulting system behavior is the following:
When the scheduled job runs, the system gets all the pending workflows. The number of days
is determined either based on what you have entered in the scheduled job in Provisioning, or
— if that field is empty — from what the Admin has entered for each workflow foundation object
in the Administration Tools. If the workflow has been pending for that number of days, the
reminder notifications are sent to the current approver.
The reminder notification reuses the original notification the approver gets when a workflow
is triggered, with “Reminder:” in the email subject line. So there is no need to configure a
specific email template for reminder notifications.
136 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up approval workflows
You have configured the number of days as 2 for a workflow foundation object. If
no action has taken place for that workflow, then a reminder is sent on day 2, 4, 6,
8, and so on, until the current approver takes action on that workflow. The action
could be adding a comment, or changing approvers in the workflow.
Let's say the current approver gets a reminder on day 2. The approver then makes
a minor change on the third day, like adding a comment, and then again leaves the
workflow pending for another 2 days. The next reminder is sent on day 5. This
behavior will be repeated until the approver finally approves or rejects the workflow.
Set up alerts and notifications using rules
You can set up To-Do alerts and email notifications that are sent when a certain period
approaches its end to remind the user to take action. For example, you can define that the HR
Admin is notified 10 days before an employee's contract ends. You can also customize the
alert and notification template.
Currently, you can set up this feature only for changes done to the Job Information
record.
Here's an overview of the implementation sequence:
Step Details
1. (Optional)
Define an
alert
message
template
If you want to deviate from the default template, you can define your own.
2. Define a
rule
Here you define....
● When the rule is triggered (for example, 10 days before a contract ends)
● Which workflow is assigned to it
The workflow defines which users get the alerts and notifications:
○ The CC users receive an email notification.
○ The workflow step approvers receive an alert in their To-Do list.
○ If only CC users are assigned to a workflow, only email notifications are
sent. If only workflow step approvers are assigned to a workflow, only To-
Do items are created as alerts.
● Which alert message template is used for the alerts and notifications
3. Assign the
rule to the
HRIS
element
This enables the rule to be triggered.
4. Schedule a
job
The first time you are setting up alerts and notifications using rules, you need to
schedule a job in Provisioning.
To set up alerts and notifications using rules:
1. (Optional): Define an alert message
If you do not define an alert message, the alerts and notifications follow this default
format:
● Email Header/To-Do item name: Alert for (subject user name), (event reason)
● Email Body/To-Do item detail: Alert for (subject user name), (event reason) on
(effective start date)
SuccessFactors
Setting up approval workflows I N T E R N A L • © 2013 SAP AG. All rights reserved. 137
Example for a default email notification:
Example for a default To-Do list alert:
To define your own alert message:
1. Go to Administration Tools.
2. In the Company Processes & Cycles portlet, select Company
Settings Configure Object Definitions .
3. On the Configure Object Definitions screen, search for Object Definition:
AlertMessage.
4. Change the Alert Description maximum length to 4000. This enables the user to
enter long description texts.
5. Go back to Administration Tools.
6. In the Company Processes & Cycles portlet, select Employee Files Manage
Data .
7. Select Create New: AlertMessage.
8. Enter the required fields:
externalName: Enter a name for the alert message.
externalCode: Enter a unique ID for the alert message.
effectiveStatus: Select Active.
138 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up approval workflows
alertHeader: Enter the default format for the header of the email notification
message, and the To-Do item’s label.
alertDescription: Enter the default format for the description of the email
notification message and the To-Do item.
You can use only the following tags:
● Subject user in the format [[SUBJECT_USER]]
● Event reason in the format [[EVENT_REASON]]
● Effective start date in the format [[EFFECTIVE_DATE]]
9. Save your changes.
2. Define the rule
1. Go to Administration Tools.
2. In the Company Processes & Cycles portlet, select Company
Settings Configure Business Rules .
3. Click Create New Rule .
4. Enter the following fields:
● Rule ID: Enter a unique external code for the rule.
● Rule Name: Enter a name for the rule.
● Base Object: You can only select Employee Information or Employee
Information Model.
Employee Information is a composite of the portlets displayed on the Add New
Employee screen. Select Employee Information Model if you want to set field
properties in the rule.
● Rule Type: Select a rule type. You do not have to use a specific rule type for
setting up alerts and notifications.
5. Click Manage Parameters.
6. Select Alert as object, and enter the code and name as displayed here:
Make sure that the text is exactly Alert.
7. Enter the If and Then conditions for the rule as in this example:
SuccessFactors
Setting up approval workflows I N T E R N A L • © 2013 SAP AG. All rights reserved. 139
Currently, you can assign the rule event only to the jobInfo HRIS element.
Consider this when defining the If condition.
Note the following for the Then condition of the rule:
● Alert.Workflow Information defines which workflow is assigned to this
rule. The workflow defines which users get an alert and/or a notification
message.
This is a required entry for the alert rule.
● Alert.Effective Date defines when the rule is triggered.
This is a required entry for the alert rule.
● Alert.Alert Message defines which custom alert message format is used
for the alert and notification information.
This is an optional entry for the alert rule; if it is not defined, the system uses
the default message template as explained in step 1: Define an alert
message.
8. Save the rule.
3. Assign the rule to the HRIS element
You have to assign the rule to the corresponding HRIS element to trigger the rule.
Currently, you can assign the rule event only to the jobInfo HRIS element.
1. Go to Provisioning.
2. Download the Succession Data Model and assign the rule you have created by
adding the trigger-rule event saveAlert as in this example:
<hris-element id=”jobInfo” >
<label>Job Information</label>
<trigger-rule event=”saveAlert” rule=”Rule1” />
<trigger-rule event=”saveAlert” rule=”Rule2” />
<hris-field id=”company” visbility=”both”>
....
140 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up approval workflows
</hris-field>
...
</hris-element>
3. Save your changes.
4. Import the data model in Provisioning.
4. Schedule a job
You have to do this only once when you set up alerts and notifications for the
first time.
1. Log in to Provisioning, and select your company.
2. Under Managing Job Scheduler, click Manage Scheduled Jobs.
3. On the Manage Scheduled Jobs page, click Create New Job:
4. On the Create New Job page, enter the required details:
● Job Name: Enter a name for the job.
● Job Owner: Enter a valid user in the system.
● Job Type: Select EC Alerts and Notifications.
● Job Parameters: Modified date since: Here you have two options:
○ Last successful EC Alert job run date
If the scheduled job runs for the first time and you choose this option,
the alert job checks all the history job information records.
After the first scheduled job run, the alert job checks all the job
information records that have been modified on or after the last
successful EC alert job run date.
○ Specify a date
If you choose this option, the alert job checks all the job information
records that have been changed on or after the specified date.
● Occurrence:
○ If you have chosen Last successful EC Alert job run date, we recommend
you select Recurring.
○ If you have chosen Specify a date, you have to select Once.
5. Click Create Job .
This is how the rules are triggered:
1. The scheduled job scans all the job information records that have been modified
since the specified date.
SuccessFactors
Setting up approval workflows I N T E R N A L • © 2013 SAP AG. All rights reserved. 141
Keep in mind that changes to the job information record are only saved
directly if they don't have to go through an approval workflow themselves.
Let's say the user changes the location. There is an approval workflow
assigned to this type of change. The change will only be made to the job
information record after the last approver of that workflow has approved
the change.
2. If the job information matches the rule you have defined beforehand, the system
triggers the rule and sends alerts and notifications.
Please note the following:
When the job information record change matches multiple rules, and the rules use
the same message object, only one To-Do alert or email notification are created.
Here's an example:
Example 1: Two rules triggered on same date
Job
Information
Record Change Rule
Alert Effective
Date Alert Message Alert
Job change 1 Rule 1 January 01 Message 1 Alert 1
Job change 1 Rule 2 January 01 Message 1 Alert 2
As a result, only one To-Do item is created and one email notification is sent, as
the message is the same.
Example 2: Two rules triggered on different dates
Job
Information
Record Change Rule
Alert Effective
Date Alert Message Alert
Job change 1 Rule 1 January 01 Message 1 Alert 1
Job change 1 Rule 2 January 15 Message 1 Alert 2
As a result, when the first rule is triggered, one To-Do item is created and one email
notification is sent for Alert 1. When the second rule is triggered, the first To-Do
item is deleted, as the message is the same. A new To-Do item is created and an
email notification is sent for Alert 2.
142 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Setting up approval workflows
9 Working with data imports
9.1 Introduction to Data Imports
Now that you’ve configured the different data models, rules and foundation objects, the framework for Employee
Central is in place. You’re now ready to upload data and are a step closer to getting your customer started. Importing
employee data is an efficient way of adding employees to the system, managing large-scale data migrations, or
handling large scale organization and pay changes.
In SuccessFactors, you can upload data using the Import feature. Using the Import feature, you can upload
foundation data, employee data, and picklists.
We recommend creating a backup of the file before uploading records. That way, you’ll be able to retrieve
records, in case data is accidentally wiped out.
9.2 Importing Foundation Data
Foundation Objects capture detailed information about company’s organization, pay and job structure.
It is important that you upload foundation data before any other type of data is imported as this information is used
across the company. For more information about Foundation Objects, refer to chapter Working with Foundation
Objects [page 78].
Some points to note:
● The foundation objects listed on the Import Foundation Data page are determined by the corporate data
model. The same is true with the way the objects are listed on the page.
● The CSV template for a foundation table is determined by the configuration of the corporate data model. To
make sure you are using the right CSV template, always download a copy from the system before you start.
● The order of columns in the CSV template doesn’t matter but it is important that all columns exist.
● When uploading foundation data, it is important to note the associations defined in the data model. A child
object must be uploaded before the parent object is uploaded else the import will fail. For example, you can
have an association between LegalEntity and Department which means that certain departments can be tied
to a specific Legal Entity. When performing an import of LegalEntity, Department will appear as a column in
the import file. For these columns, the external code of the associated foundation object has to be specified.
So, the associated foundation object i.e, Department must be imported before the Legal Entity foundation
object is imported.
● All foundation objects support two modes – Full Purge and Incremental Load.
● Some foundation objects support a type of Incremental Load i.e., the Partial Import. For information on Partial
Imports as well as objects that don’t support Partial Import, refer to the FAQ.
For a list of common Foundation Objects and the type of information they store, refer to section Which foundation
objects can you use to structure your business [page 80].
SuccessFactors
Working with data imports I N T E R N A L • © 2013 SAP AG. All rights reserved. 143
Task
How do you import Foundation Data?
1. In the Administration Tools Company Processes & Cycles Portlet , select
Employee Files Import Foundation Data . This brings up the Import Foundation
Data page.
2. If you haven’t already downloaded the Import template, download it by clicking the
Download dropdown menu and clicking the name of the template to download.
3. Save the template to a location of your choice and update.
4. To upload the file, specify the type of import you’d like to do.
5. Specify whether the upload should overwrite existing records or add to existing records.
Choose between Full Purge and Incremental Load. To know about the difference
between a Full Purge and an Incremental Load, refer to the FAQs.
6. In the Real-Time Threshold field, specify the maximum number of records to process
in real time. When the number of records in this file exceed this value, the import
process is invoked in the asynchronous mode (as a background process).
7. In the Choose File field, specify the path to the file.
8. In the File Encoding dropdown, select the relevant encoding applicable.
9. Click Validate Import File Data to check the file for errors. If you encounter errors, fix
the errors and then validate again. For a list of the different errors as well as what they
mean, refer to https://confluence.successfactors.com/display/~ngupta/
Import+Messages.
10. Once the file passes the validation checks, upload the file by clicking Import.
We recommend downloading the template from the system, as every company’s
template differs. The template is determined by the corporate data model. For more
information on Data Models, refer to chapter Setting Up Data Models [page 30].
9.3 Translating Foundation Data
Foundation objects reflect a company's basic information about the organization, pay, and job structure. This is
fundamental data that appears repeatedly throughout the system not just for the Admin, but also for the employees.
Therefore it is important that this information can be shown in the user's language.
To achieve this, you can translate language-specific data of foundation objects, such as the name and description
of the department, business unit, or job classification.
Depending on the type of the foundation object, the translation process is handled differently for:
● Job Classification foundation objects (technical name: jobCode)
● All other foundation objects (except jobCode)
Translating data for foundation objects is a 3-step process that includes the following steps:
1. Export or list the translatable foundation data
2. Translate the foundation data
144 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with data imports
3. Import the translations
What do you have to do before you can translate foundation data?
For jobCode foundation objects:
Set the role-based permissions:
1. Go to Administration Tools.
2. In the Manage Employees portlet, select Set User Permissions Manage Permission Roles .
3. Click on the corresponding permission role.
4. Click the Permission... button.
5. In the Permission settings dialog box, scroll down to the Administrator Permissions and click Manage
Foundation Objects, then select the Import Translations checkbox on the right.
6. Click Done , and save your changes.
For all other foundation objects:
If you have followed the implementation sequence described in this handbook, you probably already have...
● Selected the checkbox Enable Translation of Employee Central Foundation Objects in Provisioning
● Enabled generic objects in Provisioning
You can find more information under How do you configure and manage generic objects? [page 89]
● Set up the Corporate Data Model
● Imported or created foundation objects
You can find more information under Importing Foundation Data [page 143].
How do you translate foundation data?
Note that the process differs depending on the type of foundation object.
For jobCode foundation objects:
1. Get a list with the jobCode data that you want to translate. Please note that you can only translate data that
is used in the following jobCode fields:
● name
● description
● custom-string1–20
These are the HRIS-field IDs used in the Corporate Data Model for the jobCode HRIS element.
Note that you can also import the data and the translations before you import or create the jobCode
foundation objects that use this data.
To get a CSV file that includes all translatable foundation data of existing jobCode foundation
objects, you can create an ad-hoc report. You can find more information on how this is done in the
EC Reports Handbook.
2. Translate the data:
1. You can send the list with the jobCode texts to the translator(s) to have the texts translated.
2. Create a CSV file in the following format and enter the texts in the company's default language as well
as the translations:
SuccessFactors
Working with data imports I N T E R N A L • © 2013 SAP AG. All rights reserved. 145
Here's how to read the file:
● The first row contains the locale IDs of the languages you want to enter translations for. You can
find the correct locale ID for each language in Provisioning under Company Settings (for example,
en_US for US English, fr_FR for French, and so on).
● Add one column per language. The sequence of columns (that means which language to put into
the first column, which into the second column, and so on) does not matter, but you have to include
the default language that has been set in Provisioning under Company Settings in this CSV file. Note
that you can only import translations for the language packs activated in Provisioning.
● The second row contains the names of the locales in English. This line is ignored when the data is
imported.
● The data in row 3 and below will be imported. Here you enter the texts that appear on the user
interface, as well as their translations. Only texts in the following HRIS fields for jobCode are
translatable:
○ name
○ description
○ custom-string1–20
● You can only import translations for the language packs activated in Provisioning
under Company Settings to be able to import the file.
● You do not have to enter translations for all activated language packs, nor do you have
to enter translations for all texts you want to use in the translatable fields for
jobCode.
● The sequence of the translatable texts does not matter.
● We recommend you use the character set UTF-8 for the CSV file.
3. Import the translations:
1. Go to Administration Tools. In the Company Processes & Cycles portlet, select Employee Files Import
Translations .
2. In the Choose File field, browse for the CSV file you have created before.
3. Click the Import button.
For all other foundation objects except jobCode:
1. Export existing foundation data into a CSV file:
1. Go to Administration Tools. In the Company Processes & Cycles portlet, select Employee Files Generic
Objects Import/Export .
2. In the Download Data Import File Template field, select FoTranslation.
3. In the confirmation popup that asks if you want to fill the download template with existing data, select
Yes.
146 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with data imports
4. Go to Administration Tools. In the Company Processes & Cycles portlet, select Employee Files Monitor
Job .
5. Open the download template that starts with FoTranslation_MDFExport by clicking Download Status.
This is a sample for what the downloaded CSV file looks like:
If the downloaded CSV file contains only the first two rows, the initialization of the
FoTranslation object has probably not finished yet. This initialization process is started when
you activate foundation object translation in Provisioning, and it can take up several hours,
depending on the number of foundation objects existing in the system.
The first two rows are the column titles. The columns define the following:
● externalCode: This is a specific external code that the system assigns all instances of foundation
objects that exist in the system. This is not the external code the Admin has created or imported,
but it is the FoTranslation-specific external code that is created when you enable the foundation
object translation in Provisioning.
● foObjectID: This is a specific ID that the system assigns all instances of foundation objects that exist
in the system. This ID is created when you enable the foundation object translation in Provisioning.
● foType: This is the type of the foundation object, for example, businessUnit, jobFunction,
company, and so on.
● foField: This column contains the HRIS-field ID for all translatable fields (typically name and
description).
● value.*: The remaining columns that begin with value. and that are followed by the locale ID for the
corresponding language (for example, value.en_US for US English, value.fr_FR for French)
represent one language.
The texts that the Admin has entered for the name and description of existing foundation objects
are contained in the corresponding language column.
All other language columns are determined by the language pack activated in Provisioning. You have
to enter the translations into these columns.
2. Translate the foundation data:
1. You can now send the CSV file to the translator(s) who can edit the file offline.
2. Consolidate the translations for all required languages in one CSV file.
SuccessFactors
Working with data imports I N T E R N A L • © 2013 SAP AG. All rights reserved. 147
There is no incremental upload for foundation object translations supported. That means if you
have already uploaded translations before, the latest CSV file upload will overwrite the previous
one. Therefore it is important that the consolidated document contains all translations that are
required, even if the translation is a shared process of different translators.
This is an example for a translated file, the translations are highlighted:
3. Import the translations:
1. Upload the CSV file that contains the translations in Administration Tools. In the Company Processes &
Cycles portlet, select Employee Files Generic Objects Import/Export .
2. In the Import portlet, in the Type field, select FoTranslation.
3. In the File field, browse for the translated CSV file.
4. In the File Encoding field, select the character set that is appropriate for the languages that you want to
import to guarantee that all special characters of the languages are displayed correctly.
5. In the Purge Type field, select Full Purge.
6. Click Validate to make sure the file has no formatting errors.
7. If there are no validation errors, click Import.
After the import, the system decides in which language a foundation object is displayed in this sequence:
1. The system checks whether the foundation data is available in the logon language of the user.
This is the language the user has selected under Options Change Language .
2. If there is no translation in the logon language, the system shows the default language that has been set in
Provisioning under Company Settings Default Language .
3. If there is no translation in the default language, the system looks for a translated term in US English.
Adding or changing translations
For jobCode foundation objects:
Follow the same steps as described before under How do you translate foundation objects?
There is no option to add or change translations for jobCode directly on the user interface.
For all other foundation objects (except jobCode):
If you want to add or change translations after you have already imported translations for foundation objects (except
jobCode), you have two choices:
148 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with data imports
1. Export and import translations as described above under How do you translate foundation objects?
This is recommended if you want to translate a high number of new or changed fields in multiple languages.
2. Add or change translations on the user interface
This is recommended if you want to add or change only a few terms, for example, when you want to correct
single terms that have not been translated appropriately.
To do this, you have to:
1. Go to Administration Tools. In the Company Processes & Cycles portlet, select Employee
Files Manage Organization, Pay and Job Structures .
2. In the Search field, select the type of the foundation object (for example: Legal Entity), and the specific
foundation object (for example: Company USA) for which you want to add or change a translation.
3. Click the Translations icon next to the translatable field as shown in this example:
4. Enter or change the translation directly in the popup:
5. Click Done.
6. Click Save.
Limitations
The translations of foundation objects are not shown in the Employee Profile. The Employee Profile reuses foundation
object data for basic organizational information, such as division, department, and location.
SuccessFactors
Working with data imports I N T E R N A L • © 2013 SAP AG. All rights reserved. 149
Within Employee Central, there are two areas where the Employee Profile is used and where the foundation object
translations are not shown:
9.4 Importing Employee Data
When importing employee data, the sequence of import counts. When you import data, you perform certain activities.
The checklists below lists the different activities you need to perform, as well as the imports required to complete
each activity. The order specified in the checklist is important and must be followed.
Step 1: Create User Accounts
Run this import Notes
Basic Import The first import that must be performed. When you run a Basic Import, user accounts
are created for all users whose data is to be uploaded.
This is a required import.
Extended Import Additional information stored by the system related to user accounts.
This is optional and can be done later.
Background Import Additional information stored by the system related to user accounts.
This is optional and can be done later.
Step 2: Create ‘Persons’ in the system
150 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with data imports
Run this import Notes
Biographical
Information Import
Once the user accounts are ready, each user account must be populated with
biographical information. When this is done ‘persons’ are created in the system.
This is a required import.
Step 3: Upload Employment Information
Run this import Notes
Employment Details
Import
Run this import to upload employment information.
This is a required import.
Work Eligibility Run this import to upload information about employee work eligibility. This includes
information like the employee’s passport details and citizenship.
This is optional and can be done later.
Step 4: Upload Job Information
Run this import Notes
Job History Import The Job History template includes information about the current assignment as well,
so this is a required import.
This is a required import.
Job Relationships This import uploads information about other managers that the employee works with.
For example, Matrix Manager and HR Manager. Note that information about the
employee's Direct Manager is not captured in this file.
This is optional and can be done later.
Step 5: Upload Compensation Information
Run this import Notes
Compensation Info
Import
Run this import to upload information about the employee’s salary.
Note that this must be done before any of the “Pay Component” imports are done. This
is because the recurring import is dependent on the Compensation Info Import.
While this import can be done later, it is recommended that this import be done to ensure
employee information uploaded is complete.
Pay Component
Recurring Import
An essential import to complete the information stored by the Compensation Info
Import. Uploads information about the recurring part of the employee’s pay. This must
be done.
To complete the Compensation Info Import, this is a required import.
Pay Component Non
Recurring Import
Uploads information about the non-recurring part of the employee’s pay.
This is optional and can be done later.
Step 6: Upload Personal Information
Run this import Notes
Personal Information
Import
Must be done. This upload adds basic personal information about the employee.
This is a required import.
Global Information
Import
Run this import to upload country-specific information about the employees.
Information uploaded through this import is displayed in the Personal Information
portlet.
This is optional and can be done later.
Phone Information
Import
Run this import to upload information about the employee’s contact phone numbers.
This is optional and can be done later.
SuccessFactors
Working with data imports I N T E R N A L • © 2013 SAP AG. All rights reserved. 151
Run this import Notes
Email Information
Import
Run this import to upload information about the employee’s email IDs.
This is optional and can be done later.
Social Accounts
Information
Run this import to upload information about the employee’s social accounts like
Facebook and LinkedIn.
This is optional and can be done later.
National Id Information Run this import to upload information about an employee's national identification
number. Every country provides a unique identification number to its citizens. For
example, in the US, the Social Security Number is used as a unique identification. In
India, the PAN Card is used as a unique identification document and in China, it's the
Resident Identity Card.
This is optional and can be done later.
Direct Deposit Run this import to upload information about the employee’s bank account to which the
salary will be credited.
This is optional and can be done later.
Addresses Run this import to upload information about an employee’s addresses.
This is optional and can be done later.
Emergency Contact Run this import to upload information about an employee’s emergency contacts.
This is optional and can be done later.
If you’re looking just doing the bare minimum imports so you can begin testing, here’s a list of imports you
must complete. You can always come back and complete the rest of the imports later.
Perform these imports in the order mentioned below.
1. Basic Import
2. Biographical Information Import
3. Employment Details Import
4. Job History Import
5. Compensation Info Import
6. Personal Information Import
Task
How do you import Employee Data?
1. In the Administration Tools Manage Employees Portlet , select Update User
Information Import Employee Data . This brings up the Import Employee Data page.
2. If you haven’t already downloaded the Import template, download it by clicking the
Download dropdown menu and clicking the name of the template to download.
3. Save the template to a location of your choice and update.
4. To upload the file, specify the type of import you’d like to do.
5. Specify whether the upload should overwrite existing records or add to existing records.
Choose between Full Purge and Incremental Load. To know about the difference
between a Full Purge and an Incremental Load, refer to the FAQs.
6. In the Real-Time Threshold field, specify the maximum number of records to process
in real time. When the number of records in this file exceed this value, the import
process is invoked in the asynchronous mode (as a background process).
152 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with data imports
7. In the Choose File field, specify the path to the file.
8. In the File Encoding dropdown, select the relevant encoding applicable.
9. Click Validate Import File Data to check the file for errors. If you encounter errors, fix
the errors and then validate again. For a list of the different errors as well as what they
mean, refer to https://confluence.successfactors.com/display/~ngupta/Import
+Messages .
10. Once the file passes the validation checks, upload the file by clicking Import.
We recommend downloading the template from the system, as every company’s
template differs. The template is determined by the Corporate Data Model. For
employee data, the template is determined by the Succession Data Model. For more
information on Data Models, refer to Setting Up Data Models [page 30].
9.5 Importing Picklists
Picklists determine the information that gets displayed when a dropdown menu is clicked for an object defined in
the data model.
Note that a single picklist is used across all SuccessFactors modules, so we suggest you exercise caution
when making changes.
A master picklist is available at: https://confluence.successfactors.com/display/PRODINFO/Data+Models+and
+Picklists . Download this file to get started. A lot of research has gone into creating this picklist – it is quite complete.
Only company specific values need to be added to the file. Review the picklist and upload.
The master picklist is in XLS format. Save this file in CSV format before you upload it to SuccessFactors. You
can do this using any Spreadsheet editor.
For picklists, the Import engine expects the picklist label to be specified with the exception of the following where
the external code defined in the data model needs to be specified:
● AddressType (in Address)
● Event in EventReason Foundation object Import
● JobRelationships.
For information on how the different data models are set up and where you can find the picklist label and external
code, refer to Setting Up Data Models.
Task
How do you import Picklists?
1. Download the master picklist from https://confluence.successfactors.com/display/
PRODINFO/Data+Models+and+Picklists .
2. Review the picklist and modify, as required.
SuccessFactors
Working with data imports I N T E R N A L • © 2013 SAP AG. All rights reserved. 153
3. When you’re ready to upload the picklist, in the Administration Tools Company
Processes & Cycles Portlet , select Company settings Picklists Management .
This brings up the Picklists page.
4. Click Import Picklists.
5. In the Import File field, specify the path to the picklist you’d like to upload.
6. For the question Are all the picklists new, select yes.
7. Select the relevant character encoding from the Character Encoding dropdown menu.
8. Click Submit.
We recommend downloading the template from the system, as every company’s
template differs. The template is determined by the different language packs
installed.
9.6 FAQs: Importing Data
How do you track the status of an import?
Historically, the status of Employee Imports, Foundation Object Imports and Metadata Framework imports could
only be tracked using Quartz in Provisioning. You can now also track status of imports using the Administration
Tools. To view the report, select the Company Processes & Cycles portlet, and select Employee Files Monitor
Jobs .
In what format does data need to be uploaded?
In SuccessFactors, data is uploaded using a CSV(Comma Separated Values) file. CSV files stores records in text
format, generally separated by a delimiter like a comma or tab. Files in this format can be opened by any spreadsheet
or editor.
For each type of import, a unique CSV template exists to help you with the different columns required in the file.
Does the uploaded CSV file need to follow a naming convention?
No. SuccessFactors only uses the content within the file and not the file itself. So, the name does not matter.
Why does the basic import not include records for inactive employees?
By default, records for inactive employees are not processed. To include records for inactive employees, make sure
to select the Process Inactive Employees checkbox when specifying settings for the Basic Import.
What’s the difference between an effective dated field and a non-effective dated field?
Effective dated fields have a history associated with them while non-effective dated fields do not have a history. For
example, compensation-specific fields are effective dated while fields like Name and National ID are not effective
dated.
What's the difference between the synchronous and asynchronous mode of import?
In the synchronous mode, the import process is triggered immediately and the results of the import process are
displayed on the Import page soon after the import process completes. For the asynchronous mode, the import
process is performed in the background and the results of the import process are sent through email.
How do you invoke the synchronous mode of import?
154 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with data imports
You cannot specify the mode in which the import process will run. The type of mode invoked is determined by the
number of records in the file. If the number of records exceeds the Real-Time Threshold specified, the asynchronous
mode of import is triggered. The asynchronous mode of import is also invoked if any of the records in the file has the
&&NO_OVERWRITE&& value.
Can the Real-Time Threshold value be changed?
Yes, the Real-Time Threshold value can be changed to specify a lower threshold value. However, the threshold value
specified cannot be changed to exceed the default value already displayed in the field. Depending on the element
being imported, the maximum real time threshold is either 200 or 3000. The maximum real time threshold value
for each field is automatically displayed when the element is selected.
Can all imports be performed in the synchronous mode?
With the exception of the Basic, Extended and Background imports, all other imports run in the synchronous mode
if the number of records in the file do not exceed the Real-Time Threshold value specified or if the records in the CSV
file do not contain the &&NO_OVERWRITE&& value.
What type of import is triggered when the Real-Time Threshold value is changed to a lower value but the number of
records in the file does not exceed the Default Real-Time Threshold value?
Once the default Real-Time Threshold value is changed to a lower value, the default Real-Time Threshold value is no
longer honored. So, if the Real-Time Threshold value is changed to 100 from 200 and 105 records are uploaded, the
asynchronous mode of import will be invoked instead of the synchronous mode of import.
Why do you see errors displayed on the Import page when the number of records in the import file exceeds the Real-
Time Threshold value?
To save you time, the system performs a sanity check on the first ten records before starting the asynchronous
(background) import process. In case an error exists in the first ten records of the file, an error is displayed. Correct
the errors and upload the file again. The asynchronous import process will start only when the first ten records do
not have an error.
It has been more than 20 minutes but the results of the import are not being displayed non the import page even
though the number of records in the import file does not exceed the threshold value specified?
Typically, all synchronous imports should complete within 5 minutes. In case your import is taking longer, it is possible
that the UI is not displaying updated results. In such a situation, capture the time stamp and create a JIRA.
What’s the difference between a Full Purge and Incremental Load?
When a file is uploaded in the Full Purge mode, all existing records in the system are overwritten with the records in
the file uploaded.
When a file is uploaded using the Incremental Load option, the records in the file being uploaded are added to the
records already in the system. The Incremental Load also supports a Partial Import, where only some fields of the
record are updated.
What are business keys?
In SuccessFactors, each record is identified by a unique identifier combination known as the business key. For
example, for the Address import – the unique combination of person_id_external, effective_start_date and
address_type make up the business key.
Based on this business key, when the system encounters a partial import, it verifies the uniqueness of the record
and then accordingly updates only those fields that do not have the &&NO_OVERWRITE&& value or are not part of
the business key.
For a list of business keys for the different types of imports, refer to https://confluence.successfactors.com/
display/ENG/EC+Entity+Business+Keys .
Note: If even 1 record has the &&NO_OVERWRITE&& value, the import will be performed asynchronously.
What is a Partial import?
SuccessFactors
Working with data imports I N T E R N A L • © 2013 SAP AG. All rights reserved. 155
A Partial Import is a type of Incremental Load update. In case of a Partial Import, only some part of the record is
updated. This type of an import is useful when only one specific field needs to be updated for all employees. For
example, uploading email addresses for all new employees. Email addresses are generally created once the new hire
has been added to the system. With Partial Import, the rest of the record can be left intact while only the email address
is updated.
Note that an option for Partial Import does not exist on the UI. See “How do you prepare a file for partial import” for
information on using the Partial Import feature.
How do you prepare a file for partial import?
To indicate that a partial import is intended, the &&NO_OVERWRITE&& keyword is used in the different fields of the
row. Consider the following example.
Notice that the value for most fields is set to &&NO_OVERWRITE&&, except for user-id, end-date, start-date and
job-code.
With the exception of business keys and fields marked with &&NO_OVERWRITE&&, all other values in the row will
be overwritten with the new values.
In case any of the rows in the file has an error, none of the rows will be uploaded. Also note that imports for
files including the &&NO_OVERWRITE&& value are always performed asynchronously.
How do you do a partial import?
The steps for uploading the data remain the same. All you have to do is upload the file in the Incremental Load mode.
Unlike the other modes of import, if any of the records being uploaded is incorrect, the upload will fail. In case
of Incremental Load or Full Purge, only the rows with errors are not written to the database.
How do you know if the import completed successfully?
After the file uploads, you will receive an email notification. This email contains the results of your upload, including
any errors that might have occurred. Errors will also be written to the CSV file as follows:
Correct the errors and upload the file again. We suggest that you validate the file for errors before uploading the file.
This is a best practice that’ll save you time!
Where did the history disappear?
When importing data, if an object has a history attached to it, it is important to keep all those rows in the file. When
uploading a file in Full Purge mode, if only one row is uploaded, the rest of the records will get wiped out.
SuccessFactors cannot retrieve this data. We recommend that you keep a backup copy of the file before uploading
the new file.
What are the different file encoding types supported?
To view a list of supported encoding types, on the Import page, click the File Encoding dropdown menu. This will
display a list of supported encoding types.
156 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with data imports
Which object information cannot be uploaded using the Partial Import (&&NO_OVERWRITE&&)?
The following objects cannot be updated using Partial Import.
● ADDRESS : The default Address Entity does not support NO_OVERWRITE
○ Because the Location FoundationObject and the EmergencyContact also refer to this address, these two
columns will not support Partial Import.
● WORK_PERMIT_INFO
● PAY_CALENDAR
● JOB_RELATIONSHIPS
● JOB_FAMILY
● DYNAMIC_ROLE Foundation Object
● WF_CONFIG Foundation Object
● WF_CONFIG_CONTRIBUTOR Foundation Object
● WF_CONFIG_CC Foundation Object
What can you change in the picklist?
You can add your own picklists, as well as modify the value of existing picklists with the exception of Employee Status,
where you can change the label but not include additional status types.
Where can you find the master picklist?
A master picklist is available at: https://confluence.successfactors.com/display/PRODINFO/Data+Models+and
+Picklists . A lot of research has gone into creating this picklist – it is quite complete. As a single picklist is used
across all modules, we suggest you exercise caution when modifying the file.
Also note that the master picklist available on confluence is in XLS format. Save this file in CSV format before you
upload it to SuccessFactors. You can do this using any Spreadsheet editor.
How do you use NO_MANAGER and NO_HR as values?
If the manager or HR Admin is defined as a required field in the data model, but you do not want to provide any value
for this field in the import, you can do so by entering the value NO_MANAGER or NO_HR in the import file:
● In Basic Import, you can use NO_MANAGER and NO_HR.
● In Job History import, you can use NO_MANAGER.
It is stored as NO_MANAGER in the database and on the user interface, this value will be localized and
displayed accordingly (as No Manager in the corresponding language).
What is the DELIMIT value?
You can delimit data records to do the following:
● Delete a data record not completely, but only as of a certain effective date
● Delete partial information for non-effective data entities
To do this, you enter the DELIMIT value in the operation column of the import file.
Note the following:
SuccessFactors
Working with data imports I N T E R N A L • © 2013 SAP AG. All rights reserved. 157
● This feature is only supported for incremental loads.
● You can delimit data records only for the following data imports:
○ Addresses
○ Phone Information
○ Email Information
○ Social Accounts Information
○ National ID Information
○ Emergency Contact
○ Job Relationships
○ Pay Component Recurring
○ Pay Component Non Recurring
○ Direct Deposit
Here’s an example:
You have imported the following Job Relationship data records in your system:
You want to insert a new data record on January 15, 2013 which removes the relationship types HR Manager and
Second Manager for the time frame 1/15/2013-2/2/2013. You can achieve this by importing the following file using
Incremental Load, with the DELIMIT value in the operation column:
In the resulting data record, you can see that the data that is not deleted is inserted again as valid data records as
of January 15. The delimited data records are only valid until January 14:
In the History of the Job Relationships, you can see that the data change has taken place for January 15, and the
delimited data records have been deleted:
158 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Working with data imports
SuccessFactors
Working with data imports I N T E R N A L • © 2013 SAP AG. All rights reserved. 159
10 Managing HRIS sync
10.1 Human Resource Information System (HRIS) Synchronization
Overview
Human Resource Information System (HRIS) synchronization is the exchange of data between Employee Central
(EC) and other SuccessFactors modules. It is a background quartz job that periodically looks for data that has been
changed in EC and updates the legacy user tables with data from EC. The job itself can be configured to run on a
schedule. For data updating using UI, the synchronization process is automatically triggered at the end of the update
for current and past dated records.
Features
When HRIS sync is triggered?
There are the following ways to trigger HRIS sync:
● Real-time sync integration by UI operation
Most EC UI operations have integrated with HRIS sync such as new hire, MSS job change, personal info
change, and so on to real-time sync the specific HRIS data from the UI to user directory tables.
For effective dated objects, only past day’s records / current day’s records will be synced by real-time
sync integration. Future day’s records will be synced when the future day becomes current in running
HRIS sync job.
● HRIS Sync Job
You can schedule a regular, for example, daily, HRIS sync job in Manage Scheduled Jobs in provision and then
the HRIS sync job will run as scheduled.
● EC data import
When HRIS Element (Employee Central data) is imported, it will also trigger HRIS sync job run if there is at
least one HRIS Sync Job configuration in Manage Scheduled Jobs and the status is Submitted. Only one HRIS
sync job can run at a time. It means if there is one in-progress HRIS sync job, another HRIS sync job won't be
triggered before the running HRIS sync completes.
How does an UI operation trigger HRIS sync?
The synch job just looks into the data and compares the data whether there are changes since the last run. Most EC
UI operations have integrated with HRIS sync such as new hire, MSS job change, personal info change, etc. to realtime
sync the specific HRIS data from the UI to user directory tables. This means, when an operation is done on the
UI and there is some change, the change will be instantly synched back to legacy tables as soon as the UI change is
committed.
For effective dated objects, only past day’s records or current day’s records will be synced by real-time sync
integration. Future day’s records will be synced when the future day becomes current in running HRIS sync
job.
160 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Managing HRIS sync
How do you trigger HRIS sync by means of HRIS sync job?
You, as HRIS Sync Job User, can schedule a regular (i.e. daily) HRIS sync job in ‘Manage Scheduled Jobs’ in provision
and then the HRIS sync job will run as scheduled. HRIS sync job is scheduled from provisioning under Company
Settings  “Manage Scheduled jobs“. This is done by the provisioning user. The job can be set up to run on a certain
schedule, for example nightly, weekly.
How does an EC data import trigger HRIS sync?
When HRIS Element (Employee Central data) is imported, it will also trigger HRIS sync job run if there is at least one
HRIS Sync Job configuration in ‘Manage Scheduled Jobs’ and the status is 'Submitted'. Only one HRIS sync job can
run at a time. It means if there is one in-progress HRIS sync job, another HRIS sync job won't be triggered before the
running HRIS sync completes.
Incremental Sync in HRIS Sync Job
In Employee Central (EC), there are two types of EC data, one type is non-effectively dated EC data such as phone,
email, national ID card, social account, employment info. The other type is effective-dated data such as personal
info, address, job info, and comp info.
All EC data no matter it's effective-dated data or non-effective dated data are incremental sync when running HRIS
sync job. It means when the system runs HRIS sync job, only the records which have changed since last successfully
running HRIS sync job and the future records which become current will be synced to user directory tables.
● But you can specify to run HRIS sync from a specific date to achieve full sync for special needs.
● The full-sync may have some negative impact on performance. Just use it for one-time sync to suit
special needs.
HRIS Element and Fields Sync Logic
The system supports hard-coded HRIS Sync. It means that the system will sync some HRIS elements and HRIS fields
into user directory tables without any configuration based on hard-coded rules such as syncing HRIS field: job-code
in HRIS element: jobInfo to standard element: jobCode.
But you have also a flexible configurable framework to sync HRIS fields back to User Directory tables where you can
specify HRIS fields to map to standard elements by configuring Succession Data Model.
HRIS Entity HRIS Element Comments
Supported Sync
Mapping
Configuration
in DM?
Included
Hardcoded
Sync Logic
Full sync/
Incremental
sync
email emailInfo Business email has hard-coded sync
logic; other type of email hasn't hardcoded
sync logic.
Yes Partly Full
phone phoneInfo Yes Yes Full
address homeAddress Yes No Incremental
SuccessFactors
Managing HRIS sync I N T E R N A L • © 2013 SAP AG. All rights reserved. 161
HRIS Entity HRIS Element Comments
Supported Sync
Mapping
Configuration
in DM?
Included
Hardcoded
Sync Logic
Full sync/
Incremental
sync
corporate
address
corporateAddress used in location address (HRIS
element: corporateAddress itself is
in corporate data model.)
1) when employee changes location,
the corporateAddress will be
synched together with other jobInfo
change;
2) when location info is changed, the
corporateAddress will be synched
when HRIS sync job runs.
Yes Yes incremental
personal personalInfo Name related field will be synched
from personalInfo.
Yes Yes incremental
person personInfo Yes Yes incremental
job jobInfo Direct manager change is synched
when the job records are synched.
Yes Yes incremental
job
relationships
jobRelationsInfo Only be available for ECT v2.0
(supported in 1107)
No Yes incremental
employee
status
jobInfo employee status only be available for
ect v2.0 (supported in 1107)
No Yes incremental
comp compInfo hard-coded compInfo sync for ECT
v2.0 is outdated now since the salary
info is no longer stored in tables in
ECT v2
Yes Yes incremental
employment employmentInfo Yes No full
social account imInfo Yes No full
national Id
Card
nationalIdCard Yes No full
leave of
Absence
leaveOfAbsence Yes No incremental
work eligibility workEligibilityInfo Yes No full
direct deposit directDeposit Yes No full
entities which
supports sync
with limitations
more entities Below entities theoretically support
sync in a generic way, but may the
generic way is not suitable and need
some special handling to suit the real
needs for sync in future if needed:
globalInfo;
payComponentRecurring;
payComponentNonRecurring;
EmpDocumentInfoEO
(workPermitInfo; visaInfo;
citizenshipInfo )
Yes No
entities which
don't support
sync
entities which don't
support sync
the below entity does not support
sync:
EmpEmergencyContactInfoEO
No No
Clients don’t need to configure all these fields in Succession Data Model. The system will automatically sync the
related HRIS data into user directory tables based on the above mapping.
162 © 2013 SAP AG. All rights reserved. • I N T E R N A L
SuccessFactors
Managing HRIS sync
Configurable sync mapping
The Succession Data Model includes HRIS sync mappings configuration in the end of data model, that is after viewtemplate
configuration.
Sample data is as below:
<hris-sync-mappings>
<hris-element-ref refid="personInfo">
<hris-mapping>
<hris-field-ref refid="country-of-birth" />
<standard-element-ref refid="custom01" />
</hris-mapping>
<hris-mapping>
<hris-field-ref refid=”date-of-birth” date-format=”dd/MMM”/>
<standard-element-ref refid=”custom02” />
</hris-mapping>
</hris-element-ref>
<hris-element-ref refid="homeAddress">
<hris-mapping entity-type="Home">
<hris-field-ref refid="country" />
<standard-element-ref refid="custom09" />
</hris-mapping>
</hris-element-ref>
<hris-element-ref refid=”jobInfo”>
<hris-mapping>
<hris-field-ref refid=”company” />
<user-info-record-key>user-company</user-info-record-key>
</hris-mapping>
Validation rules:
1. Only HRIS fields with visibility other than ”none” will be synced. HRIS fields with
visibility=”none” won’t be synced to user directory tables. The rule is applied to both hard-coded sync
logic and configurable sync mapping.
2. <hris-sync-mappings> must be put after <view-template> definition in the Succession Data Model
(SDM).
3. 0 or 1 <hris-sync-mappings> can be defined in a Succession Data Model.
4. Under <hris-sync-mappings>, you can define one or more <hris-element-ref>.
5. Under <hris-element-ref>, users can define one or more <hris-mapping>.
6. For each <hris-mapping>, you must define only one <hris-field-ref> and one <standard-elementref>
or one <user-info-record-key>.
Use <standard-element-ref> if the destination field of the sync mapping is a standard-element. Use
<user-info-record-key> to provide arbitrary key names that are stored as key-value-pair in the user
directory.
SuccessFactors