You are on page 1of 578

REFERENCE GUIDE | PUBLIC

Document Version: Q2 2019 – 2019-05-10

SAP SuccessFactors Employee Central OData API:


Reference Guide
© 2019 SAP SE or an SAP affiliate company. All rights reserved.

Using the Employee Central OData APIs

THE BEST RUN


Content

1 About Employee Central OData APIs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15


1.1 Getting Started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Getting the most out of this guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2 What is Employee Central?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17
1.3 What is an Entity?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4 What is an Employee Central OData API?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 When is an Employee Central OData API used?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.6 What's does Admin and User Mode mean?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.7 Getting users up and running: Provisioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
1.8 Getting users up and running: Permission settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
1.9 Getting users up and running: Authentication types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.10 Employee Central Entity Relationships. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.11 Entity Association & Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Navigation to the Picklist entity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Navigation to the User entity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Navigation to MDF entity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Foundation Object Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Navigation to Territory entity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
CSF Entity Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Person Entity Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Employment Entity Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Navigation from User and MDF Entities to EC Entities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.12 Country-Specific Logic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
EmpCompensation/EmpJob/EmpEmployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
PerGlobalInfo<country_code>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
FOCorporateAddressDEFLT / HrisEmergencyContactAddressDEFLT. . . . . . . . . . . . . . . . . . . . . . . . 33
PerAddressDEFLT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
FOLegalEntityLocal<country_code> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
FOJobClassLocal<country_code>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
PerNationalId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.13 Date Handling for Employee Central Entities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Effective dating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
How Navigation and Effective Dating Work Together. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Getting your time zones right. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1.14 Employee Central Entity Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Retrieving changes to records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50

SAP SuccessFactors Employee Central OData API: Reference Guide


2 PUBLIC Content
Business keys. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Nullable Property Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Required Property Attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Processing Parameters for Upsert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
suppressUpdateOfIdenticalData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
fileLocale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
1.15 Pagination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

2 Advances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.1 AdvancesAccumulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.2 AdvancesEligibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.3 NonRecurringPayment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

3 Apprentice Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.1 Apprentice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63
3.2 ApprenticeEventType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.3 ApprenticeInternalTrainingEvent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.4 ApprenticePracticalTrainingEvent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
3.5 ApprenticeSchool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.6 ApprenticeSchoolEvent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4 Contingent Workforce. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72


4.1 VendorInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2 WorkOrder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5 Deductions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.1 DeductionScreenId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2 OneTimeDeduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3 RecurringDeduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

6 Employment Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.1 EmpBeneficiary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.2 EmpCompensation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
empCompensationCalculated. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
empCompensationGroupSumCalculated. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
6.3 EmpEmployment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.4 EmpEmploymentTermination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.5 EmpGlobalAssignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.6 EmpJob. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
6.7 EmpJobRelationships. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.8 EmpPensionPayout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.9 EmpWfRequest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
6.10 EmpWorkPermit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

SAP SuccessFactors Employee Central OData API: Reference Guide


Content PUBLIC 3
6.11 EmpPayCompNonRecurring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.12 EmpPayCompRecurring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6.13 EmpTimeAccountBalance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.14 SecondaryAssignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
SecondaryAssignmentsItem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

7 Fiscal Year Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134


7.1 FiscalYearToCountryMap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.2 FiscalYearVariant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134

8 Foundation Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135


8.1 Foundation Object Structure in OData API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.2 FODynamicRole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.3 FOEventReason. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
8.4 FOFrequency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
8.5 FOGeozone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140
8.6 FOLocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
8.7 FOLocationGroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
8.8 FOPayComponent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
8.9 FOPayComponentGroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
8.10 FOPayGrade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
8.11 FOPayRange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
8.12 FOWfConfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
8.13 FOWfConfigStepApprover. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
8.14 Working with Migrated Foundation Objects (MDF FOs). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Basic Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Associations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Country-Specific Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
Difference Between FO Upsert and MDF Upsert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
CurrencyExchangeRate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174
FOBusinessUnit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
FOCostCenter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
FOCompany. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
FODepartment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
FODivision. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
FOLegalEntityLocal<Country>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190
FOJobClassLocal<Country>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
JobClassificationCountry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
FOJobFunction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
FOJobCode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
FOPayGroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
PayCalendar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

SAP SuccessFactors Employee Central OData API: Reference Guide


4 PUBLIC Content
9 Global Benefits Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
9.1 Benefit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
9.2 BenefitClaimAccumulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
9.3 BenefitCompanyCarAllowedModels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
9.4 BenefitCompanyCarLeaseServiceProvider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
9.5 BenefitsConfirmationStatementConfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
9.6 BenefitCompanyCarRecommendedVendors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.7 BenefitContact. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
9.8 BenefitDeductibleDetails. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
9.9 BenefitDocuments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
9.10 BenefitEmployeeClaim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
9.11 BenefitEnrollment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
9.12 BenefitEnrollmentDependencyConfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233
9.13 BenefitEnrollmentDependencyDetails. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
9.14 BenefitEnrollmentOptoutDetail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
9.15 BenefitEmployeeOptoutRequests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237
9.16 BenefitOpenEnrollmentCycleConfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
9.17 BenefitsException. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
9.18 BenefitHyperlinkConfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
9.19 BenefitInsurancePlan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
9.20 BenefitInsurancePlanEnrollmentDetails. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
9.21 BenefitInsurancePlanUSA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
9.22 BenefitInsuranceDependentDetail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
9.23 BenefitInsuranceCoverage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
9.24 BenefitInsuranceProvider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
9.25 BenefitInsuranceEnrolleeOptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
9.26 BenefitInsuranceRateChart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
9.27 BenefitInsuranceRateChartEnrollee. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
9.28 BenefitInsuranceRateChartFixedAmount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
9.29 BenefitInsuranceCoverageOptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
9.30 BenefitInsuranceCoverageDetails. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
9.31 BenefitInsuranceEnrolleeType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
9.32 BenefitOverviewHyperlinkConfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
9.33 BenefitOverviewHyperlinkDetails. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
9.34 BenefitProgramEnrollment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
9.35 BenefitProgram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
9.36 BenefitSavingsPlanEnrollmentDetails. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
9.37 BenefitSavingsPlanCatchUpDetail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
9.38 BenefitSavingsPlanContingentBeneficiary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
9.39 BenefitSavingsPlanERContributionConfigDetail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
9.40 BenefitSavingsPlanERContributionConfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

SAP SuccessFactors Employee Central OData API: Reference Guide


Content PUBLIC 5
9.41 BenefitSavingsPlanPrimaryBeneficiary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288
9.42 BenefitSavingsPlanTierConfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
9.43 BenefitSchedulePeriod. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
9.44 BenefitSchedules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
9.45 BenefitEffectiveDate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
9.46 BenefitEvent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
9.47 BenefitLifeEvent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
9.48 BenefitDeductibleAllowanceEnrollment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
9.49 EmployeeDismissalProtection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
9.50 EmployeeDismissalProtectionDetail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
9.51 EmployeeSeniority. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

10 Payment Information Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307


10.1 Bank. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
10.2 Example: PaymentInformationDetailV3ZAF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310

11 Payroll. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
11.1 DataReplicationProxy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
11.2 EmployeePayrollRunResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
EmployeePayrollRunResultsItems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
11.3 PayrollDataMaintenanceTask. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330
11.4 PayrollDataMaintenanceTaskConfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
11.5 PayrollSystemConfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
11.6 SAPSystemConfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

12 Person Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358


12.1 PerAddressDEFLT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .358
12.2 PerEmail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
12.3 PersonEmpTerminationInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
12.4 PerEmergencyContacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
12.5 PerGlobalInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
12.6 PerNationalId. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
12.7 PerPerson. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
generateNextPersonID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
12.8 PerPersonal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
12.9 PerPersonRelationship. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
12.10 PerPhone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
12.11 PerSocialAccount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
12.12 PersonKey. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
12.13 PersonType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
12.14 PersonTypeUsage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386

13 Position Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390

SAP SuccessFactors Employee Central OData API: Reference Guide


6 PUBLIC Content
13.1 PositionRightToReturn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390

14 Time & Attendance Management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393


14.1 Time Off Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393
AbsenceCountingMethod. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
AccrualCalculationBase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
AvailableTimeType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .396
EmployeeTime. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
EmployeeTime<Country>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
EmployeeTimeCalendar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
EmployeeTimeGroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
EmployeeTimeGroupItem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Holiday. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
HolidayCalendar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
ShiftClassification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
TemporaryTimeInformation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
TimeAccount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
TimeAccountDetail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .431
TimeAccountPostingRule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
TimeAccountSnapshot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .435
TimeAccountType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
TimeType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
TimeProfile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
WorkSchedule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
WorkScheduleDayModel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
WorkScheduleDayModelAssignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
WorkScheduleDayModelAssignmentSegment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
WorkScheduleDayModelSegment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
WorkScheduleDay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
14.2 Payroll Time Sheet Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
ExternalTimeData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
ExternalTimeRecord. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
TimeCollector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491

15 Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
15.1 WfRequest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
How do I access my assigned workflow requests?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
15.2 WfRequestComments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .504
15.3 WfRequestParticipator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
15.4 WfRequestStep. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
15.5 WfRequestUIData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
15.6 WorkflowAllowedActionList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512

SAP SuccessFactors Employee Central OData API: Reference Guide


Content PUBLIC 7
15.7 Function Imports. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .513
approveWfRequest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
commentWfRequest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .515
rejectWfRequest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .517
sendbackWfRequest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .518
withdrawWfRequest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .520
getWorkflowPendingData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521

16 Business Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528


16.1 Adding a New Employee. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
User entity upsert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
PerPerson Upsert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
EmpEmployment Upsert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .531
EmpJob Upsert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
PerPersonal Upsert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
16.2 Filtering out external user data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .535
16.3 Exposing person UUID for intergration and import scenarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
16.4 Using wfStepApproverNav for more detailed workflow configuration information. . . . . . . . . . . . . . . . . 543
16.5 Differentiating primary from secondary employment during concurrent employment replication. . . . . . 548

17 FAQs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .554
17.1 Admin Access to OData: What does it mean?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .554
17.2 API: Do I use OData or Compound Employee API for EC entities?. . . . . . . . . . . . . . . . . . . . . . . . . . . . .554
17.3 APIs are missing or not up-to-date in the OData API Data Dictionary?. . . . . . . . . . . . . . . . . . . . . . . . . 555
17.4 Authentication Types: Which one is right for me?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Authentication for OData API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
17.5 Broken APIs: What causes them?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
17.6 Duplicate Records? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
17.7 Error message: Behavior in upsert statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
17.8 Expanded entities: Handling deleted objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
17.9 How to have more than one pay component on the same pay date. . . . . . . . . . . . . . . . . . . . . . . . . . . .572
17.10 Inactive users: Do EC OData APIs ignore them?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
17.11 Linking to custom MDF objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .572
17.12 Performance: How to improve it. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
17.13 Roundtrips: Why are there errors in some upserts?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
17.14 Side effect: What is it?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
17.15 $batch: Upsert and changeset behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
Upsert parameter: strictTransactionIsolate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
17.16 $filter: How does it work with fromDate?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576

SAP SuccessFactors Employee Central OData API: Reference Guide


8 PUBLIC Content
What's New in Employee Central OData API
Reference Guide

This document describes changes to this guide for the recent releases.

Q2 2019

The following table summarizes changes to this guide for this release.

What's New Description More Info

WfRequestUIData is now available as We have made the WfRequestUIData WfRequestUIData [page 508]
a public entity. enity available in the public cateogry.
Now you can query workflow data as dis­
played on the Workflow Details page by
directly expanding to the entity through
wfRequestUINav. This makes it pos­
sible to navigate to the Workflow Details
page from other places through OData
API, such as the TodoEntryV2 entity.

getWorkflowPendingData is now We have moved function import getWorkflowPendingData [page 521]


available as a public function import. getWorkflowPendingData from
beta category to public. You can use this
function import to access the pending
data of workflow requests that are not
yet approved, rejected, or fully com­
pleted. Please remove the "/beta" cate­
gory from the service URIs in your inte­
grations.

SAP SuccessFactors Employee Central OData API: Reference Guide


What's New in Employee Central OData API Reference Guide PUBLIC 9
Q1 2019

The following table summarizes changes to this guide for this release.

What's New Description More Info

Updated the topic to include more query You can specify the lastModifiedDateTime and $filter [page
behaviors and examples lastModifiedDateTime field in a 45]
filter to query effective dated records
based on the last modified date and time.
The behavior of
lastModifiedDateTime is different
depending on whether you put the
lastModifiedDateTime parameter
on the left or right.

Added BenefitEnrollmentOptoutDetail This entity contains BenefitEnrollment, BenefitEnrollmentOptoutDetail [page


topic BenefitEnrollmentId, BenefitEnrollmen- 236]
tId, BenefitSchedulePeriod, OptoutRe­
questDate, EnrollmentChangeDate, Con­
tributionChangeDate, and OptedoutBy.
This entity is used to log opted out de­
tails.

Added BenefitEmployeeOptoutRequests This entity is used to get the worked ID BenefitEmployeeOptoutRequests [page
topic and Enrollment Opt-out details of an em­ 237]
ployee. This entity is used to store the en­
rollment optout details for an employee.

Updated the topic with more info The topic organization has been im­ EmployeeDismissalProtection [page 299]
proved with more use cases and sample
codes.

Updated topic with more info The topic organization has been im­ EmployeeDismissalProtectionDetail
proved with more use cases and sample [page 301]
codes.

New chapter added This is an external API for Employee Cen­ PayrollSystemConfiguration [page 337]
tral Payroll application. This is be used by
the Employee Central Payroll System to
fetch PayrollSystemConfiguration ob­
jects which can be used in new Payroll
Configuration UI, where we need to fetch
and display payroll system configuration
data, payroll data maintenance task con­
figuration data and payroll portlets data.

Updated supported entities and the tool To override the standard behavior of han­ Expanded entities: Handling deleted ob­
to use to handle deleted objects. dling deleted objects, go to Admin Center jects [page 569]
Manage Employee Central Settings, and
turn on the switch for Consider Deletion
of Expanded Entities As A Change. Sup­
ported entities are: PerEmail, PerPhone,
PerAddressDEFLT, EmpJobRelations.

SAP SuccessFactors Employee Central OData API: Reference Guide


10 PUBLIC What's New in Employee Central OData API Reference Guide
What's New Description More Info

Updated the business key behavior Property seqNumber can be configured EmpPayCompNonRecurring [page 119]
as one of the business keys . With or
without the seqNumber property being
enabled, the business key and required
fields for the entity are different.

Updated the topic to add information on If you want to filter all history records for MCPD (Multiple Changes Per Day): Enti­
how to query history records in MCPD MCPD entities, make sure to enable the ties [page 43]
entities. seqNumber property by setting
enabled="Yes" in BCUI. If
seqNumber is disabled for MCPD enti­
ties, when you query history records,
only one record is returned randomly of
the day.

Q4 2018

The following table summarizes changes to this guide for this release.

What's New Description More Info

Added a note in the Effective dating topic When you insert a record for an effective Effective dating [page 35]
dated entity, do not provide the end date
in your request URI.

Updated the Incremental topic Removed the NO_OVERWRITE section Incremental [page 55]
from incremental upsert parameters, be­
cause it's the default behavior to not
overwrite any field that the Upsert re­
quest does not include.

BenefitOverviewHyperlinkConfiguration This Object is used to capture the Benefit BenefitOverviewHyperlinkConfiguration


Hyperlink Conguration to display Hyper­ [page 277]
links on the Benefits Overview page. It
contains hyperlink configuration Id, hy­
perlink configuration name and hyperlink
configuration details.

BenefitOverviewHyperlinkDetails This Object is used to capture the Label, BenefitOverviewHyperlinkDetails [page


URL and the Eligibility rule for the Hyper­ 278]
links. The hyperlinks configured will be
displayed on the Benefits Overview page.

BenefitHyperlinkConfiguration This Object is used to capture the URL BenefitHyperlinkConfiguration [page 241]
and Label for the URL to diplay with each
Benefit. The Hyperlinks configured in
each Benefit will be displayed with Bene­
fit on the employee screen.

SAP SuccessFactors Employee Central OData API: Reference Guide


What's New in Employee Central OData API Reference Guide PUBLIC 11
What's New Description More Info

BenefitEnrollmentDependencyConfigu- This Object is used to capture the Benefit BenefitEnrollmentDependencyConfigu-


ration Dependency containing Benefit Depend­ ration [page 233]
ency Configuration Id, Comment and
Benefit Dependency Details. Benefit De­
pendency Details contains the Lead Ben­
efit, Lead Insurance Plan, Dependent
Benefit, Dependent Insurance Plan and
Enrollment Condition.

BenefitEnrollmentDependencyDetails This Object is used to capture the Lead BenefitEnrollmentDependencyDetails


and Dependent Benefits with some En­ [page 234]
rollment Condition.

BenefitSavingsPlanContingentBenefi- This object is used to capture the Em­ BenefitSavingsPlanContingentBenefi-


ciary ployee's Contingent Beneficiaries for the ciary [page 285]
Savings Plan

BenefitSavingsPlanTierConfiguration This object is used to capture the Tier re­ BenefitSavingsPlanTierConfiguration


lated contribution details for the Health [page 289]
Savings Account Savings Plan benefit

BenefitSavingsPlanERContributionCon- This object is used to capture the Em­ BenefitSavingsPlanERContributionCon-


figDetail ployer Contribution details for the Health figDetail [page 286]
Savings Account Savings Plan benefit

BenefitSavingsPlanERContributionCon- This object is used to capture the Em­ BenefitSavingsPlanERContributionCon-


fig ployer Contribution details for the Health fig [page 287]
Savings Account Savings Plan benefit

BenefitSavingsPlanCatchUpDetail This object is used to capture the Em­ BenefitSavingsPlanCatchUpDetail [page


ployer Contribution details for the Health 284]
Savings Account Savings Plan benefit

BenefitSavingsPlanPrimaryBeneficiary This object is used to capture the Em­ BenefitSavingsPlanPrimaryBeneficiary


ployee's Primary Beneficiaries for the [page 288]
Savings Plan

Updated the Pagination topic The topic organization is improved. A link Pagination [page 57]
is added for you to find more information
about the pagination options you can use
for OData APIs. You can also see a list of
the optimized entities for snapshot-
based pagination.

SAP SuccessFactors Employee Central OData API: Reference Guide


12 PUBLIC What's New in Employee Central OData API Reference Guide
Q3 2018

The following table summarizes changes to this guide for this release.

What's New Description More Info

External Time Data The External Time Data object contains ExternalTimeData [page 485]
recorded time data from an external sys­
tem so that it can be included in the Em­
ployee Central Payroll Time Sheet.

Position Right to Return The Position Right To Return object indi­ PositionRightToReturn [page 390]
cates whether an employee is allowed to
return to their original position after a
Leave of Absence or Global Assignment.

Updated the "lastModifiedDateTime and An example of using the "lastModifiedDa- lastModifiedDateTime and $filter [page
$filter" topic. teTime and $filter" query was added, to 45]
introduce the API behavior before and af­
ter a history record is deleted.

Updated the "lastModifiedDateTime and Updated the topic to provide clearer in­
multiple $filter fields" topic. formation about the API behavior when
the lastModifiedDateTime query is used
with multiple filters.

Updated the "FOLocation" topic. Added an example of using the UPSERT FOLocation [page 142]
operation.

Updated the "EmpJobRelationships" Added an example of delimiting the job EmpJobRelationships [page 101]
topic. relationship between two users.

Added the "PersonType" topic A new entity of PersonType is now availa­ PersonType [page 384]
ble. You can use the entity to query the
type of a user.

Added the "PersonTypeUsage" topic A new entity PersonTypeUsage is now PersonTypeUsage [page 386]
available. You can use this entity to navi­
gate from PerPerson to PersonTypeUs­
age.

Q2 2018

The following table summarizes changes to this guide for this release.

What's New Description More Info

Time Collector Time collectors are configurable multi- TimeCollector [page 491]
purpose counters that are processed in
time valuation.

SAP SuccessFactors Employee Central OData API: Reference Guide


What's New in Employee Central OData API Reference Guide PUBLIC 13
What's New Description More Info

Benefit Deductible Details This object is used to capture the Benefit BenefitDeductibleDetails [page 227]
Deduction details during Benefit crea­
tion.

Benefit Savings Plan Enrollment This object is used to capture the annual BenefitSavingsPlanEnrollmentDetails
and per pay period contribution amounts [page 282]
of the employee for Savings Plan benefit.
It contains the annual and per pay period
contribution amounts of the employee,
the minimum and maximum contribution
amounts.

Related Information

PerPerson [page 368]

SAP SuccessFactors Employee Central OData API: Reference Guide


14 PUBLIC What's New in Employee Central OData API Reference Guide
1 About Employee Central OData APIs

Welcome to the world of Employee Central OData APIs. With the help of this guide, you'll get to know what APIs we
offer, see some sample queries as well as use cases, and other information so that you can get the best out of your
Employee Central product.

With the wealth of information that your Employee Central system stores from your company’s organization, pay,
job structures, and employees, to name but a few, you’ll be able to use these OData APIs to expose the information
you need.

If you're an expert, you can skip the rest of this section and go straight to the entity that interests you. But, whether
you’re an expert or a novice, please take a minute to look at the What's New in Employee Central OData API
Reference Guide [page 9] to get up to speed on our latest developments.

If you're new to the topic of OData APIs, make sure that you have the HCM Suite OData API Programmer's Guide to
hand. These general programming guidelines walk you through the key concepts of OData including authentication,
query and operation types to name but a few.

In this guide take a look at Getting Started [page 15] to get a feel for the what and how of Employee Central OData
APIs, understand some basic concepts as well as know why an Employee Central OData APIs would be your tool of
choice. The section Getting users up and running: Permission settings [page 20]will tell you what authorizations
users need and you can see what Provisioning is required in this section here Getting users up and running:
Provisioning [page 20]

And last but not least, make sure you have the Employee Central Master to refer to for in-depth information about
our products.

If you find anything missing from this guide, don't hesitate to get in touch with us so that we can fix it:
mailto:SuccessFactorsDocumentation@sap.com

1.1 Getting Started

If you're new to Employee Central OData APIs, and the world of APIs in general, the information in this section may
be useful. It explains some key concepts such as what you will need to use this guide in the first place, the entities,
when to use and not to use Employee Central OData APIs as well as different user modes to name but a few.

1.1.1 Getting the most out of this guide

To get the most out of this guide, you will also need the following to hand:

● OData API Dictionary


● The metadata

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 15
The other fields, navigation properties and so on are available in the OData API dictionary and metadata. You need
to refer to these sources of information to get a complete picture of the entities properties and capabilities available
in your instance.

 Note

Code samples in this guide are taken from a particular system instance. In your system, responses to queries
might be different.

Tell me more: OData API Dictionary

The OData API dictionary contains all the entities available in your instance, it lists the allowed operations, the field
(property name), the label as well as telling you which fields are required or not. To view the OData dictionary, you:

1. Navigate to the Admin Center and search for the OData API Data Dictionary.
2. The OData API Data Dictionary is displayed.

 Note

To improve performance, you can request that Customer Services activate the provisioning switch, Enable
OData API Dictionary Cache (in Web Services).

Tell me more: Metadata as an entity

In order to get extra information, such as language labels, picklists, beyond what the standard OData metadata
provides, Successfactors OData exposes metadata as an entity

The SuccessFactors OData API exposes an entity named 'Entity'. Its properties are exposed as complex type value
embedded in the response body of 'Entity'. Different forms of metadata can thus be exposed without changing the
standard OData metadata format. You can access the new metadata just like you would access a regular entity. In
addition, it supports a simple filter to output metadata of a specific entity or a group of entities.

Sample API Calls

The following API call allows you the access the entire metadata for your instance:

https://api4.successfactors.com/odata/v2/$metadata

The following API call shows you how to access the metadata for only the User entity:

https://<hostname>/odata/v2/Entity('User')?$format=json

The following API call shows you how to access the metadata for the User and Photo entities:

https://api4.successfactors.com/odata/v2/User,Photo/$metadata

SAP SuccessFactors Employee Central OData API: Reference Guide


16 PUBLIC About Employee Central OData APIs
You can use the same URL to query User entity data:

https://api4.successfactors.com/odata/v2/User,Photo/User?$format=json&$filter=userId eq
‘cgrant’

Tell me more: Metadata

In addition to the information you can get from the OData API dictionary about an entity, the metadata will give you
information on the entities associated with the entity, picklists, relationships between the entity and other entities
and so on. To call up the metadata, use

https://<hostname>/odata/v2/Entity('<Your Entity')?$format=json.

https://<hostname>/odata/v2/$metadata

This calls up the metadata for all entities in your instance.

1.2 What is Employee Central?

Broadly speaking, Employee Central comprises:

● Employee Objects
Comprises personal and employment details for employees, referred to as Person Objects and Employment
Objects in this guide.
Person objects comprise entities beginning Per*. On the UI, in the portlet Biographical Information, you'll find
Per* entities and in the portlet Personal Information, you'll find the entity PerPeronal.
Employment objects comprise entities usually beginning Emp*. On the UI, in the portlet Employment Details,
you'll find Emp* entities and in the portlet Job Information, you'll find the entities EmpJob*.
● Foundation Objects
Comprises organization, pay and job structure details. Entities begin with FO*.
● Metadata Framework (MDF) Objects
When the standard delivered foundation objects do not meet requirements, existing foundation objects are
migrated to the MDF framework (becoming generic objects in the process). New MDF objects are also
available.

1.3 What is an Entity?

Employee Central stores data in table structures which are known as entities. Entities are grouped together in
objects.

Employee Central entities let you create and manipulate employee data. Navigations in an entity represent
associations between entities. Each entity can have the following properties.

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 17
● Effective dating: Allows you to make scheduled changes to a record.
● Business keys: Uniquely identifies an entity
● Required/nullable attribute: Attribute set by the data model. For business keys, Required is always set to TRUE.
● Processing parameters for upsert: Both full purge and incremental purge are supported.

The section Employee Central Entity Properties [page 50] explains the properties in more detail and the section
Entity Association & Navigation [page 29] describes how the navigation works between entities.

1.4 What is an Employee Central OData API?

The Employee Central OData API exposes the Employee Central entities and this includes foundation objects,
Personal, Employment, and MDF objects.

Foundation, Personal and Employment Objects

The Employee Central OData API supports metadata query, entity query and upsert query for these objects.

Metadata All users belonging to a company will get the same metadata query results. Results are not
Query determined by the RBP permissions for EC entities.

https://<hostname>/odata/v2/$metadata

Entity Query (Operation Most FO objects and person/employment related entities support OData query. For
GET) details, check the OData API dictionary or the results of the metadata operation.

Entity Upsert Most Employee Central entities support the upsert operation which is based on the Employee
(Operation Central import. This means the restrictions that apply to the Empoyee Central Import also
UPSERT) apply to the entity upsert. For example, field level permissions are not supported. You can get
more information from the Administrator Guide, Employee Central Imports.

MDF Objects

When the Employee Central OData API uses MDF objects, the following operations are supported:

● Metadata Query (as for the objects listed above)


● GET
● PUT (Inserts a record)
● DELETE
● UPSERT/POST - Inserts a record but unlike the operation PUT, you can choose between a full or incremental
purge. In a nutshell, the difference is as follows:
○ Full Purge: The existing record for the employee is deleted when the upsert operation is performed. A new
record is then created with the data specified in the payload.
○ Incremental Purge::Only records specific to the user in the payload are purged and replaced. This means all
other records for the user remain untouched.

SAP SuccessFactors Employee Central OData API: Reference Guide


18 PUBLIC About Employee Central OData APIs
Related Information

Full Purge [page 55]


Incremental [page 55]

1.5 When is an Employee Central OData API used?

We recommend using Employee Central OData APIs if one or more of these factors applies to your situation:

● You want to use the Role Based Permission (RBP) concept.


● You want concurrent user access with an extension platform to build your own UIs on top of Employee Central.
● You want to access MDF data.
● You want to replicate data in Admin Mode for read and write operations. Admin Mode is used chiefly for
technical integrations. The different modes are explained in What's does Admin and User Mode mean? [page
19]

 Note

Don't use our OData APIs when:

● Your system cannot consume either OData APIs or SOAP for an initial data load. In this case, you would go
for Import/Export with a CSV. Automation via FTP would also be a possibility.
● You need employee replication field level delta, snapshot, or read modified employees only, then SOAP
Compound Employee API is your tool of choice. You can find more information in the guide Implementing
the Employee Central Compound Employee API.
● You only need to read data, then the SOAP Compound Employee API would also be your tool of choice.

1.6 What's does Admin and User Mode mean?

There are two modes in Employee Central OData APIs which determine what a user or user group (in this context a
user and user group will be treated as one and the same) is authorized to view or do.

● User Mode
Assigned RBP settings determine what entities can be viewed and what can be done with them. You will
sometimes see the term RBP mode but in this guide, we use the term User Mode.

● Admin Mode
Allows full access to Employee Central OData API entities and operations. You will only use this in a limited
number of cases chiefly technical integrations. Admin Mode overrides any RBP (role based permission)
settings that have been made. You will sometimes see the term technical user, or non-RBP mode but in this
guide we use the term Admin Mode.

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 19
 Note

Please note that full access means just that - Access. Upsert authorization is an additional authorization as
described in the section Getting users up and running: Permission settings [page 20].

1.7 Getting users up and running: Provisioning

EC OData APIs are part of Employee Central so you do not need to make any settings in Provisioning. If you want to
disable EC OData APIs then you'll need Professional Services to do this in Provisioning.

Don't forget that you will also need business-specific provisioning in addition to these settings. For example if you're
using Global Assignment, this will need to be set in provisioning. You'll find more information in the dedicated
implementation guides for your feature and they're available on https://help.sap.com/hr_ec/

1.8 Getting users up and running: Permission settings

The use of permission settings means that assigning users the authorizations they require for Employee Central
OData APIs is a very straightforward process. You make both your entity-specific RBP settings and other OData API
settings in one and the same place in the Admin Center using the tool Manage Permission Roles.

Tell Me More

Take a look at the following information. The tables are grouped by different entities and what the user needs to be
able to do (Authorization/Action) with those entities. Remember to read any additional information for the
permission setting that is available in your system.

Permission Settings for Person and Employment Objects

Authorization/Action In Permission..., choose Additional Info

User Mode No additional settings are needed. Takes into account RBP set­
tings.

SAP SuccessFactors Employee Central OData API: Reference Guide


20 PUBLIC About Employee Central OData APIs
Authorization/Action In Permission..., choose Additional Info

Upsert Administrator Permissions Employee Central API Overrides any RBP settings
Employee Central HRIS OData API (editable) made for the user and lets the
user upsert that is import infor­
mation into your instance. Only
available as an Admin Mode.

Please note that the term HRIS


is a synonym for Person and
Employment objects.

Admin Mode Administrator Permissions Employee Central API Overrides any RBP settings
Employee Central HRIS OData API (read-only) made for the user but upsert au­
thorization needs to be given in
addition to this.

Permission Settings for Employee Central Foundation OData APIs

Authorization/Action In Permission..., choose Additional Info

User Mode No additional settings are needed. Takes into account RBP set­
tings.

Upsert Administrator Permissions Employee Central API Overrides any RBP settings
Employee Central Foundation OData API (editable) made for the user and lets the
user upsert that is import infor­
mation into your instance. Only
available as an Admin Mode.

Admin Mode Administrator Permissions Employee Central API Overrides any RBP settings
Employee Central Foundation OData API (read-only) made for the user but upsert au­
thorization needs to be given in
addition to this.

Permission Settings for Migrated MDF OData APIs

Authorization/Action In Permission..., choose Additional Info

User Mode (query only) Administrator Permissions Metadata Framework Access Takes into account RBP set­
to non-secured objects tings.

Admin Mode (includes up­ Administrator Permissions Metadata Framework Admin Overrides any RBP settings
sert as well as query) Acces to MDF OData API made for the user.

Miscellaneous Permission Settings

Take a look at this table in case you need to arrange access to picklist management, SOAP APIs, API tools, or even
restrict access.

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 21
Authorization/Action In Permission..., choose Additional Info

Picklist Handling in OData Administrator Permissions Manage System Properties


and SOAP Picklist Management

and

Administrator Permissions Manage System Properties


Picklists Mapping Set up Management

Access Employee HRIS Administrator Permissions Employee Central API


SOAP APIs
Employee Central HRIS SOAP API

Related Information

Getting users up and running: Authentication types [page 22]

1.9 Getting users up and running: Authentication types

Basic Authorization and OAuth 2.0 are available for authentication.

To decide which authentication type best matches your business requirements, take a look at Authentication
Types: Which one is right for me?Authentication Types: Which one is right for me? [page 555]

1.10 Employee Central Entity Relationships

Employee Central consists of employee entities and foundation entities:

1. Employee Entities: Describes person and employment objects.


2. Foundation Entities: Describes other general data such as organization, job code and pay component.

The following Entity Relation Diagram shows the relationship between the different entities. The Person and
Employment objects make up Employee entities. In this diagram, the K fields denote business keys. The field
names here are from the HRIS element.

SAP SuccessFactors Employee Central OData API: Reference Guide


22 PUBLIC About Employee Central OData APIs
 Note

The images that follow are not complete but show a representation of some of the most important entities and
their relationships within the Employee Central OData Structure. For a complete list of available entities, you
can:

● use the OData API Dictionary Admin tool


● download the ODATA API metadata from the Admin Tools
● execute the following operation

odata/v2/$metadata

These OData entities are grouped as:

● Foundation Objects – Examples: FODepartment, FODivision, FOBusinessUnit


● Employment Objects - Examples: EmpJob, EmpEmployment, EmpCompensation
● Person Objects – Examples: PerPerson, PerPersonal, PerEmail
● Workflow Objects – Examples: WfRequest, WfRequestStep
● Platform Objects – Examples: User, Picklist
● MDF Objects – Example: Position

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 23
Overview of OData Structure

The next diagram shows the relationships for the PerPerson entity. Arrows in the picture denote navigations from
one entity to another. The names written next to the arrows can be used to expand the target entity within an
OData API request. For example:

odata/v2/PerPerson?$filter=personIdExternal+eq+’cgrant1’&$expand=emailNav

This request will return PerPerson entity for cgrant1 and all her emails embedded within the response for PerPerson
entity. For more examples and their responses refer to the section on entities.

 Note

The names within << >> provide the name used on the UI while the name next to the +sign denotes a business
key. For example, <<PerAddressDEFLT>> is referred to on the UI as Address Information. It also shows that the
following fields are used as business keys: personIdExternal, startDate, and addressType.

SAP SuccessFactors Employee Central OData API: Reference Guide


24 PUBLIC About Employee Central OData APIs
Navigations from the PerPerson Entity

The diagram above shows the major navigations going out of the PerPerson entity while the next diagram shows
the major relationships navigating to the PerPerson entity.

Navigations into the PerPerson Entity

Likewise, the next two diagrams show the navigations from and to the EmpEmployment entity.

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 25
Navigations from the EmpEmployment Entity

Navigations into the EmpEmployment Entity

The next two diagrams show the navigations from and to the EmpJob entity.

SAP SuccessFactors Employee Central OData API: Reference Guide


26 PUBLIC About Employee Central OData APIs
Navigations from the EmpJob Entity

Navigations into the EmpJob Entity

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 27
The next diagram shows the relationship for the User entity. In this diagram, the names next to the PicklistOption
box show fields of User entity that are navigating to the PicklistOption entity. Likewise, for User entity. Additionally,
the arrow pointing back to itself shows that the User entity navigates back to the User entity. For example, the User
entity of a manager navigates to the User entity of the direct report using the directReports navigation.

Navigations from the User Entity

The next diagram shows the relationship for the EmpCompensation entity.

SAP SuccessFactors Employee Central OData API: Reference Guide


28 PUBLIC About Employee Central OData APIs
Navigations from the EmpCompensation Entity

Navigations from the WfRequest Entity

1.11 Entity Association & Navigation

Odata APIs supports navigation for associated entities. For examples of supported scenarios, refer to the section
describing the OData entity.

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 29
1.11.1 Navigation to the Picklist entity

For EC fields configured as picklists in data model, navigation is available from Employee Central entities to the
Picklist entity.

1.11.2 Navigation to the User entity

Employment related entities such as EmpJob, EmpEmployment and EmpCompensation can navigate to the User
entity.

Foundation Object entities can also navigate to the User entity. For example, the manager of the Cost
Center(costcenterManager) in the FOCostCenter entity or the head of the unit(headOfUnit) in the FODivision can
navigate to the User entity. Custom field configured in the Corporate Data Model with Type=Worker can also
navigate to the User entity.

1.11.3 Navigation to MDF entity

Fields in Employee Central referring to MDF objects such as the Position field in Job Information(EmpJob entity)
can navigate to the position MDF entity. Custom fields configured as MDF type can also navigate to the related MDF
entity.

1.11.4 Foundation Object Navigation

OData APIs support the following foundation object relationships by navigation:

● Default foundation object navigation


For example, in the Corporate Data Model, the costCenter field in the HRIS element Department
(FODepartment entity) has a predefined relationship to the cost center.
● Flexible foundation object navigation based on associations
For example, associations can be defined in the Corporate Data Model to link FODepartment to FOGeozone
which will also create navigations from FODepartment to FOGeozone.

 Note

The navigations described for the Picklist entity, User entity and MDF entity (in the previous sections) are
supported for foundation object navigation as well.

SAP SuccessFactors Employee Central OData API: Reference Guide


30 PUBLIC About Employee Central OData APIs
1.11.5 Navigation to Territory entity

In OData APIs, Employee Central fields related to country can navigate to the Territory Entity. For example,
navigation to the Territory entity exists for the following cases:

● countryOfBirth in PerPerson
● country field in PerNationalIdCard
● FOJobClassLocal
● PerGlobalInfoUSA

1.11.6 CSF Entity Navigation

Country-specific entities (CSF entities) are defined in the Country Specific Data Model. Examples of such entities
are:

● FOJobClassLocal<country_code> (for example, FOJobClassLocalUSA)


● PerGlobalInfo<country_code> (for example, PerGlobalInfoUSA)

The parent entity can navigate to CSF child entity. For example:

● FOJobCode can navigate to the child entity FOJobClassLocal<country_code> (for example,


FOJobClassLocalUSA)
● FOCompany can navigate to the child entity FOLegalEntityLocal<country_code> (for example,
FOLegalEntityLocalUSA)
● PerPersonal can navigate to the child entity PerGlobalInfo<country_code> (for example, PerGlobalInfoUSA)

The OData API supports navigation from the CSF entity to the territory entity to get detailed information about the
country.

Some of the CSF parent entities like FOLocation and PerPerson also provide navigation to address information. For
example, FOLocation to FOCorporateAddressDEFLT and PerPerson to PerAddressDEFLT.

1.11.7 Person Entity Navigation

1.11.7.1 Navigation to PerPerson entity

Person related entities such as PerPhone, PerEmail can navigate to PerPerson entity; EmpEmployment entity can
navigate to PerPerson entity too.

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 31
1.11.7.2 Navigation from PerPerson entities to other entities

PerPerson entity can navigate to entities like:

● PerPersonal
● PerPhone
● PerEmail
● PerNationalId
● PerEmergencyContact
● EmpEmployment

1.11.8 Employment Entity Navigation

OData APIs support navigation from Employment related entities such as EmpJob, EmpCompensation to the
EmpEmployment entity and vice-versa.

1.11.9 Navigation from User and MDF Entities to EC Entities

OData APIs support navigation of the User Entity to the EmpEmployment entity.

MDF entities, depending on their configuration, can offer navigation to the User Entity and EC Foundation Objects.

1.12 Country-Specific Logic

This section describes the different types of Country-Specific(CSF) logic for Employee Central and FO entities.

1.12.1 EmpCompensation/EmpJob/EmpEmployment

The Employee Central CSF configuration allows the use of different labels in the Succession Data Model and the
Country-Specific Succession Data Model for a field however the data type must be the same. For this reason, all
fields from the CSF and the Succession Data Model are merged in the entity and a separate CSF entity does not
exist.

 Note

Due to this design, different labels of the country specific entities are not available in the OData metadata yet.

SAP SuccessFactors Employee Central OData API: Reference Guide


32 PUBLIC About Employee Central OData APIs
1.12.2 PerGlobalInfo<country_code>

Countries which have not been defined in the Country-Specific Succession Data Model for the HRIS element
globalInfo will not be visible in OData as a PerGlobalInfo<country_code> entity. Because it is not possible to define
the HRIS element globalInfo in the Succession Data Model, there is also no PerGlobal default entity.

For upsert, there is no restriction on the country entity used. For example, the PerGlobalInfoUSA entity can be used
to upsert records for USA, India and Germany.

1.12.3 FOCorporateAddressDEFLT /
HrisEmergencyContactAddressDEFLT

The OData API for these entities offers a single field for all countries. It is not possible to have multiple entities per
country. At the same time, those fields can be defined differently in the Corporate Data Model/Succession Data
Model and the Country-Specific Corporate Data Model/Country-Specific Succession Data Model for attributes
such as visibility, required, picklist, and type.

It is recommended that this flexibility not be used extensively for the following reasons:

● The OData API checks the length for all country-specific configurations and uses the maximum length.
● If a field is configured as a picklist for all countries in the Country-Specific Data Model, the API can expose the
field as a picklist even if different picklists are used. For example, custom_string1 can be defined in the Country-
Specific Corporate Data Model for corporateAddress as picklist=A1, and it can be also defined in Country-
Specific Corporate Data Model for corporateAddress of country=USA as picklist=B1.
● If a field is configured with a different type (Worker / FO / MDF/picklist), the field will be ignored in the ODATA
API query. This applies to the following scenarios:
○ the Succession/Corporate Data Model and the Country Specific Corporate Data Model have different
types, OR
○ the Country Specific Data Model for different countries have different types defined for the same field. For
example, type is defined as a picklist for USA and type is defined as a FO for DEU.

Note: For corporateAddress, the parent entity: FOLocation has a field named: addressId which can uniquely identify
the related corporateAddress field. The same for emergency contact’s address info (addressId).

For FOLegalEntityLocal<country_code>, it is similar, the parent entity FOCompany has three fields: externalCode,
startDdate and country which can uniquely identify the related legal entity local record.

1.12.4 PerAddressDEFLT

The same field can be defined differently in the Succession Data Model and the Country-Specific Data Model for
attributes like visibility, required, picklist, and type.

 Note

The information provided in section 7.3 for FOCorporateAddressDEFLT /


HrisEmergencyContactAddressDEFLT apply to PerAddressDEFLT as well.

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 33
The OData API supports navigation from PerPerson entity to PerAddress entity.

If there is no country-specific data defined for the HRIS element homeAddress, the definition specified in the
Succession Data Model will be used.

1.12.5 FOLegalEntityLocal<country_code>

The same field can be defined differently in the Succession Data Model and the Country-Specific Data Model for
attributes like visibility, required, picklist, and type. The OData API supports this by providing different entities for
each country (FOLegalEntity<country_code>) and an entity FOLegalEntityDEFLT for all countries that have not
been defined in the Country-Specific Data Model.

For FOLegalEntityLocal<country_code>, the parent entity FOCompany has three fields: externalCode, startDdate
and country which can uniquely identify the related legal entity local record.

1.12.6 FOJobClassLocal<country_code>

For the HRIS element jobClassLocal, the OData API provides the FOJobClassLocal<country_code> entity for each
country defined in the Country-Specific Data model. For all other countries not defined in the Country-Specific
Data model, the FOJobClassLocalDEFLT entity is used.

1.12.7 PerNationalId

Only the format of the HRIS element nationalId can be defined in the Country-Specific Succession Data model.
Other fields for the HRIS element nationalId must be defined in the Succession Data Model.

There is no special handling required for National ID with respect to the OData API query operation.

1.13 Date Handling for Employee Central Entities

To understand date handling for Employee Central Entities, you need to understand the concepts of effective
dating, multiple changes per day (MCPD) and last modified query behavior. Please note that when the top level
entity of a query is not effective dated, today's date is used as the asOfDate when the navigation entity is expanded.

Take a look at the following topics, if these concepts are new to you.

SAP SuccessFactors Employee Central OData API: Reference Guide


34 PUBLIC About Employee Central OData APIs
Related Information

Effective dating [page 35]


MCPD (Multiple Changes Per Day): Entities [page 43]
Last modified queries and effective dated entities [page 44]
asOfDate parameter [page 41]

1.13.1 Effective dating

An effective dated entity can have a scheduled data change made to it. Entities can have an effective start date and
an effective end date.

What is it?

When you have an entity that is effective dated, you can track historical data accurately.

The effective date is the date on which the record becomes effective. Effective dating means that records capture
time as part of the data that is stored in SuccessFactors and that the time element can be edited. Effective dating
ensures that you have no time gaps in a record.

How does it work?

Rows for each effective date provide a complete history of the updates to the record. There are no gaps. When you
insert a new record, the end date of the previous record is automatically set to the effective start date -1 day of the
next record. The latest effective-dated record is automatically assigned an end date of 12-31-9999.

Corrections to effective dated records become effective immediately.

 Note

When you insert a record for an effective dated entity, do not provide the end date in your request URI. End
dates for effective dated records are assigned by system automatically. If you provide a different end date, the
system cannot accept the record and returns errors.

UI Behavior:

When you add a new record to an existing one in an effective dated entity, this is same as making an incremental
upsert using the API with a new key (that is a new date or sequence number).

If you edit an existing record in an effective dated entity, this is same as making an incremental upsert using the API
with the same key (that the same date and sequence number).

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 35
Additional Information

For more information on effective dating for each HRIS element, take a look at Employee Central Master
Implementation Guide. Effective dated entities and their behavior [page 37]

1.13.1.1 Effective Dated Query in OData

Effective dated is a special logic of EC entities. EC API delivers parameters like asOfDate, fromDate, and toDate
for effective dated entities so that you can query the history or future records of an entity.

There are two ways to query effective dated entities:

● asOfDate Query: returns information as of a specific date. Always returns a single record. By default, the
OData API uses the asOfDate query using today as the date.
● fromDate and toDate query: returns historic information for the specified date range. Can return multiple
records, depending on information available. For example, if the fromDate is 3/15/2013 and the toDate is
3/30/2013, the returned effective data would be like effective_start_date<=3/30/2013 and
effective_end_date>=3/15/2013. Query request: /EmpJob?&fromDate=3/15/2013&toDate=3/30/2013 will
return records from 3/15/2013 to 3/30/2013 for jobInfo entity.

 Note

Since the default query is asOfDate, using $filter for effective end or start date will require the fromDate and/or
toDate to be specified. For example, toDate=9999-12-31.

Consider the following example showing the use of the fromDate and toDate:

https://<hostname>/odata/v2/PerPersonal?$filter=startDate+gt
+datetime'2012-10-30T00:00:00'&fromDate=01-01-1990&
$select=startDate,createdOn,personIdExternal&$format=JSON

The example above returns fewer records if the fromDate is not specified. This is because the filter is applied after
the result is already filtered by asOfDate (in this case it would be current date – based on default behavior).

Another example is for MCPD (Multiple Changes per Day) entities. MCPD is a type of EC effective dated entities,
where multiple changes might happen per day on one entity. Examples are EmpJob and EmpCompensation
entities. MCPD entities use the seqNumber field as the business key. If you query this type of entities directly
without specifying any date parameter, the response returns only one single record, which is the current effective
dated record that has the maximum seqNumber. If you want to get history records, please include the parameter of
fromDate or toDate as part of your filter. For example:

https://<hostname>/odata/v2/
EmpJob(startDate=datetime'2018-01-02T00:00:00',userId=<userId>)?&toDate=9999-12-31

The URI parameters asOfDate, fromDate, toDate are global EC parameters and not standard OData parameters.
This is evident from the naming (they are not preceded by the $ symbol as done for other OData parameters). They
are applied to the OData entity mentioned in the query request, as well as all other expanded entities (those
mentioned within the $expand statement).

SAP SuccessFactors Employee Central OData API: Reference Guide


36 PUBLIC About Employee Central OData APIs
1.13.1.2 Effective dated entities and their behavior

Entities with a business key startDate are effective dated. Examples of effective-dated entities include
EmpCompensation,EmpJob, EmpJobRelationships, and PerPersonal.

 Note

Please note however that there are a few effective-dated entities that do not have a business key startDate.

These include: EmpCostDistribution* (business key effectiveStartDate)

Behavior with $expand

● If both the top level entity and the navigation entity of the lower level entities are effective-dated, then when
expanding the navigation entity, the effectiveStartDate of the top level entity is used as the asOfDate of the
navigation entity.
● If the top level entity of the lower level entity is not effective-dated, TODAY is used as the asOfDate when
expanding the navigation entity
● For a Picklist field, the navigation entity is the PicklistValue. When expanding a Picklist field, the
effectiveStartDate/effectiveEndDate of the Picklist entity are used because the PicklistValue itself is not
effective-dated.
The parameters used to query effective dated entities are fromDate, toDate and asOfDate.

 Note

If no date is specified and you have the following query

https://<hostname>.com/odata/v2/EmpJob? then the system applies the asOfDate using today’s


date. This returns a single record that is valid for all employees on today’s date. This query is therefore the
same as this query https://<hostname>.com/odata/v2/EmpJob?asOfDate=<today’s date>

Nice to know

If no date is specified in a query for an effective dated entity - Let's say for example, you have this queryhttps://
<hostname>.com/odata/v2/EmpJob?, then the system applies the asOfDate using today's date, returning the
single record that is valid for all employees on today's date.

Related Information

How can I query effective dated queries? [page 38]


Effective dating [page 35]
asOfDate parameter [page 41]

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 37
1.13.1.3 How can I query effective dated queries?

You can query effective dated entities using the proprietary parameters:

● asofDate - Querying a specific date (for example asofDate = 01.01.2014 will return the effective dated record for
that day). Always returns a single record.
By default, the OData API uses the asOfDate query using today as the date.
With records that allow multiple changes per day, the record with the highest sequence number is returned.
● fromDate - Querying historic information for a specific date range (for example, from 01.01.2014 to 12.31.2014).
Can return more than one record. With records that allow multiple changes per day, the record with the highest
sequence number is returned.
● toDate- Querying historic information for a specific date range (for example, from 01.01.2014 to 12.31.2014).
Can return more than one record. With records that allow multiple changes per day, the record with the highest
sequence number is returned.

Related Information

fromDate and toDate parameters [page 38]


asOfDate parameter [page 41]
fromDate and toDate Examples [page 39]
MCPD (Multiple Changes Per Day): Entities [page 43]

1.13.1.4 fromDate and toDate parameters

These proprietary parameters are used to query historical information for a defined time interval for effective dated
entities.

How do I use them?

● If you do define a fromDate or a toDate, then the date must be in format YYYY-MM-DD.
● If you do not define a date for fromDate and toDate, then you will get an error.
● You can use the fromDate or toDate alone in query:
Alone: https://<hostname>.com /odata/v2/EmpJob?fromDate=2000-12-31
Together: https://<hostname>.com/odata/v2/EmpJob?fromDate=2000-12-31&toDate=2010-12-31

How do these parameters behave with $expand?

These parameters apply to the OData entity named in the request, and to any other entities in the $expand
statement.

SAP SuccessFactors Employee Central OData API: Reference Guide


38 PUBLIC About Employee Central OData APIs
Related Information

MCPD entities with fromDate or toDate [page 43]

1.13.1.5 fromDate and toDate Examples

Here are some examples using the effective dated entity EmpJob in a query – take careful note of the implicit time
intervals.

fromDate

Query: https://<hostname>.com /odata/v2/EmpJob?fromDate=2000-12-31

Returns effective dated records in this entity from the date 2000-12-31. The implicit time interval is 2000-12-31 –
system end date.

Depending on the records matching this query, a single record or multiple records can be returned. For entities that
support multiple changes per day, all records on that day will be returned.

toDate

Query: https://<hostname>.com /odata/v2/EmpJob?toDate=2000-12-31

Returns effective dated records in in this entity up to and including 2000-12-31.

The implicit time interval is system start date – 2000-12-31.

Depending on the records matching this query, a single record or multiple records can be returned. For entities that
support multiple changes per day, all records on that day will be returned.

fromDate and toDate

Query: https://<hostname>.com/odata/v2/EmpJob?fromDate=2000-12-31&toDate=2010-12-31

Queries effective dated records in in this entity from 2000-12-31 up to and including 2010-12-31.

Depending on the records matching this query, a single record or multiple records can be returned. For entities that
support multiple changes per day, all records on that day will be returned.

Consider another example showing the use of the fromDate and toDate:

https://<hostname>.com/odata/v2/PerPersonal?&$filter=startDate+gt
+datetime'2012-10-30T00:00:00'&fromDate=01-01-1990&
$select=startDate,createdOn,personIdExternal&$format=JSON

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 39
The example above returns lesser records if the fromDate is not specified. This is because the filter is applied after
the result is already filtered by asOfDate (in this case it would be current date – based on default behavior).

The URI parameters asOfDate, fromDate, toDate are global EC parameters and not standard OData parameters.
This is evident from the naming (they are not preceded by the $ symbol as done for other OData parameters). They
are applied to the OData entity mentioned in the query request, as well as all other expanded entities (those
mentioned within the $expand statement).

 Note

If no date is specified and you have the following query

https://<hostname>.com/odata/v2/EmpJob? then the system applies the asOfDate using today’s date.
This returns a single record that is valid for all employees on today’s date.

If the effective dating type of the entity is Multiple Changes Per Day (MCPD), the record with the largest
sequence number will be returned as the effective record of that date.

Related Information

Effective dated entities and their behavior [page 37]


How can I query effective dated queries? [page 38]
fromDate and toDate parameters [page 38]
MCPD (Multiple Changes Per Day): Entities [page 43]

1.13.1.6 $filter with toDate and fromDate

Take a look at these examples to see how toDate and/or fromDate combined with $filter behaves.

$filter and toDate

Query: https://<hostname>.com/odata/v2/EmpJob?$filter=standardHours+gt
+'20'&toDate=2000-12-31

Response returns the effective dated records matching this query. Please note that the implicit time interval is from
system start date to 2000-12-31.

$filter and fromDate

Query: https://<hostname>.com/odata/v2/EmpJob?$filter=standardHours+gt
+'20'&fromDate=2000-12-31

SAP SuccessFactors Employee Central OData API: Reference Guide


40 PUBLIC About Employee Central OData APIs
Response returns the effective dated records matching this query. Please note that the implicit time interval is from
2000-12-31 - system end date.

$filter with fromDate and toDate

Query: https://<hostname>.com/odata/v2/EmpJob?$filter=standardHours+gt
+'20'&fromDate=2000-12-31&toDate=2010-12-31

Returns the effective dated records matching this query for the time interval from 2000-12-31 to 2010-12-31.

Related Information

Effective dated entities and their behavior [page 37]


fromDate and toDate parameters [page 38]

1.13.1.7 asOfDate parameter

A proprietary parameter used to query effective dated entities valid on the date defined in the query.

How do I use it?

If you do define an asOfDate then the date must be in format YYYY-MM-DD.

If you use an asOfDate and do not define the date, you'll get an error, Unable to parse asOfDate.

You can use either AsOfDate or fromDate/endDate in a query request but not both.

Example

Query: https://<hostname>.com/odata/v2/EmpJob?asOfDate=2000-02-16

Returns the effective dated record that was valid on the given date for all employees. For records that allow multiple
changs per day, the record with the highest sequence number is returned.

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 41
Nice to Know

If no date is defined in a query for effective dated entities, then the the asOfDate parameter with today's date is
used. So, assuming that today is 01-01-2020, then this query here:

https://<hostname>.com/odata/v2/EmpJob? is the same as this query here

https://<hostname>.com/odata/v2/EmpJob?&asOfDate=01-01-2020

If both the top level entity and the navigation entity are effective-dated, then when expanding the navigation entity,
the effectiveStartDate of the base entity is used as the asOfDate of the navigation entity.

If you specify fromDate and toDate as query options, then only the top level entity is filtered by the fromDate and
toDate. All lower level entities follow the following rules:

1. If both the top level entity and the navigation entity of the lower level entities are effective-dated, then when
expanding the navigation entity, the effectiveStartDate of the top level entity is used as the asOfDate of the
navigation entity.

2. If the top level entity of the lower level entity is not effective-dated, TODAY is used as the asOfDate when
expanding the navigation entity.

3. For a Picklist field, the navigation entity is the PicklistValue. When expanding a Picklist field, the
effectiveStartDate/effectiveEndDate of the Picklist entity are used because the PicklistValue itself is not effective-
dated.

1.13.1.8 $filter and asOfDate

$filter combined with asOfDate returns the effective dated records valid on the date defined.

Query: https:// <hostname>.com /odata/v2/EmpJob?$filter=standardHours+gt


+'20'&asOfDate=2000-01-01

Response returns the effective dated record valid on the 2000-01-00 for all employees.

 Note

If you make the following query:

https://<hostname>.com /odata/v2/EmpJob?$filter=standardHours+gt+'20' then the system


applies the asOfDate using today’s date. The effective dated record valid for employees on that date is
returned. Let's assume that today's date is 01-01-2020. In this case these queries are interchangeable:

https://<hostname>.com /odata/v2/EmpJob?$filter=standardHours+gt+'20'

and

https://<hostname>.com /odata/v2/EmpJob?$filter=standardHours+gt
+'20'&asOfDate=01-01-2020

SAP SuccessFactors Employee Central OData API: Reference Guide


42 PUBLIC About Employee Central OData APIs
Related Information

asOfDate parameter [page 41]


MCPD entities with asOfDate [page 44]
Effective dated entities and their behavior [page 37]

1.13.1.9 MCPD (Multiple Changes Per Day): Entities

Some entities can be updated multiple times per day. Each update is associated with a sequence number which
provides a history of all changes made to the entity for that day. The entities that allow Multiple Changes Per Day
are:

● EmpJob
● EmpCompensation
● EmpPayComponentsRecurring

To see the MCPD entities in your own instance, look in the metadata to see if an entity has the business key
seqNumber.

If you want to filter all history records for MCPD entities, make sure to enable the seqNumber property by setting
enabled="Yes" in BCUI. For more information about using BCUI to modify your data model, see Setting Up and
Using Business Configuration UI (BCUI).

 Note

If seqNumber is disabled for MCPD entities, when you query history records, only one record is returned
randomly of the day.

For entities which support multiple changes per day:

● In date range query, all transactions in the table for the specified date range will be returned. Please note that
there might be gaps in sequence numbers if records have been deleted.
● In asOfDate query, only the record with the highest transaction sequence number for a specific day of an
employee will be returned.

1.13.1.10 MCPD entities with fromDate or toDate

With MCPD (Multiple Changes Per Day) entities, all records in the time interval are returned when using fromDate
and/or toDate. Depending on the available information for a given time interval, single or multiple records may be
returned. Please note that there might be gaps in the sequence numbering when records have been deleted.

Related Information

fromDate and toDate parameters [page 38]

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 43
fromDate and toDate Examples [page 39]

1.13.1.11 MCPD entities with asOfDate

When you query an MCPD entity using the asOfDate, the most current record is returned.

Related Information

MCPD (Multiple Changes Per Day): Entities [page 43]


asOfDate parameter [page 41]
$filter and asOfDate [page 42]

1.13.1.12 Last modified queries and effective dated entities

The fields lastModifiedOn and lastModifiedDateTime store the date and time of the last change or creation in two
different formats: lastModifiedDateTime with datetimeoffset meaning that the query and the response will have
timezone information. lastModifiedOn with datetime meaning that the fields represent the date information in the
timezone of the server (implicit timezone).

How do I make a last modified query?

When you to create a last modified date query for an effective dated entity, you can use one of the following:

lastModifiedDateTime with datetimeoffset’YYYY-MM-DDTHH:MM:SSZ’ Example lastModifiedDateTime +gt


+datetimeoffset'2016-02-04T12:00:00Z'

Or

lastModifiedOn with datetime’YYYY-MM-DDTHH:MM:SS’

Whether you use lastModifiedDateTime or lastModifiedOn will depend on the time zone information your business
case requires.

Related Information

Getting your time zones right [page 49]


lastModifiedDateTime and $filter [page 45]

SAP SuccessFactors Employee Central OData API: Reference Guide


44 PUBLIC About Employee Central OData APIs
1.13.1.12.1 lastModifiedDateTime and $filter

You can specify the lastModifiedDateTime field in a filter to query effective dated records based on the last
modified date and time. The behavior and usage of lastModifiedOn is the same. Filters on both parameters work
in the same way for all Employee Central effective dated entities.

How does it work?

When the lastModifiedDateTime is part of a filter, without the fromDate and toDate query options, the
system handles the query using the asOfDate eq (today's date) option by default. That is, if any of the
employee's records was updated or deleted, and the date satisfies the lastModifiedDateTime filter, the
response contains only the current effective dated record of the employee. See Example 2 in the Examples section.
For more information about using asOfDate, see asOfDate parameter [page 41].

When you use the lastModifiedDateTime filter together with the fromDate or toDate query options, all the
records that are effective in the fromDate or toDate time interval are returned. That is, if any of the employee's
records was updated or deleted, and the date satisfies the lastModifiedDateTime filter, the response contains
all the records that are effective in the time interval specified by the fromDate or toDate query options. See
Example 3 in the Examples section. For more information about using fromDate and toDate, see fromDate and
toDate parameters [page 38].

Put lastModifiedDateTime on the left or right?

To meet various needs for individual users, the behavior of lastModifiedDateTime is different, depending on
whether you put the lastModifiedDateTime parameter on the left or right. For example, two queries that
contain $filter=lastModifiedDateTime+ge+datetime'2018-03-01T00:00:00' and
$filter=datetime'2018-03-01T00:00:00'+le+lastModifiedDateTime return different results, even
though the criteria looks the same. With lastModifiedDateTime in different positions, the search scope is as
follows:

Position of lastModifiedDateTime Search Scope Corresponding Example

Left Both entity records and audit log Example 4

Right Only entity records Example 5

Examples

An employee whose User ID is "cgrant" has four EmpJob records:

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 45
LastModifiedDate­
Record User ID StartDate EndDate SeqNumber Time

1 cgrant 2017-11-14 9999-12-31 1 2018-02-06T05:17:


20

2 cgrant 2017-11-02 2017-11-13 2 2017-11-03T04:40:


27

3 cgrant 2017-11-02 2017-11-02 1 2017-11-03T03:32:


06

4 cgrant 2005-09-01 2017-11-01 1 2011-10-11T09:44:5


6

Example 1
Request: https://<hostname>/odata/v2/EmpJob?userId+eq+'cgrant'

Result: record 1.

The result contains only the current effective dated record, which is record 1.

Example 2
Request: https://<hostname>/odata/v2/EmpJob?$filter=lastModifiedDateTime+gt
+datetimeoffset'2011-01-01T00:00:00Z'+and+userId+eq+'cgrant'

Result: record 1.

The asOfDate eq (today's date) option is used by default. The result contains only the current effective
dated record, which is record 1.

Example 3
Request: https://<hostname>/odata/v2/EmpJob?$filter=lastModifiedDateTime+gt
+datetimeoffset'2018-01-01T00:00:00Z'+and+userId+eq+'cgrant'&fromDate=1990-01-01

Result: record 1, record 2, record 3, record 4.

You can use fromDate and toDate to retrieve history records.

Then assume that the last record was deleted on March 2, 2018.

Example 4
After the last record was deleted on March 2, 2018, run the following query:

Request: https://<hostname>/odata/v2/EmpJob?$filter=lastModifiedDateTime+gt
+datetimeoffset'2018-03-01T00:00:00Z'+and+userId+eq+'cgrant'

Result: record 1.

Because the lastModifiedDateTime parameter is on the left side, the system first checks the entity records and
finds that there is no record satisfying the filter. Then, the system checks the audit log and finds that the last data
change happened on March 2, 2018, which satisfies the filter. So the current effective dated record of "cgrant" is
returned, which is record 1.

SAP SuccessFactors Employee Central OData API: Reference Guide


46 PUBLIC About Employee Central OData APIs
Example 5
Request: https://<hostname>/odata/v2/EmpJob?
$filter=datetimeoffset'2018-03-01T00:00:00Z'+le+lastModifiedDateTime+and+userId+eq
+'cgrant'

Result: no record.

Because the lastModifiedDateTime parameter is on the right side, the system checks only the entity records,
where no record satisfies the filter.

 Note

● If an effective dated record is deleted, it cannot be found in the entity records, but it still exists in the audit
log.
● If all records of the employee were deleted, no record is returned in the response, no matter whether the
lastModifiedDateTime parameter is on left or right. Because the entity is empty, no record can be
returned by using the asOfDate option.

1.13.2 How Navigation and Effective Dating Work Together

1.13.2.1 Navigating between effective dated entities

A few notes that apply:

● The date range fromDate / toDate filter can only be applied to the first effective dated entity in a specific
navigation path.
● Date range query only applies to driving entity i.e., the first entity in the navigation path (including the root
entity in the URL which is effective dated).
● The navigation entity will use the asOfDate query by passing the effective start date from the driving entity as
the asOfDate .

Consider the following example where all entities are effective dated:

In this example, specifying the following request will get a data range record from 3/15/2013 to 3/30/2013 for
jobInfo and the related department records with asOfDate = effective start day of the joined jobInfo record.

odata/v2/jobInfo?
fromDate=3/15/2013&toDate=3/30/2013&$expand=departmentNav

In case there are several effective dated objects in the navigation path, for example Job Information navigates to
Department and Department navigates to CostCenter, the request would be:

odata/v2/jobInfo?
fromDate=3/15/2013&toDate=3/30/2013&$expand= departmentNav,
departmentNav/costCenterNav

This will return all corresponding effective dated records for Job Information. For each record, a single department
(as in the image above) will be returned. The same is true for the expanded Cost Center. Each department will have
a single cost center record depending on the effective start date of the parent entity.

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 47
For asOfDate query requests, the asOfDate parameter will be applied to all effective dated objects in the same
query including the driving entity and the expanded entity. For example, specifying the following request will get a
snapshot of the record that has asOfDate=3/30/2013 for jobInfo and the related department records with
asOfDate= 3/30/3013.

odata/v2/jobInfo?asOfDate=3/30/2013&$expand=departmentNav

1.13.2.2 Navigating from an effective dated entity to a non-


effective dated entity

For date range query, if the navigation is from an effective-dated entity to a non-effective dated entity to an
effective-dated entity, the second effective-dated entity will use the asOfDate query.

odata/v2/EmpJob?$filter=jobCode
&$expand=

odata/v2/EmpJob?$filter=jobCode +eq+
'ENG'&$expand=employmentNav&$select=startDate,jobCode&$format=JSON

The above example queries all developers based on job code (ENG) in the system and returns the hire
date(startDate).

1.13.2.3 Navigating from a non-effective dated entity to an


effective dated entity

When the first entity in the navigation path is non-effective dated, the first effective dated entity in the navigation
path applies to the date range query criteria. Likewise, the asOfDate parameter can be passed to effective dated
entities within the navigation path of the non-effective dated root entity.

Example 1: This request returns the non-effective dated employmentInfo record and applies the
asOfDate=3/15/2013 query to the expanded jobInfo entity only.

odata/v2/EmpEmployment?asOfDate=3/15/2013&$expand=jobInfoNav

Example 2: This request returns the non-effective dated employmentInfo record and applies the asOfDate query
using the current date to the expanded jobInfo entity only

odata/v2/EmpEmployment? $expand= jobInfoNav

Example 3: This request returns the non-effective dated employmentInfo record and applies the date range query
using fromDate=3/15/2013&toDate=3/30/2013 to the expanded jobInfo entity only.

odata/v2/EmpEmployment?fromDate=3/15/2013&toDate=3/30/2013&$expand=
jobInfoNav

SAP SuccessFactors Employee Central OData API: Reference Guide


48 PUBLIC About Employee Central OData APIs
1.13.3 Getting your time zones right

It’s crucial that you do not mix and match the different time zones otherwise you’ll end up with inconsistencies so
please take a minute to familiarize yourself with how we handle time zones. Different fields, for example,
<lastmodifedDateTime>,< lastmodifiedDate>, and so on represent different time zones and you need to be
able to tell the difference.

What time zones do we have?

We represent the following time zones in our entities:

● UTC (Universal Time Clock)


● Server Time

Recommendation

To avoid inconsistencies, we recommend that you always use the UTC time zone.

How can I tell if a field is in the UTC or server time zone?

To know which field is in which time zone, you also need to know the oData protocol type that supports the field. We
use:

● Edm.DateTime = server time zone


● Edm.DateTimeOffset = UTC

Edm.DateTime (= server time zone)

Usually, but not always, the following fields are of the type Edm.DateTime and are in the server time zone.

● <createdDate>
● <createdOn>
● <lastModifiedDate>
● <lastModifiedOn>

Examples of exceptions

Here are few examples of exceptions where the fields createdDate, createdOn, or lastModifiedDate are not of the
type Edm.DateTime but are of the type Edm.DateTimeOffset.

You must be sure to check entities on a case-by-case basis yourself. This list of exceptions is not exhaustive.

Entity Field That is Not Edm.DateTime but EdmDateTimeOffset

Attachment createdDate

Background_* lastModifiedDate

Edm.DateTimeOffset (=UTC)

Usually, but not always, the following fields are of the type Edm.DateTimeOffset and are in the UTC time zone.

● <createdDateTime>
● <lastModifiedDateTime>
● <lastModifiedDatewithTZ>
● < lastModifiedWithTZ>

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 49
Although there are currently no known exceptions to this rule, we recommend that you check the entities on a
case-by-case basis yourself.

Example: PerPhone

Take a look at the snippet of code below – here you can clearly see that the different time zones are available in the
entity as represented by the <createdOn>, <createdDateTime>,< lastModifiedOn>, and
<lastModifiedDateTime>.

 Sample Code

<m:properties>
<d:personIdExternal>achin1</d:personIdExternal>
<d:phoneType>5845</d:phoneType>
<d:extension m:null="true" />
<d:createdOn m:type="Edm.DateTime">2011-03-17T21:39:02</d:createdOn>
<d:isPrimary m:type="Edm.Boolean">true</d:isPrimary>
<d:phoneNumber>661 2000</d:phoneNumber>
<d:createdBy>admin</d:createdBy>
<d:lastModifiedBy>admin</d:lastModifiedBy>
<d:createdDateTime m:type="Edm.DateTimeOffset">2011-03-18T01:39:02Z</
d:createdDateTime>
<d:lastModifiedOn m:type="Edm.DateTime">2011-03-17T21:39:02</
d:lastModifiedOn>
<d:lastModifiedDateTime m:type="Edm.DateTimeOffset">2011-03-18T01:39:02Z</
d:lastModifiedDateTime>
</m:properties>

1.14 Employee Central Entity Properties

Employee Central Entities allow you to create and manipulate employee data. Navigations in an entity represent
associations between entities. Each entity can have the following properties.

● Effective dating
● Business keys
● Required/nullable attribute
● Processing parameters for upsert

1.14.1 Retrieving changes to records

If you need to retrieve changed records, then you will be wanting to use the lastmodifeddate in your query.

Business Case

You might need to retrieve changes to records when you are synchronizing systems using APIs, for example from a
SF instance to a client local database.

How do I do that?

You can use a last modified query. Take a look at the example below

SAP SuccessFactors Employee Central OData API: Reference Guide


50 PUBLIC About Employee Central OData APIs
If you need to retrieve changes to records, then you will be wanting to use last modified query. For example if you
want to sync EmpJob

Show me a use case

Operation GET

URI http://<Hostname>/odata/v2/EmpJob?
fromDate=01-01-1900&
$filter=lastModifiedDateTime+gt
+datetimeoffset'2016-02-01T12:40:03Z'

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

 Sample Code

Extract from response to the above query focussing on the last modified information. Take note that the query
is for records changed after 2016-02-01T12:40:03Z but that the request has returned last modified information
that predates this.

<m:properties>
<d:startDate m:type="Edm.DateTime">2015-08-01T00:00:00</d:startDate>
<d:userId>215</d:userId>
.....
<d:lastModifiedDateTime m:type="Edm.DateTimeOffset">2015-08-13T14:01:06Z</
d:lastModifiedDateTime>
.....
<d:lastModifiedOn m:type="Edm.DateTime">2015-08-13T10:01:06</
d:lastModifiedOn>
....
</m:properties>

Why has this happened?

1.14.2 Business keys

Business keys are a set of fields that uniquely identity a record for an entity. Each entity, at minimum, uses the
following fields to make up a business key:

Entity Type Business Keys

Person Entity person id external + effective start date

Employment Entity user id + effective start date + sequence number

Foundation Entity external code + effective start date

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 51
An individual entity can have additional fields that make up its business key. Fields that make up business keys are
required fields and cannot be marked as nullable for all entities. A list of business keys for Employee Central objects
is shown below:

Entity Business Keys Business key in Imports Special Keys

PerAddress person_id_external + effec- person_id_external + effec-


tive_start_date + ad­ tive_start_date + ad­
dress_type dress_type

PerEmail person_id_external + person_id_external+


email_type email_type

PerEmergencyContacts person_id_external + name + person_id_external + name +


relationship relationship

PerNationalID person_id_external + country person_id_external+ country


+ national_id_card_type + national_id_card_type

PerPerson person_id_external user_sys_id + Person_id_ex­


ternal

Note for imports:

● When user_id is given, it


should be considered as
the business key.
● When user_id is not
given, it should consider
Person_id_external as the
business key.
● &&NO_OVERWRITE&& is
supported for Per­
son_id_external only
when User_ID is given for
existing users.

PerPersonal person_id_external + effec- person_id_external + effec- First_Name + Last_Name


tive_start_date tive_start_date

PerPhone person_id_external + person_id_external +


phone_type phone_type

PerSocialAccount person_id_external + domain person_id_external + domain


(yahoo, skype etc) (yahoo, skype etc)

PayComponentsNonRecur­ user_id + pay_compo­ user_sys_id + pay-compo­


ring nent_code + pay_date nent-code + pay_date

PayComponentsRecurring user_id + effective_start_date user_ sys _id + effec-


+ transaction_sequence_num­ tive_start_date + transac­
ber + pay_component_code tion_sequence_number + pay-
component-code

PerDirectDeposit person_id_external + de­ person_id_external+ de­


posit_type + routing_number posit_type + routing_number
+ process_type + ac­ + process_type + ac­
count_number count_type

SAP SuccessFactors Employee Central OData API: Reference Guide


52 PUBLIC About Employee Central OData APIs
Entity Business Keys Business key in Imports Special Keys

PerGlobalInfo person_id_external + effec-


tive_start_date + country

EmpCompensation user_sys_id+ effec- user_ sys _id + effec-


tive_start_date + transac­ tive_start_date + transac­
tion_sequence_number tion_sequence_number

EmpEmployment person_id_external + person_id_external +


user_sys_id user_sys_id

EmpJob user_sys_id + effec- user_sys_id + effec-


tive_start_date + transac­ tive_start_date + transac­
tion_sequence_number tion_sequence_number

EmpJobRelationships user_sys_id + Relation­ user_sys_id + relation­


ship_type, effec- ship_type, effec-
tive_start_date tive_start_date

EmpEmploymentTermination Person_id_external + user_sys_id + effec-


user_sys_id + effec- tive_start_date
tive_start_date

EmpWorkPermitInfo users_sys_id+ country+docu­ users_sys_id+ country+docu­


mentType+documentNumber mentType+documentNumber

FOPayGroup external_code + effec-


tive_start_date

FOPayCalendar paygroup_Code+ pay_pe­ paygroup_Code+ pay_pe­


riod_begin_date+pay_pe­ riod_begin_date+pay_pe­
riod_end_date+off_cycle riod_end_date+off_cycle

FOPayComponent external_code + effec-


tive_start_date

FOPayComponentGroup external_code + effec-


tive_start_date

FOFrequency external_code

FOCompany external_code + effec-


tive_start_date

FOLegalEntityLocal external_code + effec-


tive_start_date + country

FOBusinessUnit external_code + effec-


tive_start_date

FOCostCenter external_code + effec-


tive_start_date

FODepartment external_code + effec-


tive_start_date

FOJobCode external_code + effec-


tive_start_date

FOLocalJobClassification FO­ external_code + effec-


JobClassLocal tive_start_date + country

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 53
Entity Business Keys Business key in Imports Special Keys

FOJobFunction external_code + effec-


tive_start_date

FOPayRange external_code + effec-


tive_start_date

FOGeozone external_code + effec-


tive_start_date

FOLocationGroup external_code + effec-


tive_start_date

FOReason FOEventReason external_code + effec-


tive_start_date

FOPayGrade external_code + effec-


tive_start_date

FODivision external_code + effec-


tive_start_date

FOWorkflowStepConfig external_code + step_number


(this may change in 1207)

FOWfConfig external_code

FODynamicRole external_code

FOLocation external_code + effec-


tive_start_date

 Note

It is important that the business keys be unique. It is recommended that business keys in data models be
defined as required=true. In case, duplicate records are found, only one record will be returned and others
ignored.

1.14.3 Nullable Property Attribute

By default, the nullable attribute is set to false (nullable=false) for business keys. All other fields have this
property set to true.

1.14.4 Required Property Attribute

The required attribute is determined by the data model. For business keys, this is always set to true. This is
different from the EC SFAPI behavior.

SAP SuccessFactors Employee Central OData API: Reference Guide


54 PUBLIC About Employee Central OData APIs
1.14.5 Processing Parameters for Upsert

The Employee Central Upsert API supports both Full purge and Incremental updates using parameters. If no
parameters are provided, the system checks whether the entity being updated supports incremental update. If it
does, an incremental update is performed. Else, the system performs a full purge on the record.

1.14.5.1 Full Purge

If the processing parameter is set to full purge, the existing record for the given employee is deleted when the
upsert operation is performed. A new record is then created with the data specified in the payload. In SOAP, the
purgeType is specified as follows:

<urn:processingParam>
<urn:name>purgeType</urn:name>
<urn:value>FULL</urn:value>
</urn:processingParam>

In OData, the purgeType is specified through a URL parameter. A typical request would look like:

odata/v2/upsert?purgeType=full

1.14.5.2 Incremental

If the processing parameter for an upsert is set to Incremental, only records specific to the user in the payload are
purged and replaced. This means all other records for the user remain untouched.

In SOAP, the purgeType is specified as follows:

<urn:processingParam>
<urn:name>purgeType</urn:name>
<urn:value>INCREMENTAL</urn:value>
</urn:processingParam>

In OData, the purgeType is specified through a URL parameter. A typical request would look like:

odata/v2/upsert?purgeType=incremental

1.14.6 suppressUpdateOfIdenticalData

Many a times, during replication, the source system does not have information about changes to a field or entity
level. As a result, more than necessary data is transferred; in some cases, a full replication is triggered from the
third-party system into Employee Central. This results in an update of records in Employee Central even if those

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 55
records are not changed. If other integration transferring data out of Employee Central are based on the audit
information in Employee Central they will always get data even if there was no change.

OData supports a mode called suppressUpdateOfIdenticalData which can be enabled to ensure that records are
updated only if needed. This means that data will not be updated by imports/OData API calls if there is no change
i.e. if the payload and the data in the system is the same. In such a case, there is no update to last_modified dates,
no creation of audit information and no change to entity data.

It is available in full purge and incremental mode for the following entities:

● PerPerson
● PerPersonal
● EmpEmployment
● EmpJobInformation

A typical request with the suppressUpdateOfIdenticalData parameter would look like this:

http://<hostname>/odata/v2/upsert?purgeType=full&suppressUpdateOfIdenticalData=true

1.14.7 fileLocale

What is it?

A new url parameter, fileLocale, is now available for upserts. en_US is currenty supported so in other words, like the
UI and the import engine, OData APIs now support the internationalization of floating decimal points.

What's the benefit?

You’ll be able to avoid roundtrip inconsistencies that arise when your API user locale is not en_US. Up to now, you
could only address this problem by changing the user locale which in many cases is impractical.

How does it work?

When you|re replicating data from 3rd party systems, the EC system by default will always read data as if the locale
is en_US. This is not problematic if the API user locale is also en_US and the upserted data uses US decimal
notation.

If however, your API user locale is not en_US and is for example de_DE, you’d end up with roundtrip inconsistencies.
This is because when an application reads data in a productive system using an OData API query and subsequently
copies it into another system using an upsert statement, the number fields are rendered in the locale of the API
user and in the case of user locale = de_DE, you'll end up with inconsistencies because en_US and de_DE use a
different decimal notation.. fileLocale=en_US will solve this problem.

SAP SuccessFactors Employee Central OData API: Reference Guide


56 PUBLIC About Employee Central OData APIs
Good to know

If you API users locale is en_US, you will not need to use fileLocale=en_US.

How can I use it?

Add fileLocale=en_US to your upsert queries when your user locale is not en_US.

Show me a use case

Your API user locale is de_DE. So, when upserting, make sure to use the following:

Query: https://<hostname>.com/odata/v2/upsert?fileLocale=en_US

Payload:

 Sample Code

{
"__metadata": { "uri":"EmpEmployment" },
"personIdExternal": "aaaa",
"userId": "aaaa", "InitialOptionGrant": "224.8",
"InitialStockGrant": "31,000"
}

1.15 Pagination

You can avoid lost or duplicated records by using pagination. You can use cursor-based and snapshot-based
pagination in some of the Employee Central entities.

 Note

For more information about pagination options of OData API, see Pagination.

Cursor-Based Pagination

You can use this feature for the following Employee Central entities:

EmpJob

EmpEmployment

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 57
EmpCompensation

EmpPayCompRecurring

EmpPayCompNonRecurring

FOLocation

Order of the records


$orderby is no longer supported for these entities. Instead paging=cursor ensures that the primary key field is
used to order records. This primary key is unique and ensures that records are not lost or duplicated during the call.
The criteria for this primary key are as follows:

● It is unique and non-nullable


● It maps to a single column of the database table
● It is of the type integer, short, long, BigDecimal, or String

The following table shows what the primary key is for the entity along with the additional information of the table
name and its type.

Entity Name Table name Primary key Name/type

EmpJob EMP_JOB_INFO_T JOB_INFO_ID internalId / Long

EmpEmployment EMP_EMPLOYMENT_INFO EMPLOYMENT_ID internalId / Long

EmpCompensation EMP_COMP_INFO_T COMP_INFO_ID internalId / Long

EmpPayCompRecurring EMP_PAYCOMP_RECUR­ EMP_PAYCOMP_RECUR_ID internalId / Long


RING_T

EmpPayCompNonRecurring EMP_PAYCOMP_NON_RE­ PAY_COMP_NON_RC_ID InternalId / Long


CURRING

FOLocation FO_LOCATION_T OBJECT_ID objectId / Long

Snapshot-Based Pagination

Snapshot-based pagination is supported by all Employee Central entities. Entity types with multiple business keys
might be slower if they are not optimized for snapshot-based pagination.

As of Q4 2018 Release, below Employee Central entity types have been optimized for better performance:

● PerPersonal
● EmpJob
● EmpEmployment

SAP SuccessFactors Employee Central OData API: Reference Guide


58 PUBLIC About Employee Central OData APIs
Use Cases

Below are examples of using snapshot-based and cursor-based pagination.

Snapshot-based pagination example

Request: https://<hostname>/odata/v2/EmpJob?$format=json&customPageSize=3&$select=userId
&paging=snapshot

Response:

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://apisalesdemo4.successfactors.com:443/
odata/v2/
EmpJob(seqNumber=1L,startDate=datetime'2007-07-01T00%3A00%3A00',userId='dselig1')
",
"type": "SFOData.EmpJob"
},
"userId": "dselig1"
},
{
"__metadata": {
"uri": "https://apisalesdemo4.successfactors.com:443/
odata/v2/
EmpJob(seqNumber=1L,startDate=datetime'2002-03-01T00%3A00%3A00',userId='sproctor1
')",
"type": "SFOData.EmpJob"
},
"userId": "sproctor1"
},
{
"__metadata": {
"uri": "https://apisalesdemo4.successfactors.com:443/
odata/v2/
EmpJob(seqNumber=1L,startDate=datetime'2002-10-01T00%3A00%3A00',userId='tbotts1')
",
"type": "SFOData.EmpJob"
},
"userId": "tbotts1"
}
],
"__next": "https://apisalesdemo4.successfactors.com:443/odata/v2/EmpJob?
customPageSize=3&
$skiptoken=eyJzdGFydFJvdyI6MywiZW5kUm93Ijo2LCJwYWdpbmciOiJzbmFwc2hvdCIsInBhZ2VTaX
plIjozLCJzbmFwc2hvdE5hbWUiOiJzbmFwc2hvdF8wYWVlMTAzZl8xNTRiXzQwNTVfOTM5MF84N2VlNTk
2ZDkxZmZfcHM0YnNmYXBpNTN0XzM4NCJ9&paging=snapshot&$format=json&$select=userId"
}
}

Cursor-based pagination example

Request: https://<hostname>/odata/v2/FOLocation?$format=json&customPageSize=3&$select=externalCode
&paging=cursor

Response:

SAP SuccessFactors Employee Central OData API: Reference Guide


About Employee Central OData APIs PUBLIC 59
 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOLocation(externalCode='US_ATL',startDate=datetime'1990-01-01T00:00:00')" ,
"type": "SFOData.FOLocation"
},
"externalCode": "US_ATL"
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOLocation(externalCode='US_CHI',startDate=datetime'1990-01-01T00:00:00')" ,
"type": "SFOData.FOLocation"
},
"externalCode": "US_CHI"
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOLocation(externalCode='US_DAL',startDate=datetime'1990-01-01T00:00:00')" ,
"type": "SFOData.FOLocation"
},
"externalCode": "US_DAL"
}
],
"__next": "https://<hostname>/odata/v2/FOLocation?$format=json&
$select=externalCode&customPageSize=3&
$skiptoken=eyJwYWdpbmciOiJjdXJzb3IiLCJwYWdlU2l6ZSI6MywiY3Vyc29yUHJvcGVydHlOYW1lIj
pudWxsLCJjdXJzb3JWYWx1ZSI6NX0%3D&paging=cursor"
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


60 PUBLIC About Employee Central OData APIs
2 Advances

2.1 AdvancesAccumulation

This entity records the accumulation of the requested advance and remaining eligibility for the user. It is not an
effective dated entity in the Advances module. This entity is created when an advance is approved by the
superviser.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

Permission System Required Setting

Role-based Assign the relevant permissions for AdvancesAccumulation in User Permissions Miscellaneous
Permissions .

Use Cases

API Call Description

https://<hostname>/odata/v2/ Queries instances of AdvancesAccumulation.


AdvancesAccumulation

2.2 AdvancesEligibility

This entity is used to configure different advances that a company offers to its employees. It is also used to
configure the recovery of the advance.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


Advances PUBLIC 61
Permissions

Permission System Required Setting

Role-based Assign the permission in Administrator Permissions Manage Advances Advances


Eligibility .

Use Cases

API Call Description

https://<hostname>/odata/v2/ Queries instances of AdvancesEligibility.


AdvancesEligibility

2.3 NonRecurringPayment

This entity is used to register an advance that is requested by an employee.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

Permission System Required Setting

Role-based Assign relevant permissions for NonRecurringPayment in User Permissions Miscellaneous


Permissions .

Use Cases

API Call Description

https://<hostname>/odata/v2/ Queries instances of NonRecurringPayment.


NonRecurringPayment

SAP SuccessFactors Employee Central OData API: Reference Guide


62 PUBLIC Advances
3 Apprentice Management

3.1 Apprentice

This entity provides a single and simple way of accessing the content from the Apprentice.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

Access to the Apprentice object is regulated by role-based permissions.

Use Case

API Call: http://<hostname>/odata/v2/Apprentice?$format=json&$filter=user eq 'charper1'

Description: Get apprentice from the user defined in the call

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
Apprentice('charper1')",
"type": "SFOData.Apprentice"
},
"user": "charper1",
"startDate": "/Date(1442181600000+0000)/",
"assignedAddSupervisor": "pjuvan1",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "Apprentice",
"mdfSystemVersionId": null,
"endDate": "/Date(1443823200000+0000)/",
"lastModifiedDateTime": "/Date(1441103482000+0000)/",
"assignedGroup": "6596",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "0A4A26BA750D403EB74162322E21BC15",
"mdfSystemEntityId": "E740930CC9A54ACEA541AB16197E03D6",
"name": "Harper, Catherine",
"mdfSystemStatus": "A",
"year": "2014",

SAP SuccessFactors Employee Central OData API: Reference Guide


Apprentice Management PUBLIC 63
"lastModifiedDateWithTZ": "/Date(1441103482000+0000)/",
"createdDate": "/Date(1441103482000)/",
"note": "sdfghjkl",
"mdfSystemRecordStatus": "N",
"assignedSchool": "6597",
"activeStatus": "ACTIVE",
"createdBy": "root",
"createdDateTime": "/Date(1441103482000+0000)/",
"lastModifiedBy": "root",
"lastModifiedDate": "/Date(1441103482000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"assignedAddSupervisorNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
Apprentice('charper1')/assignedAddSupervisorNav"
}
},
"assignedGroupNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
Apprentice('charper1')/assignedGroupNav"
}
},
"assignedSchoolNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
Apprentice('charper1')/assignedSchoolNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
Apprentice('charper1')/mdfSystemRecordStatusNav"
}
},
"userNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
Apprentice('charper1')/userNav"
}
},
"activeStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
Apprentice('charper1')/activeStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
Apprentice('charper1')/mdfSystemStatusNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


64 PUBLIC Apprentice Management
3.2 ApprenticeEventType

This entity provides a single and simple way of accessing the content from the Apprentice Event Type.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

Access to the Apprentice Event Type object is regulated by role-based permissions.

Use Case

API Call: http://<hostname>/odata/v2/ApprenticeEventType?$format=json&$filter=externalCode eq '6602'

Description: Get ApprenticeEventType from external code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeEventType(6602L)",
"type": "SFOData.ApprenticeEventType"
},
"externalCode": "6602",
"mdfSystemObjectType": "ApprenticeEventType",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"eventTypeDescription_pl_PL": null,
"eventTypeDescription_fi_FI": null,
"lastModifiedDateTime": "/Date(1447833758000+0000)/",
"eventTypeDescription_en_GB": "Internal Training",
"mdfSystemTransactionSequence": "1",
"eventTypeDescription_it_IT": null,
"eventTypeDescription_en_RTL": null,
"eventTypeDescription_nl_NL": null,
"mdfSystemRecordId": "126C466C5390482EAD0468CFC456412E",
"mdfSystemEntityId": "B4FA1A0DEE2D4198A3A1A683E211F981",
"eventTypeDescription_de_DE": null,
"mdfSystemStatus": "A",
"apprenticeEventTypeCategory": "TRAINING",
"lastModifiedDateWithTZ": "/Date(1447833758000+0000)/",
"eventTypeDescription_es_ES": null,
"createdDate": "/Date(1439452260000)/",
"eventTypeDescription_ja_JP": null,
"mdfSystemRecordStatus": "N",
"eventTypeDescription_fr_FR": null,
"eventTypeDescription_es_MX": null,
"eventTypeDescription_en_US": null,
"eventTypeDescription_da_DK": null,
"eventTypeDescription_en_SAP_SLS": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


Apprentice Management PUBLIC 65
"createdBy": "admin",
"createdDateTime": "/Date(1439452260000+0000)/",
"eventTypeDescription_ko_KR": null,
"eventTypeDescription_zh_CN": null,
"lastModifiedBy": "admin",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1447833758000)/",
"eventTypeDescription_defaultValue": "English Training",
"eventTypeDescription_zh_TW": null,
"apprenticeEventTypeCategoryNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeEventType(6602L)/apprenticeEventTypeCategoryNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeEventType(6602L)/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeEventType(6602L)/mdfSystemStatusNav"
}
}
}
]
}
}

3.3 ApprenticeInternalTrainingEvent

This entity provides a single and simple way of accessing the content from the Apprentice Internal Training Event.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

Access to the Apprentice Internal Training Event object is regulated by role-based permissions.

Use Case

API Call: http://<hostname>/odata/v2/ApprenticeInternalTrainingEvent?$format=json&$filter=externalCode eq


'6723'

SAP SuccessFactors Employee Central OData API: Reference Guide


66 PUBLIC Apprentice Management
Description: Get ApprenticeInternalTainingEvent from the external code

Code Example:
{
"d": {
"results": [
{
"__metadata": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeInternalTrainingEvent(6723L)",
"type": "SFOData.ApprenticeInternalTrainingEvent"
},
"externalCode": "6723",
"startDateAndTime": "/Date(1445637600000+0000)/",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "ApprenticeInternalTrainingEvent",
"mdfSystemVersionId": null,
"shareStatus": "SHARED",
"location": null,
"eventType": "6602",
"lastModifiedDateTime": "/Date(1445942436000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "CE036E7EA8704F18B3F9708695E4FD70",
"mdfSystemEntityId": "E0E4F78A984441F0B581E8B1FBA2CFEE",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1445942436000+0000)/",
"learningItem": null,
"createdDate": "/Date(1445602964000)/",
"note": null,
"mdfSystemRecordStatus": "N",
"isAllDayEvent": true,
"endDateAndTime": "/Date(1446242400000+0000)/",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1445602964000+0000)/",
"lastModifiedDate": "/Date(1445942436000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"eventName": "zum test",
"assignedApprenticeGroups": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeInternalTrainingEvent(6723L)/assignedApprenticeGroups"
}
},
"shareStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeInternalTrainingEvent(6723L)/shareStatusNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeInternalTrainingEvent(6723L)/mdfSystemRecordStatusNav"
}
},
"assignedApprentices": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeInternalTrainingEvent(6723L)/assignedApprentices"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeInternalTrainingEvent(6723L)/mdfSystemStatusNav"
}
},

SAP SuccessFactors Employee Central OData API: Reference Guide


Apprentice Management PUBLIC 67
"eventTypeNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeInternalTrainingEvent(6723L)/eventTypeNav"
}
}
}
]
}
}

3.4 ApprenticePracticalTrainingEvent

This entity provides a single and simple way of accessing the content from the Apprentice Practical Training Event.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

Access to the Apprentice Practical Training Event object is regulated by role-based permissions.

Use Case

Code Examples

API call: http://<hostname>/odata/v2/ApprenticePracticalTrainingEvent?$format=json&$filter=externalCode eq


'6967'

Description: Get ApprenticePracticalTrainingEvent from external Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticePracticalTrainingEvent(6967L)",
"type": "SFOData.ApprenticePracticalTrainingEvent"
},
"externalCode": "6967",
"startDateAndTime": "/Date(1453158000000+0000)/",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "ApprenticePracticalTrainingEvent",
"mdfSystemVersionId": null,
"shareStatus": "SHARED",
"department": "de2",
"eventType": "6747",
"lastModifiedDateTime": "/Date(1453466572000+0000)/",
"mdfSystemTransactionSequence": "1",

SAP SuccessFactors Employee Central OData API: Reference Guide


68 PUBLIC Apprentice Management
"mdfSystemRecordId": "B2EE3F0E932E40C1872F2F86F520B36F",
"mdfSystemEntityId": "F6053DBE61594048900C5CF29D692ADE",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1453466572000+0000)/",
"createdDate": "/Date(1453380236000)/",
"note": null,
"mdfSystemRecordStatus": "N",
"isAllDayEvent": true,
"endDateAndTime": "/Date(1453503599000+0000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1453380236000+0000)/",
"lastModifiedBy": "admin",
"lastModifiedDate": "/Date(1453466572000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"eventName": "de2",
"departmentNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticePracticalTrainingEvent(6967L)/departmentNav"
}
},
"assignedApprenticeGroups": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticePracticalTrainingEvent(6967L)/assignedApprenticeGroups"
}
},
"shareStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticePracticalTrainingEvent(6967L)/shareStatusNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticePracticalTrainingEvent(6967L)/mdfSystemRecordStatusNav"
}
},
"assignedApprentices": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticePracticalTrainingEvent(6967L)/assignedApprentices"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticePracticalTrainingEvent(6967L)/mdfSystemStatusNav"
}
},
"eventTypeNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticePracticalTrainingEvent(6967L)/eventTypeNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Apprentice Management PUBLIC 69
3.5 ApprenticeSchool

This entity provides a single and simple way of accessing the content from the Apprentice School.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

Access to the Apprentice School object is regulated by role-based permissions.

3.6 ApprenticeSchoolEvent

This entity provides a single and simple way of accessing the content from the Apprentice School Event.

Permissions

Access to the Apprentice School object is regulated by role-based permissions.

Use Case

API Call: http://<hostname>/odata/v2/ApprenticeSchoolEvent?$format=json&$filter=externalCode eq '6822'

Description: Get ApprenticeSchoolEvent from externalCode

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeSchoolEvent(6822L)",
"type": "SFOData.ApprenticeSchoolEvent"
},
"externalCode": "6822",
"startDateAndTime": "/Date(1448838000000+0000)/",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "ApprenticeSchoolEvent",
"mdfSystemVersionId": null,
"shareStatus": "NOT_SHARED",
"eventType": "6604",
"lastModifiedDateTime": "/Date(1448889138000+0000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


70 PUBLIC Apprentice Management
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "90D6E02E7CE0445299AD625C5E9A1CA7",
"mdfSystemEntityId": "04213BA663004D05AECED2E6E80CDD69",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1448889138000+0000)/",
"createdDate": "/Date(1448888089000)/",
"note": null,
"mdfSystemRecordStatus": "N",
"isAllDayEvent": true,
"school": null,
"endDateAndTime": "/Date(1449269999000+0000)/",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1448888089000+0000)/",
"lastModifiedDate": "/Date(1448889138000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"eventName": "School",
"schoolNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeSchoolEvent(6822L)/schoolNav"
}
},
"assignedApprenticeGroups": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeSchoolEvent(6822L)/assignedApprenticeGroups"
}
},
"shareStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeSchoolEvent(6822L)/shareStatusNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeSchoolEvent(6822L)/mdfSystemRecordStatusNav"
}
},
"assignedApprentices": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeSchoolEvent(6822L)/assignedApprentices"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeSchoolEvent(6822L)/mdfSystemStatusNav"
}
},
"eventTypeNav": {
"__deferred": {
"uri": "https://mo-e40605f30.mo.sap.corp:443/odata/v2/
ApprenticeSchoolEvent(6822L)/eventTypeNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Apprentice Management PUBLIC 71
4 Contingent Workforce

4.1 VendorInfo

This entity lets you display view vendor information such as the vendor code and language-specific descriptions

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases

Request Information

Operation Get

URI https://host.com/odata/v2/VendorInfo?
$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://host.com/odata/v2/
VendorInfo(effectiveStartDate=datetime'1992-07-01T00:00:00',vendorCode='Wipro')",
"type": "SFOData.VendorInfo"
},
"vendorCode": "Wipro",
"effectiveStartDate": "\/Date(709948800000)\/",
"mdfSystemLastModifiedDate": "\/Date(1469138991000)\/",
"mdfSystemObjectType": "VendorInfo",
"mdfSystemLastModifiedDateWithTZ": "\/Date(1469138991000+0000)\/",
"description_ro_RO": null,
"lastModifiedDateTime": "\/Date(1469138991000+0000)\/",
"description_fr_CA": null,
"effectiveStatus": "A",
"mdfSystemRecordId": "820AB0FD94394715B790117136881365",
"mdfSystemEntityId": "95C37BBA405341EEB1E13D5635CD23D6",
"description_cs_CZ": null,
"description_de_DE_SF": null,
"description_fi_FI": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


72 PUBLIC Contingent Workforce
"description_de_CH": null,
"mdfSystemLastModifiedBy": "WF1",
"description_bg_BG": null,
"description_nb_NO": null,
"description_fr_FR_SF": null,
"mdfSystemRecordStatus": "N",
"description_ko_KR": null,
"description_sv_SE": null,
"description_en_US": null,
"description_bs_BS_SF": null,
"description_es_MX": null,
"description_pt_PT": null,
"mdfSystemCreatedDate": "\/Date(1469138991000)\/",
"description_hu_HU": null,
"description_zh_TW_SF": null,
"description_es_ES_SF": null,
"createdBy": "WF1",
"description_pt_BR": null,
"description_en_GB_SF": null,
"description_ja_JP": null,
"description_zh_CN_SF": null,
"lastModifiedBy": "WF1",
"createdDateTime": "\/Date(1469138991000+0000)\/",
"description_hr_HR": null,
"description_defaultValue": null,
"description_hi_IN": null,
"mdfSystemEffectiveEndDate": "\/Date(253402214400000)\/",
"description_da_DK": null,
"mdfSystemVersionId": null,
"description_uk_UA": null,
"description_it_IT_SF": null,
"description_sl_SI": null,
"description_vi_VN": null,
"mdfSystemTransactionSequence": "1",
"description_tr_TR": null,
"description_bs_ID": null,
"description_th_TH": null,
"description_cy_GB": null,
"description_sr_RS": null,
"description_localized": null,
"description_el_GR": null,
"description_iw_IL": null,
"description_sk_SK": null,
"mdfSystemCreatedBy": "WF1",
"description_ar_SA": null,
"vendorName": "Wipro",
"description_ru_RU": null,
"description_nl_NL": null,
"description_pl_PL": null,
"wfRequestNav": {
"__deferred": {
"uri": "https://host.com/odata/v2/
VendorInfo(effectiveStartDate=datetime'1992-07-01T00:00:00',vendorCode='Wipro')/
wfRequestNav"
}
},
"descriptionTranslationTextNav": {
"__deferred": {
"uri": "https://host.com/odata/v2/
VendorInfo(effectiveStartDate=datetime'1992-07-01T00:00:00',vendorCode='Wipro')/
descriptionTranslationTextNav"
}
},
"effectiveStatusNav": {
"__deferred": {
"uri": "https://host.com/odata/v2/
VendorInfo(effectiveStartDate=datetime'1992-07-01T00:00:00',vendorCode='Wipro')/
effectiveStatusNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


Contingent Workforce PUBLIC 73
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://host.com/odata/v2/
VendorInfo(effectiveStartDate=datetime'1992-07-01T00:00:00',vendorCode='Wipro')/
mdfSystemRecordStatusNav"
}
}
}]
}
}

4.2 WorkOrder

This entity lets you view work order information.

Supported Operations

Operation Description

Query Query a work order.

Insert Create a work order.

Merge Update a work order by merging property values.

Replace Update a work order by replacing property values.

Upsert Create new or update exisitng work orders.

Delete Delete a work order.

Properties

For more information about the properties and navigation properties, please go to Admin Center API Center
OData API Data Dictionary or use the API query: https://<hostname>/odata/v2/<Entity>/$metadata.

Use Case: Query a Single Work Order

Request Information

Operation Query

SAP SuccessFactors Employee Central OData API: Reference Guide


74 PUBLIC Contingent Workforce
HTTP Method GET

URI https://<hostname>/odata/v2/WorkOrder?
$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkOrder(effectiveStartDate=datetime'2016-07-01T00:00:00',userSysId='ffff')",
"type": "SFOData.WorkOrder"
},
"effectiveStartDate": "\/Date(1467331200000)\/",
"userSysId": "ffff",
"startDate": "\/Date(1467331200000)\/",
"mdfSystemObjectType": "WorkOrder",
"mdfSystemVersionId": null,
"endDate": "\/Date(1469923200000)\/",
"effectiveStatus": "A",
"lastModifiedDateTime": "\/Date(1469139083000+0000)\/",
"effectiveEndDate": "\/Date(1469923200000)\/",
"currency": "INR",
"billingRate": "20140729",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "3A53FB89E8DB4C799B50142D664D63CC",
"billingAmount": "221",
"mdfSystemEntityId": "E1F72484B6B5486C9CC3F61444D5D746",
"workOrderOwnerId": "ggadmin",
"lastModifiedDateWithTZ": "\/Date(1469139083000+0000)\/",
"createdDate": "\/Date(1469139083000)\/",
"mdfSystemRecordStatus": "N",
"workOrderId": "test_workorder",
"vendor": "Wipro",
"workOrderName": "test_workorder",
"workerType": null,
"createdBy": "WF1",
"createdDateTime": "\/Date(1469139083000+0000)\/",
"lastModifiedBy": "WF1",
"lastModifiedDate": "\/Date(1469139083000)\/",
"currencyNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkOrder(effectiveStartDate=datetime'2016-07-01T00:00:00',userSysId='ffff')/
currencyNav"
}
},
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkOrder(effectiveStartDate=datetime'2016-07-01T00:00:00',userSysId='ffff')/
wfRequestNav"
}
},
"workOrderOwnerIdNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Contingent Workforce PUBLIC 75
"uri": "https://<hostname>/odata/v2/
WorkOrder(effectiveStartDate=datetime'2016-07-01T00:00:00',userSysId='ffff')/
workOrderOwnerIdNav"
}
},
"effectiveStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkOrder(effectiveStartDate=datetime'2016-07-01T00:00:00',userSysId='ffff')/
effectiveStatusNav"
}
},
"billingRateNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkOrder(effectiveStartDate=datetime'2016-07-01T00:00:00',userSysId='ffff')/
billingRateNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkOrder(effectiveStartDate=datetime'2016-07-01T00:00:00',userSysId='ffff')/
mdfSystemRecordStatusNav"
}
},
"userSysIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkOrder(effectiveStartDate=datetime'2016-07-01T00:00:00',userSysId='ffff')/
userSysIdNav"
}
},
"workerTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkOrder(effectiveStartDate=datetime'2016-07-01T00:00:00',userSysId='ffff')/
workerTypeNav"
}
},
"vendorNav": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
VendorInfo(effectiveStartDate=datetime'1992-07-01T00:00:00',vendorCode='Wipro')",
"type": "SFOData.VendorInfo"
},
"vendorCode": "Wipro",
"effectiveStartDate": "\/Date(709948800000)\/",
"mdfSystemLastModifiedDate": "\/Date(1469138991000)\/",
"mdfSystemObjectType": "VendorInfo",
"mdfSystemLastModifiedDateWithTZ": "\/
Date(1469138991000+0000)\/",
"description_ro_RO": null,
"lastModifiedDateTime": "\/Date(1469138991000+0000)\/",
"description_fr_CA": null,
"effectiveStatus": "A",
"mdfSystemRecordId": "820AB0FD94394715B790117136881365",
"mdfSystemEntityId": "95C37BBA405341EEB1E13D5635CD23D6",
"description_cs_CZ": null,
"description_de_DE_SF": null,
"description_fi_FI": null,
"description_de_CH": null,
"mdfSystemLastModifiedBy": "WF1",
"description_bg_BG": null,
"description_nb_NO": null,
"description_fr_FR_SF": null,
"mdfSystemRecordStatus": "N",
"description_ko_KR": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


76 PUBLIC Contingent Workforce
"description_sv_SE": null,
"description_en_US": null,
"description_bs_BS_SF": null,
"description_es_MX": null,
"description_pt_PT": null,
"mdfSystemCreatedDate": "\/Date(1469138991000)\/",
"description_hu_HU": null,
"description_zh_TW_SF": null,
"description_es_ES_SF": null,
"createdBy": "WF1",
"description_pt_BR": null,
"description_en_GB_SF": null,
"description_ja_JP": null,
"description_zh_CN_SF": null,
"lastModifiedBy": "WF1",
"createdDateTime": "\/Date(1469138991000+0000)\/",
"description_hr_HR": null,
"description_defaultValue": null,
"description_hi_IN": null,
"mdfSystemEffectiveEndDate": "\/Date(253402214400000)\/",
"description_da_DK": null,
"mdfSystemVersionId": null,
"description_uk_UA": null,
"description_it_IT_SF": null,
"description_sl_SI": null,
"description_vi_VN": null,
"mdfSystemTransactionSequence": "1",
"description_tr_TR": null,
"description_bs_ID": null,
"description_th_TH": null,
"description_cy_GB": null,
"description_sr_RS": null,
"description_localized": null,
"description_el_GR": null,
"description_iw_IL": null,
"description_sk_SK": null,
"mdfSystemCreatedBy": "WF1",
"description_ar_SA": null,
"vendorName": "Wipro",
"description_ru_RU": null,
"description_nl_NL": null,
"description_pl_PL": null,
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
VendorInfo(effectiveStartDate=datetime'1992-07-01T00:00:00',vendorCode='Wipro')/
wfRequestNav"
}
},
"descriptionTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
VendorInfo(effectiveStartDate=datetime'1992-07-01T00:00:00',vendorCode='Wipro')/
descriptionTranslationTextNav"
}
},
"effectiveStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
VendorInfo(effectiveStartDate=datetime'1992-07-01T00:00:00',vendorCode='Wipro')/
effectiveStatusNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
VendorInfo(effectiveStartDate=datetime'1992-07-01T00:00:00',vendorCode='Wipro')/
mdfSystemRecordStatusNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


Contingent Workforce PUBLIC 77
}
}
}
}]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


78 PUBLIC Contingent Workforce
5 Deductions

5.1 DeductionScreenId

This entity provides the Non screen IDs that are required for configuring the Deduction UI in Employee Central.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

Permission System Required Setting

Role-based Assign relevant permissions for DeductionScreenId in User Permissions Miscellaneous


Permissions .

Use Cases

API Call Description

https://<hostname>/odata/v2/ Queries all instances of DeductionScreenId.


DeductionScreenId

SAP SuccessFactors Employee Central OData API: Reference Guide


Deductions PUBLIC 79
5.2 OneTimeDeduction

This entity creates non-recurring deductions for employees.

Permissions

Permission System Required Setting

Role-based Assign the relevant permissions for deductions in User Permissions Manage Deductions .

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Supported Operations

Operation Description

Query Query non-recurring deductions for employees.

Use Cases

API Call Description

https://<hostname>/odata/v2/ Queries all instances OneTimeDeduction.


OneTimeDeduction

SAP SuccessFactors Employee Central OData API: Reference Guide


80 PUBLIC Deductions
5.3 RecurringDeduction

This entity subtracts recurring expenses from the gross income of employees.

Permissions

Permission System Required Setting

Role-based Assign relevant permissions for RecurringDeductions in User Permissions Miscellaneous


Permissions .

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Supported Operations

Operation Description

Query Query recurring expenses from the gross income of employ­


ees.

Use Cases

API Call Description

https://system-url/odata/v2/ Queries instances of RecurringDeduction.


RecurringDeduction

https://system-url/odata/v2/ Retrieves the child (recurring items) of RecurringDeduction.


RecurringDeduction? $expand=recurringItem&
$format=json

SAP SuccessFactors Employee Central OData API: Reference Guide


Deductions PUBLIC 81
6 Employment Objects

6.1 EmpBeneficiary

This entity contains the list of pension beneficiaries for an employee.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Related Information

Getting users up and running: Permission settings [page 20]

6.2 EmpCompensation

This entity contains information about compensation for an employee.

HRIS element information

HRIS Element ID: compInfo


Business Keys: userId + startDate + seqNumber
Effective-date:true
Foundation Type:false
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD: true

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


82 PUBLIC Employment Objects
Anything else I need to know about the fields?

When you make a last modified query, take a look at how this entity behaves with $filter and lastModifiedOn:

lastModifiedDateTime and $filter [page 45]

Use Case: Query the System for Employees on the basis of Pay Group and
Creation Date

API Call Description

https://<hostname>/odata/v2/ Get all Persons which are in pay group 'xxx' and are created af­
EmpCompensation?$filter=payGroup eq ter 'xxxx-xx-xx'
'NA_GROUP' and createdOn gt
datetime'2011-08-01T00:00:00'&$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/public/
EmpCompensation(seqNumber=1L,startDate=datetime'2011-08-15T00:00:00',userId='rallen1
')",
"type": "SFOData.EmpCompensation"
},
"startDate": "/Date(1313366400000)/",
"userId": "rallen1",
"seqNumber": "1",
"endDate": "/Date(253402300799000)/",
"isEligibleForCar": false,
"lastModifiedDateTime": "/Date(1325617370000+0000)/",
"benefitsRate": "0",
"event": "2294",
"payGrade": null,
"isHighlyCompensatedEmployee": null,
"eventReason": "PAYPRO",
"payGroup": "NA_GROUP",
"lastModifiedOn": "/Date(1325617370000)/",
"createdOn": "/Date(1313433937000)/",
"isInsider": null,
"createdBy": "eeee",
"createdDateTime": "/Date(1313433937000+0000)/",
"lastModifiedBy": "admin",
"payType": "1593",
"pensionableSalary": null,
"notes": null,
"isEligibleForBenefits": false,
"eventNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 83
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpCompensation(seqNumber=1L,startDate=datetime'2011-08-15T00:00:00',userId='rallen1
')/eventNav"
}
},
"employmentNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpCompensation(seqNumber=1L,startDate=datetime'2011-08-15T00:00:00',userId='rallen1
')/employmentNav"
}
},
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpCompensation(seqNumber=1L,startDate=datetime'2011-08-15T00:00:00',userId='rallen1
')/wfRequestNav"
}
},
"empPayCompRecurringNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpCompensation(seqNumber=1L,startDate=datetime'2011-08-15T00:00:00',userId='rallen1
')/empPayCompRecurringNav"
}
},
"payTypeNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpCompensation(seqNumber=1L,startDate=datetime'2011-08-15T00:00:00',userId='rallen1
')/payTypeNav"
}
},
"eventReasonNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpCompensation(seqNumber=1L,startDate=datetime'2011-08-15T00:00:00',userId='rallen1
')/eventReasonNav"
}
},
"payGroupNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpCompensation(seqNumber=1L,startDate=datetime'2011-08-15T00:00:00',userId='rallen1
')/payGroupNav"
}
},
"userNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpCompensation(seqNumber=1L,startDate=datetime'2011-08-15T00:00:00',userId='rallen1
')/userNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


84 PUBLIC Employment Objects
Use Case: Update/Insert the Employee Record with Compensation Related
Information

Request:

Operation Upsert

URI http://<Hostname>/odata/v2/Upsert

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Content-Type: application/json

Payload
 Sample Code

{
"__metadata": {
"uri":
"EmpCompensation(seqNumber=1L,startDa
te=datetime'2018-12-28T00:00:00',user
Id='userIdVVas101')",
"type": "SFOData.EmpCompensation"
},
"eventReason":"HIRNEW",
"payrollId" :"777",
"payrollSystemId":"USDDD"
}

Response:

 Sample Code

<?xml version="1.0" encoding="utf-8"?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key>EmpCompensation/seqNumber=1,EmpCompensation/
startDate=2018-12-28T00:00:00.000Z,EmpCompensation/userId=userIdVVas101</d:key>
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true"></d:message>
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)"></
d:inlineResults>
</m:properties>
</content>
</entry>
</feed>

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 85
Related Information

Getting users up and running: Permission settings [page 20]

6.2.1 empCompensationCalculated

This entity exposes a transient value that you see in the Compensation Information portlet.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases

API Call Description

https://<hostname>/odata/v2/ Retrieves the empCompensationCalculated value as an $ex­


EmpCompensation?$filter=userId%20eq pand of EmpCompensation.
%20'TestUser'&
$expand=empCompensationCalculatedNav

 Sample Code

Response

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmpCompensation(seqNumber=1L,startDate=datetime'2008-07-01T00:00:00',userId='pluc
as1')",
"type": "SFOData.EmpCompensation"
},
"startDate": "/Date(1214870400000)/",
"userId": "plucas1",
"seqNumber": "1",
"endDate": "/Date(253402214400000)/",
"isEligibleForCar": null,
"lastModifiedDateTime": "/Date(1263496137000+0000)/",
"benefitsRate": null,
"event": null,
"isHighlyCompensatedEmployee": null,
"eventReason": null,
"payGroup": null,
"lastModifiedOn": "/Date(1263496137000)/",
"createdOn": "/Date(1263496137000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1263496137000+0000)/",
"lastModifiedBy": "admin",
"payType": "1597",
"notes": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


86 PUBLIC Employment Objects
"isEligibleForBenefits": null,
.....
"empCompensationCalculatedNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmpCompensation(seqNumber=1L,startDate=datetime'2008-07-01T00:00:00',userId='pluc
as1')/empCompensationCalculatedNav"
}
},
"userNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmpCompensation(seqNumber=1L,startDate=datetime'2008-07-01T00:00:00',userId='pluc
as1')/userNav"
}
}
}
]
}
}

Tell Me More

This transient value is calculated by:

● GetCompaRatioByUserDateAndSeq - This calculates the Compa-Ratio field that you see in the Compensation
Information portlet.
● GetRangePenetrationByUserDateAndSeq - This calculates the Range Penetration field that you see on the
Compensation Information portlet.
Neither Compa-Ratio nor Range Penetration is stored on the database so both fields are treated as transient
fields. If you want to expose their values, you need to use empCompensationCalculated.

It has been designed for use in UI scenarios and is not suitable for mass data replication.

Related Information

Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 87
6.2.2 empCompensationGroupSumCalculated

This entity exposes a transient value that is calculated from the pay component group sums that are in the
compensation information record. It is calculated by GetEligiblePayComponentGroupsByUserDateAndSeq and is
for use in UI scenarios and is not suitable for mass data replication.

Operations Allowed

Transient values are not stored to the database so you can't query them directly. Instead you have to treat
empCompensationGroupSumCalculated as a child entity of EmpCompensation. In addition to $expand, you can
also use the operators $select and $format with the GET operation but please note that $filter,$orderby, $skip, and
$top are not supported.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases

API Call Description

https://<hostname>.com/odata/v2/ Retrieves the empCompensationGroupSumCalculated as an


EmpCompensation?$format=json& $expand of EmpCompensation.
$filter=userId%20eq%20'plucas1'&
$expand=empCompensationGroupSumCalculatedN
av&fromDate=2000-01-01&toDate=2015-09-30

 Sample Code

Response

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://sfapiqacand.sflab.ondemand.com:443/odata/v2/
EmpCompensation(seqNumber=1L,startDate=datetime'2008-07-01T00:00:00',userId='pluc
as1')",
"type": "SFOData.EmpCompensation"
},
"startDate": "/Date(1214870400000)/",
"userId": "plucas1",
"seqNumber": "1",
"endDate": "/Date(253402214400000)/",
"isEligibleForCar": null,
"lastModifiedDateTime": "/Date(1263496137000+0000)/",
"benefitsRate": null,
"event": null,
"isHighlyCompensatedEmployee": null,
"eventReason": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


88 PUBLIC Employment Objects
"payGroup": null,
"lastModifiedOn": "/Date(1263496137000)/",
"createdOn": "/Date(1263496137000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1263496137000+0000)/",
"lastModifiedBy": "admin",
"payType": "1597",
"notes": null,
"isEligibleForBenefits": null,
...
}
},
"empCompensationGroupSumCalculatedNav": {
"results": []
}
}
]
}

Additional Information

Take a look at the table here for additional information on some of the properties

Field Name Description

amount The value calculated by GetEligiblePayComponentGroupsByU­


serDateAndSeq

CurrencyCode Defines the currency being used

errorCode The errorCode "Success" indicates that the call has been suc­
cessful and calculation results are returned.
errorMessage The errorCode "ErrorMximumRecord" indicates that the num­
ber of records called exceeds the maximum of 50 and the calls
will not be made.

Related Information

Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 89
6.3 EmpEmployment

The entity contains information such as the termination date, possibility of rehire, payroll information and so on.

HRIS element information

HRIS Element ID: employmentInfo


Business Keys: personIdExternal + userId
Effective-date:false
Foundation Type:false
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD: false

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case 1: Query the System to get all Global Assignments of an Employee

API Call Description

https://<hostname>.com/odata/v2/ All global assignments of Sally Jones


EmpEmployment?$skip=1&
$filter=personIdExternal eq 'mcolton1'&
$expand=empGlobalAssignmentNav&
$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpEmployment(personIdExternal='mcolton1',userId='184')",
"type": "SFOData.EmpEmployment"
},
"personIdExternal": "mcolton1",
"userId": "184",
"startDate": "/Date(1420070400000)/",
"eligibleForStock": null,
"initialOptionGrant": null,
"payrollEndDate": null,
"serviceDate": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


90 PUBLIC Employment Objects
"professionalServiceDate": null,
"okToRehire": null,
"regretTermination": null,
"endDate": null,
"eligibleForSalContinuation": null,
"lastModifiedDateTime": "/Date(1418718010000+0000)/",
"StockEndDate": null,
"assignmentClass": "GA",
"lastDateWorked": null,
"salaryEndDate": null,
"originalStartDate": null,
"benefitsEndDate": null,
"lastModifiedOn": "/Date(1418700010000)/",
"initialStockGrant": null,
"bonusPayExpirationDate": null,
"createdOn": "/Date(1418700010000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1418718010000+0000)/",
"lastModifiedBy": "admin",
"customString1": null,
"seniorityDate": null,
"empPayCompNonRecurringNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpEmployment(personIdExternal='mcolton1',userId='184')/empPayCompNonRecurringNav"
}
},
"compInfoNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpEmployment(personIdExternal='mcolton1',userId='184')/compInfoNav"
}
},
"personNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpEmployment(personIdExternal='mcolton1',userId='184')/personNav"
}
},
"jobInfoNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpEmployment(personIdExternal='mcolton1',userId='184')/jobInfoNav"
}
},
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpEmployment(personIdExternal='mcolton1',userId='184')/wfRequestNav"
}
},
"empJobRelationshipNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpEmployment(personIdExternal='mcolton1',userId='184')/empJobRelationshipNav"
}
},
"empGlobalAssignmentNav": {
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpGlobalAssignment('184')",
"type": "SFOData.EmpGlobalAssignment"
},
"userId": "184",
"startDate": "/Date(1420070400000)/",
"payrollEndDate": null,
"endDate": null,
"lastModifiedDateTime": "/Date(1418718010000+0000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 91
"lastModifiedOn": "/Date(1418700010000)/",
"createdOn": "/Date(1418700010000)/",
"assignmentClass": "GA",
"personIdExternal": "mcolton1",
"createdBy": "admin",
"assignmentType": "6130",
"plannedEndDate": "/Date(1433030400000)/",
"createdDateTime": "/Date(1418718010000+0000)/",
"lastModifiedBy": "admin",
"customString1": null,
"customString110": null,
"userNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpGlobalAssignment('184')/userNav"
}
},
"assignmentTypeNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpGlobalAssignment('184')/assignmentTypeNav"
}
},
"employmentNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpGlobalAssignment('184')/employmentNav"
}
}
},
"userNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpEmployment(personIdExternal='mcolton1',userId='184')/userNav"
}
},
"empWorkPermitNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpEmployment(personIdExternal='mcolton1',userId='184')/empWorkPermitNav"
}
}
}
]
}
}

Use Case 2: Update External User Record with Employment related Information

Request:

Operation POST

URI http://<Hostname>.com/odata/v2/upsert

Headers http://Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


92 PUBLIC Employment Objects
Payload
 Sample Code

{"__metadata": {
"uri":
"EmpEmployment(personIdExternal='user
IdVVas101',userId='userIdVVas101')"
},
"startDate":"/Date(1388534400000)/",
"personIdExternal":"userIdVVas101",
"userId":"userIdVVas101"
}

Response:

 Sample Code

<?xml version="1.0" encoding="utf-8"?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key>EmpEmployment/
personIdExternal=userIdVVas101,EmpEmployment/userId=userIdVVas101</d:key>
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true"></d:message>
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)"></
d:inlineResults>
</m:properties>
</content>
</entry>
</feed>

Related Information

Getting users up and running: Permission settings [page 20]


EmpEmployment Upsert [page 531]
Filtering out external user data [page 535]

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 93
6.4 EmpEmploymentTermination

This entity contains employment or global assignment termination information for an employee.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: employmentInfo


Business Keys: personIdExternal + userId + endDate
Effective-date:false
Foundation Type:false
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD: false

Use Cases

API Call Description

https://<hostname>/odata/v2/ Get all employees terminated 2014


EmpEmploymentTermination?$filter=endDate
lt datetime'2014-12-31T00:00:00' and
endDate gt datetime'2014-01-01T00:00:00'&
$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://hostname/odata/v2/
EmpEmploymentTermination(endDate=datetime'2014-12-09T00:00:00',personIdExternal='hmu
eller1',userId='189')",
"type": "SFOData.EmpEmploymentTermination"
},
"personIdExternal": "hmueller1",
"userId": "189",
"endDate": "/Date(1418083200000)/",
"payrollEndDate": null,
"benefitsEndDate": null,
"okToRehire": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


94 PUBLIC Employment Objects
"regretTermination": null,
"eligibleForSalContinuation": null,
"lastModifiedDateTime": "/Date(1418732822000+0000)/",
"lastModifiedOn": "/Date(1418714822000)/",
"bonusPayExpirationDate": null,
"StockEndDate": null,
"createdOn": "/Date(1418709564000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1418727564000+0000)/",
"lastDateWorked": null,
"lastModifiedBy": "admin",
"salaryEndDate": null,
"notes": null,
"personNav": {
"__deferred": {
"uri": "https://hostname/odata/v2/
EmpEmploymentTermination(endDate=datetime'2014-12-09T00:00:00',personIdExternal='hmu
eller1',userId='189')/personNav"
}
},
"userNav": {
"__deferred": {
"uri": "https://hostname/odata/v2/
EmpEmploymentTermination(endDate=datetime'2014-12-09T00:00:00',personIdExternal='hmu
eller1',userId='189')/userNav"
}
},
"jobInfoNav": {
"__deferred": {
"uri": "https://hostname/odata/v2/
EmpEmploymentTermination(endDate=datetime'2014-12-09T00:00:00',personIdExternal='hmu
eller1',userId='189')/jobInfoNav"
}
},
"employmentNav": {
"__deferred": {
"uri": "https://hostname/odata/v2/
EmpEmploymentTermination(endDate=datetime'2014-12-09T00:00:00',personIdExternal='hmu
eller1',userId='189')/employmentNav"
}
}
},
{
"__metadata": {
"uri": "https://hostname/odata/v2/
EmpEmploymentTermination(endDate=datetime'2014-04-01T00:00:00',personIdExternal='hmu
eller1',userId='186')",
"type": "SFOData.EmpEmploymentTermination"
},
"personIdExternal": "hmueller1",
"userId": "186",
"endDate": "/Date(1396310400000)/",
"payrollEndDate": null,
"benefitsEndDate": null,
"okToRehire": null,
"regretTermination": false,
"eligibleForSalContinuation": null,
"lastModifiedDateTime": "/Date(1418917414000+0000)/",
"lastModifiedOn": "/Date(1418899414000)/",
"bonusPayExpirationDate": null,
"StockEndDate": null,
"createdOn": "/Date(1418702808000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1418720808000+0000)/",
"lastDateWorked": null,
"lastModifiedBy": "admin",
"salaryEndDate": null,
"notes": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 95
"personNav": {
"__deferred": {
"uri": "https://hostname/odata/v2/
EmpEmploymentTermination(endDate=datetime'2014-04-01T00:00:00',personIdExternal='hmu
eller1',userId='186')/personNav"
}
},
"userNav": {
"__deferred": {
"uri": "https://hostname/odata/v2/
EmpEmploymentTermination(endDate=datetime'2014-04-01T00:00:00',personIdExternal='hmu
eller1',userId='186')/userNav"
}
},
"jobInfoNav": {
"__deferred": {
"uri": "https://hostname/odata/v2/
EmpEmploymentTermination(endDate=datetime'2014-04-01T00:00:00',personIdExternal='hmu
eller1',userId='186')/jobInfoNav"
}
},
"employmentNav": {
"__deferred": {
"uri": "https://hostname/odata/v2/
EmpEmploymentTermination(endDate=datetime'2014-04-01T00:00:00',personIdExternal='hmu
eller1',userId='186')/employmentNav"
}
}
}
]
}
}

6.5 EmpGlobalAssignment

This entity contains details about the global assignment for an employee. You can create a new global assignment
by upserting this entity.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: globalAssignmentInfo


Business Keys: userId
Effective-date:false
Foundation Type:false
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: No
Supports MCPD: false

SAP SuccessFactors Employee Central OData API: Reference Guide


96 PUBLIC Employment Objects
Use Cases

API Call Description

https://<hostname>.com/odata/v2/ The Global Assignment with the userId 183


EmpGlobalAssignment?$filter=userId eq
'183'&$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpGlobalAssignment('183')",
"type": "SFOData.EmpGlobalAssignment"
},
"userId": "183",
"startDate": "/Date(1417392000000)/",
"payrollEndDate": null,
"endDate": null,
"lastModifiedDateTime": "/Date(1415696549000+0000)/",
"lastModifiedOn": "/Date(1415678549000)/",
"createdOn": "/Date(1415678549000)/",
"assignmentClass": "GA",
"personIdExternal": "ttest",
"createdBy": "admin",
"assignmentType": "6131",
"plannedEndDate": "/Date(1446336000000)/",
"createdDateTime": "/Date(1415696549000+0000)/",
"lastModifiedBy": "admin",
"customString1": null,
"customString110": null,
"userNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpGlobalAssignment('183')/userNav"
}
},
"assignmentTypeNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpGlobalAssignment('183')/assignmentTypeNav"
}
},
"employmentNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpGlobalAssignment('183')/employmentNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 97
Additional Information

When you upsert this entity, a new global assignment is created meaning that there is a new record in
EmpGlobalAssignment and a new entry in the User entity for this employee. Since EmpGlobalAssignment and
EmpEmployment share the same persistency, each global assignment appears as an Employment in
EmpEmployment with the type global assignment.

Related Information

Getting users up and running: Permission settings [page 20]

6.6 EmpJob

This entity contains information such as the employee's manager, the department, or other information relating to
the employee's job.

HRIS element information

HRIS Element ID: jobInfo


Business Keys: userId + startDate + seqNumber
Effective-date:true
Foundation Type:false
Person Entity Element:false
Supports Incremental Load:yes
Supports NO_OVERWRITE: yes
Supports MCPD: true

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Anything else I need to know about the fields?

When you make a last modified query, take a look at how this entity behaves with $filter and lastModifiedOn:

lastModifiedDateTime and $filter [page 45]

SAP SuccessFactors Employee Central OData API: Reference Guide


98 PUBLIC Employment Objects
Use Case: Query the system to get employee information on the basis of
Company and Manager name

API Call Description

https://<hostname>/odata/v2/EmpJob? Get all Persons having Carla Grant as Manager and working for
$filter=company eq 'ACE_USA' and managerId ACE_USA
eq 'cgrant1'&$select=employmentNav/
personNav/personalInfoNav/
firstName,employmentNav/personNav/
personalInfoNav/lastName,company&
$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpJob(seqNumber=1L,startDate=datetime'2010-12-01T00:00:00',userId='rallen1')",
"type": "SFOData.EmpJob"
},
"company": "ACE_USA",
"employmentNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpJob(seqNumber=1L,startDate=datetime'2010-12-01T00:00:00',userId='rallen1')/
employmentNav"
}
}
}
]
}
}

Use Case 2: Update External User Record with Job related Information

Request:

Operation POST

URI http://<Hostname>.com/odata/v2/upsert

Headers http://Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 99
Payload
 Sample Code

{
"__metadata": {
"uri":
"EmpJob(seqNumber=1L,startDate=dateti
me'2018-12-28T00:00:00',userId='userI
dVVas101')",
"type": "SFOData.EmpJob"
},
"userId": "userIdVVas101",
"seqNumber": "1",
"eventReason": "HIRNEW",
"company": "ACE IT",
"managerId" : "snadmin",
"timezone" : "IST"
}

Response:

 Sample Code

<?xml version="1.0" encoding="utf-8"?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key>EmpJob/seqNumber=1,EmpJob/
startDate=2018-12-28T00:00:00.000Z,EmpJob/userId=userIdVVas101</d:key>
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message>[Warning!] Rule(s)
migratedRule__BUSINESS_UNIT_cust_string2_JOB_INFO_custom-string72_1537296583427
could not be executed for this record. Please verify that all rules are
configured correctly.</d:message>
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)"></
d:inlineResults>
</m:properties>
</content>
</entry>
</feed>

Related Information

Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


100 PUBLIC Employment Objects
6.7 EmpJobRelationships

This entity contains the employee relationship information to one or more managers.

HRIS element information

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS Element ID: jobRelationsInfo


Business Keys: userId + relationshipType + startDate
Effective-date: true
Foundation Type:false
Person Entity Element:false
Supports Incremental Load: true
Supports NO_OVERWRITE: true
Supports MCPD: false

Anything else I need to know about the fields?

When you make a last modified query, look at how this entity behaves with $filter and lastModifiedOn:

lastModifiedDateTime and $filter [page 45]

Use Cases

The following example shows how to get all entries that have the external code "hr manager".

Sample request:

Operation GET

URI https://<hostname>.com/odata/v2/
EmpJobRelationships?
$filter=relationshipTypeNav/externalCode
eq 'hr manager'&
$expand=relationshipTypeNav&
$select=relationshipTypeNav/
externalCode,relationshipType&$format=JSON

Headers Authorization: Basic <Base 64 encoded


(“user@company:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 101
Sample response:

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
EmpJobRelationships(relationshipType='5777',startDate=datetime'2011-07-13T00:00:00',
userId='147')",
"type": "SFOData.EmpJobRelationships"
},
"relationshipType": "5777",
"relationshipTypeNav": {
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
PicklistOption(5777L)",
"type": "SFOData.PicklistOption"
},
"externalCode": "hr manager"
}
}
]
}
}

The following example shows how to delimit the job relationship between user "4000021" and user "4000185".

Sample request:

Operation POST

URI http://<Hostname>.com/odata/v2/upsert

Headers Authorization: Basic <Base 64 encoded


(“user@company:password”)>

Payload {
"__metadata":{

"uri":"EmpJobRelationships(relationshipT
ype='5777',startDate=datetime'2013-11-15
T00:00:00',userId='4000021')",

"type":"SFOData.EmpJobRelationships"
},
"startDate":"/Date(1384473600000)/",
"relationshipType":"5777",
"userId":"4000021",
"relUserId":"4000185",
"operation":"DELIMIT"
}

Sample response:

{
"d": [
{
"key": "EmpJobRelationships/relationshipType=5777,EmpJobRelationships/
startDate=2013-11-15T00:00:00.000+08:00,EmpJobRelationships/userId=4000021",
"status": "OK",
"editStatus": "UPSERTED",
"message": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


102 PUBLIC Employment Objects
"index": 0,
"httpCode": 200,
"inlineResults": null
}
]
}

Related Information

Getting users up and running: Permission settings [page 20]

6.8 EmpPensionPayout

This entity contains information about how the pension will be paid to the employee.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: pensionPayoutsInfo


Business Keys: userId
Effective-date:false
Foundation Type:false
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: No
Supports MCPD: false

Related Information

Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 103
6.9 EmpWfRequest

This entity contains information about workflow requests associated with an employee.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: N/A


Business Keys: empWfRequestId
Effective-date:false
Foundation Type:false
Person Entity Element:false
Supports Incremental Load:false
Supports NO_OVERWRITE: false
Supports MCPD: false

Use Cases

API Call Description

https://<hostname>.com/odata/v2/ Get all requesttypes and eventReasons of Carla Grant


EmpWfRequest?$filter=subjectId eq
'cgrant1'&$select=eventReason,subjectId&
$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/EmpWfRequest(307L)",
"type": "SFOData.EmpWfRequest"
},
"eventReason": "PAYMKT",
"subjectId": "cgrant1"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/EmpWfRequest(306L)",
"type": "SFOData.EmpWfRequest"

SAP SuccessFactors Employee Central OData API: Reference Guide


104 PUBLIC Employment Objects
},
"eventReason": "PAYMKT",
"subjectId": "cgrant1"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/EmpWfRequest(305L)",
"type": "SFOData.EmpWfRequest"
},
"eventReason": "PAYMKT",
"subjectId": "cgrant1"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/EmpWfRequest(304L)",
"type": "SFOData.EmpWfRequest"
},
"eventReason": "PAYMKT",
"subjectId": "cgrant1"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/EmpWfRequest(303L)",
"type": "SFOData.EmpWfRequest"
},
"eventReason": "PAYMKT",
"subjectId": "cgrant1"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/EmpWfRequest(302L)",
"type": "SFOData.EmpWfRequest"
},
"eventReason": "PAYMKT",
"subjectId": "cgrant1"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/EmpWfRequest(301L)",
"type": "SFOData.EmpWfRequest"
},
"eventReason": "PAYMKT",
"subjectId": "cgrant1"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/EmpWfRequest(41L)",
"type": "SFOData.EmpWfRequest"
},
"eventReason": null,
"subjectId": "cgrant1"
}
]
}
}

Related Information

Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 105
6.10 EmpWorkPermit

This entity contains information about work permits for an employee.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: workPermitInfo


Business Keys:userId+ country+documentType + documentNumber (need to be confirmed
by EC core UI logic)
Effective-date:false
Foundation Type:false
Person Entity Element:false
Supports Incremental Load:false
Supports NO_OVERWRITE: false
Supports MCPD:false

Use Cases

API Call Description

https://<hostname>.com/odata/v2/ All WorkPermits for USA


EmpWorkPermit?$filter=country eq 'USA'&
$format=JSON

Code Examples

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmpWorkPermit(country='USA',documentNumber='gr',documentType='6148',userId='174')
",
"type": "SFOData.EmpWorkPermit"
},
"documentType": "6148",
"userId": "174",
"documentNumber": "gr",
"country": "USA",
"attachmentFileSize": "44711",

SAP SuccessFactors Employee Central OData API: Reference Guide


106 PUBLIC Employment Objects
"attachmentStatus": "1",
"expirationDate": "/Date(1377129600000)/",
"attachmentFileName": "EmeprgencyBeforeImport.jpeg",
"issueDate": "/Date(1373328000000)/",
"attachmentMimeType": "image/jpeg",
"lastModifiedOn": "/Date(1377254694000)/",
"lastModifiedDateTime": "/Date(1377269094000+0000)/",
"attachment": "/9j/4AAQSkZJRgABAAEAYABgAAD//
gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCE\r
\nAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0N\r
\nDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0N\r
\nDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEB\r
\nAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEU\r
\nMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2Rl\r
\nZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK\r
\n0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYS\r
\nQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNU\r
\nVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5\r
\nusLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAJkEegMBEQACEQEDEQH/\r
\n2gAMAwEAAhEDEQA/AMeaZYIy5OFUE55zwCTnjOABmvZ9D5889vNXuLpyQzRpnhVJHHbOOp478Zzg\r
\nDOK3UUjFyfojLqyAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKA\r
\nCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAK\r
\nACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA\r
\nKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAo\r
\n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\r
\nHnXtKkOdPkm43jGycU7XUZXTk10k007tyikrQOqShRqeylHnjGTjOV2pPVqUoWfKrbwUlK6SUm7u\r
\nRU0/wdc6jFCyzW8M16HNnbStIs1yEJXMe2N4kDurRx+fLCJHUhMgZrWc1T5tG+SKlO32Ytc13e17\r
\nR99qN5ctny6q+MYcyUk0oyk4QctOaSaXKrXSfM1G8moqTtze7K1mx8C3N7HaObm0gk1MN9khlaYS\r
\nSskjxGP5IHSNi6gKZXjjbcoDkhwilUUHKKTk4QVRqNvhcOdNXaT0T03un0s21TdlKbUE5un711aS\r
\nkotNJNrVq7tp1sWNS8IQW9vpphuoFmvopJJzM0saRbJZVZizwIqpGI/LKqZJXmDCJZVaMle0/eVI\r
\nr4IQhJNa3vFS0S95ud/cSjpFe+ou97dLlpxb0qOrODje1uWyav8AClDVzblbW8W4p8tMeCbmc2xs\r
\nZ7W8hvHmRZommSOI26rJMZvtEEDoI428wnYcoDt3Hgt1FHm504KMPaXdmnHmcdOVybfMrWte7ja9\r
\nyVScknTak3NU7K6fO1zRXvKKs1d3vZWfM1YvaB4QtL7UFtp761mt3tbm4WSBp8boY5CEdGthPGVZ\r
\nPMcSQx74QTCzsyAqc3GnVkotSgotXs17zS5rptNK9mr8ylbmjy3ZVOmpVaUHJOM52fLdPTVxs0mn\r
\nJWtK3K1dKSkmlwUihGKqwcKSAy7trAHG4bgrYPUblVsdQDxWyd0m1bydrrydm1p5Nrsznas2k00n\r
\nur2fmrpOz80n3QymIKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAC\r
\ngAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKA\r
\nCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAK\r
\nACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoA0tGs01C+gtJSwSaVI2K4DAMwBwSCM88ZBHt\r

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 107
\n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\r

SAP SuccessFactors Employee Central OData API: Reference Guide


108 PUBLIC Employment Objects
\n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\r

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 109
\n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\r

SAP SuccessFactors Employee Central OData API: Reference Guide


110 PUBLIC Employment Objects
\n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\r

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 111
\n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\r
\nqofGvn+R9ZV5x6xB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z\r
\n+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/\r
\nhQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQ\r
\nAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UA\r
\nH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2\r
\ndff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9n\r
\nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3\r
\n/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/\r
\n8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8A\r
\nP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4\r
\nUAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+F\r
\nAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB\r
\n9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAf\r
\nZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ1\r
\n9/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2df\r
\nf/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/\r
\nAD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z\r
\n+FAB9nX3/wA/hQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/\r
\nhQAfZ19/8/hQAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQAfZ19/8/hQ\r
\nAfZ19/8AP4UAH2dff/P4UAH2dff/AD+FAB9nX3/z+FAB9nX3/wA/hQBIkYj6d6AOA+Kv/ItXfb5r\r
\nX/0st61p/EjGr8D/AK6nzHgf3Sf8/WvUPFOs+H//ACM2n/71xzxz/olxx+Fc9b4TqofGvn+R9ZV5\r
\nx6xl6yt8bYnTJYLedfm3XFvJcxlQCSvlx3NqwY8YbzSBzlGzxjUk6cXUVrRUpNd7Juyd9Netn6Gk\r
\nEpPlfWyT7NtatW10vpda630s+I0LxXqEejWmr6v5V7NqqWptLTT7Y28pkniMrRbrrUJIpCqBnMjv\r
\nbKqROxySFHXViqVT2EU5T5p6qyXLGPM5NfZSs7vmd3KMUuZrmyjd88m0oQcovR7qp7NbX+OTikra\r
\nN3lLlTa1JPHMHk28lraXl5cXa3DfZIRbLcRfZHWK6EgnuYYt8EzLEyRSyu7nMKyRguM9no7wUI1H\r
\nNJtKE9YS5be0fMruyg5JpxklJqLpJ2d/daqKnZ2T5mpSWvw8rjByUm1FxcZJtO4/TPE1xqGvXOlG\r
\n2kjtILKzuo53VEYtcNOGV0abzlyIwqI1tG6PFOJSAYd9KPuzcrJwqumrNNNKEJXTV09ZXvdJxlC1\r
\n3zWluyoyin+8hKTTVnGzSSadrWv7y1d3G20rdpUDCgAoAKACgAoAKACgAoAKACgAoAKACgAoA5Lx\r
\nhrdzoVtFLa+VEJZ1jmu545Jbeyi2O7XFxHE8TGIFFiLGaCOIyiWWVY0YNF/ejFtRi1J8z2ul7sFq\r
\nknNuycmlpypSnKMXaXuylZtxStGO7vJJvZ6QTc5JJtqL+FXnHAtPHb2llFPeLHqpur42VnPpBheG\r
\n9ZonmVkR7yQW+1o5LeUS3LKksZlZ1hYtHra7hBRkpyjOXK7bQeslJ8qs4fvEt0lKHvSUeeP+fkua\r
\nLhBQd1e6c5RhyNK/vc8k1bRwlF6PmitZvHEDW8ElraXt1c3DXC/Yo1gW5iNo3l3Rl864igAgk2xl\r
\nkncSNJH5BlVw1Q2o639zkVRzSfLGDsrtW5ua7a5FFz9yp7vuStSTd0/damqdn1lJOUUmrxtKCc1J\r
\ntQ5be9dpNX8e6aLe5vIvNmgstOh1NnRV/eW84nKCMO6N5mLd9ySCMLlQWzuC6ODi+V7+2jR/7el7\r
\nOzutHD97F3XS7SelyEXNwilZzU3aSacXTajKMlupJu1tdU72LY8Vo+oHT4bW7mSKSOGe6iSFoIJZ\r
\nYlmRJV84XWDHJEWlS2eBPMG+VQspjUVzX6K81FvaThfmSavy2s0ufk5mko3coc2XNaMZrXmhCaS3\r
\nUZzcE2vVNvlvaKcnonZlr4xtrrUP7PWG4WNppraK8YRfZprm3UvNbxlZjOJIwkoLSQRxM0MqpIxA\r
\nDTD348y091zSe8oRn7NzW6tzNWu1KUZKcU4XktJ/u9HrZxUrfYc488ebbSScdVeKlOEG1N8p1tAg\r

SAP SuccessFactors Employee Central OData API: Reference Guide


112 PUBLIC Employment Objects
\n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\r

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 113
\n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\r
\nOkpKcO6kqagr90/ejJXa5Zcy9+MWn+IvCOuavfK6yRSW0VzZXEBa+vLdYUtpLeWSB7CCA212ZJIX\r
\ndbi5mLoZVCIgiXLpvkqKpLpOV3veE1KNlF2jTlCM5NNXlNxSnNRklT5bONFUY7+wdN9LVHGScuZe\r
\n9KMvci4uyUbtRbcufoIfDNzF5GWi/cavc37YLcwzfa9qj5P9YPPTcDhRhsOcDMw932d/sQqRfrPn\r
\ntby95X267mk3ze1t9v2FvL2f1fmv6+yla1943td25S/+H1+wjuIDHLcQ3mrSCMahf6cph1G5+0Ix\r
\nurFPP8yPZEHhKNC+5/n3JG9QlaMYafwI0pN3a5oybTUbpThaUuaMuVt8rUo2kpaykpOV72c6M1or\r
\nv2dBUXG7+C7bkpJS0STj7z5fUND01dGsLbT0ChbWCOEBPM2DYgXCebJLLt4+XzJZHAwGdjyeipLn\r
\nnKSvZvS9r26Xskr23stzmgml7/xNuUrXd5SblJ3bb1be/wCGxqVkWFABQAUAFABQAUAFABQAUAc5\r
\n4i0q5vxb3WntGl5p8/nxLNuEUoMUkMkEjoGeNZI5WAlRJDE4RzFKqmN0rxlzpXvGUJJu14ycZaOz\r

SAP SuccessFactors Employee Central OData API: Reference Guide


114 PUBLIC Employment Objects
\n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\r
\n3gpJ66PCt2jGN1QlLmainZc0XFqK0Tur2SbmNGa3svequ3NKdlUpKCXNJXlyyurv7Nnv7q3J9Bv2\r
\n1FbmDyoI/MhZp4rm6R3jjVQ8c1iFNrcO4VohcPIrpGyFU3QruyhUhGLUrv4/dcYtNyvZqT96nZtS\r
\najzc0ottpTajLo1LRUbJxjSXOpTi48ji5pxS5aqklNR5uXlU7WbjzS7iuM9IKACgAoAKACgAoAKA\r
\nPPfir/yLV32+a1/9LLetafxIxq/A/wCup8x4H90n/P1r1DxTrPh//wAjNp/+9cc8c/6JccfhXPW+\r
\nE6qHxr5/kfWVecesFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQ\r
\nAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFAB\r
\nQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFA\r
\nBQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAF\r
\nABQAUAFAGa+i2Em7fbW7b927MMZ3b/P37srzv+03O7P3vtE+c+bJu055raTVvN9LW+7lj/4CuyMv\r
\nZwe8Y636LrzX6deaV/8AFLuwfRbCTdvtrdt+7dmGM7t/n792V53/AGm53Z+99onznzZNxzzW0mre\r
\nb6Wt93LH/wABXZB7OD3jHW/Rdea/TrzSv/il3YPothJu321u2/duzDGd2/z9+7K87/tNzuz977RP\r
\nnPmybjnmtpNW830tb7uWP/gK7IPZwe8Y636LrzX6deaV/wDFLuwfRbCTdvtrdt+7dmGM7t/n792V\r
\n53/abndn732ifOfNk3HPNbSat5vpa33csf8AwFdkHs4PeMdb9F15r9OvNK/+KXdg+i2Em7fbW7b9\r
\n27MMZ3b/AD9+7K87/tNzuz977RPnPmybjnmtpNW830tb7uWP/gK7IPZwe8Y636LrzX6deaV/8Uu7\r
\nNKszUKACgAoAKACgAoAKAPPPir/yLN33+a14/wC3y3rWn8SMavwP+up8yD/ex7cV6h4p1ngDjxNp\r
\n/Y7rjj0/0S4rnrfCdVD418/yPrKvOPWMzV7i9tbcyabDBczKclLi4e2TYASxEkdtdNuHGF8oA5OX\r
\nGOcpz9nFzt7sU3LXWyTeitZv1a9S4x5ny3s3ZLTS7aWuuitd3Sfa2t1ymi+M5Z9Ji1zWYIrG3vEt\r
\n3tktZrm/nk+0KGWMwx2MMhl5HyQLcZG9iQqEnpqRVKXsm7z5pRsk2nyxcm099Ixk3eKSjG997Zxv\r
\nJytZRi5JttLWM3DrZWcrKOt5OSio8zSepc+NdJtbWG9aSWSK6V3iEFrdXEuyPAlZ4IIJJ4lhYhJj\r
\nLGghkIjl2SEKc37rs2rWUua65FGWsZOpfkUZL3oycrSinJNpNqopyV4p/H7O3XnTknHl3crwkrJd\r
\nBmneLrfU9Yn0aBHYW9pbXa3ASUwyrcmTASTyhCQFRGRlmbzd0ioM28221F8s5NcrhUdNp6O6jF31\r
\ns9200k7JKTdpxvLaSpSi7xqxlJNdk1b70762ton8Ub9bUDCgAoAKACgAoAKACgAoAKACgAoAKACg\r
\nAoA5rxN4gbQY7dYYkmuL65S1gWWb7PAJHV3HnT+XMY1KxsqbIZXkmaOJU+csqV5TVONrtTlq7aQV\r
\n2lo3KXaKWylJtRjJqrJRlUk7Rja9ld3lJQj1VlzSXM29Fe15Wi84eM00yAv4hhbTZxdfZFSNZ7uO\r
\n4laIzxfZJI7ZJLgSRgqALdH89XtwpkC760fLyXbak+W3vLklyy91X93VTUl/y7fO1HlmozZrmbso\r
\nxUZc11a0moq97Wkpvlcd9mrxlFu5N410mC0hv/NkkhumdYlhtrqeYtFu84NbQwvcRmAoyziSJfIc\r
\nbJdj4FJ2i1FtK8edO65eT3ffc78ih78PfbUfeWuo4pyuktYy5GnpLn19xRdm5Ozaik24pyS5U2WZ\r
\nfFelwRzzNcKY7O0jvpnRXdRayiUxzKyKwkVxDIQIy7YXO35lzXK0+Vqz9oqVno1UfJaP/k8ddtdX\r
\no7KHv8nJr7ROUfNRtf0tdaOzGy+LNNgvV015HE7ukeRBcGBZZE3xwyXQiNrFM6FWSGSZZWDx7UPm\r
\nR7lFOTaW65t9L8qbly3tz8qUnLkvblnf4JWltKMaj+GSjJP+7OXJFtbpSn7qvbUfB4p0641BtJjk\r
\nY3SF15hnWJnjVXkijuWjFtLNGrBpIY5WlQBiyDY+1R99OUdlfydoz9nJpPVxjP3JSScVJqLabSdS\r
\n9yylpdpLrq4uaTt8LcE5pSs3G0ldNN9BQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQAUAFABQA\r
\nUAFABQAUAFABQAUAFABQB5rB8RUl03VL9rZo5tH+2MIGlGLmG1lmhWaOQIdqySQSIwKFoXUhgytG\r
\n8hH3o0ZdajoqUetP28koN904vmi9FJxnBPmpz5dVD988PfbaVtH7qlJf4otrmV3aMoSfxpHUTeK9\r
\nNtrxNNmkZbiTyxxDO0KNNnyo5blYzbQyykYiillSSQlAisZEDNLmcow1cW4vpdxiptK/xSUGpuMb\r
\ntR95qybOZS/dxrS0Uoxla92lJqKbS1UXJ8qk0ouSaTunboqRoFABQAUAFABQAUAFABQAUAFABQAU\r
\nAFABQAUAMlfy0Z+u0E4+gzWdSXs4SqWvyxcrbXsr2KiuaSj3aX3nnOl/ERNS0W31j7M0M089jBLa\r
\nvKN0X26aCOOQSBCJEMU6TxkKu9f3beVIHVOpwtUhSv8AE5Rk/wCScKUqk4Nd04pdOaEoVY3hKPNF\r

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 115
\n7e270lOXlNRbSafZtOLeqjOM4auLOph8U6bPftpUcjfaUZk5hnWFpEUO8Udy0YtpZkQ7nhjleVFV\r
\nyyARvtxj76cobK/k7RlySaT1cYz9yUknFStFtNpNy9y3Npdpd7OUXKKlb4XKK5oqVm42krppvoKA\r
\nCgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAK\r
\nACgAoAKACgAoA4/W/FyaFqtlpk0LNDfRzO9yGAW38uS3iQyIRkpJLcJGXVv3bFWdfL3vGQ9+UoPT\r
\nlUOV/wA06kpKNPyclCXL/NPlpr35xTc/cpqruufla6pcrk5ekUry2UYKU27RYv8AwmNrbm+N4rQp\r
\np95HZL5ay3Ek7yW9vOvlwQRNMzk3G3y40lbbG0hIXcFV1y05dajqJRSbf7uVRPb+7TlN6JRV77XG\r
\n48snDSypwm22klzuUUtdL3SS1vKUlFK7SfRadqNvq1ul3aP5kMoO04ZSCCVZXRwrxyIwKSRyKskb\r
\nqyOqspAtpx0dtk000001dNNXTTTTTTaaaadiE73S3TcWmmmnF2aaeqaaLtSMKACgAoAKACgAoAKA\r
\nCgAoAKAORbXNSmubqKys4JorGURMWu2jmkJhinPlxfZHjziUKoe4QMw+ZkU7huowjCNSpKS5uZ6R\r
\nUrKM5QbfvR/lbsk9Nrs5pTn7SVKlGL5VB3lNx+NXtpCW3e5bfxZpsUUEzyMEu41mQiKVwsbFQJJm\r
\njR1gjDMFMkzJGDkbvlbFewnzypJJuLSeqSbd+VRvbmcrPlivel0QnXhGCqzvFNSbTTbiofG5KN7K\r
\nntOXwxdrvVXrReL7Uy3cU6yxfYblbYYhuHadmiWQeUiw7pG5f5IhKfKQTnETq1L2Tcac42fOpO10\r
\nuVRk029dFZK7lZKT5H7yaG60YznTaaUFB3tLXntZLTV3aSSbcui0Y2/8X29tbtdW22dVtLu5CMZY\r
\npCbQorxlGgPlkO2yQSlJI2AAif59jjRbkoS0vKjG6tJWrNqMrp6qyuuW6et3HS79rFpOPX2is1KL\r
\nTpxcmrNXT/xcujTV9jTfxFZRXK2buyzOUTiKYxLJIu5InuBGYElcEFY3kV23JhTvTdCpSabjsubq\r
\n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\r
\nKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAo\r
\nAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgA\r
\noAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACg\r
\nAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgDNfRbCTdvtrdt+7dmGM7\r
\nt/n792V53/abndn732ifOfNk3ac81tJq3m+lrfdyx/8AAV2Rl7OD3jHW/Rdea/TrzSv/AIpd2D6L\r
\nYSbt9tbtv3bswxndv8/fuyvO/wC03O7P3vtE+c+bJuOea2k1bzfS1vu5Y/8AgK7IPZwe8Y636Lrz\r
\nX6deaV/8Uu7B9FsJN2+2t237t2YYzu3+fv3ZXnf9pud2fvfaJ8582Tcc81tJq3m+lrfdyx/8BXZB\r
\n7OD3jHW/Rdea/TrzSv8A4pd2D6LYSbt9tbtv3bswxndv8/fuyvO/7Tc7s/e+0T5z5sm455raTVvN\r

SAP SuccessFactors Employee Central OData API: Reference Guide


116 PUBLIC Employment Objects
\n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\r

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 117
\n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\r
\nYPuj60AKerfT+lAxB/D9KQETdTQB/9k=\r\n",
"createdOn": "/Date(1373615304000)/",
"attachmentId": "841",
"createdBy": "admin",
"lastModifiedBy": "admin",
"isValidated": false,
"createdDateTime": "/Date(1373629704000+0000)/",
"documentTitle": "Tres",
"attachmentFileType": "jpeg",
"notes": null,
"issuePlace": null,
"issuingAuthority": null,
"countryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmpWorkPermit(country='USA',documentNumber='gr',documentType='6148',userId='174')
/countryNav"
}
},
"documentTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmpWorkPermit(country='USA',documentNumber='gr',documentType='6148',userId='174')
/documentTypeNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


118 PUBLIC Employment Objects
}
},
"userNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmpWorkPermit(country='USA',documentNumber='gr',documentType='6148',userId='174')
/userNav"
}
},
"employmentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmpWorkPermit(country='USA',documentNumber='gr',documentType='6148',userId='174')
/employmentNav"
}
}
}
]
}
}

Related Information

Getting users up and running: Permission settings [page 20]

6.11 EmpPayCompNonRecurring

This entity contains information about non-recurring components of an employee's pay.

HRIS element information

HRIS Element ID: payComponentNonRecurring


Business Keys:userId+ payComponentCode + payDate
Effective-date:false
Foundation Type:false
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD:false

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 119
Business Key Behavior

Each payment record is associated with a sequence number, which enables you to have more than one pay
component on the same pay date. It can be defined as an additional business key via data model configuration.
With or without the seqNumber property being enabled, the business key and required fields for the entity are
different.

seqNumber enabled? Business Key Required Fields

No user_sys_id user_sys_id

pay-component-code pay-component-code

pay_date pay_date

Yes user_sys_id user_sys_id

seqNumber pay-component-code

pay_date

seqNumber

To enable seqNumber, add the following attributes to the seqNumber property in the data model from Provisioning:

<hris-field id="sequence-number" visibility="view" allow-import="true">

 Remember

As a customer, you do not have access to Provisioning. To complete tasks in Provisioning, contact your
Implementation Partner. If you are no longer working with an Implementation Partner, contact SAP Cloud
Support.

For more information about seqNumber, see Can you update a Pay Component Non Recurring data that exists on
the same pay-date with the same pay-component-code?.

Once sequenceNumber is introduced as a business key, it must be maintained. If sequenceNumber is not


maintained in integrations that rely on the uniqueness of the pay component, these integrations could break.

Use Cases

API Call Description

https://<hostname>/odata/v2/EmpPayCompNonRecurring? Get the value and the date of the payment,


$filter=value gt '5000' and currencyCode eq 'USD'& and first and last name of all payments
$select=value,employmentNav/personNav/personalInfoNav/ higher than 5000$
firstName,employmentNav/personNav/personalInfoNav/
lastName&$expand=employmentNav/personNav/
personalInfoNav&$format=JSON

SAP SuccessFactors Employee Central OData API: Reference Guide


120 PUBLIC Employment Objects
Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpPayCompNonRecurring(payComponentCode='BNS-
USA',payDate=datetime'2011-05-09T00:00:00',userId='mbarista1')",
"type": "SFOData.EmpPayCompNonRecurring"
},
"value": "20000",
"employmentNav": {
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpEmployment(personIdExternal='mbarista1',userId='mbarista1')",
"type": "SFOData.EmpEmployment"
},
"personNav": {
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPerson('mbarista1')",
"type": "SFOData.PerPerson"
},
"personalInfoNav": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
public/
PerPersonal(personIdExternal='mbarista1',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.PerPersonal"
},
"lastName": "Barista",
"firstName": "Marcia"
}
]
}
}
}
}
]
}
}

Related Information

Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 121
6.12 EmpPayCompRecurring

This contains information about recurring components of an employee's pay.

HRIS element information

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS Element ID: empPayComponentRecurring


Business Keys: userId + payComponentCode + payDate(sequenceNumber isn’t configured
in data model or it’s not editable) / userId + seqNumber (Otherwise)
Effective-date:true
Foundation Type:false
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD:true

Anything else I need to know about the fields?

When you make a last modified query, take a look at how this entity behaves with $filter and lastModifiedOn:

lastModifiedDateTime and $filter [page 45]

Use Cases

‹‹ If necessary, add any supplementary information about the use cases here ››

API Call Description

https://<hostname>/odata/v2/ Get all Persons having a greater income than 100000 USD per
EmpPayCompRecurring?$filter=payComponent year
eq 'Base Salary' and paycompvalue ge
'100000' and currencyCode eq 'USD' and
frequency eq 'ANN'&$format=JSON

Code Examples

SAP SuccessFactors Employee Central OData API: Reference Guide


122 PUBLIC Employment Objects
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpPayCompRecurring(payComponent='Base
Salary',seqNumber=1L,startDate=datetime'2011-03-19T00:00:00',userId='wsown1')",
"type": "SFOData.EmpPayCompRecurring"
},
"startDate": "/Date(1300492800000)/",
"payComponent": "Base Salary",
"userId": "wsown1",
"seqNumber": "1",
"paycompvalue": "100000",
"currencyCode": "USD",
"endDate": "/Date(253402300799000)/",
"frequency": "ANN",
"lastModifiedDateTime": "/Date(1304284880000+0000)/",
"lastModifiedOn": "/Date(1304284880000)/",
"createdOn": "/Date(1304284880000)/",
"createdBy": "wsown1",
"createdDateTime": "/Date(1304284880000+0000)/",
"lastModifiedBy": "wsown1",
"notes": null,
"frequencyNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpPayCompRecurring(payComponent='Base
Salary',seqNumber=1L,startDate=datetime'2011-03-19T00:00:00',userId='wsown1')/
frequencyNav"
}
},
"payComponentNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpPayCompRecurring(payComponent='Base
Salary',seqNumber=1L,startDate=datetime'2011-03-19T00:00:00',userId='wsown1')/
payComponentNav"
}
},
"compensationNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpPayCompRecurring(payComponent='Base
Salary',seqNumber=1L,startDate=datetime'2011-03-19T00:00:00',userId='wsown1')/
compensationNav"
}
},
"userNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpPayCompRecurring(payComponent='Base
Salary',seqNumber=1L,startDate=datetime'2011-03-19T00:00:00',userId='wsown1')/
userNav"
}
},
"employmentNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
EmpPayCompRecurring(payComponent='Base
Salary',seqNumber=1L,startDate=datetime'2011-03-19T00:00:00',userId='wsown1')/
employmentNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 123
Related Information

Getting users up and running: Permission settings [page 20]

6.13 EmpTimeAccountBalance

The EmpTimeAccountBalance entity provides time account balance information, enabling external systems like
payrolls to capture this data. The most common use case for deriving time account balance information is to enrich
the employee’s pay slip with time off data.

A prerequisite for this API is a configured EC Time Off solution.

As the balance is not stored in EC Time Off, the API needs to calculate the balance as of the specified date (balance
as of date). The API therefore needs to determine the valid time account(s) of the respective user (that is,
employment) and time account type and calculate the balance by summing up the time account details.

The API currently returns only calculated data based on accrual runs already performed. Simulated data is not
returned by the API.

For details, check the corresponding Implementation Information for Time Off available at http://help.sap.com/
cloud4hr?current=on-demand#section5.

 Caution

The external code of the time account type is case sensitive. You have to ensure that the external code is
correct.

How is the balance calculated?

● Determination of valid time accounts


Balance is calculated based on time accounts for the requested time account type. The validity of a time
account is derived from the bookable period. Time accounts are selected if the parameter balanceAsOfDate
falls into the bookable period. Closed accounts are considered.

 Note

Example

Vacation 2013 (Bookable period 1.1.2017-31.03.2018) Balance 5 days7

Vacation 2018 (Bookable period 1.1.2018-31.03.2019) Balance 18 days

If the service is called with a balance as of date 1.3.2018, the system identifies two valid time accounts and
returns both results. Result would be 2 records as above.

If the service is called with a balance as of date 1.8.2018, the system identifies only one valid time account.
Result would be 18 days. One record is returned only.

SAP SuccessFactors Employee Central OData API: Reference Guide


124 PUBLIC Employment Objects
● The balance considers all positive and negative bookings up to the selected date. This includes:
○ All accruals and entitlements
○ Manual adjustments (deduction and adding)
○ Carry forward values from period end processing (negative or positive)
○ All recalculation values for example due to an FTE change (negative and positive)
○ All taken leave up to the selected day
○ And all other bookings

Permissions

Ensure that for Manage Integration Tools the following checks are switched on:

● Admin access to ODATA API


● Access to ODATA API Audit Log

Required Fields

The Entity has two mandatory filters, to be used in $filter, which support IN and EQ operation only. The 2nd
optional parameter is a normal URL parameter which requires a date in format YYYY-MM-DD.

Name Description

timeAccountType (mandatory) – as part of $filter List of Time Account Type(s). Error if no time account type is
provided.

balanceAsOfDate (optional) – URL parameter Balances as of Date If no date is passed, today will be used as
the default effective date

userId (mandatory) – as part of $filter List of User(s)

Error if no user is provided.

 Caution

When you are using this entity in middleware or integration center, bulk data abstraction is not possible
because UserID is a mandatory field and giving all UserID in the filter criteria will lead to a large query that
would result in a failure.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 125
Properties: Additional Information

The following properties are returned for each record. The API might return several records per user and time
account type provided in the filter. The unique key of the returned records is neither the userId nor the
timeAccountType but the unique UUID of the TimeAccount Entity. This means that the API returns the balance for
all relevant time accounts of the given users and adds additional information based on the returned time account.

Property Description

timeAccount Unique ID of the selected time account(s)

timeAccountType Time account type of the selected time account(s)

timeUnit Either days or hours

balance Values as described below

userId User ID from User Entity

accountClosed Boolean value that indicates whether the corresponding ac­


count is closed already and can no longer be booked.

API Call Examples

Example: Payroll Integration - provide time account balance information for pay slip:

Call: https://<host.com>/odata/v2/EmpTimeAccountBalance

?$filter=userId+in+'btassimo','bwfapproval'+and

+timeAccountType+in+'bgs_tacct_irregularWorkSchedule_hours',

'bgs_tacct_WF_NoStep_CcRole-Person',

'bgs_tacct_WF_stepEM_CcEMM',

'bgs_tacct_WF_NoStep_CcDynamicGroup',

'bgs_tacct_WF_NoStep_CcDynamicRole'

&$format=JSON

&balanceAsOfDate=2014-09-01

Results

{"d" : {"results" : [
{
"__metadata" : {
"uri" : "https://<host.sap.com>/odata/v2/
EmpTimeAccountBalance('168c659421714e16bcd1963d9937731b')", "type" :
"SFOData.EmpTimeAccountBalance"
}, "timeAccount" : "168c659421714e16bcd1963d9937731b", "balance" : "240",
"userId" : "btassimo", "timeUnit" : "HOURS", "accountClosed": false,
"timeAccountType" : "bgs_tacct_irregularWorkSchedule_hours"

SAP SuccessFactors Employee Central OData API: Reference Guide


126 PUBLIC Employment Objects
}, {
}, {
"__metadata" : {
"uri" : "https://<host.sap.com>/odata/v2/
EmpTimeAccountBalance('b081c83b83c6472fa0920bd47057f74c')", "type" :
"SFOData.EmpTimeAccountBalance"
}, "timeAccount" : "b081c83b83c6472fa0920bd47057f74c", "balance" : "-4.2166666667",
"userId" : "bwfapproval", "timeUnit" : "HOURS", "accountClosed": false,
"timeAccountType" : "bgs_tacct_WF_stepEM_CcEMM"
}, {
"__metadata" : {
"uri" : "https://<host.sap.com>/odata/v2/
EmpTimeAccountBalance('03f7b8cd4fac41f08a0d44f3f38eb015')", "type" :
"SFOData.EmpTimeAccountBalance"
}, "timeAccount" : "03f7b8cd4fac41f08a0d44f3f38eb015", "balance" : "39.75",
"userId" : "bwfapproval", "timeUnit" : "DAYS", "accountClosed": false,
"timeAccountType" : "bgs_tacct_WF_NoStep_CcRole-Person"
}
]}}
{"d" : {"results" : [
{
"__metadata" : {
"uri" : "https://<host.sap.com>/odata/v2/
EmpTimeAccountBalance('168c659421714e16bcd1963d9937731b')", "type" :
"SFOData.EmpTimeAccountBalance"
}, "timeAccount" : "168c659421714e16bcd1963d9937731b", "balance" : "240",
"userId" : "btassimo", "timeUnit" : "HOURS", "accountClosed": false,
"timeAccountType" : "bgs_tacct_irregularWorkSchedule_hours"
}, {
}, {
"__metadata" : {
"uri" : "https://<host.sap.com>/odata/v2/
EmpTimeAccountBalance('b081c83b83c6472fa0920bd47057f74c')", "type" :
"SFOData.EmpTimeAccountBalance"
}, "timeAccount" : "b081c83b83c6472fa0920bd47057f74c", "balance" : "-4.2166666667",
"userId" : "bwfapproval", "timeUnit" : "HOURS", "accountClosed": false,
"timeAccountType" : "bgs_tacct_WF_stepEM_CcEMM"
}, {
"__metadata" : {
"uri" : "https://<host.sap.com>/odata/v2/
EmpTimeAccountBalance('03f7b8cd4fac41f08a0d44f3f38eb015')", "type" :
"SFOData.EmpTimeAccountBalance"
}, "timeAccount" : "03f7b8cd4fac41f08a0d44f3f38eb015", "balance" : "39.75",
"userId" : "bwfapproval", "timeUnit" : "DAYS", "accountClosed": false,
"timeAccountType" : "bgs_tacct_WF_NoStep_CcRole-Person"
}
]}}

Error Handling

Invalid userIds or Time Account Types are not reported as errors and will just lead to an empty result set.

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 127
6.14 SecondaryAssignments

You use this entity to differentiate primary from secondary employments during concurrent employment
replications.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases: Differentiating Primary from Concurrent Employment During


Concurrent Employment Replication

Request Information

Operation GET

URI https://<hostname>.com/odata/v2/PerPerson?
$format=json&$filter=personIdExternal%20eq
%20'jsmith'&
$expand=secondaryAssignmentsNav/
allSfProcesses

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com/odata/v2/PerPerson('jsmith')",
"type": "SFOData.PerPerson"
},
"personIdExternal": "jsmith",
"dateOfBirth": null,
"lastModifiedOn": "/Date(1303743709000)/",
"lastModifiedDateTime": "/Date(1303743709000+0000)/",
"dateOfDeath": null,
"createdOn": "/Date(1303743708000)/",
"countryOfBirth": null,
"createdBy": "v4admin",
"regionOfBirth": null,
"createdDateTime": "/Date(1303743708000+0000)/",
"lastModifiedBy": "v4admin",
"personId": "11",
"personRerlationshipNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/personRerlationshipNav"
}
},
"emergencyContactNav": {

SAP SuccessFactors Employee Central OData API: Reference Guide


128 PUBLIC Employment Objects
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/emergencyContactNav"
}
},
"phoneNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/phoneNav"
}
},
"personalInfoNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/personalInfoNav"
}
},
"homeAddressNavDEFLT": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/homeAddressNavDEFLT"
}
},
"secondaryAssignmentsNav": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com/odata/v2/
SecondaryAssignments(effectiveStartDate=datetime'2016-06-24T00:00:00',externalCod
e='jsmith')",
"type": "SFOData.SecondaryAssignments"
},
"effectiveStartDate": "/Date(1466726400000)/",
"externalCode": "jsmith",
"mdfSystemObjectType": "SecondaryAssignments",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1467020470000+0000)/",
"mdfSystemTransactionSequence": "1",
"effectiveEndDate": "/Date(1468108800000)/",
"createdBy": "admin",
"mdfSystemRecordId":
"566D79D0BE2340BC83CC882FF39AAE62",
"mdfSystemEntityId":
"BD0ABACF60354252BFC0E4EDB7F2BE02",
"createdDateTime": "/Date(1467020470000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1467020470000)/",
"lastModifiedDateWithTZ": "/
Date(1467020470000+0000)/",
"createdDate": "/Date(1467020470000)/",
"mdfSystemRecordStatus": "N",
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
SecondaryAssignments(effectiveStartDate=datetime'2016-06-24T00:00:00',externalCod
e='jsmith')/wfRequestNav"
}
},
"allSfProcesses": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com/
odata/v2/
SecondaryAssignmentsItem(SecondaryAssignments_effectiveStartDate=datetime'2016-06
-24T00:00:00',SecondaryAssignments_externalCode='jsmith',externalCode='c95d6999d0
2e46878dcad5ef2a02397c')",

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 129
"type":
"SFOData.SecondaryAssignmentsItem"
},
"SecondaryAssignments_externalCode":
"jsmith",

"SecondaryAssignments_effectiveStartDate": "/Date(1466726400000)/",
"externalCode":
"c95d6999d02e46878dcad5ef2a02397c",
"mdfSystemEffectiveEndDate": "/
Date(253402214400000)/",
"mdfSystemObjectType":
"SecondaryAssignmentsItem",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/
Date(1467020470000+0000)/",
"usersSysId": "181",
"mdfSystemTransactionSequence": "1",
"createdBy": "admin",
"mdfSystemRecordId":
"448E51556F414997A79F1360D837CD29",
"mdfSystemEntityId":
"DCAF412BC16D46408FB7D3EEDB7DDF63",
"createdDateTime": "/
Date(1467020470000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/
Date(1467020470000)/",
"mdfSystemEffectiveStartDate": "/
Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/
Date(1467020470000+0000)/",
"createdDate": "/Date(1467020470000)/",
"mdfSystemRecordStatus": "N",
"usersSysIdNav": {
"__deferred": {
"uri": "https://<hostname>.com/
odata/v2/
SecondaryAssignmentsItem(SecondaryAssignments_effectiveStartDate=datetime'2016-06
-24T00:00:00',SecondaryAssignments_externalCode='jsmith',externalCode='c95d6999d0
2e46878dcad5ef2a02397c')/usersSysIdNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>.com/
odata/v2/
SecondaryAssignmentsItem(SecondaryAssignments_effectiveStartDate=datetime'2016-06
-24T00:00:00',SecondaryAssignments_externalCode='jsmith',externalCode='c95d6999d0
2e46878dcad5ef2a02397c')/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>.com/
odata/v2/
SecondaryAssignmentsItem(SecondaryAssignments_effectiveStartDate=datetime'2016-06
-24T00:00:00',SecondaryAssignments_externalCode='jsmith',externalCode='c95d6999d0
2e46878dcad5ef2a02397c')/mdfSystemStatusNav"
}
}
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


130 PUBLIC Employment Objects
"uri": "https://<hostname>.com/odata/v2/
SecondaryAssignments(effectiveStartDate=datetime'2016-06-24T00:00:00',externalCod
e='jsmith')/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
SecondaryAssignments(effectiveStartDate=datetime'2016-06-24T00:00:00',externalCod
e='jsmith')/mdfSystemStatusNav"
}
}
}
]
},
"nationalIdNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/nationalIdNav"
}
},
"countryOfBirthNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/countryOfBirthNav"
}
},
"emailNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/emailNav"
}
},
"socialAccountNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/socialAccountNav"
}
},
"employmentNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/employmentNav"
}
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]


Getting users up and running: Permission settings [page 20]
SecondaryAssignmentsItem [page 132]
Differentiating primary from secondary employment during concurrent employment replication [page 548]

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 131
6.14.1 SecondaryAssignmentsItem

A composite child of SecondaryAssignments. It can only be upserted with SecondaryAssignments. Along with
SecondaryAssignments, it captures concurrent employment information. To be precise, the PerPerson entity has a
navigation secondayAssignmentsNav that lets you navigate to the entity SecondaryAssignments.

Operations Allowed

Operation Description

GET Query an entity

INSERT Add a record

MERGE Update a record with specified properties

PUT Replace a record

UPSERT Update a record

DELETE Delete a record

Although all operations are supported, the only one that makes any business sense is upsert.

Properties

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following query https://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

Show me a use case: Upsert

Upsert Operation: Retrieves the secondaryAssignmentsNav which in turn will return the
SecondaryAssignmentsItems, that is information about the secondary employment. There is not often a business
case for this operation but it has been provided to support the cloning or transfer of data between similar instances
in a different environment. In this example here, user system ID (represented by the externalcode)for the primary
employment is PrimaryEmployment and the userSysID for secondary employment is represented by 301 (a
number automatically generated when a secondary employment is created)

Request: https://<hostname>.com/odata/v2/upsert

Payload Data

SAP SuccessFactors Employee Central OData API: Reference Guide


132 PUBLIC Employment Objects
 Sample Code

{
"__metadata": { "uri": "SecondaryAssignments"},
"effectiveStartDate" : "/Date(1420066800000)/",
"externalCode" : "mjaschob",
"allSfProcesses": {
"__metadata": { "uri": "SecondaryAssignmentsItem"},
"SecondaryAssignments_effectiveStartDate" : "/Date(1420066800000)/",
"SecondaryAssignments_externalCode" : "mjaschob",
"externalCode" : "myexternalcode55",
"usersSysId" : "301"
}
}

Additional Information

You can see an example of SecondaryAssigmentsItem in use in Differentiating primary from secondary
employment during concurrent employment replication [page 548]

Related Information

SecondaryAssignments [page 128]


Differentiating primary from secondary employment during concurrent employment replication [page 548]

SAP SuccessFactors Employee Central OData API: Reference Guide


Employment Objects PUBLIC 133
7 Fiscal Year Objects

7.1 FiscalYearToCountryMap

This entity is used to map the fiscal year variant created for income tax declarations to a country.

Use Cases

API Call Description

https://system-url/odata/v2/ Queries instances of fiscal year variants mapped to countries.


FiscalYearToCountryMap

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

7.2 FiscalYearVariant

This entity is the fiscal year variant created for income tax declarations.

Use Cases

API Call Description

https://<localhost:port>/odata/v2/ Queries the FiscalYearVariant.


FiscalYearVariant

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


134 PUBLIC Fiscal Year Objects
8 Foundation Objects

8.1 Foundation Object Structure in OData API

Flexible associations can be defined between two foundation objects in the Corporate Data Model. The example
below shows a one to one relationship between location and geozone; a one to many relationship is defined
between location and company. OData automatically creates navigations from the source entity to the target
entities, based on the relationship defined.

<hris-element id="location">
<hris-associations>
<association id="id" multiplicity="ONE_TO_ONE" destination-
entity="geozone"/>
<association id="id" multiplicity="ONE_TO_MANY" destination-
entity="company"/>
</hris-associations>
</hris-associations>

The diagram below shows the default relationships between the different OData entities.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 135
 Note

Changing the associations in the Corporate Data Model might cause OData APIs to fail, more so when the
association is deleted. This usually happens when association is already being used by the OData API.

SAP SuccessFactors Employee Central OData API: Reference Guide


136 PUBLIC Foundation Objects
8.2 FODynamicRole

The FODynamicRole entity represents FO_DYNAMIC_ROLE table in the SuccessFactors database.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: dynamicRole


Business Keys: external_code
Effective-date:false
Foundation Type:true
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: false
Supports MCPD: false

Use Cases

‹‹ If necessary, add any supplementary information about the use cases here ››

API Call Description

https://<hostname>.com/odata/v2/ All Dynamic Roles with the resolverType Position


FODynamicRole?$filter=resolverType eq
'POSITION'&
$select=resolverType,dynamicRoleAssignment
Id&$format=JSON

Code Examples

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname.com>/odata/v2/FODynamicRole(6M)",
"type": "SFOData.FODynamicRole"
},

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 137
"dynamicRoleAssignmentId": "6",
"resolverType": "POSITION"
},
{
"__metadata": {
"uri": "https://<hostname.com>/odata/v2/FODynamicRole(21M)",
"type": "SFOData.FODynamicRole"
},
"dynamicRoleAssignmentId": "21",
"resolverType": "POSITION"
},
{
"__metadata": {
"uri": "https://<hostname.com>/odata/v2/FODynamicRole(22M)",
"type": "SFOData.FODynamicRole"
},
"dynamicRoleAssignmentId": "22",
"resolverType": "POSITION"
}

8.3 FOEventReason

This entity contains event reasons used to define a reason for changing employee data. Event reasons are related
to events defined in the PickListV2 entity and have an employee status assigned.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: eventReason


Business Keys: external_code + effective_start_date
Effective-date:true
Foundation Type:true
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD: false

SAP SuccessFactors Employee Central OData API: Reference Guide


138 PUBLIC Foundation Objects
Use Cases

API Call Description

https://<hostname>.com/odata/v2/ Get externalCode, status and event of the EventReason with


FOEventReason?$filter=externalCode eq externalCode PAYMLA
'PAYMLA'&
$select=status,event,externalCode&
$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
FOEventReason(externalCode='PAYMLA',startDate=datetime'1970-01-01T00:00:00')",
"type": "SFOData.FOEventReason"
},
"externalCode": "PAYMLA",
"status": "A",
"event": "2294"
}
]
}
}

8.4 FOFrequency

The entity contains information about how often an employee is paid.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: frequency


Business Keys: externalCode
Effective-date:false
Foundation Type:true
Person Entity Element:false

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 139
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD:false

Use Cases

API Call Description

https://<hostname>.com/ All Frequencies with the externalCode


odata/v2/FOFrequency? DLY
$filter=externalCode eq
'DLY'&
$select=externalCode,name,d
escription,annualizationFac
tor&$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/FOFrequency('DLY')",
"type": "SFOData.FOFrequency"
},
"externalCode": "DLY",
"description": "Daily",
"name": "Daily",
"annualizationFactor": "365"
}
]
}
}

8.5 FOGeozone

The entity contains information about groupings of company locations.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


140 PUBLIC Foundation Objects
HRIS element information

HRIS Element ID: geozone


Business Keys: external_code + effective_start_date
Effective-date:true
Foundation Type:true
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD: false

Use Cases

API Call Description

https://<hostname>.com/ Get the GeoZone with the externalCode


odata/v2/FOGeozone? APAC
$filter=externalCode eq
'APAC'&
$select=status,name,created
By&$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
FOGeozone(externalCode='APAC',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.FOGeozone"
},
"createdBy": "admin",
"status": "A",
"name": "Asia Pacific"
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 141
8.6 FOLocation

This entity contains location information.

HRIS element information

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS Element ID: location


Business Keys: externalCode + effectiveStartDate
Effective-date:true
Foundation Type:true
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD:false

Use Cases

The following example shows how to get the location information of Seoul and expand to address.

Sample request:

Operation GET

URI https://<hostname>/odata/v2/FOLocation?
$filter=externalCode eq 'KO_SEO'&
$expand=addressNavDEFLT&$format=JSON

Headers Authorization: Basic <Base 64 encoded


(“user@company:password”)>

Sample response:

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
FOLocation(externalCode='KO_SEO',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.FOLocation"
},
"startDate": "/Date(631152000000)/",
"externalCode": "KO_SEO",
"status": "A",
"endDate": "/Date(253402300799000)/",
"lastModifiedDateTime": "/Date(1317104275000+0000)/",
"lastModifiedOn": "/Date(1317104275000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


142 PUBLIC Foundation Objects
"createdOn": "/Date(1300819181000)/",
"timezone": "Asia/Seoul",
"createdBy": "admin",
"geozoneFlx": "APAC",
"description": "Seoul, Korea",
"name": "Seoul",
"createdDateTime": "/Date(1300819181000+0000)/",
"lastModifiedBy": "admin",
"locationGroup": "APAC",
"standardHours": null,
"geozoneFlxNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
FOLocation(externalCode='KO_SEO',startDate=datetime'1990-01-01T00:00:00')/
geozoneFlxNav"
}
},
"descriptionTranslationNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
FOLocation(externalCode='KO_SEO',startDate=datetime'1990-01-01T00:00:00')/
descriptionTranslationNav"
}
},
"locationGroupNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
FOLocation(externalCode='KO_SEO',startDate=datetime'1990-01-01T00:00:00')/
locationGroupNav"
}
},
"addressNavDEFLT": {
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
FOCorporateAddressDEFLT(314M)",
"type": "SFOData.FOCorporateAddressDEFLT"
},
"addressId": "314",
"startDate": "/Date(631152000000)/",
"state": null,
"address1": "#803, 8th FL., PAN-PACIFIC B/D, 197-21",
"address2": "Guro-dong, Guro-gu",
"endDate": "/Date(253402300799000)/",
"address3": null,
"lastModifiedDateTime": "/Date(1317104275000+0000)/",
"lastModifiedOn": "/Date(1317104275000)/",
"city": "Seoul",
"country": "KOR",
"createdOn": "/Date(1300819181000)/",
"createdBy": "admin",
"zipCode": "152-050",
"createdDateTime": "/Date(1300819181000+0000)/",
"lastModifiedBy": "admin",
"stateNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
FOCorporateAddressDEFLT(314M)/stateNav"
}
},
"countryNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
FOCorporateAddressDEFLT(314M)/countryNav"
}
}
},
"companyFlxNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 143
"uri": "https://<hostname>.com:443/odata/v2/public/
FOLocation(externalCode='KO_SEO',startDate=datetime'1990-01-01T00:00:00')/
companyFlxNav"
}
},
"nameTranslationNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/public/
FOLocation(externalCode='KO_SEO',startDate=datetime'1990-01-01T00:00:00')/
nameTranslationNav"
}
}
}
]
}
}

To create or update a location, you can use the UPSERT operation. The following example shows how to create a
location whose external code is "KO_SEO".

Sample request:

Operation POST

URI http://<Hostname>.com/odata/v2/upsert

Headers Authorization: Basic <Base 64 encoded


(“user@company:password”)>

Payload {
"__metadata":{

"uri":"FOLocation(externalCode='KO_SEO',
startDate=datetime'1990-01-01T00:00:00')
",
"type":"SFOData.FOLocation"
},
"startDate":"/Date(631152000000)/",
"externalCode":"KO_SEO",
"status":"A",
"endDate":"/Date(253402300799000)/",
"timezone":"Asia/Seoul",
"geozoneFlx":"APAC",
"description":"Seoul, Korea",
"name":"Seoul",
"locationGroup":"APAC",
"addressCountry": "KOR"
}

Sample response:

 Sample Code

{
"d": [
{
"key": "FOLocation/externalCode=KO_SEO,FOLocation/
startDate=1990-01-01T00:00:00.000+08:00",
"status": "OK",
"editStatus": "UPSERTED",
"message": null,
"index": 0,
"httpCode": 200,

SAP SuccessFactors Employee Central OData API: Reference Guide


144 PUBLIC Foundation Objects
"inlineResults": null
}
]
}

8.7 FOLocationGroup

This entity contains location group information.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: location groupGroup


Business Keys: external_code + effective_start_date
Effective-date:true
Foundation Type:true
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD: false

Use Cases

API Call Description

https://<hostname>.com/odata/v2/ Get Locationgroup with the externalCode=XXX with fromDate


FOLocationGroup?$filter=externalCode eq xxx and toDate yyy
'APAC'&
$select=status,name,createdBy&fromDate=201
3-01-01&toDate=2014-01-01&$format=JSON

Code Examples

{
"d": {
"results": [
{

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 145
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
FOLocationGroup(externalCode='APAC',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.FOLocationGroup"
},
"createdBy": "admin",
"status": "A",
"name": "APAC"
}
]
}
}

8.8 FOPayComponent

This entity contains pay component information.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: payComponent


Business Keys: externalCode + effectiveStartDate
Effective-date:true
Foundation Type:true
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD:false

Use Cases

API Call Description

https://<hostname>/odata/v2/ All information about the paycomponent with the external


FOPayComponent?$filter=externalCode eq Code base salary
'Base Salary'&$format=JSON

SAP SuccessFactors Employee Central OData API: Reference Guide


146 PUBLIC Foundation Objects
Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
FOPayComponent(externalCode='Base Salary',startDate=datetime'1970-01-01T00:00:00')",
"type": "SFOData.FOPayComponent"
},
"startDate": "/Date(0)/",
"externalCode": "Base Salary",
"basePayComponentGroup": null,
"usedForCompPlanning": "COMP",
"payComponentType": "AMOUNT",
"endDate": "/Date(253370764800000)/",
"lastModifiedDateTime": "/Date(1304801484000+0000)/",
"currency": "USD",
"selfServiceDescription": null,
"isEarning": true,
"description": "Base Salary for USA",
"name": "Base Salary",
"recurring": true,
"status": "A",
"lastModifiedOn": "/Date(1304787084000)/",
"createdOn": "/Date(1299914597000)/",
"displayOnSelfService": true,
"createdBy": "v4admin",
"canOverride": true,
"frequencyCode": "ANN",
"payComponentValue": null,
"taxTreatment": null,
"createdDateTime": "/Date(1299932597000+0000)/",
"lastModifiedBy": "admin",
"target": false,
"basePayComponentGroupNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
FOPayComponent(externalCode='Base Salary',startDate=datetime'1970-01-01T00:00:00')/
basePayComponentGroupNav"
}
},
"taxTreatmentNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
FOPayComponent(externalCode='Base Salary',startDate=datetime'1970-01-01T00:00:00')/
taxTreatmentNav"
}
},
"frequencyCodeNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
FOPayComponent(externalCode='Base Salary',startDate=datetime'1970-01-01T00:00:00')/
frequencyCodeNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 147
8.9 FOPayComponentGroup

This entity contains pay component group information.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: payComponentGroup


Business Keys: externalCode + effectiveStartDate
Effective-date:true
Foundation Type:true
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD:false

Use Cases

API Call Description

https://<hostname>.com/odata/v2/ All PayComponentGroups with the external Code Base Salary


FOPayComponentGroup?$filter=externalCode
eq 'Base Salary'&$select=externalCode&
$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
FOPayComponentGroup(externalCode='Base
Salary',startDate=datetime'1970-01-01T00:00:00')",
"type": "SFOData.FOPayComponentGroup"
},
"externalCode": "Base Salary"
}
]
}

SAP SuccessFactors Employee Central OData API: Reference Guide


148 PUBLIC Foundation Objects
}

8.10 FOPayGrade

This entity contains pay grade information.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: payGrade


Business Keys: external_code + effective_start_date
Effective-date:true
Foundation Type:true
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD: false

Use Cases

API Call Description

https://<hostname>.com/odata/v2/ Get all PayGrades with the status A and the externalCode XXX
FOPayGrade?$filter=status eq 'A' and
externalCode eq 'GR-1'&$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
FOPayGrade(externalCode='GR-1',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.FOPayGrade"
},
"startDate": "/Date(631152000000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 149
"externalCode": "GR-1",
"createdOn": "/Date(1320750704000)/",
"createdBy": "admin",
"status": "A",
"description": null,
"paygradeLevel": "1",
"name": "Salary Grade 1",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1320768704000+0000)/",
"endDate": "/Date(253402214400000)/",
"lastModifiedOn": "/Date(1320750704000)/",
"lastModifiedDateTime": "/Date(1320768704000+0000)/"
}
]
}
}

8.11 FOPayRange

This entity contains pay range information.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: payRange


Business Keys: external_code + effective_start_date
Effective-date:true
Foundation Type:true
Person Entity Element:false
Supports Incremental Load: true
Supports NO_OVERWRITE: yes
Supports MCPD: false

Use Cases

API Call Description

https://<hostname>.com/odata/v2/ Get all PayRanges with Status A and ExternalCode XXX


FOPayRange?$filter=status eq 'A' and
externalCode eq 'PR-1-EU'&$format=JSON

SAP SuccessFactors Employee Central OData API: Reference Guide


150 PUBLIC Foundation Objects
Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
FOPayRange(externalCode='PR-1-EU',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.FOPayRange"
},
"startDate": "/Date(631152000000)/",
"externalCode": "PR-1-EU",
"minimumPay": "7146",
"status": "A",
"endDate": "/Date(253402214400000)/",
"lastModifiedOn": "/Date(1311238423000)/",
"lastModifiedDateTime": "/Date(1311252823000+0000)/",
"midPoint": "10718.5",
"companyFlx": null,
"currency": "USD",
"createdOn": "/Date(1300225256000)/",
"createdBy": "admin",
"payGradeFlx": "GR-12",
"geozoneFlx": "EMEA",
"description": null,
"frequencyCode": "ANN",
"name": "Pay Range 1-3",
"createdDateTime": "/Date(1300239656000+0000)/",
"lastModifiedBy": "admin",
"maximumPay": "14291",
"geozoneFlxNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
FOPayRange(externalCode='PR-1-EU',startDate=datetime'1990-01-01T00:00:00')/
geozoneFlxNav"
}
},
"frequencyCodeNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
FOPayRange(externalCode='PR-1-EU',startDate=datetime'1990-01-01T00:00:00')/
frequencyCodeNav"
}
},
"payGradeFlxNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
FOPayRange(externalCode='PR-1-EU',startDate=datetime'1990-01-01T00:00:00')/
payGradeFlxNav"
}
},
"companyFlxNav": {
"__deferred": {
"uri": "<hostname>.com:443/odata/v2/
FOPayRange(externalCode='PR-1-EU',startDate=datetime'1990-01-01T00:00:00')/
companyFlxNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 151
8.12 FOWfConfig

This entity contains workflow configuration information.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: wfConfig


Business Keys: external_code
Effective-date:false
Foundation Type:true
Person Entity Element:false
Supports Incremental Load:true
Supports NO_OVERWRITE: false
Supports MCPD: false

Use Cases

API Call Description

https://<hostname>.com/odata/v2/ All FOWfConfig with the externalCode GRT_Test


FOWfConfig?$filter=externalCode eq
'GRT_TEST'&$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
FOWfConfig('GRT_TEST')",
"type": "SFOData.FOWfConfig"
},
"externalCode": "GRT_TEST",
"createdOn": "/Date(1379578155000)/",
"futureDatedAlternateWorkflow": null,
"createdBy": "admin",
"description": "GRT_TEST",
"name": "GRT_TEST",
"lastModifiedBy": "admin",

SAP SuccessFactors Employee Central OData API: Reference Guide


152 PUBLIC Foundation Objects
"createdDateTime": "/Date(1379592555000+0000)/",
"lastModifiedOn": "/Date(1379578155000)/",
"lastModifiedDateTime": "/Date(1379592555000+0000)/",
"futureDatedAlternateWorkflowNav": {
"__deferred": {
"uri": "https://<hostname>.com:443/odata/v2/
FOWfConfig('GRT_TEST')/futureDatedAlternateWorkflowNav"
}
}
}
]
}
}

8.13 FOWfConfigStepApprover

This is a foundation object that contains workflow approver configuration information.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases

Use Case: FOWfConfigStepApprover

You can use this entity to get detailed workflow information about these fields:

● actionType
● approverPositionRelationship
● approverType
● approverRole
● context
● relationshipToApprover
● respectRBP
● skipType

Request Information

Operation GET

URI http://<Hostname>/odata/v2/
FOWfConfigStepApprover

Headers Authorization: Basic <Base 64 encoded >user@com­


pany:password>

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 153
Response

 Sample Code

Extract from response

....
<entry>
<id>https://<hostname>.com/odata/v2/
FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)</id>
<title type="text"></title>
<updated>2016-10-11T08:22:03Z</updated>
<author>
<name></name>
</author>
<link rel="edit" title="FOWfConfigStepApprover"
href="FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
approverDynamicRoleNav" type="application/atom+xml;type=feed"
title="approverDynamicRoleNav"
href="FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)/
approverDynamicRoleNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
approverGroupNav" type="application/atom+xml;type=entry"
title="approverGroupNav"
href="FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)/approverGroupNav"></
link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
approverPositionNav" type="application/atom+xml;type=feed"
title="approverPositionNav"
href="FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)/
approverPositionNav"></link>
<category term="SFOData.FOWfConfigStepApprover" scheme="http://
schemas.microsoft.com/ado/2007/08/dataservices/scheme"></category>
<content type="application/xml">
<m:properties>
<d:stepNum m:type="Edm.Int64">1</d:stepNum>
<d:externalCode>LOA</d:externalCode>
<d:approverPositionRelationship m:null="true"></
d:approverPositionRelationship>
<d:lastModifiedDateTime
m:type="Edm.DateTimeOffset">2011-12-06T18:34:27Z</d:lastModifiedDateTime>
<d:actionType>NO_EDIT</d:actionType>
<d:skipType m:null="true"></d:skipType>
<d:approverRole>EH</d:approverRole>
<d:relationshipToApprover m:null="true"></
d:relationshipToApprover>
<d:approverType>ROLE</d:approverType>
<d:createdBy>admin</d:createdBy>
<d:lastModifiedBy>admin</d:lastModifiedBy>
<d:createdDateTime
m:type="Edm.DateTimeOffset">2011-07-28T00:28:27Z</d:createdDateTime>
<d:context>SOURCE</d:context>
<d:respectRBP m:null="true"></d:respectRBP>
<d:relationshipToPosition m:null="true"></
d:relationshipToPosition>
</m:properties>
</content>
</entry>

SAP SuccessFactors Employee Central OData API: Reference Guide


154 PUBLIC Foundation Objects
Additional Information

You can either query this entity directly as described above or via $expand=wfStepApproverNav from FOWfConfig.

Related Information

Getting users up and running: Permission settings [page 20]


Getting the most out of this guide [page 15]

8.14 Working with Migrated Foundation Objects (MDF FOs)

Contains information on working with FO (Foundation Objects) that have been migrated to MDF (Metadata
Framework)

As part of the phased migration of Foundation Objects (FO) to Metadata Framework (MDF), the FOs Cost Center,
Business Unit, Division, Department, Legal Entity, Job Classification, Job Function, Job Family, Pay Group, and
PayCalendar have been migrated. After migration, these FOs are now Generic Objects.

For these newly created GOs, you can influence the way the fields behave in API queries. For example, if Division
was not mapped, it would be displayed as any other MDF OData source, and you would still have the field
effectiveStartDate in the API query. In element field mapping, effectiveStartDate is mapped to the HRIS element ID
start-date. Here, we are telling the system that the original field name for effectiveStartDate is startdate. Likewise,
effectiveStatus is mapped to status, cust_string1 is mapped to custom_string1, cust_string2 is mapped to
custom_string2, and so on.

Let’s see how it works for the various fields. The system searches the object definition and then the element type
map. If there is a mapping in the Element Type Map (see Element Field Map for EC Migration section), it displays the
field name from the map. For example, you define a new custom field called cust_string7.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 155
You can map cust_string7 to custom-string7 now. Hence, the field will be available in OData as custom-string7. If
you do not map it, it will appear with the same name as in MDF definition. However, if it is mapped in the Element
Type mapping, it will appear under the element map name.

SAP SuccessFactors Employee Central OData API: Reference Guide


156 PUBLIC Foundation Objects
There are a few special handlings. In object definition, if you map a field that is translatable, for example, name or
description, the behavior is the same as it was earlier. You will also have the field with the element map name.
Additionally, you will have this field with the suffix for the language.

You have a picklist field and now you define a field in the object definition, for example, cust_string4 is mapped to
custom-string4.

Now you will have four attributes in OData. This entry means that you will have the following four fields:

● cust_string4 (external code of picklist option)


● customString4 (ECV2 option ID of picklist option)
● cust_string4Nav (navigation to MDF picklist option)
● customString4Nav (navigation to ECV2 picklist option)

The cust_string4 and cust_string4Nav coming from the MDF object definition will be available even if you do not
have an entry in the element type map.

If the element type map does not have cust_string4, that is, if it is not mapped there, you still have the cust_string4
and cust_string4Nav

The customString4 gives the optionID of picklist option from ECV2 and customString4Nav provides navigation to
the old ECV2 picklist option as illustrated in the screenshot below. If you do not have an element type map , a
default mapping is made available.

To delete a cust_string, select Take Action Make Correction , and delete cust_string4.

The two extra fields will not be available now since there is no mapping.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 157
Translations in OData API

Before the migration, migrated FOs exposed language-independent texts for Name and Description. In addition, it
provided two links to FOTranslation to find the language-dependent texts for both fields. For example, the Odata
entities FOJobFunction and FOPayGroup provided the navigation attributes nameTranslationNav and
descriptionTranslationNav to FoTranslation, if the translation of FOs is activated in Provisioning.

After the migration, Name and Description will still be available for migrated FOs,to expose language-independent
texts. In addition, the two navigation attributes will also be available. However, they will not be really linked to
FOTranslation, but will always return an empty value. So the language-dependent texts will be integrated as
additional attributes into the migrated FO Odata entity (for example FOJobFunction, FOPayGroup) in the standard
MDF way.

Here is the work-around:

If you are not using FOTranslation for migrated FOs, de-select the FOTranslation navigation in Boomi. In case you
are using FOTranslation for migrated FOs, you need to adapt the UI.

8.14.1 Basic Tasks

8.14.1.1 Viewing the Element Type Mapping

The element type mapping shows the mapping between HRIS field names and field names for the GOs. The steps
to view the element type mapping for a migrated Foundation Object are described here

1. Navigate to Admin Center.


2. In the Tools Search field, enter Manage Data. The Manage Data page is displayed.
3. In the Search field, select Element Type Map for EC Migration.
4. Select the Foundation Object for which the mapping information is required. Now, the element map is available.

 Note

Not everyone can view the element Element Type Mapping. Grant the relevant permissions in User
Permissions Miscellaneous Permissions as follows:

● Element Type Map for EC Migration: Select View, Edit, Import/Export


● Element Type Map for EC Migration. Element Association Map for EC Migration (Element Association Map
for EC Migration): Select View, Correct, Adjust Order, Delete, Import/Export
● Element Type Map for EC Migration. Element Field Map for EC Migration (Element Field Map for EC
Migration): Select View, Correct, Adjust Order, Delete, Import/Export
● Element Type Map for EC Migration to EC2MDFElement FieldLocalizationMap (Element Localization Map
for EC Migration): Select View, Correct, Adjust Order, Delete, Import/Export

SAP SuccessFactors Employee Central OData API: Reference Guide


158 PUBLIC Foundation Objects
8.14.1.2 Viewing the Object Definition

Describes how to view the object definition

1. Navigate to Admin Center.


2. In the Tools Search field, type Configure Object Definitions. The Configure Object Definitions page is
displayed.
3. From the Search dropdown, select Object Definition.
4. Select the Foundation Object for which the information is required.

8.14.2 Associations

Let’s say, in the object definition you have an association defined. The association is called cust_toLegalEntity and
the definition is called Legal Entity. In the Element Type map (under Element Association Map for EC Migration
section), you have the association name cust_toLegalEntity, which is mapped to HRIS destination entity company.
This association is handled in the same way as an association for an FO is defined in the Corporate Data Model.
This means that you have the fields companyFlx and companyFlxNav in OData object definition. These fields will be
available only if the association defined in the object definition is added to the Association Element Type map.

For GO associations, if the field is not in the association mapping, you will only have the field that has the same
name as the association, for example, cust_toLegalEntity. This field can be queried and upserted. If this field is
added to the element association map, you will have the fields companyFlxNav and companyFlx for query and
upsert respectively.

If you want to add an association or a field, and want the field to behave in the same way as before the migration,
you must manually adjust the mapping objects.

8.14.3 Country-Specific Fields

Country-specific fields are fields of an object that are only relevant for specific countries. For example, for legal
entities in the US, you have to specify a Federal Reserve Bank ID, which is not relevant for legal entities in other
countries.

The only migrated FOs, which have country-specific fields, are Legal Entity (company) and Job Classification
(jobCode).

In OData (as well as the MDF object model), these fields are not stored directly in the main entity (FO Company or
FO Job Code). Instead, they are part of additional country-specific entities (see the sections LegalEntity<Country>
and JobClassification<Country>). These country-specific entities can be reached from the main entity using
navigation attributes.

Points to note:

● For FO Company, the navigation attributes for the delivered country specializations follow the naming
conventions toLegalEntity<Country> (see the section FOCompany).
● For FO Job Code, there is an intermediate entity JobClassificationCountry (see the section
JobClassificationCountry).

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 159
So for example, you can reach the France-specific fields of a job classification along the path FOJobCode/
toJobClassificationCountry/toJobClassificationFRA.

These navigation attributes and entity names differ from the legacy names. To ensure backward compatibility, you
can activate the old behavior for individual countries by maintaining the localization map in the element type map.

The following is an example of the element type map of Legal Entity (company):

Here, the localization map is maintained for two countries (USA and Germany). The effect of this is that, for these
two countries, additional navigation attributes and target entities will be available in addition to the standard
navigation attributes and entities described above. For USA, the effects are as follows:

● In addition to the standard entity LegalEntityUSA, there will be the backward-compatible entity
FOLegalEntityLocalUSA. This means that the MDF object LegalEntityUSA has two different OData
representations.
● In addition to the standard navigation attribute toLegalEntityUSA (with a target LegalEntityUSA), there is a
navigation attribute localNavUSA (with a target FOLegalEntityLocalUSA).

Similarly, if you maintain the localization map for USA in the element type map of Job Classification (jobCode), the
effects are as follows:

● In addition to the standard entity JobClassificationUSA, there will be the backward-compatible entity
FOJobCodeLocalUSA. These are different representations of the same MDF object JobClassificationUSA.
● In addition to the standard navigation chain toJobClassificationCountry/toJobClassificationUSA
(with target JobClassificationUSA), there is a shortcut navigation attribute called localNavUSA (with target
FOJobClassLocalUSA).

If you do not maintain an element type map, you have the following localization mapping that is used (as a fall
back):

For Legal Entity (company)

GO Association Country

toLegalEntityARG ARG

SAP SuccessFactors Employee Central OData API: Reference Guide


160 PUBLIC Foundation Objects
GO Association Country

toLegalEntityDEU DEU

toLegalEntityESP ESP

toLegalEntityFRA FRA

toLegalEntityUSA USA

For Job Classification (jobCode)

GO Association Country

toJobClassificationCountry.toJobClassificationAUS AUS

toJobClassificationCountry.toJobClassificationBRA BRA

toJobClassificationCountry.toJobClassificationCAN CAN

toJobClassificationCountry.toJobClassificationFRA FRA

toJobClassificationCountry.toJobClassificationGBR GBR

toJobClassificationCountry.toJobClassificationITA ITA

toJobClassificationCountry.toJobClassificationUSA USA

To add country-specific fields for a new country, refer to the section Adding Country-Specific Fields for a New
Country.

If you need the backward-compatible OData representation for a country added in this way, you must do the
following:

● Maintain an entry in the localization map of the host element type map.
For this, you must add the association name for the new country and the ISO country code for it.
● Create an element type map for the new MDF object that you have created.
If you want to map the new country-specific fields to the legacy field names (for example, genericString1), you
must maintain an element field map.

In the example for India (as in section Adding Country-Specific Fields for a New Country), you must add the
following:

● Localization Map of the Element Type Map of LegalEntity (company)


○ Association name: cust_toLegalEntityIND
○ Country: ITA
● Element Type Map for the new object cust_LegalEntityIND
○ HRIS element ID: legalEntityLocal#IND
○ Country code for country-specific object: IND
○ GO object type: cust_LegalEntityIND

Adding Country-Specific Fields for a New Country (For Legal Entity) [page 162]

Adding Country-Specific Fields for a New Country (For Job Classification) [page 167]

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 161
8.14.3.1 Adding Country-Specific Fields for a New Country (For
Legal Entity)

Assume that you want to add country-specific fields for a new country, let us take India.You need to follow these
steps:

1. Create a new MDF object that holds the country-specific fields.


2. Assign this new object as a child object to LegalEntity.

Parent topic: Country-Specific Fields [page 159]

Related Information

Adding Country-Specific Fields for a New Country (For Job Classification) [page 167]

8.14.3.1.1 Step 1: Create a New MDF Object for the Country-


Specific Fields

Procedure

1. Navigate to the Admin Center.


2. In the Tools Search field, type Configure Object Definitions. The Configure Object Definitions page is
displayed.
3. From the Create New dropdown, select Object Definition.
4. In the Code field, specify a code for the new object. It is recommended that you follow this naming convention:
cust_LegalEntity<Country Code>. So, for this example, let's specify the code as
cust_LegalEntityIND.
5. From the Effective Dating dropdown, select From Parent.
6. In the Label field, specify a unique name. For this example, let's specify Legal Entity India.
7. Set API Visibility to Editable.
8. In the Fields section, click Details against externalCode.
9. Change the externalCode data type to Number and set its Visibility to Not Visible.

SAP SuccessFactors Employee Central OData API: Reference Guide


162 PUBLIC Foundation Objects
10. Set Default Value to 1.
11. Click Done to go back to the previous page.
12. Specify settings for the externalName field. Click Details next to externalName.
13. Set the externalName field visibility to Not Visible.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 163
14. Define the custom fields. For this example, we will add a string type field by the name of cust_IndiaField1.
15. Add a label. This will be displayed on the UI.
16. Click Save. This will add a number of pre-defined MDF fields.

SAP SuccessFactors Employee Central OData API: Reference Guide


164 PUBLIC Foundation Objects
SAP SuccessFactors Employee Central OData API: Reference Guide
Foundation Objects PUBLIC 165
8.14.3.1.2 Step 2: Assign the New Object to Legal Entity

To assign the new country object to Legal Entity, the steps are as follows:

Procedure

1. Navigate to the Admin Center.


2. In the Tools Search field, type Configure Object Definitions. The Configure Object Definitions page is
displayed.
3. From the Search dropdown, select Object Definition.
4. Select LegalEntity from the field next to it.

5. Select Take Action Make Correction .


6. Scroll down to the associations section and add a new association. We suggest following this naming
convention: cust_toLegalEntity<CountryCode>. Following this naming convention, let's specify the name
as cust_toLegalEntityIND.

1. Multiplicity: One to One


2. Destination Object: your newly created object (for example, Legal Entity India)
3. Type: Composite
4. Details:
1. Condition fieldID: countryOfRegistration.code
2. Condition Values: <Country Code>, in our example: IND

SAP SuccessFactors Employee Central OData API: Reference Guide


166 PUBLIC Foundation Objects
7. Click Done to save your changes.

8.14.3.2 Adding Country-Specific Fields for a New Country (For


Job Classification)

Assume that you want to add country-specific fields for a new country, let us take Spain.You need to follow these
steps:

1. Create a new MDF object that holds the country-specific fields.


2. Assign this new object as a child object to JobClassificationCountry.

Parent topic: Country-Specific Fields [page 159]

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 167
Related Information

Adding Country-Specific Fields for a New Country (For Legal Entity) [page 162]

8.14.3.2.1 Step 1: Create a New MDF Object for the Country-


Specific Fields

Procedure

1. Navigate to the Admin Center.


2. In the Tools Search field, type Configure Object Definitions. The Configure Object Definitions page is
displayed.
3. From the Create New dropdown, select Object Definition.
4. In the Code field, specify a code for the new object. It is recommended that you follow this naming convention:
cust_JobClassification<Country Code>. So, for this example, let's specify the code as
cust_JobClassificationESP.
5. From the Effective Dating dropdown, select From Parent.
6. In the Label field, specify a unique name. For this example, let's specify Job Classification Spain.
7. Set API Visibility to Editable.
8. In the Fields section, click Details against externalCode.
9. Change the externalCode data type to Number and set its Visibility to Not Visible.

SAP SuccessFactors Employee Central OData API: Reference Guide


168 PUBLIC Foundation Objects
10. Set Default Value to 1.
11. Click Done to go back to the previous page.
12. We will now specify settings for the externalName field. Click Details next to externalName.
13. Set the externalName field visibility to Not Visible.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 169
14. Define the custom fields. For this example, we will add a string type field by the name of cust_spain1.
15. Add a label. This wiill be displayed on the UI.
16. Click Save. This will add a number of pre-defined MDF fields.

SAP SuccessFactors Employee Central OData API: Reference Guide


170 PUBLIC Foundation Objects
SAP SuccessFactors Employee Central OData API: Reference Guide
Foundation Objects PUBLIC 171
8.14.3.2.2 Step 2: Assign the New Object to
JobClassificationCountry

To assign the new country object to JobClassificationCountry, the steps are as follows:

Procedure

1. Navigate to the Admin Center.


2. In the Tools Search field, type Configure Object Definitions. The Configure Object Definitions page is
displayed.
3. From the Search dropdown, select Object Definition.
4. Select JobClassificationCountry from the field next to it.

5. Select Take Action Make Correction .


6. Scroll down to the associations section and add a new association. We suggest following this naming
convention: cust_toJobClassification<CountryCode>. Following this naming convention, let's specify
the name as cust_toJobClassificationESP.

1. Multiplicity: One to One


2. Destination Object: your newly created object (for example, Job Classification Spain)
3. Type: Composite
4. Details:
1. Condition fieldID: country.code
2. Condition Values: <Country Code>, in our example: ESP

SAP SuccessFactors Employee Central OData API: Reference Guide


172 PUBLIC Foundation Objects
7. Click Done to save your changes.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 173
8.14.4 Difference Between FO Upsert and MDF Upsert

Let's take an example. The FO Business Unit is associated to Legal Entity and you have an association to company
1. You do an upsert by specifying the start date and external code of the business unit. In this case, either the
business unit is changed or a new one is created. Additionally, you list down the field that you want to change, for
example, companyFlx for company 2 and a pipe-separated list of the association target for company 3. Now the
existing association to company 1 is replaced and you have an association to company 2.

However, if you do an upsert through the MDF field cust_toLegalEntity, and specify company 1 and company 2, you
will have three associations. The upsert through the MDF field will only add or merge the existing ones.

Hence for example, Position will behave in the MDF way (merge behavior), and Job Classification, which is not on
MDF, will behave in the other manner (replacement).

8.14.5 CurrencyExchangeRate

Contains information about Currency Conversions in Employee Central

The OData API entity CurrencyExchangeRate provides information about currency conversions in Employee
Central. It is based on the MDF object Currency Exchange Rate.

An example of the usage is given below:

The source currency is 1 unit of USD and the target currency is 1 unit of CAD. The exchange rate shows how much
of the target currency (CAD) is needed to purchase one unit of the source currency (USD). Therefore, if the
exchange rate is 1.0950, it costs 1.0950 Canadian dollars to purchase 1 U.S. dollar.

The currency exchange rate type DEFAULT corresponds to the Compensation legacy currency conversion table
ECT_CONV_TABLE. The currency exchange rate type is defined as a picklist.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Object Information

MDF Object:CurrencyExchangeRate
Business Keys:sourceCurrency,targetCurrency,currencyExchangeRateType
Required
Fields:sourceCurrency,targetCurrency,effectiveStartDate,exchangeRate,currencyExchang
eRateType
Full Purge:Yes
Incremental Purge:Yes
Effective-date:true

SAP SuccessFactors Employee Central OData API: Reference Guide


174 PUBLIC Foundation Objects
Use Cases

Example 1: Query Operation using filter

Operation Query

Request https://<localhost:port>/odata/v2/CurrencyExchangeRate?
$format=json&$select=externalCode&$top=3

Here, localhost is the name of your host and port is usually


443 or left blank.

Header Authorization: Basic <base64 encoding of


username@instancename:pwd >

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
CurrencyExchangeRate(effectiveStartDate=datetime'1900-01-01T00:00:00',externalCod
e='DEFAULT-ARS-MYR')",
"type": "SFOData.CurrencyExchangeRate"
},
"externalCode": "DEFAULT-ARS-MYR"
}, {
"__metadata": {
"uri": "https://localhost:443/odata/v2/
CurrencyExchangeRate(effectiveStartDate=datetime'1900-01-01T00:00:00',externalCod
e='DEFAULT-HKD-EUR')",
"type": "SFOData.CurrencyExchangeRate"
},
"externalCode": "DEFAULT-HKD-EUR"
}, {
"__metadata": {
"uri": "https://localhost:443/odata/v2/
CurrencyExchangeRate(effectiveStartDate=datetime'1900-01-01T00:00:00',externalCod
e='DEFAULT-HKD-SGD')",
"type": "SFOData.CurrencyExchangeRate"
},
"externalCode": "DEFAULT-HKD-SGD"
}]
}
}

Example 2: Query Operation specific to CurrencyExchangeRate

Operation Query

Request https://<localhost:port>/odata/v2/
CurrencyExchangeRate(externalCode='DEFAULT-USD-
EUR',effectiveStartDate=datetime'1900-01-01T00:00:00')?
$format=json

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 175
Here, localhost is the name of your host and port is usually
443 or left blank.

Header Authorization: Basic <base64 encoding of


username@instancename:pwd >

Response

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://localhost:443/odata/v2/
CurrencyExchangeRate(effectiveStartDate=datetime'1900-01-01T00:00:00',externalCod
e='DEFAULT-USD-EUR')",
"type": "SFOData.CurrencyExchangeRate"
},
"effectiveStartDate": "\/Date(-2208988800000)\/",
"externalCode": "DEFAULT-USD-EUR",
"exchangeRate": "1.125",
"targetCurrency": "EUR",
"effectiveStatus": "A",
"sourceCurrency": "USD",
"currencyExchangeRateType": "DEFAULT",
"sourceCurrencyNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
CurrencyExchangeRate(effectiveStartDate=datetime'1900-01-01T00:00:00',externalCod
e='DEFAULT-USD-EUR')/sourceCurrencyNav"
}
},
"targetCurrencyNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
CurrencyExchangeRate(effectiveStartDate=datetime'1900-01-01T00:00:00',externalCod
e='DEFAULT-USD-EUR')/targetCurrencyNav"
}
},
"currencyExchangeRateTypeNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
CurrencyExchangeRate(effectiveStartDate=datetime'1900-01-01T00:00:00',externalCod
e='DEFAULT-USD-EUR')/currencyExchangeRateTypeNav"
}
},
"effectiveStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
CurrencyExchangeRate(effectiveStartDate=datetime'1900-01-01T00:00:00',externalCod
e='DEFAULT-USD-EUR')/effectiveStatusNav"
}
}
}
}

Example 3: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

SAP SuccessFactors Employee Central OData API: Reference Guide


176 PUBLIC Foundation Objects
Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

Payload { "__metadata": { "uri": "CurrencyExchangeRate(externalCode='DEFAULT-USD-


EUR',effectiveStartDate=datetime'1900-01-01T00:00:00')" }, "exchangeRate": "1.125",
"currencyExchangeRateType": "DEFAULT", "sourceCurrency": "USD", "targetCurrency": "EUR",
"effectiveStatus": "A" }

Response

 Sample Code

<?xml version="1.0" encoding="utf-8"?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true"></d:key>
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true"></d:message>
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)"></
d:inlineResults>
</m:properties>
</content>
</entry>
</feed>

Example 4: Delete Operation

Operation Delete

Request https://<localhost:port>/odata/v2/
CurrencyExchangeRate(externalCode='DEFAULT-USD-
EUR',effectiveStartDate=datetime'1900-01-01T00:00:00')

Header Authorization: Basic <base64 encoding of


username@instancename:pwd>

Response

 Sample Code

HTTP / 1.1 200 OK


Server: Apache - Coyote / 1.1
X - Powered - By: Servlet 2.4;
JBoss - 4.3 .0.GA_CP09(build: SVNTag = JBPAPP_4_3_0_GA_CP09 date =
201011090309) / JBossWeb - 2.0
Set - Cookie: JSESSIONID = "426EE4DB7F4C837BF660276F37E33650.${jvmroute}";
Version = 1;
Path = /

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 177
Event_ID: EVENT - UNKNOWN - UNKNOWN - D062499.dhcp.wdf.sap.corp - 20160510154607
- 0167
CorrelationId: 621 b46fe - b857 - 4 d07 - a315 - cd483fb3f356
X - CSRF - Token: 61 OKhmy3M9ubA % 2 bAWsJOr1qOyP4w % 3 d
DataServiceVersion: 1.0
SFODataServerTimeZone: Europe / Berlin
Content - Length: 0
Date: Tue, 10 May 2016 13: 46: 07 GMT

Error Messages

The table below lists the error messages generated when using this API:

Error Message Description

WORKSTRUCTURE_VALIDATION_EXCHANGE_RATE_MUST_ An exchange rate with source currency USD and target


BE_GREATER_THAN_ZERO
currency EUR must be greater than zero.

WORKSTRUCTURE_VALIDATION_IDENTICAL_SOURCE_TAR Exchange rate with the same source currency and target
GET_CURRENCIES_NOT_ALLOWED
currency is not allowed.

WORKSTRUCTURE_VALIDATION_REVERSE_RATE_OF_CURR A reverse exchange rate with source currency USD and target
ENCY_PAIR_ALREADY_EXISTS
currency EUR of currency exchange rate type DEFAULT
already exists.

WORKSTRUCTURE_VALIDATION_RATE_OF_CURRENCY_PAI An exchange rate with source currency USD and target


R_ALREADY_EXISTS
currency EUR of currency exchange rate type DEFAULT
already exists.

8.14.6 FOBusinessUnit

The FOBusinessUnit entity represents the Generic Object Business Unit.

Object Information

MDF Object:BusinessUnit
Business Keys: externalCode + startDate
Effective-date:true

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


178 PUBLIC Foundation Objects
Use Cases

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/FOBusinessUnit?$format=json&$select=externalCode&
$top=3

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"d" : {
"results" : [
{
"__metadata" : {
"uri" : "https://<localhost:port>/odata/v2/
FOBusinessUnit(externalCode='BU1',startDate=datetime'1970-01-01T00:00:00')",
"type" : "SFOData.FOBusinessUnit"
}, "externalCode" : "BU1"
}, {
"__metadata" : {
"uri" : "https://<localhost:port>/odata/v2/
FOBusinessUnit(externalCode='BU2',startDate=datetime'2013-12-12T00:00:00')",
"type" : "SFOData.FOBusinessUnit"
}, "externalCode" : "BU2"
}, {
"__metadata" : {
"uri" : "https://<localhost:port>/odata/v2/
FOBusinessUnit(externalCode='BU3',startDate=datetime'1970-01-01T00:00:00')",
"type" : "SFOData.FOBusinessUnit"
}, "externalCode" : "BU3"
}
]
}
}

Example 2: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 179
Payload { "__metadata":
{ "uri":"FOBusinessUnit(startDate=datetime'2014-09-11T00:00:00',externalCode='20000')" },
"status":"A" }

Response

 Sample Code

<?xml version='1.0' encoding='utf-8'?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key
m:null="true" />
<d:status>OK</
d:status>

<d:editStatus>UPSERTED</d:editStatus>
<d:message
m:null="true" />
<d:index
m:type="Edm.Int32">0</d:index>
<d:httpCode
m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults
m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

Related Information

Business Unit

SAP SuccessFactors Employee Central OData API: Reference Guide


180 PUBLIC Foundation Objects
8.14.7 FOCostCenter

The FOCostCenter entity represents the Generic Object Cost Center.

Object Information

MDF Object: CostCenter


Business Keys: externalCode + startDate
Effective-date:true

Use Cases

Example 1: Query Operation

Operation Query

HTTP Request GET

Request https://<hostname>/odata/v2/FOCostCenter&$format=json

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

{
"d": {
"results": [{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOCostCenter(externalCode='aaaa',startDate=datetime'2014-04-22T00:00:00')",
"type": "SFOData.FOCostCenter"
},
"startDate": "\/Date(1398124800000)\/",
"externalCode": "aaaa",
"costcenterManager": null,
"description_de_DE": null,
"endDate": "\/Date(253402214400000)\/",
"lastModifiedDateTime": "\/Date(1398306271000+0000)\/",
"name_ja_JP": null,
"businessUnitFlx": null,
"description": null,
"name_defaultValue": "aaaa",
"name_en_US": "aaaa",
"glStatementCode": "SA49163",
"description_en_US": null,
"status": "A",
...
...
"customString1Nav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
FOCostCenter(externalCode='aaaa',startDate=datetime'2014-04-22T00:00:00')/
customString1Nav"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 181
},
"customDouble2Nav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
FOCostCenter(externalCode='aaaa',startDate=datetime'2014-04-22T00:00:00')/
customDouble2Nav"
}
},
"descriptionTranslationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
FOCostCenter(externalCode='aaaa',startDate=datetime'2014-04-22T00:00:00')/
descriptionTranslationNav"
}
},
"statusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
FOCostCenter(externalCode='aaaa',startDate=datetime'2014-04-22T00:00:00')/statusNav"
}
},
"costcenterManagerNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
FOCostCenter(externalCode='aaaa',startDate=datetime'2014-04-22T00:00:00')/
costcenterManagerNav"
}
},
"departmentFlxNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
FOCostCenter(externalCode='aaaa',startDate=datetime'2014-04-22T00:00:00')/
departmentFlxNav"
}
},
"nameTranslationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
FOCostCenter(externalCode='aaaa',startDate=datetime'2014-04-22T00:00:00')/
nameTranslationNav"
}
},
"businessUnitFlxNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
FOCostCenter(externalCode='aaaa',startDate=datetime'2014-04-22T00:00:00')/
businessUnitFlxNav"
}
},
...
...
}]
}

 Note

Any custom navigations and fields added after migration without any mapping maintained by the customer will
be returned as cust_<type><number>. For example, cust_string1Nav. For existing ones with mapping, the field
and navigation will be returned as–is. For example, customString1.

Example 2: Post Operation

Operation Upsert

SAP SuccessFactors Employee Central OData API: Reference Guide


182 PUBLIC Foundation Objects
HTTP Method POST

Request http://<hostname>/odata/v2/upsert?updateChangesOnly=true

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Content-Type: application/json;charset=utf-8

Payload {
"__metadata":{

"uri":"FOCostCenter(startDate=datetime'2014-09-11T00:00:00',externalCo
de='20000')"
},
"status":"A"
}

Response

<?xml version='1.0' encoding='utf-8' ?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://schemas.microsoft.com/ado/
2007/08/dataservices/metadata" xmlns:d="http://schemas.microsoft.com/ado/2007/08/
dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Example 3: Query with Select Operation

Operation Query

HTTP Method GET

Request https://<hostname>/odata/v2/FOCostCenter?$select=externalCode

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Content-Type: application/json;charset=utf-8

Error Codes

The table below lists different error codes generated when using this API.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 183
AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

8.14.8 FOCompany

The FOCompany entity represents the Generic Object Legal Entity.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

 Note

Do not use the localNavDEFLT as this navigates to the empty entity FOJobClassLocalDEFLT.

Object Information

MDF Object:LegalEntity
Business Keys: externalCode + startDate
Effective-date:true

Use Cases

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/FOCompany?$format=json&$select=externalCode&$top=3

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"d": {

SAP SuccessFactors Employee Central OData API: Reference Guide


184 PUBLIC Foundation Objects
"results": [{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
FOCompany(effectiveStartDate=datetime'2010-01-01T00:00:00',externalCode='ACE_CHN'
)",
"type": "SFOData.FOCompany"
},
"externalCode": "ACE_CHN"
}, {
"__metadata": {
"uri": "https://localhost:443/odata/v2/
FOCompany(effectiveStartDate=datetime'2015-03-30T00:00:00',externalCode='ACE_USA'
)",
"type": "SFOData.FOCompany"
},
"externalCode": "ACE_USA"
}, {
"__metadata": {
"uri": "https://localhost:443/odata/v2/
FOCompany(effectiveStartDate=datetime'2010-01-01T00:00:00',externalCode='ACE_CAN'
)",
"type": "SFOData.FOCompany"
},
"externalCode": "ACE_CAN"
}]
}
}

Example 2: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

Payload { "__metadata":
{ "uri":"FOCompany(startDate=datetime'2014-09-11T00:00:00',externalCode='20000')" }, "status":"A" }

Response

 Sample Code

<?xml version='1.0' encoding='utf-8' ?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 185
</feed>

Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

8.14.9 FODepartment

The FODepartment entity represents the Generic Object Department.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Object Information

MDF Object:Department
Business Keys: externalCode + startDate
Effective-date:true

Use Cases

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/FODepartment?$format=json&$select=externalCode&
$top=3

Here, localhost is the name of your host and port is usually 443 or left blank.

SAP SuccessFactors Employee Central OData API: Reference Guide


186 PUBLIC Foundation Objects
Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://<localhost:port>/odata/v2/
FODepartment(externalCode='Dept 1',startDate=datetime'2015-03-11T00:00:00')",
"type": "SFOData.FODepartment"
},
"externalCode": "Dept 1"
}, {
"__metadata": {
"uri": "https://<localhost:port>/odata/v2/
FODepartment(externalCode='Dept 3',startDate=datetime'2013-09-24T00:00:00')",
"type": "SFOData.FODepartment"
},
"externalCode": "Dept 3"
}, {
"__metadata": {
"uri": "https://<localhost:port>/odata/v2/
FODepartment(externalCode='ADBE-Eng',startDate=datetime'2014-03-26T00:00:00')",
"type": "SFOData.FODepartment"
},
"externalCode": "ADBE-Eng"
}]
}
}

Example 2: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

Payload { "__metadata":
{ "uri":"FODepartment(startDate=datetime'2014-09-11T00:00:00',externalCode='20000')" }, "status":"A" }

Response

 Sample Code

<?xml version='1.0' encoding='utf-8' ?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 187
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

8.14.10 FODivision

The FODivision entity represents the Generic Object Division.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Object Information

MDF Object:Division
Business Keys: externalCode + startDate
Effective-date:true

Use Cases

Example 1: Query Operation

Operation Query

SAP SuccessFactors Employee Central OData API: Reference Guide


188 PUBLIC Foundation Objects
Request https://<localhost:port>/odata/v2/FODivision?$format=json&$select=externalCode&$top=3

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://<localhost:port>/odata/v2/
FODivision(externalCode='Div 1',startDate=datetime'1970-01-01T00:00:00')",
"type": "SFOData.FODivision"
},
"externalCode": "Div 1"
}, {
"__metadata": {
"uri": "https://<localhost:port>/odata/v2/
FODivision(externalCode='Div 2',startDate=datetime'2013-11-04T00:00:00')",
"type": "SFOData.FODivision"
},
"externalCode": "Div 2"
}, {
"__metadata": {
"uri": "https://<localhost:port>/odata/v2/
FODivision(externalCode='Div 3',startDate=datetime'1970-01-01T00:00:00')",
"type": "SFOData.FODivision"
},
"externalCode": "Div 3"
}]
}
}

Example 2: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

Payload { "__metadata": { "uri":"FODivision(startDate=datetime'2014-09-11T00:00:00',externalCode='20000')" },


"status":"A" }

Response

 Sample Code

<?xml version='1.0' encoding='utf-8' ?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 189
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

8.14.11 FOLegalEntityLocal<Country>

This chapter covers several entities containing country-specific fields of legal entities. The country identifier in the
entity name is the country ISO Code. For example, for Germany, the name of this entity will be
FOLegalEntityLocalDEU.

These entities are made available for backward-compatibility reasons only. For a particular country, the
corresponding entity exists if the following pre-requisites are fulfilled:

● There is an MDF object modeled that holds the country-specific legal entity fields for this country.
● The API Visibility of the entity is different from Not Visible.
● The element type map contains information, which indicates that the backward-compatible entity should be
offered for this country.

For more information, see the Country-Specific Fields section.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

By default, five such country-specific entities are pre-shipped. These are FOLegalEntityLocalARG,
FOLegalEntityLocalDEU, FOLegalEntityLocalFRA, FOLegalEntityLocalESP, and FOLegalEntityLocalUSA.

SAP SuccessFactors Employee Central OData API: Reference Guide


190 PUBLIC Foundation Objects
Object Information

MDF Object:LegalEntity<Country>
Business Keys: externalCode + startDate + country
Effective-date:true

Additional Country-Specific Properties

The country-specific properties for the five pre-shipped countries are listed below.

For Argentina:

Property Name in OData Corresponding Field in Object Definition Comments

genericString1 cuitCode

For Germany:

Property Name in OData Corresponding Field in Object Definition Comments

genericString1 taxUnit

genericString2 socialAccidentInsurance

genericString3 socialAccidentInsuranceRegistrationNu
mber

For Spain:

Property Name in OData Corresponding Field in Object Definition Comments

genericString1 certificadoDeIdentificacionFiscal

For France:

Property Name in OData Corresponding Field in Object Definition Comments

genericNumber1 nafCode

genericNumber2 sirenCode

For USA:

Property Name in OData Corresponding Field in Object Definition Comments

genericNumber1 legalEntityType The option ID of the legal entity type

genericString1 federalReserveBankID

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 191
Property Name in OData Corresponding Field in Object Definition Comments

genericString2 fedReserveBankDistrict

genericString3 employerID

genericString4 eeoCompanyCode

legalEntityType legalEntityType The external code of the legal entity type

Use Cases

FOLegalEntityLocal does not support upsert after the migration.

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/FOLegalEntityLocalCAN?$format=json&
$select=externalCode&$top=3

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://<localhost:port>/odata/v2/
FOLegalEntityLocalCAN(country='CAN',externalCode='comTest2',startDate=datetime'20
13-12-02T00:00:00')",
"type": "SFOData.FOLegalEntityLocalCAN"
},
"externalCode": "comTest2"
}, {
"__metadata": {
"uri": "https://<localhost:port>/odata/v2/
FOLegalEntityLocalCAN(country='CAN',externalCode='SF2',startDate=datetime'2014-05
-07T00:00:00')",
"type": "SFOData.FOLegalEntityLocalCAN"
},
"externalCode": "SF2"
}, {
"__metadata": {
"uri": "https://<localhost:port>/odata/v2/
FOLegalEntityLocalCAN(country='CAN',externalCode='ADOBEIND',startDate=datetime'20
15-02-11T00:00:00')",
"type": "SFOData.FOLegalEntityLocalCAN"
},
"externalCode": "ADOBEIND"
}]
}

SAP SuccessFactors Employee Central OData API: Reference Guide


192 PUBLIC Foundation Objects
}

Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

Related Information

Country-Specific Fields [page 159]

8.14.11.1 LegalEntity<Country>

This chapter covers several entities containing country-specific fields of legal entities. The country identifier in the
entity name is the country ISO Code. For example, for USA, the name of this entity will be LegalEntityUSA. Five such
country-specific entities are pre-shipped. These are LegalEntityESP, LegalEntityARG, LegalEntityUSA,
LegalEntityDEU, and LegalEntityFRA.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Object information

MDF Object:LegalEntity<Country>
Business Keys:LegalEntity_effectiveStartDate, LegalEntity_externalCode, externalCode
Effective-date:true

Additional Country-Specific Properties

The country-specific properties for the five pre-shipped countries are listed below.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 193
For Argentina:

Property Name in OData Comments

cuitCode

For Germany:

Property Name in OData Comments

taxUnit

socialAccidentInsurance

socialAccidentInsuranceRegistrationNumber

For Spain:

Property Name in OData Comments

certificadoDeIdentificacionFiscal

For France:

Property Name in OData Comments

nafCode

sirenCode

For USA:

Property Name in OData Comments

legalEntityType

federalReserveBankID

fedReserveBankDistrict

employerID

eeoCompanyCode

Navigation Properties

For USA

Navigation Property Navigation Target Comments

legalEntityTypeNav PickListValueV2

cust_string6Nav PickListValueV2

cust_string7Nav PickListValueV2

SAP SuccessFactors Employee Central OData API: Reference Guide


194 PUBLIC Foundation Objects
Navigation Property Navigation Target Comments

cust_string8Nav PickListValueV2

LegalEntityUSAPermissionsNav LegalEntityUSAPermissions

cust_employerIDNav PickListValueV2

cust_fedReserveBankDistrictNav PickListValueV2

For Germany

Navigation Property Navigation Target Comments

cust_string6Nav PickListValueV2

cust_string7Nav PickListValueV2

cust_string8Nav PickListValueV2

LegalEntityDEUPermissionsNav LegalEntityDEUPermissions

For Argentina

Navigation Property Navigation Target Comments

cust_string6Nav PickListValueV2

cust_string7Nav PickListValueV2

cust_string8Nav PickListValueV2

LegalEntityARGPermissionsNav LegalEntityARGPermissions

For Spain

Navigation Property Navigation Target Comments

cust_string6Nav PickListValueV2

cust_string7Nav PickListValueV2

cust_string8Nav PickListValueV2

LegalEntityESPPermissionsNav LegalEntityESPPermissions

For France

Navigation Property Navigation Target Comments

cust_string6Nav PickListValueV2

cust_string7Nav PickListValueV2

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 195
Navigation Property Navigation Target Comments

cust_string8Nav PickListValueV2

LegalEntityFRAPermissionsNav LegalEntityFRAPermissions

Use Cases

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/LegalEntityUSA?$format=json

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
LegalEntityUSA(LegalEntity_effectiveStartDate=datetime'1990-01-01T00:00:00',Legal
Entity_externalCode='ACE_USA',externalCode=6596L)",
"type": "SFOData.LegalEntityUSA"
},
"LegalEntity_externalCode": "ACE_USA",
"LegalEntity_effectiveStartDate": "\/Date(631152000000)\/",
"externalCode": "6596",
"mdfSystemEffectiveEndDate": "\/Date(253402214400000)\/",
"mdfSystemObjectType": "LegalEntityUSA",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "\/Date(1341142694000+0000)\/",
"mdfSystemTransactionSequence": "1",
"cust_string1": null,
"mdfSystemRecordId": "159A8AB02B040C6EE050007F020046AE",
"mdfSystemEntityId": "159A8AB02B050C6EE050007F020046AE",
"mdfSystemStatus": "A",
"federalReserveBankID": "11-1231/2721",
"lastModifiedDateWithTZ": "\/Date(1341142694000+0000)\/",
"createdDate": "\/Date(1341171494000)\/",
"mdfSystemRecordStatus": "N",
"employerID": "44-98765",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "\/Date(1341142694000+0000)\/",
"lastModifiedDate": "\/Date(1341171494000)\/",
"mdfSystemEffectiveStartDate": "\/Date(-2208988800000)\/",
"fedReserveBankDistrict": "San Francisco",
"legalEntityType": "C",
"eeoCompanyCode": "123145-9",
"legalEntityTypeNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


196 PUBLIC Foundation Objects
"uri": "https://localhost:443/odata/v2/
LegalEntityUSA(LegalEntity_effectiveStartDate=datetime'1990-01-01T00:00:00',Legal
Entity_externalCode='ACE_USA',externalCode=6596L)/legalEntityTypeNav"
}
},
"cust_string1Nav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
LegalEntityUSA(LegalEntity_effectiveStartDate=datetime'1990-01-01T00:00:00',Legal
Entity_externalCode='ACE_USA',externalCode=6596L)/cust_string1Nav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
LegalEntityUSA(LegalEntity_effectiveStartDate=datetime'1990-01-01T00:00:00',Legal
Entity_externalCode='ACE_USA',externalCode=6596L)/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
LegalEntityUSA(LegalEntity_effectiveStartDate=datetime'1990-01-01T00:00:00',Legal
Entity_externalCode='ACE_USA',externalCode=6596L)/mdfSystemStatusNav"
}
}
}]
}
}

Example 2: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

Payload { "__metadata": { "uri":


"LegalEntityUSA(LegalEntity_effectiveStartDate=datetime'1990-01-01T00:00:00',LegalEntity_externalCod
e='ACE_USA',externalCode=6596L)", "type": "SFOData.LegalEntityUSA" }, "LegalEntity_externalCode":
"ACE_USA", "LegalEntity_effectiveStartDate": "\/Date(631152000000)\/", "externalCode": "6596"}

Response

 Sample Code

<?xml version='1.0' encoding='utf-8'?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 197
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

8.14.12 FOJobClassLocal<Country>

Describes several entities containing country-specific fields of job classifications. The country identifier in the
entity name is the country ISO Code. For example, for Brazil, the name of this entity will be FOJobClassLocalBRA.

These entities are made available for backward-compatibility reasons only. For a particular country, the
corresponding entity exists if the following prerequisites are fulfilled:

● There is an MDF object modeled that holds the country-specific job classification fields for this country.
● The API Visibility of the entity is different from Not Visible.
● The element type map contains information, which indicates that the backward-compatible entity should be
offered for this country.

For more information, see the Country-Specific Fields section.

Object Information

MDF Object: JobClassification<Country>


Business Keys: externalCode + startDate + country
Effective-date:true
By default, seven such country-specific entities are pre-shipped. These are
FOJobClassLocalAUS, FOJobClassLocalBRA, FOJobClassLocalCAN,
FOJobClassLocalGBR, and
FOJobClassLocalUSA, FOJobClassLocalITA, and FOJobClassLocalFRA.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


198 PUBLIC Foundation Objects
Additional Country-Specific Properties

The country-specific properties for the seven pre-shipped countries are listed below.

For Australia:

Property Name in OData Corresponding Field in Object Definition Comments

genericString1 ascoCode

For Great Britain:

Property Name in OData Corresponding Field in Object Definition Comments

genericNumber1 occupationalCode

For Canada:

Property Name in OData Corresponding Field in Object Definition Comments

genericString1 occupationalClassification

For France:

Property Name in OData Corresponding Field in Object Definition Comments

genericString1 inseeCode

genericNumber2 employeeCategory

genericNumber1 occupationalCode

For USA:

Property Name in OData Corresponding Field in Object Definition Comments

genericString1 localJobTitle

genericNumber1 eeo1JobCategory Option ID of eeo1JobCategory

genericNumber2 eeo4JobCategory Option ID of eeo4JobCategory

genericNumber3 eeo5JobCategory Option ID of eeo5JobCategory

genericNumber4 eeo6JobCategory Option ID of eeo6JobCategory

genericNumber5 eeoJobGroup Option ID of eeoJobGroup

genericNumber6 flsaStatusUSA Option ID of flsaStatusUSA

eeo1JobCategory eeo1JobCategory External code of eeo1JobCategory

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 199
Property Name in OData Corresponding Field in Object Definition Comments

eeo4JobCategory eeo4JobCategory External code of eeo4JobCategory

eeo5JobCategory eeo5JobCategory External code of eeo5JobCategory

eeo6JobCategory eeo6JobCategory External code of eeo6JobCategory

eeoJobGroup eeoJobGroup External code of eeoJobGroup

flsaStatusUSA flsaStatusUSA External code of flsaStatusUSA

For Brazil:

Property Name in OData Corresponding Field in Object Definition Comments

genericString1 occupationalCode Option ID of the occupational code

occupationalCode occupationalCode External code of the occupational code

For Italy:

Property Name in OData Corresponding Field in Object Definition Comments

genericNumber1 inailCode

Navigation Properties

For USA

Navigation Property Navigation Target Comments

genericNumber1Nav PicklistOption

genericNumber2Nav PicklistOption

genericNumber3Nav PicklistOption

genericNumber4Nav PicklistOption

genericNumber5Nav PicklistOption

genericNumber6Nav PicklistOption

eeo1JobCategoryNav PickListValueV2

eeo4JobCategoryNav PickListValueV2

eeo5JobCategoryNav PickListValueV2

eeo6JobCategoryNav PickListValueV2

eeoJobGroupNav PickListValueV2

flsaStatusUSANav PickListValueV2

SAP SuccessFactors Employee Central OData API: Reference Guide


200 PUBLIC Foundation Objects
For Brazil

Navigation Property Navigation Target Comments

genericString1Nav PicklistOption

occupationalCodeNav PickListValueV2

Use Cases

FOJobClassLocal does not support upsert after the migration.

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/FOJobClassLocalCAN?$format=json&
$select=externalCode&$top=3

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOJobClassLocalCAN(country='CAN',externalCode='PS',startDate=datetime'2013-10-17T
00:00:00')",
"type": "SFOData.FOJobClassLocalCAN"
},
"externalCode": "PS"
}, {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOJobClassLocalCAN(country='CAN',externalCode='ACC',startDate=datetime'2015-09-03
T00:00:00')",
"type": "SFOData.FOJobClassLocalCAN"
},
"externalCode": "ACC"
}, {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOJobClassLocalCAN(country='CAN',externalCode='JC1',startDate=datetime'2015-08-25
T00:00:00')",
"type": "SFOData.FOJobClassLocalCAN"
},
"externalCode": "JC1"
}]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 201
Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

Related Information

Country-Specific Fields [page 159]

8.14.13 JobClassificationCountry

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Object information

MDF Object:JobClassificationCountry
Business Keys:JobClassification_effectiveStartDate, JobClassification_externalCode,
country
Effective-date:true

Use Cases

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/JobClassificationCountry?$format=json

Here, localhost is the name of your host and port is usually 443 or left blank.

SAP SuccessFactors Employee Central OData API: Reference Guide


202 PUBLIC Foundation Objects
Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')",
"type": "SFOData.JobClassificationCountry"
},
"JobClassification_effectiveStartDate": "\/Date(631152000000)\/",
"JobClassification_externalCode": "EXE-CEO",
"country": "USA",
"mdfSystemEffectiveEndDate": "\/Date(253402214400000)\/",
"mdfSystemObjectType": "JobClassificationCountry",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "\/Date(1447406820000+0000)\/",
"effectiveStatus": "A",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "4FCA7B68851E41C1936B2AE1D5E25E4C",
"mdfSystemEntityId": "D5D533446DEA400FBC3388F5DDBA5C14",
"lastModifiedDateWithTZ": "\/Date(1447406820000+0000)\/",
"createdDate": "\/Date(1447435620000)\/",
"mdfSystemRecordStatus": "N",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "\/Date(1447406820000+0000)\/",
"lastModifiedDate": "\/Date(1447435620000)\/",
"mdfSystemEffectiveStartDate": "\/Date(-2208988800000)\/",
"toJobClassificationAUS": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')/
toJobClassificationAUS"
}
},
"toJobClassificationGBR": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')/
toJobClassificationGBR"
}
},
"countryNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')/countryNav"
}
},
"toJobClassificationFRA": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')/
toJobClassificationFRA"
}
},
"toJobClassificationCAN": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 203
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')/
toJobClassificationCAN"
}
},
"toJobClassificationITA": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')/
toJobClassificationITA"
}
},
"toJobClassificationBRA": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')/
toJobClassificationBRA"
}
},
"effectiveStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')/
effectiveStatusNav"
}
},
"cust_toJobClassificationCHN": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')/
cust_toJobClassificationCHN"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')/
mdfSystemRecordStatusNav"
}
},
"toJobClassificationUSA": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01
T00:00:00',JobClassification_externalCode='EXE-CEO',country='USA')/
toJobClassificationUSA"
}
}
}

Example 2: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

Here, localhost is the name of your host and port is usually 443 or left blank.

SAP SuccessFactors Employee Central OData API: Reference Guide


204 PUBLIC Foundation Objects
Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

Payload { "__metadata": { "uri":


"JobClassificationCountry(JobClassification_effectiveStartDate=datetime'1990-01-01T00:00:00',JobClas
sification_externalCode='EXE-CEO',country='USA')", "type": "SFOData.JobClassificationCountry" },
"JobClassification_effectiveStartDate": "\/Date(631152000000)\/", "JobClassification_externalCode":
"EXE-CEO", "country": "USA"}

Response

 Sample Code

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://


schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 205
8.14.14 FOJobFunction

The FOJobFunction entity represents the Generic Object Job Function.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Object Information

MDF Object:JobFunction
Business Keys: externalCode + startDate
Effective-date:true

Use Cases

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/FOJobFunction?$format=json&$select=externalCode&
$top=3

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOJobFunction(externalCode='JF Code 2',startDate=datetime'1970-01-01T00:00:00')",
"type": "SFOData.FOJobFunction"
},
"externalCode": "JF Code 2"
}, {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOJobFunction(externalCode='JF Code 3',startDate=datetime'2013-10-16T00:00:00')",
"type": "SFOData.FOJobFunction"
},
"externalCode": "JF Code 3"
}, {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOJobFunction(externalCode='test1',startDate=datetime'2013-07-10T00:00:00')",
"type": "SFOData.FOJobFunction"

SAP SuccessFactors Employee Central OData API: Reference Guide


206 PUBLIC Foundation Objects
},
"externalCode": "test1"
}]
}
}

Example 2: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

Payload { "__metadata":
{ "uri":"FOJobFunction(startDate=datetime'2014-09-11T00:00:00',externalCode='20000')" }, "status":"A" }

Response

 Sample Code

<?xml version='1.0' encoding='utf-8'?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 207
INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for
String.

8.14.15 FOJobCode

The FO JobCode entity represents the Generic Object Job Classification.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

 Note

Do not use the localNavDEFLT as this navigates to the empty entity FOJobClassLocalDEFLT.

Special Notes on FOJobCode Translation

Before the migration, you could handle the translatable fields in two ways. You would do translations for Job Code
using Legacy Translations and FOTranslations. This is replaced with the MDF standard translation approach. Now
translatable fields are handled in the same way as translatable fields in other migrated objects. This means that
you have these additional fields such as name_en_US, name_en_GB, and so on in the object structure. To maintain
backward compatibility, the old navigations to translations are maintained. However, they come with certain
restrictions. Have a look:

Important changes to FOJobCode – name, description and custom string fields in APIs

● Used locale to return data: During migration of Job Code Translations, the Corporate Locale will be used to
copy translations to the new persistency. While copying, the corporate language will be used to copy a default
translations into the translatable fields of FO Job Code (such as name, description or custom string). After
enabling the new translation feature, the SOAP and OData API will return those default values in the corporate
language while it returned the values in the language of the API user before activating the feature. In case this
corporate locale differs from the locale of the API user (can be seen in Employee Central UI through options for
this user), the result of the translatable fields could differ. To avoid this, ensure that corporate language and API
user language are the same before migrating or activating the new Job Code Translation feature in
Provisioning. This is described later below.
● Before the migration, every custom string field of type worker was regarded as translatable if legacy translation
was used. Thus, for every worker field, a navigation attribute was added leading to LocalizedData. After the
migration, navigation attribute is still available, but this will not lead to any instance data.
● Filters and sort on translation navigation: After switching to the new Job Code Translation, the OData API will
no longer support filter, and order by for the navigations of translatable fields in FO Job Code. Filter is still
supported for default translation in field name. This means queries such as /odata/v2/FOJobCode?
$filter=nameTranslatioNav/localizedDataTranslation+eq+'My Job Code' will no longer be possible. Query such
as /odata/v2/FOJobCode?$filter=name+eq+'My Job Code'&$expand=nameTranslationNav will still work.
● Custom user ID fields: If a custom string field was configured as of type user, the corresponding user ID was
added to the translation table. With the new feature enabled, this user ID will now be returned in the
corresponding field itself and is not available anymore in the translation table.

SAP SuccessFactors Employee Central OData API: Reference Guide


208 PUBLIC Foundation Objects
Important changes to LocalizedData – name, description and custom string fields in APIs

● Top, skip, orderby, and query without filter: After switching to the new Job Code Translation, the
LocalizedData Entity can be queried using simple filter (using eq or in). However, there is no support anymore
for query without filter or paging, and ordering or sorting. LocalizedData must be retrieved using the Job Code
query using expand and not queried directly.
● Shortcut access: Direct access to the LocalizedData without $filter such as odata/vs2/
LocalizedData(localizedDataCode=(‘TR:421:,localizedDataLocale=‘en_GB’) is not possible anymore. Use
odata/v2/LocalizedData?$filter=localizedDataCode+eq+’TR:421’+and+localizedDataLocale+eq+‘en_GB’)
instead or do a direct expand from FOJobCode entity.
● Changed business keys: LocalizedData will have a different code instead of TR:11. A number such as 34569811
originating from the new GOLocalizedData will be returned.
● Null-values for a translation: This happens if LocalizedData is not returned anymore by the OData API. This is
also true for expanded navigations in FOJobCode.

Additional Information

Set API User and Corporate Locale (in Provisioning)

To minimize impact of change, make sure that you deal with setting the language as follows:

1. You have set the default language for your corporation in Provisioning.
2. You have set the user language under Options Change Langaguage . Make sure that the user language
and the default language are the same.
3. Activate the Provisioning settings.

Job Code and Navigation attribute

FO Job Code has a navigation attribute localNavDEFLT going to FOJobClassLocalDEFLT. This target entity
FOJobClassLocalDEFLT does not contain any business field. Before the migration, if the object data was
inconsistent, this navigation would lead to instance data. This was the case if you imported JobClassLocal data
for countries, which were not configured, or if you removed countries from country-specific Corporate Data Model,
after data was created. This inconsistency is not there now. After the migration, the navigation and the target entity
are still made available for compatibility reasons, even though they do not return any data.

Object information

MDF Object:JobClassification
Business Keys: externalCode + startDate
Effective-date:true

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 209
Use Cases

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/FOJobCode?$format=json&$select=externalCode&$top=3

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOJobCode(externalCode='TestCodePD',startDate=datetime'2012-05-21T00:00:00')",
"type": "SFOData.FOJobCode"
},
"externalCode": "TestCodePD"
}, {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOJobCode(externalCode='sales',startDate=datetime'1970-01-01T00:00:00')",
"type": "SFOData.FOJobCode"
},
"externalCode": "sales"
}, {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOJobCode(externalCode='PS',startDate=datetime'2013-10-17T00:00:00')",
"type": "SFOData.FOJobCode"
},
"externalCode": "PS"
}]
}

Example 2: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

Payload { "__metadata": { "uri":"FOJobCode(startDate=datetime'2014-09-11T00:00:00',externalCode='20000')" },


"status":"A" }

Response

SAP SuccessFactors Employee Central OData API: Reference Guide


210 PUBLIC Foundation Objects
 Sample Code

<?xml version='1.0' encoding='utf-8'?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

8.14.16 FOPayGroup

The FOPayGroup entity represents the Generic Object Pay Group.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Object Information

MDF Object:PayGroup
Business Keys: externalCode + startDate
Effective-date:true

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 211
Use Cases

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/FOPayGroup?$format=json&$select=externalCode&$top=3

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOPayGroup(externalCode='SAP',startDate=datetime'2013-11-02T00:00:00')",
"type": "SFOData.FOPayGroup"
},
"externalCode": "SAP"
}, {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOPayGroup(externalCode='pG1',startDate=datetime'2013-09-02T00:00:00')",
"type": "SFOData.FOPayGroup"
},
"externalCode": "pG1"
}, {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
FOPayGroup(externalCode='PG1',startDate=datetime'2014-12-09T00:00:00')",
"type": "SFOData.FOPayGroup"
},
"externalCode": "PG1"
}]
}
}

Example 2: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

Payload { "__metadata":
{ "uri":"FOPayGroup(startDate=datetime'2014-09-11T00:00:00',externalCode='20000')" }, "status":"A" }

Response

SAP SuccessFactors Employee Central OData API: Reference Guide


212 PUBLIC Foundation Objects
 Sample Code

<?xml version='1.0' encoding='utf-8'?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

8.14.17 PayCalendar

This is a foundation object that describes a pay calendar for a particular pay group. This means it is the collection of
all pay periods referring to the same pay group.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Object information

MDF Object:PayCalendar
Business Keys: payGroup
Effective-date:false

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 213
Use Cases

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/PayCalendar?$format=json

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"__metadata": {
"uri": "https://localhost:443/odata/v2/PayCalendar('APAC_GROUP')",
"type": "SFOData.PayCalendar"
},
"payGroup": "APAC_GROUP",
"mdfSystemEffectiveEndDate": "\/Date(253402214400000)\/",
"mdfSystemObjectType": "PayCalendar",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "\/Date(1447049529000+0000)\/",
"mdfSystemTransactionSequence": "1",
"createdBy": "admin",
"mdfSystemRecordId": "B48CD96182B440348ECAE2439136091E",
"mdfSystemEntityId": "A2FF33F88E724BF386D5D225975D0F17",
"createdDateTime": "\/Date(1442990456000+0000)\/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "\/Date(1447078329000)\/",
"mdfSystemEffectiveStartDate": "\/Date(-2208988800000)\/",
"lastModifiedDateWithTZ": "\/Date(1447049529000+0000)\/",
"createdDate": "\/Date(1443019256000)\/",
"mdfSystemRecordStatus": "N",
"payGroupNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/PayCalendar('APAC_GROUP')/
payGroupNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/PayCalendar('APAC_GROUP')/
mdfSystemRecordStatusNav"
}
},
"toPayPeriod": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/PayCalendar('APAC_GROUP')/
toPayPeriod"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/PayCalendar('APAC_GROUP')/
mdfSystemStatusNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


214 PUBLIC Foundation Objects
}
}
}

Example 2: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

Payload { "__metadata": { "uri": "https://localhost:443/odata/v2/PayCalendar('APAC_GROUP')", "type":


"SFOData.PayCalendar" }, "payGroup": "APAC_GROUP"}

Response

 Sample Code

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://


schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Error Codes

The table below lists different error codes generated when using this API.

AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 215
8.14.17.1 PayPeriod

Pay Period is the child object of GO Pay Calendar.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Object information

MDF Object:PayPeriod
Business Keys: PayCalendar_payGroup,externalCode
Effective-date:false

Use Cases

Example 1: Query Operation

Operation Query

Request https://<localhost:port>/odata/v2/PayPeriod?$format=json

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

 Sample Code

{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayPeriod(PayCalendar_payGroup='APAC_GROUP',externalCode=6636L)",
"type": "SFOData.PayPeriod"
},
"PayCalendar_payGroup": "APAC_GROUP",
"externalCode": "6636",
"payPeriodBeginDate": "\/Date(946684800000)\/",
"mdfSystemEffectiveEndDate": "\/Date(253402214400000)\/",
"mdfSystemObjectType": "PayPeriod",
"mdfSystemVersionId": null,
"runType": "INC",
"offcycle": false,
"lastModifiedDateTime": "\/Date(1447049529000+0000)\/",
"mdfSystemTransactionSequence": "1",
"cust_string1": "b",
"mdfSystemRecordId": "1ACED403FA1E4132B37D839DBDB87FB7",
"createdBy": "admin",
"mdfSystemEntityId": "818F9E53B6654906BFCDA0E1BAA5F607",
"processingRunId": "1",
"createdDateTime": "\/Date(1442990456000+0000)\/",

SAP SuccessFactors Employee Central OData API: Reference Guide


216 PUBLIC Foundation Objects
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "\/Date(1447078329000)\/",
"mdfSystemEffectiveStartDate": "\/Date(-2208988800000)\/",
"lastModifiedDateWithTZ": "\/Date(1447049529000+0000)\/",
"payPeriodEndDate": "\/Date(1609372800000)\/",
"payCheckIssueDate": null,
"createdDate": "\/Date(1443019256000)\/",
"mdfSystemRecordStatus": "N",
"runTypeNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayPeriod(PayCalendar_payGroup='APAC_GROUP',externalCode=6636L)/runTypeNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayPeriod(PayCalendar_payGroup='APAC_GROUP',externalCode=6636L)/
mdfSystemRecordStatusNav"
}
},
"mdf{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayPeriod(PayCalendar_payGroup='APAC_GROUP',externalCode=6636L)",
"type": "SFOData.PayPeriod"
},
"PayCalendar_payGroup": "APAC_GROUP",
"externalCode": "6636",
"payPeriodBeginDate": "\/Date(946684800000)\/",
"mdfSystemEffectiveEndDate": "\/Date(253402214400000)\/",
"mdfSystemObjectType": "PayPeriod",
"mdfSystemVersionId": null,
"runType": "INC",
"offcycle": false,
"lastModifiedDateTime": "\/Date(1447049529000+0000)\/",
"mdfSystemTransactionSequence": "1",
"cust_string1": "b",
"mdfSystemRecordId": "1ACED403FA1E4132B37D839DBDB87FB7",
"createdBy": "admin",
"mdfSystemEntityId": "818F9E53B6654906BFCDA0E1BAA5F607",
"processingRunId": "1",
"createdDateTime": "\/Date(1442990456000+0000)\/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "\/Date(1447078329000)\/",
"mdfSystemEffectiveStartDate": "\/Date(-2208988800000)\/",
"lastModifiedDateWithTZ": "\/Date(1447049529000+0000)\/",
"payPeriodEndDate": "\/Date(1609372800000)\/",
"payCheckIssueDate": null,
"createdDate": "\/Date(1443019256000)\/",
"mdfSystemRecordStatus": "N",
"runTypeNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayPeriod(PayCalendar_payGroup='APAC_GROUP',externalCode=6636L)/runTypeNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayPeriod(PayCalendar_payGroup='APAC_GROUP',externalCode=6636L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 217
"uri": "https://localhost:443/odata/v2/
PayPeriod(PayCalendar_payGroup='APAC_GROUP',externalCode=6636L)/
mdfSystemStatusNav"
}
}
}
SystemStatusNav ": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayPeriod(PayCalendar_payGroup='APAC_GROUP',externalCode=6636L)/
mdfSystemStatusNav"
}
}
}

Example 2: Post Operation

Operation Post

Request https://<localhost:port>/odata/v2/upsert

Here, localhost is the name of your host and port is usually 443 or left blank.

Header Authorization: Basic <base64 encoding of username@instancename:pwd>

Content-Type: application/json;charset=utf-8

Payload { "__metadata": { "uri": "https://localhost:443/odata/v2/


PayPeriod(PayCalendar_payGroup='APAC_GROUP',externalCode=6636L)", "type": "SFOData.PayPeriod" },
"PayCalendar_payGroup": "APAC_GROUP", "externalCode": "6636"}

Response

 Sample Code

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://


schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Error Codes

The table below lists different error codes generated when using this API.

SAP SuccessFactors Employee Central OData API: Reference Guide


218 PUBLIC Foundation Objects
AFFECTED_EXTERNAL_CODE_ERROR This record cannot be saved since one or more records of this
Code have reported errors.

END_DATE_EARLIER_THAN_START_DATE Start date cannot be greater than end date.

INVALID_LEGACY_PICKLIST_OPTION_ID This is an invalid picklist value in import file or database for


String.

SAP SuccessFactors Employee Central OData API: Reference Guide


Foundation Objects PUBLIC 219
9 Global Benefits Objects

Global Benefits offers a simplified, one-stop shop Benefits administration tool for organizations spread across the
globe.

9.1 Benefit

This entity is used to create and configure benefits. It is used for reimbursements and allowances, such as medical
bills, higher education, and a company car.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases

API Call Description

https://<hostname>/odata/v2/Benefit Queries benefits.

9.2 BenefitClaimAccumulation

This enitity enables the accumulation of benefit claims sot they can be tracked within a defined cycle.

Permissions

Permission System Required Setting

Role-based Assign the relevant permissions for claim accumulation in User Permissions Miscellaneous
Permissions .

SAP SuccessFactors Employee Central OData API: Reference Guide


220 PUBLIC Global Benefits Objects
Operations Allowed

Operation Description

GET Query the BenefitClaimAccumulation entity.

Properties

Property Description

claimWindowStart The start date for the claim.

claimWindowEnd The end date for the claim.

remainingAmount The amount remaining after claim is made.

accumulatedAmount The amount that has already been claimed.

balanceCarryForwardAmount The amount that is carried forward.

Navigation Properties

Navigation Property Related Entity Description

Benefit Claim Accumulation benefitBalanceCarryForwardDetail Gets the BalanceCarrryForwardDetails.

Benefit Claim Accumulation benefitClaims Gets the Benefit Employee Claim details.

Use Cases

None.

9.3 BenefitCompanyCarAllowedModels

This entity is used to create values for different car models that are selected from the drop-down list in the
application.

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 221
Permissions

Permission System Required Setting

Role-based Assign the relevant permissions for the car models in User Permissions Miscellaneous
Permissions .

Supported Operations

Operation Description

GET Query the BenefitCompanyCarAllowedModels entity.

Properties

Property Description

effectiveStartDate The effective start date of car model.

carModelName The name of the car model.

Navigation Properties

Navigation Property Related Entity Description

BenefitCompanyCarAllowedModels BenefitCompanyCar One-to-many association to Company­


Car - to filter the CompanyCarAllowed­
Models.

Use Cases

None.

SAP SuccessFactors Employee Central OData API: Reference Guide


222 PUBLIC Global Benefits Objects
9.4 BenefitCompanyCarLeaseServiceProvider

This entity is used to create values for car lease service providers.

Permissions

Permission System Required Setting

Role-based Assign the relevant permissions for car service provider in User Permissions Miscellaneous
Permissions .

Supported Operations

Operation Description

GET Query BenefitCompanyCarLeaseServiceProvider record.

Properties

Property Description

externalCode The company car code.

effectiveStartDate The effective start date of the car lease from the service provider.

serviceProviderName Name of the car lease service provider.

emiInterestRate The interest rate from the service provider for the equated monthly installments.

Navigation Properties

Navigation Property Related Entity Description

BenefitCompanyCarLeaseServicePro- BenefitCompanyCar One-to-many association to Company­


vider Car - to filter the CompanyCarLeaseSer­
viceProvider.

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 223
9.5 BenefitsConfirmationStatementConfiguration

This entity is meant for mapping the template to various legal entity. Here Legal Entity is external code to address
the requirement of having only one template mapped per legal entity.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitsConfirmationStatementConfiguration
?$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

<Your Input if any additional header information has been sup­


plied, for example content type

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitsConfirmationStatementConfiguration",
"type": "SFOData.BenefitsConfirmationStatementConfiguration"
},
"legalEntity": "ACE_USA",
"effectiveStartDate": "/Date(1496016000000)/",
" templateId ": "benefits",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
" legalEntityNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitsConfirmationStatementConfiguration/legalEntityNav"
},

SAP SuccessFactors Employee Central OData API: Reference Guide


224 PUBLIC Global Benefits Objects
"templateIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitsConfirmationStatementConfiguration/templateIdNav "
}
}
}
}
]
}
}

Additional Information

9.6 BenefitCompanyCarRecommendedVendors

This entity stores the details of recommended vendors for the company car benefit.

Permissions

Permission System Required Setting

Role-based Assign relevant permissions in User Permissions Miscellaneous Permissions .

Standard MDF permissions also apply.

Supported Operations

Operation Description

GET Query the BenefitCompanyCarRecommendedVendors record.

Properties

Property Description

carVendorName The name of the car vendor.

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 225
Navigation Properties

Navigation Property Related Entity Description

BenefitCompanyCarRecommendedVen- BenefitCompanyCar Join-By-Column association to filter the


dors car vendors associated to a specific com­
pany car benefit.

Use Cases

API Call Description

https://<hostname>/odata/v2/ Queries instances of Company Car Recommended Vendors.


BenefitCompanyCarRecommendedVendors

9.7 BenefitContact

This entity stores the contact details of persons who are responsible for providing benefit-related information.

Permissions

Permission System Required Setting

Role-based Assign the relevant permissions in User Permissions Miscellaneous Permissions .

Standard MDF permission also apply.

Supported Operations

Operation Description

GET Query the BenefitContact record.

SAP SuccessFactors Employee Central OData API: Reference Guide


226 PUBLIC Global Benefits Objects
Properties

Property Description

employeeName The name of the employee.

contactEmail The employee's email address.

contactPhone The employee's phone number.

Use Cases

API Call Description

‹https://<hostname>/odata/v2/ Queries instances of BenefitContact.


BenefitContact

9.8 BenefitDeductibleDetails

This object is used to capture the Benefit Deduction details during Benefit creation.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<hostname>/odata/v2/
BenefitDeductionDetails?$format=json

Response

 Sample Code

{
"d": {
"results": [
{

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 227
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitDeductionDetails(Benefit_benefitId='SAVINGS_PALN',Benefit_effectiveStartDa
te=datetime'2018-03-23T00:00:00',dedcutionDetailId=25291L)",
"type": "SFOData.BenefitDeductionDetails"
},
"Benefit_effectiveStartDate": "/Date(1521763200000)/",
"Benefit_benefitId": "SAVINGS_PALN",
"dedcutionDetailId": "25291",
"deductionPayComponent": "Savings plan paycomp",
"basePayComponent": "Savings plan paycomp",
"lastModifiedDateTime": "/Date(1521780910000+0000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1521780910000+0000)/",
"lastModifiedBy": "admin",
"payFrequency": "MON",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitDeductionDetails(Benefit_benefitId='SAVINGS_PALN',Benefit_effectiveStartDa
te=datetime'2018-03-23T00:00:00',dedcutionDetailId=25291L)/
mdfSystemRecordStatusNav"
}
},
"deductionPayComponentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitDeductionDetails(Benefit_benefitId='SAVINGS_PALN',Benefit_effectiveStartDa
te=datetime'2018-03-23T00:00:00',dedcutionDetailId=25291L)/
deductionPayComponentNav"
}
},
"basePayComponentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitDeductionDetails(Benefit_benefitId='SAVINGS_PALN',Benefit_effectiveStartDa
te=datetime'2018-03-23T00:00:00',dedcutionDetailId=25291L)/basePayComponentNav"
}
},
"payFrequencyNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitDeductionDetails(Benefit_benefitId='SAVINGS_PALN',Benefit_effectiveStartDa
te=datetime'2018-03-23T00:00:00',dedcutionDetailId=25291L)/payFrequencyNav"
}
}
}
]
}
}

Additional Information

9.9 BenefitDocuments

This enity is used to store all kinds of documents related to the benefits, including policy documents, forms, and
relevant web links.

SAP SuccessFactors Employee Central OData API: Reference Guide


228 PUBLIC Global Benefits Objects
Permissions

An administrator can Create/View/Update/Delete the entity records.

An employee can only Create/View the entity records.

Permission System Required Setting

Role-based
Go to Admin Center Configure Object Definition Create New Object Definition

Secured . Set Yes and set the Permission Category as Miscellaneous Permissions.

Assign relevant permissions in User Permissions Miscellaneous Permissions .

Operations Allowed

Operation Description

GET Query BenefitDocuments records.

Properties

Property Description

effectiveStartDate The effective start date of the document.

shortName The short name of the document.

usefullLink A link to the document.

attachment Any attachment that refers to the document.

Use Cases

API Call Description

https://<hostname>/odata/v2/ Queries instances of BenefitDocuments.


BenefitDocuments

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 229
9.10 BenefitEmployeeClaim

This entity stores the details of the claim transactions made by the employees for the various benefits in the
company.

Permissions

Permission System Required Setting

Role-based Assign the relevant permissions in User Permissions Miscellaneous Permissions .

Standard MDF permission also apply.

Supported Operations

Operation Description

GET Query a BenefitEmployeeClaim record.

Properties

Property Description

claimDate The date the benefit is claimed.

entitlementAmount The amount the employee is eligible to claim.

totalAmount The amount that the employee is claiming for

benefitDataSourceWithExternalCode The list of benefits that the employee is eligible to claim for

Navigation Properties

Navigation Property Related Entity Description

BenefitEmployeeClaim BenefitEmployeeClaimDetail Contains additional detail fields required


during claim of a benefit.

BenefitEmployeeClaim BenefitFuelReimbursementClaimDetail Contains additional detail fields required


during claim of the fuel benefit.

SAP SuccessFactors Employee Central OData API: Reference Guide


230 PUBLIC Global Benefits Objects
Navigation Property Related Entity Description

BenefitEmployeeClaim BenefitDependentDetail Contains additional fields required to


capture the dependent information.

BenefitEmployeeClaim BenefitDocuments Stores information about policy docu­


ments, forms, useful links.

BenefitEmployeeClaim BenefitLeaveTravelReimbursementClaim Contains additional fields required to


capture the leave travel information.

BenefitEmployeeClaim BenefitFuelReimbursement Contains additional fields required to


capture the fuel reimbursement informa­
tion.

Use Cases

API Call Description

https://<hostname>/odata/v2/ Queries the instances of Benefit Employee Claim.


BenefitEmployeeClaim

9.11 BenefitEnrollment

This entity contains a list of all the benefits for which an Employee is eligible.An employee uses this object to enroll
for eligible benefits.

Permissions

Permission System Required Setting

Role-based ● Only the eligible employees can create a benefit enrollment for the eligible benefits
● An administrator cannot do this unless he or she uses the proxy feature
● RBP must be enabled for this entity

Go to Admin Center Configure Object Definition Create New Object Definition

Secured . Set Yes and set the Permission Category as Miscellaneous Permissions.

Assign the relevant permissions in User Permissions Miscellaneous Permissions .

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 231
Supported Operations

Operation Description

GET Query a BenefitEnrollment record.

Properties

Property Description

entitlementAmount The entitlement amount of the benefit.

benefitDataSourceWithExternalCode The data source field for benefits.

effectiveStartDate The start date of enrollment.

effectiveEndDate The end date of enrollment.

amount The total amount for which user has enrolled.

Navigation Properties

Navigation Property Related Entity Description

BenefitEnrollment BenefitCompanyCarEnrollment This is additional field that contains com­


pany car enrollment details.

BenefitEnrollment BenefitPensionFundEnrollmentContribu- This field contains benefit pension fund


tionDetail related information.

BenefitEnrollment BenefitPensionDependentNominees This field contains the information about


the Dependent Nominees.

BenefitEnrollment BenefitPensionNonDependentNominees This field contains the information about


the Non Dependent Nominees

BenefitEnrollment BenefitPensionEnrollmentContribution- This field contains the information re­


Detail lated to pension enrollment contribution.

BenefitEnrollment BenefitCompanyHousingEnrollment This field contains company housing re­


lated information.

Use Cases

API Call Description

https://<hostname>/odata/v2/ Queries instances of BenefitEnrollment.


BenefitEnrollment

SAP SuccessFactors Employee Central OData API: Reference Guide


232 PUBLIC Global Benefits Objects
9.12 BenefitEnrollmentDependencyConfiguration

This Object is used to capture the Benefit Dependency containing Benefit Dependency Configuration Id, Comment
and Benefit Dependency Details. Benefit Dependency Details contains the Lead Benefit, Lead Insurance Plan,
Dependent Benefit, Dependent Insurance Plan and Enrollment Condition.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<hostname>/odata/v2/
BenefitEnrollmentDependencyConfiguration(e
ffectiveStartDate=datetime'2017-10-02T00:0
0:00',id=694L)?$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitEnrollmentDependencyConfiguration",
"type": "SFOData. BenefitEnrollmentDependencyConfiguration"
},
"benefitDependencyId": "DEPENDENCY CONFIGURATION ID",
"comment": "Benefit Dependency Configuration with details",
"benefitDependencyDetails": "benefitDependencydetailList",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitEnrollmentDependencyConfiguration(/mdfSystemRecordStatusNav"
}
}
}
]
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 233
}

Additional Information

9.13 BenefitEnrollmentDependencyDetails

This Object is used to capture the Lead and Dependent Benefits with some Enrollment Condition.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<hostname>/odata/v2/
BenefitEnrollmentDependencyDetails(effecti
veStartDate=datetime'2017-10-02T00:00:00',
id=694L)/$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitEnrollmentDependencyDetails",
"type": "SFOData. BenefitEnrollmentDependencyDetails"
},
"leadBenefit": "DummyBenefit1",
"leadInsurancePlan": "DummyPlan1",
"enrollmentCondition": "ENROLLED",
"dependentBenefit": "DummyBenefit2",
"dependentInsurancePlan": "DummyPlan2",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"leadBenefitNav": {

SAP SuccessFactors Employee Central OData API: Reference Guide


234 PUBLIC Global Benefits Objects
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitEnrollmentDependencyDetails/leadBenefitNav "
},
"leadInsurancePlanNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitEnrollmentDependencyDetails/leadInsurancePlanNav"
},
"enrollmentConditionNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitEnrollmentDependencyDetails/enrollmentConditionNav "
},
"dependentBenefitNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitEnrollmentDependencyDetails/dependentBenefitNav "
},
"dependentInsurancePlanNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitEnrollmentDependencyDetails/dependentInsurancePlanNav"
},
"parentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitEnrollmentDependencyDetails/parentNav "
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitEnrollmentDependencyDetails(/mdfSystemRecordStatusNav"
}
}
}
}
}
}
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 235
Additional Information

9.14 BenefitEnrollmentOptoutDetail

This entity contains BenefitEnrollment, BenefitEnrollmentId, BenefitEnrollmentId, BenefitSchedulePeriod,


OptoutRequestDate, EnrollmentChangeDate, ContributionChangeDate, and OptedoutBy. This entity is used to log
opted out details.

Supported Operations

Operataion Description

Query Yes

Navigation Properties

Navigation Property Related Entity Description

Benefits Benefit Navigation to the Benefit

These are not complete lists of properties. For more information about the entity metadata, please refer to your
OData API dictionary in the Admin Center or use the entity query:https://<hostname>/odata/v2/<Entity>/
$metadata.

Use Case:Querying opted out BenefitEnrollment details

Request

Operation Query

HTTP Method GET

URI http://<hostname>/odata/v2/
BenefitEnrollmentOptoutDetails?
$format=json

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


236 PUBLIC Global Benefits Objects
Response

 Sample Code

"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitEnrollmentOptoutDetails",
"type": "SFOData. BenefitEnrollmentOptoutDetails"
},
"benefitEnrollment": "BenefitEnrollment1",
“benefitEnrollmentId”: “AHDGJ879709BDJ”,
“benefitSchedulePeriod”: “BenefitSchedulePeriod1”,
“optoutRequestDate”: "/Date(1521763200000)/",
“enrollmentChangeDate”: "/Date(1523163200000)/",
“contributionChangeDate”: "/Date(1526263200000)/",
“optedoutBy”: “admin1”,
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname/odata/v2/
BenefitEnrollmentOptoutDetails/mdfSystemRecordStatusNav"
}
}
}
]
}
}

9.15 BenefitEmployeeOptoutRequests

This entity is used to get the worked ID and Enrollment Optout details of an employee. This entity is used to store
the enrollment optout details for an employee.

Supported Operations

Operataion Description

Query Yes

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 237
Navigation Properties

Navigation Property Related Entity Description

Benefits Benefit Navigation to the benefit

These are not complete lists of properties. For more information about the entity metadata, please refer to your
OData API dictionary in the Admin Center or use the entity query:https://<hostname>/odata/v2/<Entity>/
$metadata.

Use Case: Queries opt out details of an employee

Request

Operation Query

HTTP Method GET

URI http://<hostname>/odata/v2/
BenefitEmployeeOptoutRequests?$format=json

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitEmployeeOptoutRequests",
"type": "SFOData. BenefitEmployeeOptoutRequests"
},
"workerId": "user1",
"benefitEnrollmentOptoutDetails": "benefitOptoutDetailsList",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitEmployeeOptoutRequests/mdfSystemRecordStatusNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


238 PUBLIC Global Benefits Objects
9.16 BenefitOpenEnrollmentCycleConfiguration

This entity contains the details of the Open Enrollment cycle – the benefits that are part of it, the legal entity it is
valid, the schedule it is applicable for. This is used to configure the Open Enrollment Cycle, based on which the
employee would be able to enroll into the related benefits.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitOpenEnrollmentCycleConfiguration?
$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https:<Hostname>/odata/v2/
BenefitOpenEnrollmentCycleConfiguration",
"type": "SFOData.BenefitOpenEnrollmentCycleConfiguration"
},
"openEnrollmentSchedule": "Schedule 1",
"legalEntity": "ACE_USA",
"instructionTextURL": "https://www.example.com",
"tncURL": "https://www.example.com",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"wfRequestNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 239
"uri": "https://<Hostname>/odata/v2/
BenefitOpenEnrollmentCycleConfiguration/wfRequestNav"
},
"benefits": {
"__deferred": {
"uri": "https://<Hostname>/odata/v2/BenefitEnrollmentGroup/
benefits"
}
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<Hostname>/odata/v2/
BenefitOpenEnrollmentCycleConfiguration(/mdfSystemRecordStatusNav"
}
}
}
]
}
}

Additional Information

Related Information

Getting the most out of this guide [page 15]


Getting users up and running: Permission settings [page 20]

9.17 BenefitsException

This entity contains information about all the exceptions that occur if the enrollment amount does not match the
eligiblility criteria or if the enrollment period has expired.

Permissions

Permission System Required Setting

Role-based ● An administrator can create/view/update/delete the entity records.


● An employee can only view the entity records.

Go to Admin Center Configure Object Definition Create New Object Definition

Secured . Set Yes and set the Permission Category as Miscellaneous Permissions.

Assign relevant permissions in User Permissions Miscellaneous Permissions .

SAP SuccessFactors Employee Central OData API: Reference Guide


240 PUBLIC Global Benefits Objects
Supported Operations

Operation Description

GET Query BenefitsException records.

Properties

Property Description

exceptionStartDate The start date for benefits exception.

exceptionEndDate The end date for benefits exception.

Navigation Properties

Navigation Property Related Entity Description

BenefitException BenefitExceptionDetails This contains the information related to


different benefits and the schedule peri­
ods for which exception is granted.

BenefitException BenefitProgramExceptionDetails This contains the information related to


different benefit programs and the
schedule periods for which exception is
granted.

Use Cases

API Call Description

https://<hostname>/odata/v2/ Queries instances of BenefitsException.


BenefitsException

9.18 BenefitHyperlinkConfiguration

This object is used to capture the URL and label for the URL to display with each benefit. The hyperlinks configured
in each benefit will be displayed with benefit on the employee screen.

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 241
For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<hostname>/odata/v2/
BenefitHyperlinkConfiguration/$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/BenefitHyperlinkConfiguration",
"type": "SFOData. BenefitHyperlinkConfiguration"
},
"url": "https://www.website.com",
"label": "Website",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/BenefitHyperlinkConfiguration(/
mdfSystemRecordStatusNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


242 PUBLIC Global Benefits Objects
Additional Information

9.19 BenefitInsurancePlan

This entity fetches the employee insurance plan details such as plan name, insurance provider, pay component,
coverage option and so on. This entity is available under Create Benefit portlet

What's the business context?

It allows you to retrieve information about an employee’s insurance plan..

What are the business fields and required fields?

Business Fields

● effectiveStartDate
● id

Required Fields

● frequency
● planName_en_US
● premiumType

 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 243
What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsurancePlan record

Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitInsurancePlan?$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlan(effectiveStartDate=datetime'2015-03-05T00:00:00',id=2664L)",
"type": "SFOData.BenefitInsurancePlan"
},
"id": "2664",
"effectiveStartDate": "/Date(1425513600000)/",
"planName_pt_BR": null,
"mdfSystemLastModifiedDate": "/Date(1425527952000)/",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "BenefitInsurancePlan",
"planName_es_ES": null,
"mdfSystemVersionId": null,
"planName_ru_RU": null,
"mdfSystemLastModifiedDateWithTZ": "/Date(1425545952000+0000)/",
"lastModifiedDateTime": "/Date(1425545952000+0000)/",
"frequency": null,
"planName_en_US": "Medical Plan A",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "1A93F027A29145E9AAFCE32C7C451741",
"planName_defaultValue": "Medical Plan A",
"mdfSystemEntityId": "B5DCF12B37A1422DA825FBCBD51D0578",
"planName_fr_CA": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


244 PUBLIC Global Benefits Objects
"mdfSystemStatus": "A",
"planName_ko_KR": null,
"mdfSystemLastModifiedBy": "admin",
"mdfSystemCreatedBy": "admin",
"mdfSystemRecordStatus": "N",
"planName_it_IT": null,
"eligibilityRuleForCoverage": null,
"provider": "2661",
"employeeContribution": "HEALTH",
"planName_en_GB": null,
"planName_fr_FR": null,
"mdfSystemCreatedDate": "/Date(1425525792000)/",
"planName_ja_JP": null,
"planName_zh_CN": null,
"employerContribution": "HEALTH",
"createdBy": "admin",
"planName_de_DE": null,
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1425543792000+0000)/",
"premiumType": "FIXEDPREMIUMAMOUNT",
"planName_nl_NL": null,
"planName_es_MX": null,
"frequencyNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlan(effectiveStartDate=datetime'2015-03-05T00:00:00',id=2664L)/
frequencyNav"
}
},
"employerContributionNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlan(effectiveStartDate=datetime'2015-03-05T00:00:00',id=2664L)/
employerContributionNav"
}
},
"premiumTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlan(effectiveStartDate=datetime'2015-03-05T00:00:00',id=2664L)/
premiumTypeNav"
}
},
"providerNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlan(effectiveStartDate=datetime'2015-03-05T00:00:00',id=2664L)/
providerNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlan(effectiveStartDate=datetime'2015-03-05T00:00:00',id=2664L)/
mdfSystemRecordStatusNav"
}
},
"employeeContributionNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlan(effectiveStartDate=datetime'2015-03-05T00:00:00',id=2664L)/
employeeContributionNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 245
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlan(effectiveStartDate=datetime'2015-03-05T00:00:00',id=2664L)/
mdfSystemStatusNav"
}
},
"coverageOptions": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlan(effectiveStartDate=datetime'2015-03-05T00:00:00',id=2664L)/
coverageOptions"
}
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]

9.20 BenefitInsurancePlanEnrollmentDetails

This entity fetches the employee insurance plan enrollment details.

What's the business context?

It allows you to retrieve information about an employee’s insurance enrollment details.

What are the business fields and required fields?

Business Fields

● BenefitEnrollment_effectiveStartDate
● BenefitEnrollment_id
● externalCode

SAP SuccessFactors Employee Central OData API: Reference Guide


246 PUBLIC Global Benefits Objects
Required Fields

● BenefitEnrollment_effectiveStartDate
● BenefitEnrollment_id
● smoking

 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsurancePlanEnrollmentDetails record.

Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/BenefitInsurancePlanEnroll-
mentDetails?$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 247
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=dateti
me'2015-05-26T00:00:00',BenefitEnrollment_id=4413L,externalCode=4414L)",
"type": "SFOData.BenefitInsurancePlanEnrollmentDetails"
},
"BenefitEnrollment_id": "4413",
"BenefitEnrollment_effectiveStartDate": "/Date(1432598400000)/",
"externalCode": "4414",
"enrolleeOptions": "4346",
"mdfSystemLastModifiedDate": "/Date(1432611313000)/",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "BenefitInsurancePlanEnrollmentDetails",
"mdfSystemVersionId": null,
"mdfSystemLastModifiedDateWithTZ": "/Date(1432625713000+0000)/",
"lastModifiedDateTime": "/Date(1432625713000+0000)/",
"mdfSystemTransactionSequence": "1",
"benefitSalaryAmount": null,
"mdfSystemRecordId": "54E4E9506A884B61B630CDE5CD479F03",
"smoking": null,
"mdfSystemEntityId": "CE79BDBC8C9A4CB5B669C3E38B657C80",
"mdfSystemStatus": "A",
"roundedCoverageAmount": null,
"mdfSystemLastModifiedBy": "pchopra1",
"mdfSystemCreatedBy": "pchopra1",
"mdfSystemRecordStatus": "N",
"provider": "4345",
"employeeContribution": "10",
"mdfSystemCreatedDate": "/Date(1432611313000)/",
"employerContribution": "90",
"plan": "4348",
"createdBy": "pchopra1",
"coverage": "4347",
"lastModifiedBy": "pchopra1",
"createdDateTime": "/Date(1432625713000+0000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"planNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=dateti
me'2015-05-26T00:00:00',BenefitEnrollment_id=4413L,externalCode=4414L)/planNav"
}
},
"enrolleeOptionsNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=dateti
me'2015-05-26T00:00:00',BenefitEnrollment_id=4413L,externalCode=4414L)/
enrolleeOptionsNav"
}
},
"coverageNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=dateti
me'2015-05-26T00:00:00',BenefitEnrollment_id=4413L,externalCode=4414L)/
coverageNav"
}
},
"smokingNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=dateti
me'2015-05-26T00:00:00',BenefitEnrollment_id=4413L,externalCode=4414L)/
smokingNav"
}
},
"benefitInsuranceDependentDetails": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


248 PUBLIC Global Benefits Objects
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=dateti
me'2015-05-26T00:00:00',BenefitEnrollment_id=4413L,externalCode=4414L)/
benefitInsuranceDependentDetails"
}
},
"providerNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=dateti
me'2015-05-26T00:00:00',BenefitEnrollment_id=4413L,externalCode=4414L)/
providerNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=dateti
me'2015-05-26T00:00:00',BenefitEnrollment_id=4413L,externalCode=4414L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsurancePlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=dateti
me'2015-05-26T00:00:00',BenefitEnrollment_id=4413L,externalCode=4414L)/
mdfSystemStatusNav"
}
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]

9.21 BenefitInsurancePlanUSA

This entity contains information about a benefit enrollment record when the insurance plans are subject to COBRA.
This entity is specific to the USA.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 249
Use Case

Request Information

Operation GET

URI http://<Hostname>/odata/v2/v2/
BenefitInsurancePlan(effectiveStartDate=da
tetime'2017-01-02T00:00:00',id=694L)/
insurancePlanUSA?$format=json

Response

 Sample Code

{
"d":{
"results":[
{
"__metadata":{
"uri":"https://<Hostname>/odata/v2/
BenefitInsurancePlanUSA(BenefitInsurancePlan_effectiveStartDate=datetime'2017-01-
02T00:00:00',BenefitInsurancePlan_id=694L,externalCode=695L)",
"type":"SFOData.BenefitInsurancePlanUSA"
},
"BenefitInsurancePlan_effectiveStartDate":"\/Date(1483315200000)\/",
"externalCode":"695",
"BenefitInsurancePlan_id":"694",
"enrolleeOptions":"692",
"createdBy":"admin",
"lastModifiedBy":"admin",
"createdDateTime":"\/Date(1490175536000+0000)\/",
"lastModifiedDateTime":"\/Date(1490175713000+0000)\/",
"mdfSystemRecordStatus":"N",
"cobraRelevant":{
"__deferred":{
"uri":"https://<Hostname>/odata/v2/
BenefitInsurancePlanUSA(BenefitInsurancePlan_effectiveStartDate=datetime'2017-01-
02T00:00:00',BenefitInsurancePlan_id=694L,externalCode=695L)/cobraRelevant "
},
"mdfSystemRecordStatusNav":{
"__deferred":{
"uri":"https://<Hostname>/odata/v2/
BenefitInsurancePlanUSA(BenefitInsurancePlan_effectiveStartDate=datetime'2017-01-
02T00:00:00',BenefitInsurancePlan_id=694L,externalCode=695L)/
mdfSystemRecordStatusNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


250 PUBLIC Global Benefits Objects
Additional Information

● To be able to query this entity, BenefitInsurancePlan entity as of 1705 API version and above is available; this
version contains the prerequisite country field and the nav insurancePlanUSA.
● BenefitInsurancePlanUSA is a composite entity and queried via BenefitInsurancePlan.
● Entity is visible on the UI when USA is the country selected.
● BenefitInsurancePlanUSA has a Boolean field cobraRelevant to designate an insurance plan as COBRA-relevant
● Business Context: Compliance with COBRA is critical. This entity supports you with that compliance - as well
as capturing benefit enrollment records with insurance plans subject to COBRA, you can use this entity in the
Integration Center to, for example, check which employees' benefit enrollment details are subject to COBRA.
Details can then be passed to a third party for further processing.

9.22 BenefitInsuranceDependentDetail

This entity fetches the employee’s insurance dependent details such as dependent option and dependent type.
This entity is available under Insurance Plan portlet.

What's the business context?

It allows you to retrieve information about an employee’s insurance dependent details.

What are the business fields and required fields?

Business Fields

● BenefitEnrollment_effectiveStartDate
● BenefitEnrollment_id
● BenefitInsurancePlanEnrollmentDetails_externalCode
● dependentName

Required Fields

● BenefitEnrollment_effectiveStartDate
● BenefitEnrollment_id
● BenefitInsurancePlanEnrollmentDetails_externalCode
● dependentName

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 251
 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsuranceDependentDetails record

Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitInsuranceDependentDetail?
$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceDependentDetail(BenefitEnrollment_effectiveStartDate=datetime'201
6-01-01T00:00:00',BenefitEnrollment_id=4441L,BenefitInsurancePlanEnrollmentDetail
s_externalCode=4442L,dependentName='4240')",
"type": "SFOData.BenefitInsuranceDependentDetail"
},
"dependentName": "4240",
"BenefitInsurancePlanEnrollmentDetails_externalCode": "4442",
"BenefitEnrollment_id": "4441",

SAP SuccessFactors Employee Central OData API: Reference Guide


252 PUBLIC Global Benefits Objects
"BenefitEnrollment_effectiveStartDate": "/Date(1451606400000)/",
"dateOfBirth": null,
"mdfSystemLastModifiedDate": "/Date(1447579447000)/",
"mdfSystemObjectType": "BenefitInsuranceDependentDetail",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"mdfSystemLastModifiedDateWithTZ": "/Date(1447597447000+0000)/",
"lastModifiedDateTime": "/Date(1447597447000+0000)/",
"mdfSystemCreatedDate": "/Date(1447579447000)/",
"mdfSystemTransactionSequence": "1",
"relationShipType": "2",
"mdfSystemRecordId": "0D5116710D4B4CFA8A19B8E714CE1EAA",
"createdBy": "v4admin",
"mdfSystemEntityId": "68C3D2FA452544D39BECF9786C95F740",
"createdDateTime": "/Date(1447597447000+0000)/",
"lastModifiedBy": "v4admin",
"mdfSystemStatus": "A",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"mdfSystemLastModifiedBy": "v4admin",
"mdfSystemRecordStatus": "N",
"mdfSystemCreatedBy": "v4admin",
"relationShipTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceDependentDetail(BenefitEnrollment_effectiveStartDate=datetime'201
6-01-01T00:00:00',BenefitEnrollment_id=4441L,BenefitInsurancePlanEnrollmentDetail
s_externalCode=4442L,dependentName='4240')/relationShipTypeNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceDependentDetail(BenefitEnrollment_effectiveStartDate=datetime'201
6-01-01T00:00:00',BenefitEnrollment_id=4441L,BenefitInsurancePlanEnrollmentDetail
s_externalCode=4442L,dependentName='4240')/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceDependentDetail(BenefitEnrollment_effectiveStartDate=datetime'201
6-01-01T00:00:00',BenefitEnrollment_id=4441L,BenefitInsurancePlanEnrollmentDetail
s_externalCode=4442L,dependentName='4240')/mdfSystemStatusNav"
}
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 253
9.23 BenefitInsuranceCoverage

This entity fetches the employee insurance coverage such as coverage name and type . This entity is available
under Insurance Plan portlet.

What's the business context?

It allows you to retrieve information about an employee’s coverage such as coverage name, type and so on..

What are the business fields and required fields?

Business Fields

● coverageid

Required Fields

● amount
● coverageName_en_US
● coverageType
● factor
● percentage

 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsuranceCoverage record

SAP SuccessFactors Employee Central OData API: Reference Guide


254 PUBLIC Global Benefits Objects
Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitInsuranceCoverage?$format=json&
$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceCoverage(2663L)",
"type": "SFOData.BenefitInsuranceCoverage"
},
"coverageId": "2663",
"mdfSystemLastModifiedDate": "/Date(1443075312000)/",
"mdfSystemObjectType": "BenefitInsuranceCoverage",
"mdfSystemLastModifiedDateWithTZ": "/Date(1443089712000+0000)/",
"lastModifiedDateTime": "/Date(1443089712000+0000)/",
"coverageLevel": "Wordlwide Cover incl. Winter",
"amount": "15000",
"coverageName_nl_NL": null,
"mdfSystemRecordId": "B239102F458F42BCAB96F2C0D3D6234B",
"mdfSystemEntityId": "1BEB3323C16E4D7E91D8EEA976E27913",
"mdfSystemStatus": "A",
"coverageName_defaultValue": "Annual",
"coverageName_ja_JP": null,
"mdfSystemLastModifiedBy": "admin",
"coverageName_es_ES": null,
"mdfSystemRecordStatus": "N",
"coverageName_fr_FR": null,
"benefitSalaryCalculationRule": null,
"minimumCoverageAmount": null,
"coverageName_en_GB": null,
"coverageName_ko_KR": null,
"mdfSystemCreatedDate": "/Date(1425525775000)/",
"createdBy": "admin",
"maximumCoverageAmount": null,
"createdDateTime": "/Date(1425543775000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"basePayComponentGroup": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 255
"coverageName_it_IT": null,
"coverageName_zh_CN": null,
"coverageName_en_US": "Health Advanced",
"mdfSystemTransactionSequence": "1",
"coverageName_de_DE": null,
"coverageName_pt_BR": null,
"benefitSalaryAmount": null,
"paycomponent": null,
"coverageName_fr_CA": null,
"coverageRoundingRule": null,
"roundedCoverageAmount": null,
"mdfSystemCreatedBy": "admin",
"coverageName_es_MX": null,
"coverageName_ru_RU": null,
"percentage": null,
"factor": null,
"coverageType": "AMOUNT",
"paycomponentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceCoverage(2663L)/paycomponentNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceCoverage(2663L)/mdfSystemStatusNav"
}
},
"basePayComponentGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceCoverage(2663L)/basePayComponentGroupNav"
}
},
"coverageTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceCoverage(2663L)/coverageTypeNav"
}
},
"coverageLevelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceCoverage(2663L)/coverageLevelNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceCoverage(2663L)/mdfSystemRecordStatusNav"
}
},
"toCoverageDetails": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceCoverage(2663L)/toCoverageDetails"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


256 PUBLIC Global Benefits Objects
Related Information

Getting the most out of this guide [page 15]

9.24 BenefitInsuranceProvider

This entity fetches the e insurance provider details. This entity is available under Insurance Plan portlet

What's the business context?

It allows you to retrieve information about an insurance provider..

What are the business fields and required fields?

Business Fields

● providerId

Required Fields

● providerName

 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 257
What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsuranceProvider record

Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitInsuranceProvider?$format=json&
$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceProvider(2661L)",
"type": "SFOData.BenefitInsuranceProvider"
},
"providerId": "2661",
"mdfSystemLastModifiedDate": "/Date(1425525515000)/",
"contactPhone": "+4487989000982",
"mdfSystemObjectType": "BenefitInsuranceProvider",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"contactEmail": "help@aig.com",
"mdfSystemLastModifiedDateWithTZ": "/Date(1425543515000+0000)/",
"lastModifiedDateTime": "/Date(1425543515000+0000)/",
"mdfSystemCreatedDate": "/Date(1425525504000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "43201A09918840F1B87D878FF128F94A",
"createdBy": "admin",
"providerName": "AIG",
"mdfSystemEntityId": "777611AD2B674B528C32082B9705AAA0",
"createdDateTime": "/Date(1425543504000+0000)/",
"lastModifiedBy": "admin",

SAP SuccessFactors Employee Central OData API: Reference Guide


258 PUBLIC Global Benefits Objects
"mdfSystemStatus": "A",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"mdfSystemLastModifiedBy": "admin",
"contactPerson": "Jaison",
"mdfSystemRecordStatus": "N",
"mdfSystemCreatedBy": "admin",
"usefulLinks": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceProvider(2661L)/usefulLinks"
}
},
"policyDocuments": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceProvider(2661L)/policyDocuments"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceProvider(2661L)/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitInsuranceProvider(2661L)/mdfSystemStatusNav"
}
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]

9.25 BenefitInsuranceEnrolleeOptions

This entity fetches the employee enrollee options such as enrollee option name and dependent option. This entity
is available under Insurance Plan portlet.

What's the business context?

It allows you to retrieve information about an employee’s enrollee options.

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 259
What are the business fields and required fields?

Business Fields

● id

Required Fields

● enrolleeOptionsName

 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsuranceEnrolleeOptions record

Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitInsuranceEnrolleeOptions?
$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


260 PUBLIC Global Benefits Objects
Response

 Sample Code

{
"d" : {
"results" : [
{
"__metadata" : {
"uri" : "https://<hostname>/odata/v2/BenefitInsuranceEnrolleeOptions(2662L)",
"type" : "SFOData.BenefitInsuranceEnrolleeOptions"
}, "id" : "2662", "mdfSystemLastModifiedDate" : "\/Date(1425525745000)\/",
"mdfSystemObjectType" : "BenefitInsuranceEnrolleeOptions",
"mdfSystemEffectiveEndDate" : "\/Date(253402214400000)\/",
"mdfSystemVersionId" : null, "enrolleeOptionsName" : "Self+Family",
"mdfSystemLastModifiedDateWithTZ" : "\/Date(1425543745000+0000)\/",
"lastModifiedDateTime" : "\/Date(1425543745000+0000)\/",
"mdfSystemCreatedDate" : "\/Date(1425525745000)\/",
"mdfSystemTransactionSequence" : "1", "dependentOption" : "Self+Family",
"mdfSystemRecordId" : "982370C227EC4F30857B4E75EE06E4C1", "createdBy" : "admin",
"mdfSystemEntityId" : "C13F8D8D493D4207B714C69E6BB7F2DF", "createdDateTime" : "\/
Date(1425543745000+0000)\/", "lastModifiedBy" : "admin", "mdfSystemStatus" :
"A", "mdfSystemEffectiveStartDate" : "\/Date(-2208988800000)\/",
"mdfSystemLastModifiedBy" : "admin", "mdfSystemRecordStatus" : "N",
"mdfSystemCreatedBy" : "admin", "mdfSystemRecordStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/BenefitInsuranceEnrolleeOptions(2662L)/
mdfSystemRecordStatusNav"
}
}, "enrolleType" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/BenefitInsuranceEnrolleeOptions(2662L)/
enrolleType"
}
}, "dependentOptionNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/BenefitInsuranceEnrolleeOptions(2662L)/
dependentOptionNav"
}
}, "toCoverageOptions" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/BenefitInsuranceEnrolleeOptions(2662L)/
toCoverageOptions"
}
}, "mdfSystemStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/BenefitInsuranceEnrolleeOptions(2662L)/
mdfSystemStatusNav"
}
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 261
9.26 BenefitInsuranceRateChart

This entity fetches the rate chart details such as employee’s age, Insurance plan, factor, flat amount and per
dependent. This entity is available under Insurance Plan portlet.

What's the business context?

It allows you to retrieve information about insurance rate chart.

What are the business fields and required fields?

Business Fields

● effectiveStartDate
● rateChartId

Required Fields

● effectiveStartDate
● factor

 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsuranceRateChart record

SAP SuccessFactors Employee Central OData API: Reference Guide


262 PUBLIC Global Benefits Objects
Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitInsuranceRateChart?$format=json&
$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d" : {
"results" : [
{
"__metadata" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')", "type" : "SFOData.BenefitInsuranceRateChart"
}, "effectiveStartDate" : "\/Date(1430179200000)\/", "rateChartId" : "C20",
"insurancePlan" : "3943", "mdfSystemLastModifiedDate" : "\/
Date(1438848870000)\/", "mdfSystemObjectType" : "BenefitInsuranceRateChart",
"mdfSystemEffectiveEndDate" : "\/Date(253402214400000)\/",
"mdfSystemVersionId" : null, "mdfSystemLastModifiedDateWithTZ" : "\/
Date(1438863270000+0000)\/", "lastModifiedDateTime" : "\/
Date(1438863270000+0000)\/", "mdfSystemTransactionSequence" : "1", "currency" :
"BRL", "mdfSystemRecordId" : "174CBED54BCF48818B758CD287B3589B", "ageAsOfYear" :
null, "mdfSystemEntityId" : "85F93890789240C2B49E905AC99727C4",
"mdfSystemStatus" : "A", "mdfSystemLastModifiedBy" : "admin",
"mdfSystemRecordStatus" : "N", "ageAsOfMonth" : null, "mdfSystemCreatedBy" :
"admin", "provider" : "3083", "factor" : "-1", "mdfSystemCreatedDate" : "\/
Date(1430231715000)\/", "createdBy" : "admin", "coverage" : "5789",
"createdDateTime" : "\/Date(1430246115000+0000)\/", "ageAsOfDay" : null,
"lastModifiedBy" : "admin", "coverageNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')/coverageNav"
}
}, "rateChartEnrollee" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')/rateChartEnrollee"
}
}, "ageAsOfMonthNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')/ageAsOfMonthNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 263
}
}, "rateChartFixedAmount" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')/rateChartFixedAmount"
}
}, "currencyNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')/currencyNav"
}
}, "ageAsOfYearNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')/ageAsOfYearNav"
}
}, "ageAsOfDayNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')/ageAsOfDayNav"
}
}, "insurancePlanNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')/insurancePlanNav"
}
}, "providerNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')/providerNav"
}
}, "mdfSystemRecordStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')/mdfSystemRecordStatusNav"
}
}, "mdfSystemStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChart(effectiveStartDate=datetime'2015-04-28T00:00:00',rateCh
artId='C20')/mdfSystemStatusNav"
}
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]

SAP SuccessFactors Employee Central OData API: Reference Guide


264 PUBLIC Global Benefits Objects
9.27 BenefitInsuranceRateChartEnrollee

This entity fetches the enrollee rate chart details. This entity is available under Insurance Rate Chart portlet.

What's the business context?

It allows you to retrieve information about enrollee’s rate chart.

What are the business fields and required fields?

Business Fields

● BenefitInsuranceRateChart_effectiveStartDate
● BenefitInsuranceRateChart_rateChartId
● externalCode

Required Fields

● BenefitInsuranceRateChart_effectiveStartDate
● BenefitInsuranceRateChart_rateChartId

 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsuranceRateChartEnrollee record

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 265
Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitInsuranceRateChartEnrollee?
$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d" : {
"results" : [
{
"__metadata" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChartEnrollee(BenefitInsuranceRateChart_effectiveStartDate=da
tetime'2015-03-05T00:00:00',BenefitInsuranceRateChart_rateChartId='Medical Plan
A',externalCode=2668L)", "type" : "SFOData.BenefitInsuranceRateChartEnrollee"
}, "BenefitInsuranceRateChart_rateChartId" : "Medical Plan A",
"BenefitInsuranceRateChart_effectiveStartDate" : "\/Date(1425513600000)\/",
"externalCode" : "2668", "ageTo" : "60", "mdfSystemLastModifiedDate" : "\/
Date(1425526156000)\/", "mdfSystemEffectiveEndDate" : "\/
Date(253402214400000)\/", "mdfSystemObjectType" :
"BenefitInsuranceRateChartEnrollee", "mdfSystemVersionId" : null,
"mdfSystemLastModifiedDateWithTZ" : "\/Date(1425544156000+0000)\/",
"lastModifiedDateTime" : "\/Date(1425544156000+0000)\/",
"mdfSystemTransactionSequence" : "1", "mdfSystemRecordId" :
"D6076F81CBB5405794DC71B639ADB04F", "mdfSystemEntityId" :
"F36C85DBD840482EA084AF17FE6DD8CF", "mdfSystemStatus" : "A",
"benefitInsuranceEnrolleeType" : "2", "mdfSystemLastModifiedBy" : "admin",
"mdfSystemCreatedBy" : "admin", "mdfSystemRecordStatus" : "N",
"employeeContribution" : "100", "mdfSystemCreatedDate" : "\/
Date(1425526156000)\/", "employerContribution" : "100", "createdBy" : "admin",
"ageFrom" : "10", "lastModifiedBy" : "admin", "createdDateTime" : "\/
Date(1425544156000+0000)\/", "mdfSystemEffectiveStartDate" : "\/
Date(-2208988800000)\/", "mdfSystemRecordStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChartEnrollee(BenefitInsuranceRateChart_effectiveStartDate=da
tetime'2015-03-05T00:00:00',BenefitInsuranceRateChart_rateChartId='Medical Plan
A',externalCode=2668L)/mdfSystemRecordStatusNav"
}
}, "mdfSystemStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChartEnrollee(BenefitInsuranceRateChart_effectiveStartDate=da
tetime'2015-03-05T00:00:00',BenefitInsuranceRateChart_rateChartId='Medical Plan
A',externalCode=2668L)/mdfSystemStatusNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


266 PUBLIC Global Benefits Objects
}
}, "benefitInsuranceEnrolleeTypeNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChartEnrollee(BenefitInsuranceRateChart_effectiveStartDate=da
tetime'2015-03-05T00:00:00',BenefitInsuranceRateChart_rateChartId='Medical Plan
A',externalCode=2668L)/benefitInsuranceEnrolleeTypeNav"
}
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]

9.28 BenefitInsuranceRateChartFixedAmount

This entity fetches the insurance rate chart with fixed amount.

What's the business context?

It allows you to retrieve information about insurance rate chart with fixed amount.

What are the business fields and required fields?

Business Fields

● BenefitInsuranceRateChart_effectiveStartDate
● BenefitInsuranceRateChart_rateChartId
● externalCode

Required Fields

● BenefitInsuranceRateChart_effectiveStartDate
● BenefitInsuranceRateChart_rateChartId

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 267
● rateChartType
● smoking

 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsuranceRateChartFixedAmount record

Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitInsuranceRateChartFixedAmount?
$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d" : {
"results" : [
{
"__metadata" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChartFixedAmount(BenefitInsuranceRateChart_effectiveStartDate
=datetime'2015-03-05T00:00:00',BenefitInsuranceRateChart_rateChartId='Medical
Plan A',externalCode=2667L)", "type" :
"SFOData.BenefitInsuranceRateChartFixedAmount"

SAP SuccessFactors Employee Central OData API: Reference Guide


268 PUBLIC Global Benefits Objects
}, "BenefitInsuranceRateChart_rateChartId" : "Medical Plan A",
"BenefitInsuranceRateChart_effectiveStartDate" : "\/Date(1425513600000)\/",
"externalCode" : "2667", "ageTo" : "60", "mdfSystemLastModifiedDate" : "\/
Date(1425526156000)\/", "mdfSystemEffectiveEndDate" : "\/
Date(253402214400000)\/", "mdfSystemObjectType" :
"BenefitInsuranceRateChartFixedAmount", "mdfSystemVersionId" : null,
"location" : null, "mdfSystemLastModifiedDateWithTZ" : "\/
Date(1425544156000+0000)\/", "lastModifiedDateTime" : "\/
Date(1425544156000+0000)\/", "mdfSystemTransactionSequence" : "1",
"mdfSystemRecordId" : "990EAA7F864E4EAC9D135CA3811A5990", "smoking" : "3471442",
"mdfSystemEntityId" : "56375B21AC724204ABD2B5D253811032", "mdfSystemStatus" :
"A", "mdfSystemLastModifiedBy" : "admin", "enrolleeOption" : "2662",
"mdfSystemCreatedBy" : "admin", "mdfSystemRecordStatus" : "N",
"employeeContribution" : "200", "mdfSystemCreatedDate" : "\/
Date(1425526156000)\/", "rateChartType" : "REGULAR", "employerContribution" :
"100", "createdBy" : "admin", "ageFrom" : "10", "lastModifiedBy" : "admin",
"createdDateTime" : "\/Date(1425544156000+0000)\/",
"mdfSystemEffectiveStartDate" : "\/Date(-2208988800000)\/",
"enrolleeOptionNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChartFixedAmount(BenefitInsuranceRateChart_effectiveStartDate
=datetime'2015-03-05T00:00:00',BenefitInsuranceRateChart_rateChartId='Medical
Plan A',externalCode=2667L)/enrolleeOptionNav"
}
}, "rateChartTypeNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChartFixedAmount(BenefitInsuranceRateChart_effectiveStartDate
=datetime'2015-03-05T00:00:00',BenefitInsuranceRateChart_rateChartId='Medical
Plan A',externalCode=2667L)/rateChartTypeNav"
}
}, "smokingNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChartFixedAmount(BenefitInsuranceRateChart_effectiveStartDate
=datetime'2015-03-05T00:00:00',BenefitInsuranceRateChart_rateChartId='Medical
Plan A',externalCode=2667L)/smokingNav"
}
}, "locationNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChartFixedAmount(BenefitInsuranceRateChart_effectiveStartDate
=datetime'2015-03-05T00:00:00',BenefitInsuranceRateChart_rateChartId='Medical
Plan A',externalCode=2667L)/locationNav"
}
}, "mdfSystemRecordStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChartFixedAmount(BenefitInsuranceRateChart_effectiveStartDate
=datetime'2015-03-05T00:00:00',BenefitInsuranceRateChart_rateChartId='Medical
Plan A',externalCode=2667L)/mdfSystemRecordStatusNav"
}
}, "mdfSystemStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceRateChartFixedAmount(BenefitInsuranceRateChart_effectiveStartDate
=datetime'2015-03-05T00:00:00',BenefitInsuranceRateChart_rateChartId='Medical
Plan A',externalCode=2667L)/mdfSystemStatusNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 269
Related Information

Getting the most out of this guide [page 15]

9.29 BenefitInsuranceCoverageOptions

This entity fetches the employee’s insurance coverage options such coverage details and enrollment for details.
Coverage Details consists of coverage and rate chart information. Enrollment For consists of enrollee option name,
dependent option and dependent type. This entity is available under Insurance Plan portlet.

What's the business context?

It allows you to retrieve information about an employee’s insurance coverage options.

What are the business fields and required fields?

Business Fields

● BenefitInsurancePlan_effectiveStartDate
● BenefitInsurancePlan_id
● externalCode

Required Fields

● BenefitInsurancePlan_effectiveStartDate
● BenefitInsurancePlan_id

 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

SAP SuccessFactors Employee Central OData API: Reference Guide


270 PUBLIC Global Benefits Objects
What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsuranceCoverageOptions record

Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitInsuranceCoverageOptions?
$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

{
"d" : {
"results" : [
{
"__metadata" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceCoverageOptions(BenefitInsurancePlan_effectiveStartDate=datetime'201
5-03-05T00:00:00',BenefitInsurancePlan_id=2664L,externalCode=2665L)", "type" :
"SFOData.BenefitInsuranceCoverageOptions"
}, "BenefitInsurancePlan_effectiveStartDate" : "\/Date(1425513600000)\/",
"externalCode" : "2665", "BenefitInsurancePlan_id" : "2664",
"mdfSystemLastModifiedDate" : "\/Date(1425527952000)\/", "enrolleeOptions" :
"2662", "mdfSystemObjectType" : "BenefitInsuranceCoverageOptions",
"mdfSystemEffectiveEndDate" : "\/Date(253402214400000)\/", "mdfSystemVersionId" :
null, "mdfSystemLastModifiedDateWithTZ" : "\/Date(1425545952000+0000)\/",
"lastModifiedDateTime" : "\/Date(1425545952000+0000)\/", "mdfSystemCreatedDate" :
"\/Date(1425525792000)\/", "mdfSystemTransactionSequence" : "1",
"mdfSystemRecordId" : "29309129560944A69F1786D1A6EA5270", "createdBy" : "admin",
"mdfSystemEntityId" : "FD498B65E0C44131969392EF503E5D42", "createdDateTime" : "\/
Date(1425543792000+0000)\/", "lastModifiedBy" : "admin", "mdfSystemStatus" : "A",
"mdfSystemEffectiveStartDate" : "\/Date(-2208988800000)\/",
"mdfSystemLastModifiedBy" : "admin", "mdfSystemRecordStatus" : "N",
"mdfSystemCreatedBy" : "admin", "enrolleeOptionsNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceCoverageOptions(BenefitInsurancePlan_effectiveStartDate=datetime'201
5-03-05T00:00:00',BenefitInsurancePlan_id=2664L,externalCode=2665L)/
enrolleeOptionsNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 271
}
}, "mdfSystemRecordStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceCoverageOptions(BenefitInsurancePlan_effectiveStartDate=datetime'201
5-03-05T00:00:00',BenefitInsurancePlan_id=2664L,externalCode=2665L)/
mdfSystemRecordStatusNav"
}
}, "coverageDetails" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceCoverageOptions(BenefitInsurancePlan_effectiveStartDate=datetime'201
5-03-05T00:00:00',BenefitInsurancePlan_id=2664L,externalCode=2665L)/coverageDetails"
}
}, "mdfSystemStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceCoverageOptions(BenefitInsurancePlan_effectiveStartDate=datetime'201
5-03-05T00:00:00',BenefitInsurancePlan_id=2664L,externalCode=2665L)/
mdfSystemStatusNav"
}
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]

9.30 BenefitInsuranceCoverageDetails

This entity fetches the employee insurance coverage details such as coverage and rate chart. This entity is available
under Insurance Plan portlet.

What's the business context?

It allows you to retrieve information about an employee’s insurance coverage details.

What are the business fields and required fields?

Business Fields

● mdfSystemEffectiveStartDate

SAP SuccessFactors Employee Central OData API: Reference Guide


272 PUBLIC Global Benefits Objects
● relationShipType

Required Fields

● BenefitInsuranceCoverageOptions_externalCode
● BenefitInsurancePlan_effectiveStartDate
● BenefitInsurancePlan_id

 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsuranceCoverageDetails record

Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitInsuranceCoverageDetails?
$format=json&$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

{
"d" : {

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 273
"results" : [
{
"__metadata" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceCoverageDetails(BenefitInsuranceCoverageOptions_externalCode=2665L,B
enefitInsurancePlan_effectiveStartDate=datetime'2015-03-05T00:00:00',BenefitInsuranc
ePlan_id=2664L,externalCode=2666L)", "type" :
"SFOData.BenefitInsuranceCoverageDetails"
}, "BenefitInsuranceCoverageOptions_externalCode" : "2665",
"BenefitInsurancePlan_effectiveStartDate" : "\/Date(1425513600000)\/",
"externalCode" : "2666", "BenefitInsurancePlan_id" : "2664",
"mdfSystemLastModifiedDate" : "\/Date(1425527952000)\/",
"mdfSystemEffectiveEndDate" : "\/Date(253402214400000)\/", "mdfSystemObjectType" :
"BenefitInsuranceCoverageDetails", "mdfSystemVersionId" : null,
"mdfSystemLastModifiedDateWithTZ" : "\/Date(1425545952000+0000)\/",
"lastModifiedDateTime" : "\/Date(1425545952000+0000)\/",
"mdfSystemTransactionSequence" : "1", "mdfSystemRecordId" :
"B4374BBE39924F35994FD5C11AE18518", "mdfSystemEntityId" :
"9D28F1DE86324A898DF8690759032B9F", "mdfSystemStatus" : "A",
"mdfSystemLastModifiedBy" : "admin", "mdfSystemCreatedBy" : "admin",
"mdfSystemRecordStatus" : "N", "mdfSystemCreatedDate" : "\/Date(1425525792000)\/",
"createdBy" : "admin", "coverage" : "2663", "lastModifiedBy" : "admin",
"createdDateTime" : "\/Date(1425543792000+0000)\/", "rateChart" : "Medical Plan A",
"mdfSystemEffectiveStartDate" : "\/Date(-2208988800000)\/", "coverageNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceCoverageDetails(BenefitInsuranceCoverageOptions_externalCode=2665L,B
enefitInsurancePlan_effectiveStartDate=datetime'2015-03-05T00:00:00',BenefitInsuranc
ePlan_id=2664L,externalCode=2666L)/coverageNav"
}
}, "rateChartNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceCoverageDetails(BenefitInsuranceCoverageOptions_externalCode=2665L,B
enefitInsurancePlan_effectiveStartDate=datetime'2015-03-05T00:00:00',BenefitInsuranc
ePlan_id=2664L,externalCode=2666L)/rateChartNav"
}
}, "mdfSystemRecordStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceCoverageDetails(BenefitInsuranceCoverageOptions_externalCode=2665L,B
enefitInsurancePlan_effectiveStartDate=datetime'2015-03-05T00:00:00',BenefitInsuranc
ePlan_id=2664L,externalCode=2666L)/mdfSystemRecordStatusNav"
}
}, "mdfSystemStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceCoverageDetails(BenefitInsuranceCoverageOptions_externalCode=2665L,B
enefitInsurancePlan_effectiveStartDate=datetime'2015-03-05T00:00:00',BenefitInsuranc
ePlan_id=2664L,externalCode=2666L)/mdfSystemStatusNav"
}
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]

SAP SuccessFactors Employee Central OData API: Reference Guide


274 PUBLIC Global Benefits Objects
9.31 BenefitInsuranceEnrolleeType

This entity fetches the employee insurance enrollee type details such as self, self+family, self+spouse. This entity is
available under Insurance Plan portlet.

What's the business context?

It allows you to retrieve information about an employee’s enrollee type.

What are the business fields and required fields?

Business Fields

● mdfSystemEffectiveStartDate
● relationShipType

 Note

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following queryhttps://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

What operations does this entity support?

This entity supports

Operation Description

GET Query a BenefitInsuranceEnrolleeType record

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 275
Show me some use cases

Use Case:

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
BenefitInsuranceEnrolleeType?$format=json&
$top=1

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d" : {
"results" : [
{
"__metadata" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceEnrolleeType(mdfSystemEffectiveStartDate=datetime'1900-01-01T00:0
0:00',relationShipType='2')", "type" : "SFOData.BenefitInsuranceEnrolleeType"
}, "relationShipType" : "2", "mdfSystemEffectiveStartDate" : "\/
Date(-2208988800000)\/", "mdfSystemLastModifiedDate" : "\/
Date(1425525722000)\/", "mdfSystemEffectiveEndDate" : "\/
Date(253402214400000)\/", "mdfSystemObjectType" :
"BenefitInsuranceEnrolleeType", "mdfSystemVersionId" : null,
"mdfSystemLastModifiedDateWithTZ" : "\/Date(1425543722000+0000)\/",
"lastModifiedDateTime" : "\/Date(1425543722000+0000)\/",
"mdfSystemCreatedDate" : "\/Date(1425525722000)\/",
"mdfSystemTransactionSequence" : "1", "mdfSystemRecordId" :
"8B742C5C791745FEAB0481E464E48CEB", "createdBy" : "admin", "mdfSystemEntityId" :
"432103DBE8B64354A41EE26776B00996", "createdDateTime" : "\/
Date(1425543722000+0000)\/", "lastModifiedBy" : "admin", "mdfSystemStatus" :
"A", "mdfSystemLastModifiedBy" : "admin", "mdfSystemRecordStatus" : "N",
"mdfSystemCreatedBy" : "admin", "relationShipTypeNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceEnrolleeType(mdfSystemEffectiveStartDate=datetime'1900-01-01T00:0
0:00',relationShipType='2')/relationShipTypeNav"
}
}, "mdfSystemRecordStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceEnrolleeType(mdfSystemEffectiveStartDate=datetime'1900-01-01T00:0
0:00',relationShipType='2')/mdfSystemRecordStatusNav"
}
}, "mdfSystemStatusNav" : {
"__deferred" : {
"uri" : "https://<hostname>/odata/v2/
BenefitInsuranceEnrolleeType(mdfSystemEffectiveStartDate=datetime'1900-01-01T00:0
0:00',relationShipType='2')/mdfSystemStatusNav"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


276 PUBLIC Global Benefits Objects
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]

9.32 BenefitOverviewHyperlinkConfiguration

This object is used to capture the Benefit Hyperlink Configuration to display hyperlinks on the Benefits Overview
page. It contains hyperlink configuration Id, hyperlink configuration name, and hyperlink configuration details.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<hostname>/odata/v2/
BenefitOverviewHyperlinkConfiguration?
$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitOverviewHyperlinkConfiguration",
"type": "SFOData. BenefitOverviewHyperlinkConfiguration "
},
"hyperlinkConfigurationId": "Benefits Hyperlink Configuration",
"hyperlinkConfigurationName": "Hyperlink Configuration",

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 277
"benefitOverviewHyperlinkDetails": "benefitHyperlinkDetailsList",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitOverviewHyperlinkConfiguration(/mdfSystemRecordStatusNav"
}
}
}
]
}
}

Additional Information

9.33 BenefitOverviewHyperlinkDetails

This Object is used to capture the Label, URL and the Eligibility rule for the Hyperlinks. The hyperlinks configured
will be displayed on the Benefits Overview page

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<hostname>/odata/v2/
BenefitOverviewHyperlinkDetails/
$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {

SAP SuccessFactors Employee Central OData API: Reference Guide


278 PUBLIC Global Benefits Objects
"uri": "https://<hostname>/odata/v2/BenefitOverviewHyperlinkDetails",
"type": "SFOData.BenefitOverviewHyperlinkDetails"
},
"url": "https://www.website.com",
"label": "Website",
"eligibilityRule": "rule",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/BenefitOverviewHyperlinkDetails(/
mdfSystemRecordStatusNav"
}
}
}
]
}
}

Additional Information

9.34 BenefitProgramEnrollment

This entity contains the list of all of the benefit programs for which an employee is eligible.

Permissions

Permission System Required Setting

Role-based ● Only the Eligible Employee can create Benefit Enrollment for the eligible benefits.
● Adminstrators cannot do this unless he uses the proxy feature.
● RBP must be enabled for this MDF Object.

Go to Admin Center Configure Object Definition Create New Object Definition

Secured . Set Yes and set the Permission Category as Miscellaneous Permissions.

Assign the relevant permissions in User Permissions Miscellaneous Permissions .

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 279
Supported Operations

Operation Description

GET Query BenefitProgramEnrollment records.

Properties

Property Description

benefitProgramDataSourceWithExternal- The list of all benefit programs for which employee is eligible.
Code

effectiveStartDate The start date from which program enrollment is effective.

effectiveEndDate The end date after which program enrollment is no longer active.

programAmount The total amount for program enrollment

programEntitlementAmount The amount that employee is entitled to receive.

Navigation Properties

Navigation Property Related Entity Description

Benefit Program Enrollment BenefitProgramEnrollmentDetail This field contains the information for
benefit program enrollment.

Use Cases

API Call Description

https://<localhost>/odata/v2/ Queries instances of BenefitProgramEnrollment.


BenefitProgramEnrollment

9.35 BenefitProgram

This entity is a bucket or pool that contains more than one benefit.

SAP SuccessFactors Employee Central OData API: Reference Guide


280 PUBLIC Global Benefits Objects
Permissions

Permission System Required Setting

Role-based Assign the relevant permissions for BenefitProgram in User Permissions Miscellaneous
Permissions .

Supported Operations

Operation Description

GET Query BenefitProgram records.

Properties

Property Description

programName The name of the program.

effectiveStartDate The program start date.

amount The cost of the program.

programEnrollmentWorkflowId The enrollment workflow ID for the program.

Navigation Properties

Navigation Property Related Entity Description

BenefitProgram benefits Benefits associated to the program.

BenefitProgram policyDocuments Policy documents for the program.

BenefitProgram forms Forms related to the program.

BenefitProgram usefulLinks Links associated to the program.

Use Cases

API Call Description

https://<hostname>/odata/v2/BenefitProgram Queries instances of the BenefitProgram.

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 281
9.36 BenefitSavingsPlanEnrollmentDetails

This object is used to capture the annual and per pay period contribution amounts of the employee for Savings
Plan benefit. It contains the annual and per pay period contribution amounts of the employee, the minimum and
maximum contribution amounts.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

HTTP Method GET

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

URI http://<hostname>/odata/v2/
BenefitSavingsPlanEnrollmentDetails?
$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=datetime
'2018-03-23T00:00:00',BenefitEnrollment_id=25292L,id=25293L)",
"type": "SFOData.BenefitSavingsPlanEnrollmentDetails"
},
"id": "25293",
"BenefitEnrollment_id": "25292",
"BenefitEnrollment_effectiveStartDate": "/Date(1521763200000)/",
"annualMaxContributionAmount": "12",
"annualMinContributionAmount": "12",
"lastModifiedDateTime": "/Date(1521786370000+0000)/",
"perPayPeriodMaxContributionAmount": "12",
"perPayPeriodMinContributionAmount": "12",
"createdBy": "admin",
"annualContributionAmount": "12",
"empBenefitPayComponent": "Savings plan paycomp",
"createdDateTime": "/Date(1521786370000+0000)/",
"lastModifiedBy": "admin",

SAP SuccessFactors Employee Central OData API: Reference Guide


282 PUBLIC Global Benefits Objects
"payPeriodContributionAmount": "12",
"mdfSystemRecordStatus": "N",
"empBenefitPayComponentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=datetime
'2018-03-23T00:00:00',BenefitEnrollment_id=25292L,id=25293L)/
empBenefitPayComponentNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=datetime
'2018-03-23T00:00:00',BenefitEnrollment_id=25292L,id=25293L)/
mdfSystemRecordStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=datetime
'2019-01-01T00:00:00',BenefitEnrollment_id=25292L,id=25293L)",
"type": "SFOData.BenefitSavingsPlanEnrollmentDetails"
},
"id": "25293",
"BenefitEnrollment_id": "25292",
"BenefitEnrollment_effectiveStartDate": "/Date(1546300800000)/",
"annualMaxContributionAmount": "12",
"annualMinContributionAmount": "12",
"lastModifiedDateTime": "/Date(1521786370000+0000)/",
"perPayPeriodMaxContributionAmount": "12",
"perPayPeriodMinContributionAmount": "12",
"createdBy": "admin",
"annualContributionAmount": "12",
"empBenefitPayComponent": "Savings plan paycomp",
"createdDateTime": "/Date(1521786370000+0000)/",
"lastModifiedBy": "admin",
"payPeriodContributionAmount": "12",
"mdfSystemRecordStatus": "N",
"empBenefitPayComponentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=datetime
'2019-01-01T00:00:00',BenefitEnrollment_id=25292L,id=25293L)/
empBenefitPayComponentNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanEnrollmentDetails(BenefitEnrollment_effectiveStartDate=datetime
'2019-01-01T00:00:00',BenefitEnrollment_id=25292L,id=25293L)/
mdfSystemRecordStatusNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 283
Additional Information

9.37 BenefitSavingsPlanCatchUpDetail

This object is used to capture the catchup contribution details for the Health Savings Account Savings Plan benefit.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

HTTP Method GET

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

URI http://<hostname>/odata/v2/
BenefitSavingsPlanCatchUpDetail(effectiveS
tartDate=datetime'2017-10-02T00:00:00',id=
694L)?$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/BenefitSavingsPlanCatchUpDetail",
"type": "SFOData.BenefitSavingsPlanCatchUpDetail"
},
"id": "2L",
"payComponent": "BasicPay",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/BenefitSavingsPlanCatchUpDetail/
mdfSystemRecordStatusNav"
}
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


284 PUBLIC Global Benefits Objects
]
}
}

Additional Information

9.38 BenefitSavingsPlanContingentBeneficiary

This object is used to capture the Employee's Contingent Beneficiaries for the Savings Plan

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

HTTP Method GET

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

URI http://<hostname>/odata/v2/
BenefitSavingsPlanContingentBeneficiary(id
=694L)?$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanContingentBeneficiary",
"type": "SFOData.BenefitSavingsPlanContingentBeneficiary"
},
"id": "2L",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 285
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanContingentBeneficiary/mdfSystemRecordStatusNav"
}
}
}
]
}
}

Additional Information

9.39 BenefitSavingsPlanERContributionConfigDetail

This object is used to capture the Employer Contribution details for the Health Savings Account Savings Plan
benefit.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<hostname>/odata/v2/
BenefitSavingsPlanERContributionConfigDeta
il(effectiveStartDate=datetime'2017-10-02T
00:00:00',id=694L)?$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanERContributionConfigDetail",
"type": "SFOData.BenefitSavingsPlanERContributionConfigDetail"
},

SAP SuccessFactors Employee Central OData API: Reference Guide


286 PUBLIC Global Benefits Objects
"id": "2L",
"payComponent": "BasicPay",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanERContributionConfigDetail(/mdfSystemRecordStatusNav"
}
}
}
]
}
}

Additional Information

9.40 BenefitSavingsPlanERContributionConfig

This object is used to capture the Employer Contribution details for the Health Savings Account Savings Plan
benefit.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

HTTP Method GET

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

URI http://<hostname>/odata/v2/
BenefitSavingsPlanERContributionConfig(eff
ectiveStartDate=datetime'2017-10-02T00:00:
00',id=694L)?$format=json

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 287
Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanERContributionConfig",
"type": "SFOData.BenefitSavingsPlanERContributionConfig"
},
"id": "2L",
"payComponent": "BasicPay",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanERContributionConfig/mdfSystemRecordStatusNav"
}
}
}
]
}
}

Additional Information

9.41 BenefitSavingsPlanPrimaryBeneficiary

This object is used to capture the Employee's Primary Beneficiaries for the Savings Plan

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

HTTP Method GET

SAP SuccessFactors Employee Central OData API: Reference Guide


288 PUBLIC Global Benefits Objects
Headers Authorization: Basic <Base 64 encoded (“user@com­
pany:password”)>

URI http://<hostname>/odata/v2/
BenefitSavingsPlanPrimaryBeneficiary(id=69
4L)?$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanPrimaryBeneficiary",
"type": "SFOData.BenefitSavingsPlanPrimaryBeneficiary"
},
"id": "2L",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanPrimaryBeneficiary/mdfSystemRecordStatusNav"
}
}
}
]
}
}

Additional Information

9.42 BenefitSavingsPlanTierConfiguration

This object is used to capture the Tier related contribution details for the Health Savings Account Savings Plan
benefit.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 289
Use Case

Request Information

Operation Query

HTTP Method GET

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

URI http://<hostname>/odata/v2/
BenefitSavingsPlanTierConfiguration(effect
iveStartDate=datetime'2017-10-02T00:00:00'
,id=694L)?$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanTierConfiguration",
"type": "SFOData.BenefitSavingsPlanTierConfiguration"
},
"id": "2L",
"payComponent": "BasicPay",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitSavingsPlanTierConfiguration/mdfSystemRecordStatusNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


290 PUBLIC Global Benefits Objects
Additional Information

9.43 BenefitSchedulePeriod

This is used for defining a period (set of dates) within which a particular benefit and claim is available for enrollment
and eligible for an employee.

Permissions

Permission System Required Setting

Role-based
Go to Admin Center Configure Object Definition Create New Object Definition

Secured . Set Yes and set the Permission Category as Miscellaneous Permissions.

Assign relevant permissions in User Permissions Miscellaneous Permissions .

Supported Operations

Operation Description

GET Query BenefitSchedulePeriod record.

Properties

‹‹ Enter a short introductory text here››

Property Description

periodName The name of the period.

enrollmentWindowStartDate The start date of the enrollment window.

enrollmentWindowEndDate The end date of the enrollment window.

enrollmentEffectiveFrom The day from which the enrollment is effective.

enrollmentValidityEndDate The last day on which the enrollment is effective.

claimWindowStartDate The start date of the claim.

claimwindowEndDate The end date of claim.

balanceCarryForwardUptoDate The balance of a claim that is allowed to carry forward to a specific date.

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 291
Use Cases

API Call Description

https://<system-url>/odata/v2/ Queries instances of BenefitSchedulePeriod.


BenefitSchedulePeriod

9.44 BenefitSchedules

This entity is used for grouping two or more schedule periods. BenefitSchedules is required for allowances and
reimbursements. It defines the time period, by date, that an employee can enroll for and claim a benefit.

Permissions

Permission System Required Setting

Role-based ● Only eligible employees can create Benefit Enrollment for eligible benefits.
● The administrator cannot do this unless he or she uses the proxy feature.
● RBP must be enabled for this entity.

Go to Admin Center Configure Object Definition Create New Object Definition

Secured . Set Yes and set the Permission Category as Miscellaneous Permissions.

Assign relevant permissions in User Permissions Miscellaneous Permissions .

Supported Operations

Operation Description

GET Get BenefitSchedules records.

Properties

Property Description

scheduleName The name of the schedule.

enrollmentWindowStartDate The start date for enrollment.

SAP SuccessFactors Employee Central OData API: Reference Guide


292 PUBLIC Global Benefits Objects
Property Description

enrollmentWindowEndDate The end date for enrollment.

claimWindowStartDate The start date for the claim.

claimWindowEndDate The end date for the claim.

enrollmentWindowValidityEndDate The end date for the validity of an enrollment.

Use Cases

API Call Description

https://<hostname>/odata/v2/ Queries instances of BenefitSchedules.


BenefitSchedule

9.45 BenefitEffectiveDate

This entity contains the details of the benefit and the effective from rule for the respective benefit. This is used to
configure the benefit and the effective from date rule the benefit.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<Hostname>/odata/v2/ BenefitEffectiveDateConfigu-


ration(effectiveStartDate=dateti­
me'2017-10-02T00:00:00',id=694L)?$format=json

Response

 Sample Code

{
"d": {
"results": [

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 293
{
"__metadata": {
"uri": "https://10.173.73.224:443/odata/v2/
BenefitEffectiveDateConfiguration",
"type": "SFOData. BenefitEffectiveDateConfiguration"
},
"benefit": "Benefit",
"rule": "Rule",
"parent": "BenefitLifeEventConfiguration",
"effectiveStartDate": "/Date(1496016000000)/",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"benefitNav": {
"__deferred": {
"uri": "https://10.173.73.224:443/odata/v2/
BenefitEffectiveDateConfiguration/benefitNav"
},
"ruleNav": {
"__deferred": {
"uri": "https://10.173.73.224:443/odata/v2/
BenefitEffectiveDateConfiguration/ruleNav"
},
"parentNav": {
"__deferred": {
"uri": "https://10.173.73.224:443/odata/v2/
BenefitEffectiveDateConfiguration/parentNav"
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://10.173.73.224:443/odata/v2/
BenefitEffectiveDateConfiguration(/mdfSystemRecordStatusNav"
}
}
}
}
}
}
]
}
}

Additional Information

Related Information

Getting the most out of this guide [page 15]


Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


294 PUBLIC Global Benefits Objects
9.46 BenefitEvent

This entity contains the details of Event like EventId and EventName for Benefit Event. This is used to configure a
benefit event.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<Hostname>/odata/v2/ BenefitEvent(effectiveStart-


Date=datetime'2017-10-02T00:00:00',id=694L)?$for­
mat=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/BenefitEvent",
"type": "SFOData. BenefitEvent"
},
"eventCode": "Newhireevent",
"eventId": "NEW HIRE",
"effectiveStartDate": "/Date(1496016000000)/",
"eventName": "newHire",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/BenefitEvent(/
mdfSystemRecordStatusNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 295
Additional Information

Related Information

Getting the most out of this guide [page 15]


Getting users up and running: Permission settings [page 20]

9.47 BenefitLifeEvent

This entity contains the details of the Benefit Event, Legal Entity and Exception Window Rule for Life Event
Configuration. This is used to configure Life Event Configuration for particular legal Entity and will be used for
creating exception for particular user.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<Hostname>/odata/v2/ BenefitLifeEventConfigura-


tion(effectiveStartDate=dateti­
me'2017-10-02T00:00:00',id=694L)/$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitLifeEventConfiguration",
"type": "SFOData. BenefitLifeEventConfiguration"
},
"effectiveStartDate": "/Date(1496016000000)/",
" configurationId ": "LifeEvent",
"configurationName": "Life Event",
"benefitEvent": "newhire(new_hire)",
"legalEntity": "ACE_USA",

SAP SuccessFactors Employee Central OData API: Reference Guide


296 PUBLIC Global Benefits Objects
"exceptionWindowRule": "Rule",
"exceptionForPeriod": "OngoingPeriod",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"legalEntityNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitLifeEventConfiguration/legalEntityNav"
},
"benefitEventNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitLifeEventConfiguration/benefitEventNav"
},
"ruleNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitLifeEventConfiguration/ruleNav"
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitLifeEventConfiguration (/mdfSystemRecordStatusNav"
}
}
}
}
}
}
]
}
}

Additional Information

Related Information

Getting the most out of this guide [page 15]


Getting users up and running: Permission settings [page 20]

9.48 BenefitDeductibleAllowanceEnrollment

This object is used to capture the employee and employer contribution details for Deductible Allowance
Enrollment. It contains the employee and employer contributions and respective pay components.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 297
Use Case

Request Information

Operation Query

URI http://<hostname>/odata/v2/
BenefitDeductibleAllowanceEnrollment(effec
tiveStartDate=datetime'2017-10-02T00:00:00
',id=694L)?$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
BenefitDeductibleAllowanceEnrollment",
"type": "SFOData. BenefitDeductibleAllowanceEnrollment"
},
"id": "2L",
"employeeContribution": "1000",
"employerContribution": "1500",
"employeeContributionPayComponent": "PayComponent",
"employerContributionPayComponent": "PayComponent",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"employeeContributionPayComponentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitDeductibleAllowanceEnrollment/employeeContributionPayComponentNav "
},
"employerContributionPayComponentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitDeductibleAllowanceEnrollment/employerContributionPayComponentNav "
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
BenefitDeducibleAllowanceEnrollment(/mdfSystemRecordStatusNav"
}
}
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


298 PUBLIC Global Benefits Objects
Additional Information

9.49 EmployeeDismissalProtection

This entity provides ability for the user to create, modify, or delete EmployeeDismissalProtection entity. It also
provides the ability to link the EmployeeDismissalProtection to EmployeeDismissalProtectionDetail.

Supported Operations

Operataion Description

Query Yes

Insert Yes

Upsert Yes

Delete Yes

These are not complete lists of properties. For more information about the entity metadata, please refer to your
OData API dictionary in the Admin Center or use the entity query:https://<hostname>/odata/v2/<Entity>/
$metadata.

Use Case: Query the EmployeeDismissalProtection for a single user

Request

Operation Query

HTTP Method GET

URI http://<hostname>/odata/v2/<Your Input>

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"__metadata": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 299
"uri": "https://<hostname>/odata/v2/restricted/
EmployeeDismissalProtection('SouzaB')",
"type": "SFOData.EmployeeDismissalProtection"
},
"workerId": "SouzaB",
"createdBy": "sriadmin",
"lastModifiedBy": "sriadmin",
"createdDateTime": "/Date(1539065659000+0000)/",
"lastModifiedDateTime": "/Date(1539065718000+0000)/",
"mdfSystemRecordStatus": "N",
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
EmployeeDismissalProtection('SouzaB')/wfRequestNav"
}
},
"workerIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
EmployeeDismissalProtection('SouzaB')/workerIdNav"
}
},
"empDismissalProtectionDetails": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
EmployeeDismissalProtection('SouzaB')/empDismissalProtectionDetails"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
EmployeeDismissalProtection('SouzaB')/mdfSystemRecordStatusNav"
}
}
}
}

Use Case: Upsert new EmployeeDismissalProtection record

Request

Operation Query

HTTP Method GET

URI http://<hostname>/odata/v2/upsert

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


300 PUBLIC Global Benefits Objects
Payload
 Sample Code

{
"__metadata": {
"uri": "https://
<hostname>/odata/v2/restricted/
EmployeeDismissalProtection('fdgg45')
",
"type":
"SFOData.EmployeeDismissalProtection"
},
"workerId": "fdgg45"
}

Response

 Sample Code

<?xml version="1.0" encoding="utf-8"?>


<feed
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true"></d:key>
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true"></d:message>
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)"></
d:inlineResults>
</m:properties>
</content>
</entry>
</feed>

9.50 EmployeeDismissalProtectionDetail

This entity provides ability for the user to create, modify or delete EmployeeDismissalProtectionDetail entity.

HRIS Element Information

<OPTIONAL>

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 301
Supported Operations

Operataion Description

Query Yes

Insert Yes

Upsert Yes

Delete Yes

Properties

Use Case: Query the EmployeeDismissalProtection for a single user

Request

Operation Query

HTTP Method GET

URI http://<hostname>/odata/v2/
EmployeeDismissalProtectionDetail?
$filter=EmployeeDismissalProtection_worker
Id eq 'SouzaB'

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/restricted/
EmployeeDismissalProtectionDetail(EmployeeDismissalProtection_workerId='SouzaB',e
xternalCode='80A2D2A19694440CB1261E3D91629AEC')",
"type": "SFOData.EmployeeDismissalProtectionDetail"
},
"EmployeeDismissalProtection_workerId": "SouzaB",
"externalCode": "80A2D2A19694440CB1261E3D91629AEC",
"protectionStartDate": "/Date(1483228800000)/",
"createdBy": "sriadmin",
"lastModifiedBy": "sriadmin",
"createdDateTime": "/Date(1539065718000+0000)/",
"lastModifiedDateTime": "/Date(1539065718000+0000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


302 PUBLIC Global Benefits Objects
"dismissalProtectionType": "Military Service1",
"protectionEndDate": "/Date(1514678400000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
EmployeeDismissalProtectionDetail(EmployeeDismissalProtection_workerId='SouzaB',e
xternalCode='80A2D2A19694440CB1261E3D91629AEC')/mdfSystemRecordStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/restricted/
EmployeeDismissalProtectionDetail(EmployeeDismissalProtection_workerId='SouzaB',e
xternalCode='6C173388CB3F45A4A10967B4C5D7162D')",
"type": "SFOData.EmployeeDismissalProtectionDetail"
},
"EmployeeDismissalProtection_workerId": "SouzaB",
"externalCode": "6C173388CB3F45A4A10967B4C5D7162D",
"protectionStartDate": "/Date(1535760000000)/",
"createdBy": "sriadmin",
"lastModifiedBy": "sriadmin",
"createdDateTime": "/Date(1539065659000+0000)/",
"lastModifiedDateTime": "/Date(1539065659000+0000)/",
"dismissalProtectionType": "paternity",
"protectionEndDate": "/Date(1546214400000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
EmployeeDismissalProtectionDetail(EmployeeDismissalProtection_workerId='SouzaB',e
xternalCode='6C173388CB3F45A4A10967B4C5D7162D')/mdfSystemRecordStatusNav"
}
}
}
]
}
}

Use Case: Upsert new EmployeeDismissalProtectionDetail record

Request

Operation Query

HTTP Method GET

URI http://<hostname>/odata/v2/upsert

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 303
Payload
 Sample Code

{
"__metadata": {
"uri": "https://
<hostname>/odata/v2//
EmployeeDismissalProtectionDetail",
"type":
"SFOData.EmployeeDismissalProtectionD
etail"
},

"EmployeeDismissalProtection_workerId
": "SouzaB",

"protectionStartDate": "/
Date(1483228800000)/",

"dismissalProtectionType": "Military
Service1",
"protectionEndDate":
"/Date(1514677700000)/"
}

Response
<A successful query returns this and that.>

 Sample Code

<?xml version="1.0" encoding="utf-8"?>


<feed
xmlns="http://www.w3.org/2005/Atom"
xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true"></d:key>
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true"></d:message>
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)"></
d:inlineResults>
</m:properties>
</content>
</entry>
</feed>

SAP SuccessFactors Employee Central OData API: Reference Guide


304 PUBLIC Global Benefits Objects
9.51 EmployeeSeniority

This object is used to maintain the seniority details of the employee. Seniority details includes Seniority Type,
Seniority Years, Seniority Months and Seniority Days.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

Request Information

Operation Query

URI http://<hostname>/odata/v2/
EmployeeSeniority(effectiveStartDate=datet
ime'2017-10-02T00:00:00',id=694L)/
$format=json

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/ EmployeeSeniority",
"type": "SFOData. EmployeeSeniority"
},
"user": "user",
"validOn": "/Date(1496016000000)/",
"seniorityType": "SeniorityType",
"seniorityYears": "5L",
"seniorityMonths": "2L",
"seniorityDays": "10L",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1496123038000+0000)/",
"lastModifiedDateTime": "/Date(1496123038000+0000)/",
"mdfSystemRecordStatus": "N",
"seniorityTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/EmployeeSeniority/
seniorityTypeNav "
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/EmployeeSeniority(/
mdfSystemRecordStatusNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


Global Benefits Objects PUBLIC 305
}
}
}
}
]
}
}

Additional Information

SAP SuccessFactors Employee Central OData API: Reference Guide


306 PUBLIC Global Benefits Objects
10 Payment Information Objects

In this section, you´ll find the APIs available for Payment Information.

The following entities are available, depending on the country:

Country Entity Name Country­specific Fields

Argentina PaymentInformationDetailV3ARG Account Type

Brazil PaymentInformationDetailV3BRA Bank Control Key

Chile PaymentInformationDetailV3CHL Bank Control Key

Colombia PaymentInformationDetailV3COL ● Account Type


● Proof of Identity

Ecuador PaymentInformationDetailV3ECU Account Type

France PaymentInformationDetailV3FRA Bank Control Key

Israel PaymentInformationDetailV3ISR ● Branch Code


● Branch Name

Italy PaymentInformationDetailV3ITA Bank Control Key

Japan PaymentInformationDetailV3JPN Account Type

Kenya PaymentInformationDetailV3KEN Account Type

Mexico PaymentInformationDetailV3MEX ● Bank Control Key


● CLABE Number

New Zealand PaymentInformationDetailV3NZL Reference Field

Nigeria PaymentInformationDetailV3NGA Account Type

Spain PaymentInformationDetailV3ESP Bank Control Key

South Africa PaymentInformationDetailV3ZAF ● Account Type


● Account Holder Relationship

United Kingdom PaymentInformationDetailV3GBR Building Society Roll Number

United States PaymentInformationDetailV3USA Account Type

Venezuela PaymentInformationDetailV3VEN ● Account Type


● Payment Reference

SAP SuccessFactors Employee Central OData API: Reference Guide


Payment Information Objects PUBLIC 307
For detailed information about these entities, see Example: PaymentInformationDetailV3ZAF [page 310].

10.1 Bank
This entity contains bank-related information such as Bank Name, BIC, Bank Address, and so on.

For information about metadata and supported operations, please refer to your OData API dictionary available in
the Admin Center or use this query:
https://<hostname>/odata/v2/Entity('<Your Entity')?$format=json

Use Cases

Request Information

Operation QUERY

URI http://<Hostname>/odata/v2/Bank

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

<?xml version="1.0" encoding="utf-8"?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices" xml:base="https://<Hostname>/
odata/v2/">
<title type="text">Bank</title>
<id>https://<Hostname>/odata/v2/Bank</id>
<updated>2017-02-08T05:33:14Z</updated>
<link rel="self" title="Bank" href="Bank"></link>
<entry>
<id>https://<Hostname>/odata/v2/Bank(6788L)</id>
<title type="text"></title>
<updated>2017-02-08T05:33:14Z</updated>
<author>
<name></name>
</author>
<link rel="edit" title="Bank" href="Bank(6788L)"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
wfRequestNav" type="application/atom+xml;type=feed" title="wfRequestNav"
href="Bank(6788L)/wfRequestNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
bankCountryNav" type="application/atom+xml;type=feed" title="bankCountryNav"
href="Bank(6788L)/bankCountryNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
effectiveStatusNav" type="application/atom+xml;type=entry"
title="effectiveStatusNav" href="Bank(6788L)/effectiveStatusNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
mdfSystemRecordStatusNav" type="application/atom+xml;type=entry"
title="mdfSystemRecordStatusNav" href="Bank(6788L)/mdfSystemRecordStatusNav"></
link>

SAP SuccessFactors Employee Central OData API: Reference Guide


308 PUBLIC Payment Information Objects
<category term="SFOData.Bank" scheme="http://schemas.microsoft.com/ado/
2007/08/dataservices/scheme"></category>
<content type="application/xml">
<m:properties>
<d:externalCode m:type="Edm.Int64">6788</d:externalCode>
<d:street m:null="true"></d:street>
<d:bankName>USBank</d:bankName>
<d:effectiveStatus>A</d:effectiveStatus>
<d:lastModifiedDateTime
m:type="Edm.DateTimeOffset">2017-01-02T06:16:32Z</d:lastModifiedDateTime>
<d:routingNumber>322281989</d:routingNumber>
<d:city m:null="true"></d:city>
<d:businessIdentifierCode m:null="true"></
d:businessIdentifierCode>
<d:postalCode m:null="true"></d:postalCode>
<d:createdBy>admin</d:createdBy>
<d:bankCountry>USA</d:bankCountry>
<d:createdDateTime
m:type="Edm.DateTimeOffset">2016-11-15T03:47:27Z</d:createdDateTime>
<d:lastModifiedBy>admin</d:lastModifiedBy>
<d:mdfSystemRecordStatus>N</d:mdfSystemRecordStatus>
</m:properties>
</content>
</entry>
<entry>
<id>https://<Hostname>/odata/v2/Bank(6789L)</id>
<title type="text"></title>
<updated>2017-02-08T05:33:14Z</updated>
<author>
<name></name>
</author>
<link rel="edit" title="Bank" href="Bank(6789L)"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
wfRequestNav" type="application/atom+xml;type=feed" title="wfRequestNav"
href="Bank(6789L)/wfRequestNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
bankCountryNav" type="application/atom+xml;type=feed" title="bankCountryNav"
href="Bank(6789L)/bankCountryNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
effectiveStatusNav" type="application/atom+xml;type=entry"
title="effectiveStatusNav" href="Bank(6789L)/effectiveStatusNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
mdfSystemRecordStatusNav" type="application/atom+xml;type=entry"
title="mdfSystemRecordStatusNav" href="Bank(6789L)/mdfSystemRecordStatusNav"></
link>
<category term="SFOData.Bank" scheme="http://schemas.microsoft.com/ado/
2007/08/dataservices/scheme"></category>
<content type="application/xml">
<m:properties>
<d:externalCode m:type="Edm.Int64">6789</d:externalCode>
<d:street m:null="true"></d:street>
<d:bankName>IndianBank</d:bankName>
<d:effectiveStatus>A</d:effectiveStatus>
<d:lastModifiedDateTime
m:type="Edm.DateTimeOffset">2016-11-15T03:47:59Z</d:lastModifiedDateTime>
<d:routingNumber>2345</d:routingNumber>
<d:city m:null="true"></d:city>
<d:businessIdentifierCode m:null="true"></
d:businessIdentifierCode>
<d:postalCode m:null="true"></d:postalCode>
<d:createdBy>admin</d:createdBy>
<d:bankCountry>IND</d:bankCountry>
<d:createdDateTime
m:type="Edm.DateTimeOffset">2016-11-15T03:47:59Z</d:createdDateTime>
<d:lastModifiedBy>admin</d:lastModifiedBy>
<d:mdfSystemRecordStatus>N</d:mdfSystemRecordStatus>
</m:properties>
</content>

SAP SuccessFactors Employee Central OData API: Reference Guide


Payment Information Objects PUBLIC 309
</entry>
</feed>

Additional Information

The property <bankCountry> stores the internal ID of the country MDF object.

10.2 Example: PaymentInformationDetailV3ZAF

You can use this entity to access the Payment Information Screen for South Africa (ZAF).

Operations Allowed

Operation Description

GET Query a PaymentInformationDetailV3ZAF record by PaymentInformationDetailV3ZAF properties.

PUT Insert a PaymentInformationDetailV3ZAF record by PaymentInformationDetailV3ZAF properties.

UPSERT Upsert a PaymentInformationDetailV3ZAF record by PaymentInformationDetailV3ZAF properties.

DELETE Delete a PaymentInformationDetailV3ZAF record by PaymentInformationDetailV3ZAF properties.

Properties

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following query https://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json

Use Cases

Use Case: Get all PaymentInformationDetailV3ZAF instances.

Request Information

Operation GET

SAP SuccessFactors Employee Central OData API: Reference Guide


310 PUBLIC Payment Information Objects
URI http://<Hostname>/odata/v2/
PaymentInformationDetailV3ZAF?$format=json

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3ZAF(PaymentInformationDetailV3_externalCode=6853L,Payme
ntInformationV3_effectiveStartDate=datetime'2016-05-25T00:00:00',PaymentInformati
onV3_worker='ykumar',externalCode=6854L)",
"type": "SFOData.PaymentInformationDetailV3ZAF"
},
"PaymentInformationV3_effectiveStartDate": "/Date(1464134400000)/",
"PaymentInformationDetailV3_externalCode": "6853",
"PaymentInformationV3_worker": "ykumar",
"externalCode": "6854",
"accountHolderRelationship": "THIRDPARTY",
"accountType": "NOTPAIDEFT",
"accountHolderRelationshipNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3ZAF(PaymentInformationDetailV3_externalCode=6853L,Payme
ntInformationV3_effectiveStartDate=datetime'2016-05-25T00:00:00',PaymentInformati
onV3_worker='ykumar',externalCode=6854L)/accountHolderRelationshipNav"
}
},
"accountTypeNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3ZAF(PaymentInformationDetailV3_externalCode=6853L,Payme
ntInformationV3_effectiveStartDate=datetime'2016-05-25T00:00:00',PaymentInformati
onV3_worker='ykumar',externalCode=6854L)/accountTypeNav"
}
}
},
{
"__metadata": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3ZAF(PaymentInformationDetailV3_externalCode=6851L,Payme
ntInformationV3_effectiveStartDate=datetime'2016-05-25T00:00:00',PaymentInformati
onV3_worker='ykumar',externalCode=6852L)",
"type": "SFOData.PaymentInformationDetailV3ZAF"
},
"PaymentInformationV3_effectiveStartDate": "/Date(1464134400000)/",
"PaymentInformationDetailV3_externalCode": "6851",
"PaymentInformationV3_worker": "ykumar",
"externalCode": "6852",
"accountHolderRelationship": "OWN",
"accountType": "CREDITCARD",
"accountHolderRelationshipNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3ZAF(PaymentInformationDetailV3_externalCode=6851L,Payme
ntInformationV3_effectiveStartDate=datetime'2016-05-25T00:00:00',PaymentInformati
onV3_worker='ykumar',externalCode=6852L)/accountHolderRelationshipNav"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Payment Information Objects PUBLIC 311
},
"accountTypeNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3ZAF(PaymentInformationDetailV3_externalCode=6851L,Payme
ntInformationV3_effectiveStartDate=datetime'2016-05-25T00:00:00',PaymentInformati
onV3_worker='ykumar',externalCode=6852L)/accountTypeNav"
}
}
}
]
}
}

Use Case: Get all Payments including the South Africa specific fields.

Request Information

Operation Query

URI http://<Hostname>/odata/v2/
PaymentInformationDetailV3?$format=json&
$EXPAND=PaymentInformationDetailV3ZAFMETHO
D: GET

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)",
"type": "SFOData.PaymentInformationDetailV3"
},
"PaymentInformationV3_effectiveStartDate": "/Date(1464134400000)/",
"PaymentInformationV3_worker": "ykumar",
"externalCode": "6853",
"percent": null,
"amount": "23",
"accountNumber": "2332323",
"bank": null,
"paySequence": "1",
"payType": "PAYROLL",
"iban": null,
"purpose": null,
"currency": "ZAR",
"businessIdentifierCode": null,
"bankCountry": "ZAF",
"customPayType": null,
"accountOwner": "kumar",
"routingNumber": "123456",
"paymentMethod": "05",
"toPaymentInformationDetailV3JPN": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-

SAP SuccessFactors Employee Central OData API: Reference Guide


312 PUBLIC Payment Information Objects
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3JPN"
}
},
"toPaymentInformationDetailV3ISR": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3ISR"
}
},
"toPaymentInformationDetailV3COL": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3COL"
}
},
"toPaymentInformationDetailV3ZAF": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3ZAF"
}
},
"toPaymentInformationDetailV3GBR": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3GBR"
}
},
"toPaymentInformationDetailV3NZL": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3NZL"
}
},
"toPaymentInformationDetailV3ITA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3ITA"
}
},
"paymentMethodNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
paymentMethodNav"
}
},
"toPaymentInformationDetailV3ECU": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3ECU"
}
},

SAP SuccessFactors Employee Central OData API: Reference Guide


Payment Information Objects PUBLIC 313
"toPaymentInformationDetailV3USA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3USA"
}
},
"toPaymentInformationDetailV3VEN": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3VEN"
}
},
"toPaymentInformationDetailV3CHL": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3CHL"
}
},
"currencyNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
currencyNav"
}
},
"toPaymentInformationDetailV3FRA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3FRA"
}
},
"toPaymentInformationDetailV3NGA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3NGA"
}
},
"payTypeNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
payTypeNav"
}
},
"bankCountryNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
bankCountryNav"
}
},
"toPaymentInformationDetailV3ESP": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-

SAP SuccessFactors Employee Central OData API: Reference Guide


314 PUBLIC Payment Information Objects
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3ESP"
}
},
"toPaymentInformationDetailV3ARG": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3ARG"
}
},
"toPaymentInformationDetailV3MEX": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3MEX"
}
},
"toPaymentInformationDetailV3KEN": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3KEN"
}
},
"toPaymentInformationDetailV3BRA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6853L)/
toPaymentInformationDetailV3BRA"
}
}
},
{
"__metadata": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)",
"type": "SFOData.PaymentInformationDetailV3"
},
"PaymentInformationV3_effectiveStartDate": "/Date(1464134400000)/",
"PaymentInformationV3_worker": "ykumar",
"externalCode": "6851",
"percent": null,
"amount": null,
"accountNumber": "777777777",
"bank": null,
"paySequence": "0",
"payType": "MAIN",
"iban": null,
"purpose": null,
"currency": null,
"businessIdentifierCode": null,
"bankCountry": "ZAF",
"customPayType": null,
"accountOwner": "yadav",
"routingNumber": "123456",
"paymentMethod": "05",
"toPaymentInformationDetailV3JPN": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3JPN"

SAP SuccessFactors Employee Central OData API: Reference Guide


Payment Information Objects PUBLIC 315
}
},
"toPaymentInformationDetailV3ISR": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3ISR"
}
},
"toPaymentInformationDetailV3COL": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3COL"
}
},
"toPaymentInformationDetailV3ZAF": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3ZAF"
}
},
"toPaymentInformationDetailV3GBR": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3GBR"
}
},
"toPaymentInformationDetailV3NZL": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3NZL"
}
},
"toPaymentInformationDetailV3ITA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3ITA"
}
},
"paymentMethodNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
paymentMethodNav"
}
},
"toPaymentInformationDetailV3ECU": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3ECU"
}
},
"toPaymentInformationDetailV3USA": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


316 PUBLIC Payment Information Objects
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3USA"
}
},
"toPaymentInformationDetailV3VEN": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3VEN"
}
},
"toPaymentInformationDetailV3CHL": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3CHL"
}
},
"currencyNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
currencyNav"
}
},
"toPaymentInformationDetailV3FRA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3FRA"
}
},
"toPaymentInformationDetailV3NGA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3NGA"
}
},
"payTypeNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
payTypeNav"
}
},
"bankCountryNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
bankCountryNav"
}
},
"toPaymentInformationDetailV3ESP": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3ESP"

SAP SuccessFactors Employee Central OData API: Reference Guide


Payment Information Objects PUBLIC 317
}
},
"toPaymentInformationDetailV3ARG": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3ARG"
}
},
"toPaymentInformationDetailV3MEX": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3MEX"
}
},
"toPaymentInformationDetailV3KEN": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3KEN"
}
},
"toPaymentInformationDetailV3BRA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6851L)/
toPaymentInformationDetailV3BRA"
}
}
},
{
"__metadata": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)",
"type": "SFOData.PaymentInformationDetailV3"
},
"PaymentInformationV3_effectiveStartDate": "/Date(1464134400000)/",
"PaymentInformationV3_worker": "ykumar",
"externalCode": "6855",
"percent": "23",
"amount": null,
"accountNumber": "346456456456",
"bank": null,
"paySequence": "2",
"payType": "BONUS",
"iban": null,
"purpose": null,
"currency": "ZAR",
"businessIdentifierCode": null,
"bankCountry": "ZAF",
"customPayType": null,
"accountOwner": "arora",
"routingNumber": "987654",
"paymentMethod": "05",
"toPaymentInformationDetailV3JPN": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3JPN"
}
},

SAP SuccessFactors Employee Central OData API: Reference Guide


318 PUBLIC Payment Information Objects
"toPaymentInformationDetailV3ISR": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3ISR"
}
},
"toPaymentInformationDetailV3COL": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3COL"
}
},
"toPaymentInformationDetailV3ZAF": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3ZAF"
}
},
"toPaymentInformationDetailV3GBR": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3GBR"
}
},
"toPaymentInformationDetailV3NZL": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3NZL"
}
},
"toPaymentInformationDetailV3ITA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3ITA"
}
},
"paymentMethodNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
paymentMethodNav"
}
},
"toPaymentInformationDetailV3ECU": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3ECU"
}
},
"toPaymentInformationDetailV3USA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-

SAP SuccessFactors Employee Central OData API: Reference Guide


Payment Information Objects PUBLIC 319
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3USA"
}
},
"toPaymentInformationDetailV3VEN": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3VEN"
}
},
"toPaymentInformationDetailV3CHL": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3CHL"
}
},
"currencyNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
currencyNav"
}
},
"toPaymentInformationDetailV3FRA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3FRA"
}
},
"toPaymentInformationDetailV3NGA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3NGA"
}
},
"payTypeNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
payTypeNav"
}
},
"bankCountryNav": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
bankCountryNav"
}
},
"toPaymentInformationDetailV3ESP": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3ESP"
}
},

SAP SuccessFactors Employee Central OData API: Reference Guide


320 PUBLIC Payment Information Objects
"toPaymentInformationDetailV3ARG": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3ARG"
}
},
"toPaymentInformationDetailV3MEX": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3MEX"
}
},
"toPaymentInformationDetailV3KEN": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3KEN"
}
},
"toPaymentInformationDetailV3BRA": {
"__deferred": {
"uri": "https://10.97.147.58:443/odata/v2/
PaymentInformationDetailV3(PaymentInformationV3_effectiveStartDate=datetime'2016-
05-25T00:00:00',PaymentInformationV3_worker='ykumar',externalCode=6855L)/
toPaymentInformationDetailV3BRA"
}
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]


Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


Payment Information Objects PUBLIC 321
11 Payroll

11.1 DataReplicationProxy

This entity stores references to Employee Central Time data that is relevant for the replication to Employee Central
Payroll and it is used to identify delta changes of time data that should be replicated to Employee Central Payroll. It
only contains a limited number of references to available Employee Central Time objects.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases

Operation Query

URI http://<Hostname>/odata/v2/DataReplicationProxy?$fil-
ter=(earliestReplicationDateTime le datetimeoff-
set'2016-09-01T00:00:00Z' and (dataReplicationProxyStatus
eq 'OUT_OF_SYNC' or dataReplicationProxyStatus eq 'DELE­
TED') and replicationContentType eq 'EMPLOYEE_TIME_DATA'
and replicationTargetSystem eq 'XXXCLNT100')&$for­
mat=json

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
DataReplicationProxy('75846be1b99b413f8d0f8872e89d3acf')",
"type": "SFOData.DataReplicationProxy"
},
"externalCode": "75846be1b99b413f8d0f8872e89d3acf",

SAP SuccessFactors Employee Central OData API: Reference Guide


322 PUBLIC Payroll
"replicationTargetSystem": "XXXCLNT100",
"useCostCenterExternalObjectId": false,
"sourceGenericObjectInternalId": "183767759",
"userId": "cgrant",
"replicationContentType": "EMPLOYEE_TIME_DATA",
"allowReplicationInCorrectionPhase": false,
"sourceGenericObjectExternalCode":
"75846be1b99b413f8d0f8872e89d3acf",
"legalEntity": "US01",
"employeeTime": "75846be1b99b413f8d0f8872e89d3acf",
"dataReplicationProxyStatus": "OUT_OF_SYNC",
"earliestReplicationDateTime": "/Date(1454510575000+0000)/",
"employeeTimeNav": {
"__metadata": {
"uri": "https://localhost:8080/odata/v2/
EmployeeTime('75846be1b99b413f8d0f8872e89d3acf')",
"type": "SFOData.EmployeeTime"
},
"externalCode": "75846be1b99b413f8d0f8872e89d3acf",
"quantityInDays": "1",
"endDate": "/Date(1424217600000)/",
"timeType": "OOO",
"approvalStatus": "APPROVED",
"comment": null,
"startDate": "/Date(1424217600000)/",
"quantityInHours": "8",
}
}
}
}

11.2 EmployeePayrollRunResults

You use this entity to retain information about the employees payroll run results for a particular period of time.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

Permission System Required Setting

Role-based Assign the relevant permission for Employee Payroll Run Results in User Permissions
Miscellaneous Permissions .

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 323
Use Cases

This is the query operation for EmployeePayrollRunResults entity which is further associated with
EmployeePayrollRunResultsItems with 1:N relationship. This query is requesting the data for an employee called
‘maryusa1’ and in response, the required data will be retrieved.

Request Information

Operation QUERY

URI https://sfapiqacand.sflab.ondemand.com/
odata/v2/EmployeePayrollRunResults?
$format=json&$filter=userId eq 'maryusa1'&
$expand=employeePayrollRunResults

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


324 PUBLIC Payroll
Payload
 Sample Code

{
"__metadata": {
"uri": "https://<hostname>/
odata/v2/
EmployeePayrollRunResults(externalCod
e='SAP_EC_PAYROLL_US01_01012015013120
15_3991_4031',mdfSystemEffectiveStart
Date=datetime'2015-01-31T00:00:00')",
"type":
"SFOData.EmployeePayrollRunResults"
},
"mdfSystemEffectiveStartDate": "/
Date(1422662400000)/",
"externalCode":
"SAP_EC_PAYROLL_US01_0101201501312015
_3991_4031",
"payrollRunType": "EC_PRT_001",
"mdfSystemEffectiveEndDate": "/
Date(253402214400000)/",
"mdfSystemObjectType":
"EmployeePayrollRunResults",
"payrollId": null,
"mdfSystemVersionId": null,
"employmentId": "4031",
"lastModifiedDateTime": "/
Date(1436522255000+0000)/",
"sequenceNumber": "15",
"mdfSystemTransactionSequence":
"1",
"currency": "USD",
"payrollProviderPayrollRunType":
"R",
"payrollProviderId":
"SAP_EC_PAYROLL",
"isVoid": false,
"mdfSystemRecordId":
"376D2FFE74E64F23BFF86DC13FEF3F6B",
"mdfSystemEntityId":
"5921769D435546AA9C5F650789047230",
"userId": "maryusa1",
"personId": "3991",
"mdfSystemStatus": "A",
"payDate": "/
Date(1422662400000)/",
"systemId": "QK8",
"lastModifiedDateWithTZ": "/
Date(1436522255000+0000)/",
"createdDate": "/
Date(1427788173000)/",
"mdfSystemRecordStatus": "N",
"startDateWhenPaid": "/
Date(1420070400000)/",
"externalName": null,
"endDateWhenPaid": "/
Date(1422662400000)/",
"clientId": "507",
"createdBy": "hajek",
"createdDateTime": "/
Date(1427788173000+0000)/",
"lastModifiedBy": "admin",
"lastModifiedDate": "/
Date(1436522255000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 325
"companyId": "US01",
"payrollRunTypeNav": {
"__deferred": {
"uri": "https://
<hostname>/odata/v2/
EmployeePayrollRunResults(externalCod
e='SAP_EC_PAYROLL_US01_01012015013120
15_3991_4031',mdfSystemEffectiveStart
Date=datetime'2015-01-31T00:00:00')/
payrollRunTypeNav"
}
}

Response

 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResults(externalCode='SAP_EC_PAYROLL_US01_0101201501312015_3991
_4031',mdfSystemEffectiveStartDate=datetime'2015-01-31T00:00:00')",
"type": "SFOData.EmployeePayrollRunResults"
},
"mdfSystemEffectiveStartDate": "/Date(1422662400000)/",
"externalCode":
"SAP_EC_PAYROLL_US01_0101201501312015_3991_4031",
"payrollRunType": "EC_PRT_001",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "EmployeePayrollRunResults",
"payrollId": null,
"mdfSystemVersionId": null,
"employmentId": "4031",
"lastModifiedDateTime": "/Date(1436522255000+0000)/",
"sequenceNumber": "15",
"mdfSystemTransactionSequence": "1",
"currency": "USD",
"payrollProviderPayrollRunType": "R",
"payrollProviderId": "SAP_EC_PAYROLL",
"isVoid": false,
"mdfSystemRecordId": "376D2FFE74E64F23BFF86DC13FEF3F6B",
"mdfSystemEntityId": "5921769D435546AA9C5F650789047230",
"userId": "maryusa1",
"personId": "3991",
"mdfSystemStatus": "A",
"payDate": "/Date(1422662400000)/",
"systemId": "QK8",
"lastModifiedDateWithTZ": "/Date(1436522255000+0000)/",
"createdDate": "/Date(1427788173000)/",
"mdfSystemRecordStatus": "N",
"startDateWhenPaid": "/Date(1420070400000)/",
"externalName": null,
"endDateWhenPaid": "/Date(1422662400000)/",
"clientId": "507",
"createdBy": "hajek",
"createdDateTime": "/Date(1427788173000+0000)/",
"lastModifiedBy": "admin",
"lastModifiedDate": "/Date(1436522255000)/",
"companyId": "US01",
"payrollRunTypeNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


326 PUBLIC Payroll
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResults(externalCode='SAP_EC_PAYROLL_US01_0101201501312015_3991
_4031',mdfSystemEffectiveStartDate=datetime'2015-01-31T00:00:00')/
payrollRunTypeNav"
}
},
"employeePayrollRunResultsItems": {
"results": [{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResultsItems(EmployeePayrollRunResults_externalCode='SAP_EC_PAY
ROLL_US01_0101201501312015_3991_4031',EmployeePayrollRunResults_mdfSystemEffectiv
eStartDate=datetime'2015-01-31T00:00:00',externalCode='3991_/
101_0101201501312015')",
"type":
"SFOData.EmployeePayrollRunResultsItems"
},

"EmployeePayrollRunResults_mdfSystemEffectiveStartDate": "/Date(1422662400000)/",
"EmployeePayrollRunResults_externalCode":
"SAP_EC_PAYROLL_US01_0101201501312015_3991_4031",
"externalCode": "3991_/101_0101201501312015",
"payrollProviderWageType": "/101",
"payrollProviderGroupingValue": null,
"mdfSystemEffectiveEndDate": "/
Date(253402214400000)/",
"mdfSystemObjectType":
"EmployeePayrollRunResultsItems",
"mdfSystemVersionId": null,
"payrollProviderUnitOfMeasurement": null,
"lastModifiedDateTime": "/
Date(1436522255000+0000)/",
"mdfSystemTransactionSequence": "1",
"amount": "85.27",
"mdfSystemRecordId":
"A863859AFD61418A95EABD522652F7D9",
"mdfSystemEntityId":
"DBB2408595F64423AB0CCCB17466E59E",
"mdfSystemStatus": "A",
"quantity": "0",
"lastModifiedDateWithTZ": "/
Date(1436522255000+0000)/",
"createdDate": "/Date(1429517937000)/",
"mdfSystemRecordStatus": "N",
"wageType": "EC_MOB_US_GROSS",
"unitOfMeasurement": null,
"externalName": null,
"payrollProviderGroupingReason": null,
"createdBy": "hajek",
"groupingReason": null,
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1429517937000+0000)/",
"startDateWhenEarned": "/Date(1420070400000)/",
"lastModifiedDate": "/Date(1436522255000)/",
"mdfSystemEffectiveStartDate": "/
Date(-2208988800000)/",
"endDateWhenEarned": "/Date(1422662400000)/",
"groupingReasonNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResultsItems(EmployeePayrollRunResults_externalCode='SAP_EC_PAY
ROLL_US01_0101201501312015_3991_4031',EmployeePayrollRunResults_mdfSystemEffectiv
eStartDate=datetime'2015-01-31T00:00:00',externalCode='3991_/
101_0101201501312015')/groupingReasonNav"
}
},
"wageTypeNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 327
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResultsItems(EmployeePayrollRunResults_externalCode='SAP_EC_PAY
ROLL_US01_0101201501312015_3991_4031',EmployeePayrollRunResults_mdfSystemEffectiv
eStartDate=datetime'2015-01-31T00:00:00',externalCode='3991_/
101_0101201501312015')/wageTypeNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResultsItems(EmployeePayrollRunResults_externalCode='SAP_EC_PAY
ROLL_US01_0101201501312015_3991_4031',EmployeePayrollRunResults_mdfSystemEffectiv
eStartDate=datetime'2015-01-31T00:00:00',externalCode='3991_/
101_0101201501312015')/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResultsItems(EmployeePayrollRunResults_externalCode='SAP_EC_PAY
ROLL_US01_0101201501312015_3991_4031',EmployeePayrollRunResults_mdfSystemEffectiv
eStartDate=datetime'2015-01-31T00:00:00',externalCode='3991_/
101_0101201501312015')/mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResultsItems(EmployeePayrollRunResults_externalCode='SAP_EC_PAY
ROLL_US01_0101201501312015_3991_4031',EmployeePayrollRunResults_mdfSystemEffectiv
eStartDate=datetime'2015-01-31T00:00:00',externalCode='3991_/
845_0101201501312015')",
"type":
"SFOData.EmployeePayrollRunResultsItems"
},

"EmployeePayrollRunResults_mdfSystemEffectiveStartDate": "/Date(1422662400000)/",
"EmployeePayrollRunResults_externalCode":
"SAP_EC_PAYROLL_US01_0101201501312015_3991_4031",
"externalCode": "3991_/845_0101201501312015",
"payrollProviderWageType": "/845",
"payrollProviderGroupingValue": null,
"mdfSystemEffectiveEndDate": "/
Date(253402214400000)/",
"mdfSystemObjectType":
"EmployeePayrollRunResultsItems",
"mdfSystemVersionId": null,
"payrollProviderUnitOfMeasurement": null,
"lastModifiedDateTime": "/
Date(1435563657000+0000)/",
"mdfSystemTransactionSequence": "1",
"amount": "120.9",
"mdfSystemRecordId":
"44748190EB8C4986B57A96C5E70FA540",
"mdfSystemEntityId":
"CD3CD50DFE9D40C6BE9802B835D8ABF3",
"mdfSystemStatus": "A",
"quantity": "37.5",
"lastModifiedDateWithTZ": "/
Date(1435563657000+0000)/",
"createdDate": "/Date(1429517937000)/",
"mdfSystemRecordStatus": "N",
"wageType": "EC_WT_845",
"unitOfMeasurement": null,
"externalName": null,
"payrollProviderGroupingReason": null,
"createdBy": "hajek",

SAP SuccessFactors Employee Central OData API: Reference Guide


328 PUBLIC Payroll
"groupingReason": null,
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1429517937000+0000)/",
"startDateWhenEarned": "/Date(1420070400000)/",
"lastModifiedDate": "/Date(1435563657000)/",
"mdfSystemEffectiveStartDate": "/
Date(-2208988800000)/",
"endDateWhenEarned": "/Date(1422662400000)/",
"groupingReasonNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResultsItems(EmployeePayrollRunResults_externalCode='SAP_EC_PAY
ROLL_US01_0101201501312015_3991_4031',EmployeePayrollRunResults_mdfSystemEffectiv
eStartDate=datetime'2015-01-31T00:00:00',externalCode='3991_/
845_0101201501312015')/groupingReasonNav"
}
},
"wageTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResultsItems(EmployeePayrollRunResults_externalCode='SAP_EC_PAY
ROLL_US01_0101201501312015_3991_4031',EmployeePayrollRunResults_mdfSystemEffectiv
eStartDate=datetime'2015-01-31T00:00:00',externalCode='3991_/
845_0101201501312015')/wageTypeNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResultsItems(EmployeePayrollRunResults_externalCode='SAP_EC_PAY
ROLL_US01_0101201501312015_3991_4031',EmployeePayrollRunResults_mdfSystemEffectiv
eStartDate=datetime'2015-01-31T00:00:00',externalCode='3991_/
845_0101201501312015')/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResultsItems(EmployeePayrollRunResults_externalCode='SAP_EC_PAY
ROLL_US01_0101201501312015_3991_4031',EmployeePayrollRunResults_mdfSystemEffectiv
eStartDate=datetime'2015-01-31T00:00:00',externalCode='3991_/
845_0101201501312015')/mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeePayrollRunResultsItems(EmployeePayrollRunResults_externalCode='SAP_EC_PAY
ROLL_US01_0101201501312015_3991_4031',EmployeePayrollRunResults_mdfSystemEffectiv
eStartDate=datetime'2015-01-31T00:00:00',externalCode='3991_/
846_0101201501312015')",
"type":
"SFOData.EmployeePayrollRunResultsItems"
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 329
11.2.1 EmployeePayrollRunResultsItems

EmployeePayrollRunResultsItems can only be upserted with EmployeePayrollRunResults. There are no direct


operations allowed on this object. All the required operations can be carried out through the parent object only.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

Permission System Required Setting

Role-based Assign the relevant permission for Employee Payroll Run Results Items in User Permissions
Miscellaneous Permissions .

11.3 PayrollDataMaintenanceTask

The Employee Central Payroll system uses this entity to upsert a JSON-Array of PayrollDataMaintenanceTask
objects. These objects are used to monitor the status of additional end-user tasks, for example payroll-relevant
employee data that has to be entered for a new hire.

Supported Operations

Operation Description

Query To query a payroll data maintenance task

Upsert To create or update a payroll data maintenance task

Insert To create a payroll data maintenance task

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


330 PUBLIC Payroll
Use Cases

Request Information

Operation Upsert

HTTP Method POST

URI http://<Hostname>/odata/v2/upsert?
$format=json

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 331
Payload
 Sample Code

{
"__metadata":{

"uri":"PayrollDataMaintenanceTask(ext
ernalCode='40F2E963-0B8A-1EE7-82C7-63
DDD7D2A169')"
},
"userIdNav":{
"__metadata":{
"uri":"User(userId='111')"
}
},
"taskType":"NEW_HIRE",
"legalEntity":"AE01",
"employeeDataEffectiveFromDate":"/
Date(1489190400000)/"
},
{
"__metadata":{

"uri":"PayrollDataMaintenanceTask(ext
ernalCode='40F2E963-0B8A-1EE7-82C7-63
DDD7D2E169')"
},
"userIdNav":{
"__metadata":{
"uri":"User(userId='111')"
}
},
"taskType":"NEW_HIRE",
"legalEntity":"AE01",
"employeeDataEffectiveFromDate":"/
Date(1489449600000)/"
},
{
"__metadata":{

"uri":"PayrollDataMaintenanceTask(ext
ernalCode='40F2E963-0B8A-1EE7-82C7-63
DDD7D2C169')"
},
"userIdNav":{
"__metadata":{
"uri":"User(userId='111')"
}
},
"taskType":"NEW_HIRE",
"legalEntity":"AE01",
"employeeDataEffectiveFromDate":"/
Date(1489363200000)/"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


332 PUBLIC Payroll
11.4 PayrollDataMaintenanceTaskConfiguration

Employee Central Payroll uses this entity to upsert a JSON-Array of PayrollEvent configuration objects. Use
these objects for payroll configuration.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Additional Information

The PayrollDataMaintenanceTaskConfiguration entity is an external API for the Employee Central Payroll solution. It
is used by the Employee Central Payroll system to upsert a JSON-Array of PayrollDataMaintnanceTaskConfiguration
objects that are used for country-specific payroll configuration. It includes additional payroll-relevant tasks for the
admin. For example, after a hire, there is additional payroll-relevant employee data that needs to be entered. It gives
the admin a list of infotypes that need to be maintained to complete the payroll aspect of the new hire.

Additional information:

● Child MDF: PayrollDataMaintenanceTaskTypeConfiguration. It contains the enum of the task type (for example
new_hire) and the list of infotypes that are required for the configuration of events.
● Grandchild MDF: PayrollDataMaintenanceTaskTypeLinkConfiguration. It contains the infotype details that are
required for the configuration of events.

Use Case

Request Information

Operation Upsert

URI http://<Hostname>/odata/v2/upsert?
$format=json

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 333
Payload
 Sample Code

„{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PayrollDataMaintenanceTaskConfigurati
on('05ce0ba5c4d34818ac0ecc5694c8f2df'
)",
"type":
"SFOData.PayrollDataMaintenanceTaskCo
nfiguration"
},
"status": "A",
"country": "AUS",
"taskTypes": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PayrollDataMaintenanceTaskTypeConfigu
ration(PayrollDataMaintenanceTaskConf
iguration_externalCode='05ce0ba5c4d34
818ac0ecc5694c8f2df',externalCode='c7
4874772d1c497f9d0f231fa51d9eea')",
"type":
"SFOData.PayrollDataMaintenanceTaskTy
peConfiguration"
},
"externalCode":
"c74874772d1c497f9d0f231fa51d9eea",
"taskType": "NEW_HIRE",
"links": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PayrollDataMaintenanceTaskTypeLinkCon
figuration(PayrollDataMaintenanceTask
Configuration_externalCode='05ce0ba5c
4d34818ac0ecc5694c8f2df',PayrollDataM
aintenanceTaskTypeConfiguration_exter
nalCode='c74874772d1c497f9d0f231fa51d
9eea',externalCode='1be43d5e0e9046ffb
15610409fa989ea')",
"type":
"SFOData.PayrollDataMaintenanceTaskTy
peLinkConfiguration"
},
"infotypeName": "227"
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PayrollDataMaintenanceTaskTypeLinkCon
figuration(PayrollDataMaintenanceTask
Configuration_externalCode='05ce0ba5c
4d34818ac0ecc5694c8f2df',PayrollDataM
aintenanceTaskTypeConfiguration_exter
nalCode='c74874772d1c497f9d0f231fa51d
9eea',externalCode='339e500eb4264e81b
02cc4c2f3007df7')",

SAP SuccessFactors Employee Central OData API: Reference Guide


334 PUBLIC Payroll
"type":
"SFOData.PayrollDataMaintenanceTaskTy
peLinkConfiguration"
},
"infotypeName": "509"
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PayrollDataMaintenanceTaskTypeLinkCon
figuration(PayrollDataMaintenanceTask
Configuration_externalCode='05ce0ba5c
4d34818ac0ecc5694c8f2df',PayrollDataM
aintenanceTaskTypeConfiguration_exter
nalCode='c74874772d1c497f9d0f231fa51d
9eea',externalCode='186c11387f914e848
6b4b96ab73f9c63')",
"type":
"SFOData.PayrollDataMaintenanceTaskTy
peLinkConfiguration"
},
"infotypeName": "33"
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PayrollDataMaintenanceTaskTypeLinkCon
figuration(PayrollDataMaintenanceTask
Configuration_externalCode='05ce0ba5c
4d34818ac0ecc5694c8f2df',PayrollDataM
aintenanceTaskTypeConfiguration_exter
nalCode='c74874772d1c497f9d0f231fa51d
9eea',externalCode='0a922b6405e141f1a
894b7a4051d7ff3')",
"type":
"SFOData.PayrollDataMaintenanceTaskTy
peLinkConfiguration"
},
"infotypeName": "188"
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PayrollDataMaintenanceTaskTypeLinkCon
figuration(PayrollDataMaintenanceTask
Configuration_externalCode='05ce0ba5c
4d34818ac0ecc5694c8f2df',PayrollDataM
aintenanceTaskTypeConfiguration_exter
nalCode='c74874772d1c497f9d0f231fa51d
9eea',externalCode='11ad4bd6a07a42799
a620b2b8cdccb7e')",
"type":
"SFOData.PayrollDataMaintenanceTaskTy
peLinkConfiguration"
},
"infotypeName": "45"
}
]
}
}
]
}
},
{
"__metadata": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 335
"uri": "https://<hostname>/odata/v2/
PayrollDataMaintenanceTaskConfigurati
on('cfd105f9340c439a87106de2cf495781'
)",
"type":
"SFOData.PayrollDataMaintenanceTaskCo
nfiguration"
},
"status": "A",
"country": "FRA",
"taskTypes": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PayrollDataMaintenanceTaskTypeConfigu
ration(PayrollDataMaintenanceTaskConf
iguration_externalCode='cfd105f9340c4
39a87106de2cf495781',externalCode='59
861119539747a5939e8b72563d14a5')",
"type":
"SFOData.PayrollDataMaintenanceTaskTy
peConfiguration"
},
"externalCode":
"59861119539747a5939e8b72563d14a5",
"taskType": "NEW_HIRE",
"links": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PayrollDataMaintenanceTaskTypeLinkCon
figuration(PayrollDataMaintenanceTask
Configuration_externalCode='cfd105f93
40c439a87106de2cf495781',PayrollDataM
aintenanceTaskTypeConfiguration_exter
nalCode='59861119539747a5939e8b72563d
14a5',externalCode='85fc1d2269e245948
894865d10fcad39')",
"type":
"SFOData.PayrollDataMaintenanceTaskTy
peLinkConfiguration"
},
"infotypeName": "217"
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PayrollDataMaintenanceTaskTypeLinkCon
figuration(PayrollDataMaintenanceTask
Configuration_externalCode='cfd105f93
40c439a87106de2cf495781',PayrollDataM
aintenanceTaskTypeConfiguration_exter
nalCode='59861119539747a5939e8b72563d
14a5',externalCode='fe12d94682bb4cf7a
c031fadd2b5fdc3')",
"type":
"SFOData.PayrollDataMaintenanceTaskTy
peLinkConfiguration"
},
"infotypeName": "272"
}
]
}

SAP SuccessFactors Employee Central OData API: Reference Guide


336 PUBLIC Payroll
}
]
}
}
]
}
}

Related Information

Getting the most out of this guide [page 15]


Getting users up and running: Permission settings [page 20]

11.5 PayrollSystemConfiguration

This is an external API for Employee Central Payroll application. This will be used by the Employee Central Payroll
System to fetch PayrollSystemConfiguration objects which can be used in new Payroll Configuration UI, where we
need to fetch and display payroll system configuration data, payroll data maintenance task configuration data and
payroll portlets data.

Permissions

None.

Supported Operations

Operataion Description

Query Yes

Insert Yes

Upsert Yes

Merge No

Delete No

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 337
Properties

Property Description

country Country (e.g. USA)

payrollSystemUrl String

payrollSystemClientId Long

status Enum (e.g.: ACTIVE,INACTIVE)

enableBSI Boolean

thirdPartyIdpURL String

enableEnhancedValidationsForProduction Boolean

categories List< PayrollConfigurationCategory >

These are not complete lists of properties. For more information about the entity metadata, please refer to your
OData API dictionary in the Admin Center or use the entity query:https://<hostname>/odata/v2/
Payrollsystemconfiguration/$metadata.

Entity Relationship Diagram

Use Case: Create and Update PayrollSystemConfiguration objects

Request

Operation Upsert

URI http://<hostname>/odata/v2/upsert?
$format=json

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


338 PUBLIC Payroll
Payload
 Sample Code

{
"d": {
"results": [{
"__metadata": {
"uri": "
PayrollSystemConfiguration(81L)",
"type":
"SFOData.PayrollSystemConfiguration"
},
"enablePayStatement":
true,
"status": "I",
"thirdPartyIdpUrl": null,
"enableBsi": false,
"payrollSystemClientId":
"801",
"payrollSystemUrl":
"https://
my010010.payroll.ondemand.com",

"enablePayrollUiIntegration": true,

"enableEnhancedValidationsForProducti
on": true,
"country": "AUS",
"categories": {
"results": [{
"__metadata": {
"uri": "
PayrollConfigurationCategory(PayrollS
ystemConfiguration_externalCode=81L,e
xternalCode=82L)",
"type":
"SFOData.PayrollConfigurationCategory
"
},

"externalCategoryName_defaultValue":
"Earnings and Deductions",
"links": {
"results": [{

"__metadata": {

"uri":
PayrollConfigurationCategoryLink(Payr
ollConfigurationCategory_externalCode
=82L,

PayrollSystemConfiguration_externalCo
de=81L,

externalCode=85L)",

"type":
"SFOData.PayrollConfigurationCategory
Link"
}

"selfService": false,

"adminService": true,

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 339
"service": null,
"url":
null,

"infotypeNumber": "11"
},
{

"__metadata": {

"uri":
"PayrollConfigurationCategoryLink(Pay
rollConfigurationCategory_externalCod
e=82L,

PayrollSystemConfiguration_externalCo
de=81L,

externalCode=84L)",

"type":
"SFOData.PayrollConfigurationCategory
Link"
},

"selfService": false,

"adminService": true,

"service": null,
"url":
null,

"infotypeNumber": "850"
},
{

"__metadata": {

"uri":
"PayrollConfigurationCategoryLink(Pay
rollConfigurationCategory_externalCod
e=82L,

PayrollSystemConfiguration_externalCo
de=81L,

externalCode=83L)",

"type":
"SFOData.PayrollConfigurationCategory
Link"
},

"selfService": false,

"adminService": true,

"service": null,
"url":
null,

"infotypeNumber": "849"

SAP SuccessFactors Employee Central OData API: Reference Guide


340 PUBLIC Payroll
}]
}
}]
}
}]
}
}

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollSystemConfiguration('77c90c013d2c42b89fd5ec53b7edee8b')",
"type": "SFOData.PayrollSystemConfiguration"
},
"externalCode": "77c90c013d2c42b89fd5ec53b7edee8b",
"externalName": "ARG",
"status": "I",
"enablePayStatement": false,
"payrollSystemUrl": null,
"payrollSystemClientId": null,
"enablePayrollUiIntegration": false,
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"country": "ARG",
"sapSystemConfiguration": null,
"thirdPartyIdpUrl": null,
"enableBsi": false,
"enablePaystatementDownloadFunctionality": false,
"lastModifiedBy": "admin",
"enableEnhancedValidationsForProduction": true,
"statusNav": {
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFEnumValue(key='com.successfactors.genericobject.api.StatusEnum',value='I')",
"type": "SFOData.MDFEnumValue"
},
"value": "I",
"key": "com.successfactors.genericobject.api.StatusEnum",
"en_US": "InActive",
"localized": "InActive"
},
"countryNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
Country(code='ARG',effectiveStartDate=datetime'1900-01-01T00:00:00')",
"type": "SFOData.Country"
},
"code": "ARG",
"externalName_localized": "Argentina"
}
]
},
"sapSystemConfigurationNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 341
"uri": "https://localhost:443/odata/v2/
PayrollSystemConfiguration('77c90c013d2c42b89fd5ec53b7edee8b')/
sapSystemConfigurationNav"
}
},
"categories": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategory(PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='0b8ff64d63b1466ebfa6b3f8aeb87861')",
"type": "SFOData.PayrollConfigurationCategory"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"externalCode": "0b8ff64d63b1466ebfa6b3f8aeb87861",
"externalCategoryName_en_US": "Earnings and Deductions",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalCategoryName_localized": "Earnings and Deductions",
"externalCategoryName_defaultValue": "Earnings and Deductions",
"mdfSystemRecordStatus": "N",
"externalCategoryNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Earnings and Deductions"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Earnings and Deductions"
}
]
},
"links": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='0b8ff
64d63b1466ebfa6b3f8aeb87861',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='6b15e331328249a6a4fcebac76e52da5')",
"type": "SFOData.PayrollConfigurationCategoryLink"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"PayrollConfigurationCategory_externalCode":
"0b8ff64d63b1466ebfa6b3f8aeb87861",
"externalCode": "6b15e331328249a6a4fcebac76e52da5",
"selfService": true,
"externalLinkName_localized": "Pay Statement",
"externalLinkName_defaultValue": "Pay Statement",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"typeOfUrl": null,
"url": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


342 PUBLIC Payroll
"infotypeNumber": null,
"createdBy": "admin",
"adminService": true,
"service": "1",
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalLinkName_en_US": "Pay Statement",
"mdfSystemRecordStatus": "N",
"typeOfUrlNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='0b8ff
64d63b1466ebfa6b3f8aeb87861',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='6b15e331328249a6a4fcebac76e52da5')/
typeOfUrlNav"
}
},
"externalLinkNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Pay Statement"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Pay Statement"
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='0b8ff
64d63b1466ebfa6b3f8aeb87861',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='6b15e331328249a6a4fcebac76e52da5')/
mdfSystemRecordStatusNav"
}
},
"serviceNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='0b8ff
64d63b1466ebfa6b3f8aeb87861',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='6b15e331328249a6a4fcebac76e52da5')/
serviceNav"
}
}
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategory(PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='0b8ff64d63b1466ebfa6b3f8aeb87861')/
mdfSystemRecordStatusNav"
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 343
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategory(PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='d4673fca6cdd46788387f605009a97e6')",
"type": "SFOData.PayrollConfigurationCategory"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"externalCode": "d4673fca6cdd46788387f605009a97e6",
"externalCategoryName_en_US": "Tax",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalCategoryName_localized": "Tax",
"externalCategoryName_defaultValue": "Tax",
"mdfSystemRecordStatus": "N",
"externalCategoryNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Tax"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Tax"
}
]
},
"links": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='ed7b0d5ee7c141d998b3acf6f6650849')",
"type": "SFOData.PayrollConfigurationCategoryLink"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"PayrollConfigurationCategory_externalCode":
"d4673fca6cdd46788387f605009a97e6",
"externalCode": "ed7b0d5ee7c141d998b3acf6f6650849",
"selfService": false,
"externalLinkName_localized": "Income Tax",
"externalLinkName_defaultValue": "Income Tax",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"typeOfUrl": null,
"url": null,
"infotypeNumber": "389",
"createdBy": "admin",
"adminService": true,
"service": null,
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",

SAP SuccessFactors Employee Central OData API: Reference Guide


344 PUBLIC Payroll
"externalLinkName_en_US": "Income Tax",
"mdfSystemRecordStatus": "N",
"typeOfUrlNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='ed7b0d5ee7c141d998b3acf6f6650849')/
typeOfUrlNav"
}
},
"externalLinkNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Income Tax"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Income Tax"
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='ed7b0d5ee7c141d998b3acf6f6650849')/
mdfSystemRecordStatusNav"
}
},
"serviceNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='ed7b0d5ee7c141d998b3acf6f6650849')/
serviceNav"
}
}
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='00dc560f676d4fffba14a5c2df6b2e5e')",
"type": "SFOData.PayrollConfigurationCategoryLink"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"PayrollConfigurationCategory_externalCode":
"d4673fca6cdd46788387f605009a97e6",
"externalCode": "00dc560f676d4fffba14a5c2df6b2e5e",
"selfService": false,
"externalLinkName_localized": "Income Tax: Deductions",
"externalLinkName_defaultValue": "Income Tax: Deductions",

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 345
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"typeOfUrl": null,
"url": null,
"infotypeNumber": "390",
"createdBy": "admin",
"adminService": true,
"service": null,
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalLinkName_en_US": "Income Tax: Deductions",
"mdfSystemRecordStatus": "N",
"typeOfUrlNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='00dc560f676d4fffba14a5c2df6b2e5e')/
typeOfUrlNav"
}
},
"externalLinkNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Income Tax: Deductions"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Income Tax: Deductions"
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='00dc560f676d4fffba14a5c2df6b2e5e')/
mdfSystemRecordStatusNav"
}
},
"serviceNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='00dc560f676d4fffba14a5c2df6b2e5e')/
serviceNav"
}
}
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='b4a5b390e22a46eb8141878bb103bbdf')",
"type": "SFOData.PayrollConfigurationCategoryLink"

SAP SuccessFactors Employee Central OData API: Reference Guide


346 PUBLIC Payroll
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"PayrollConfigurationCategory_externalCode":
"d4673fca6cdd46788387f605009a97e6",
"externalCode": "b4a5b390e22a46eb8141878bb103bbdf",
"selfService": false,
"externalLinkName_localized": "Income Tax-Another Employer",
"externalLinkName_defaultValue": "Income Tax-Another
Employer",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"typeOfUrl": null,
"url": null,
"infotypeNumber": "391",
"createdBy": "admin",
"adminService": true,
"service": null,
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalLinkName_en_US": "Income Tax-Another Employer",
"mdfSystemRecordStatus": "N",
"typeOfUrlNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='b4a5b390e22a46eb8141878bb103bbdf')/
typeOfUrlNav"
}
},
"externalLinkNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Income Tax-Another Employer"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Income Tax-Another Employer"
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='b4a5b390e22a46eb8141878bb103bbdf')/
mdfSystemRecordStatusNav"
}
},
"serviceNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='d4673
fca6cdd46788387f605009a97e6',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='b4a5b390e22a46eb8141878bb103bbdf')/
serviceNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 347
}
}
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategory(PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='d4673fca6cdd46788387f605009a97e6')/
mdfSystemRecordStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategory(PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='bfd46f8607af4419a11c14d2592d44b8')",
"type": "SFOData.PayrollConfigurationCategory"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"externalCode": "bfd46f8607af4419a11c14d2592d44b8",
"externalCategoryName_en_US": "Others",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalCategoryName_localized": "Others",
"externalCategoryName_defaultValue": "Others",
"mdfSystemRecordStatus": "N",
"externalCategoryNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Others"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Others"
}
]
},
"links": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='c0a4bfa4fa9a4aa3ac2431962744bc46')",
"type": "SFOData.PayrollConfigurationCategoryLink"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"PayrollConfigurationCategory_externalCode":
"bfd46f8607af4419a11c14d2592d44b8",

SAP SuccessFactors Employee Central OData API: Reference Guide


348 PUBLIC Payroll
"externalCode": "c0a4bfa4fa9a4aa3ac2431962744bc46",
"selfService": false,
"externalLinkName_localized": "Contract Elements",
"externalLinkName_defaultValue": "Contract Elements",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"typeOfUrl": null,
"url": null,
"infotypeNumber": "16",
"createdBy": "admin",
"adminService": true,
"service": null,
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalLinkName_en_US": "Contract Elements",
"mdfSystemRecordStatus": "N",
"typeOfUrlNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='c0a4bfa4fa9a4aa3ac2431962744bc46')/
typeOfUrlNav"
}
},
"externalLinkNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Contract Elements"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Contract Elements"
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='c0a4bfa4fa9a4aa3ac2431962744bc46')/
mdfSystemRecordStatusNav"
}
},
"serviceNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='c0a4bfa4fa9a4aa3ac2431962744bc46')/
serviceNav"
}
}
},
{
"__metadata": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 349
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='c0502723bcfc45b28ebf768f763b7c69')",
"type": "SFOData.PayrollConfigurationCategoryLink"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"PayrollConfigurationCategory_externalCode":
"bfd46f8607af4419a11c14d2592d44b8",
"externalCode": "c0502723bcfc45b28ebf768f763b7c69",
"selfService": false,
"externalLinkName_localized": "Personal IDs",
"externalLinkName_defaultValue": "Personal IDs",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"typeOfUrl": null,
"url": null,
"infotypeNumber": "185",
"createdBy": "admin",
"adminService": true,
"service": null,
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalLinkName_en_US": "Personal IDs",
"mdfSystemRecordStatus": "N",
"typeOfUrlNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='c0502723bcfc45b28ebf768f763b7c69')/
typeOfUrlNav"
}
},
"externalLinkNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Personal IDs"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Personal IDs"
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='c0502723bcfc45b28ebf768f763b7c69')/
mdfSystemRecordStatusNav"
}
},
"serviceNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


350 PUBLIC Payroll
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='c0502723bcfc45b28ebf768f763b7c69')/
serviceNav"
}
}
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='81110be53f664dd996ecf0f285b60fe0')",
"type": "SFOData.PayrollConfigurationCategoryLink"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"PayrollConfigurationCategory_externalCode":
"bfd46f8607af4419a11c14d2592d44b8",
"externalCode": "81110be53f664dd996ecf0f285b60fe0",
"selfService": false,
"externalLinkName_localized": "Termination: General Data",
"externalLinkName_defaultValue": "Termination: General Data",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"typeOfUrl": null,
"url": null,
"infotypeNumber": "551",
"createdBy": "admin",
"adminService": true,
"service": null,
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalLinkName_en_US": "Termination: General Data",
"mdfSystemRecordStatus": "N",
"typeOfUrlNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='81110be53f664dd996ecf0f285b60fe0')/
typeOfUrlNav"
}
},
"externalLinkNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Termination: General Data"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Termination: General Data"
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 351
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='81110be53f664dd996ecf0f285b60fe0')/
mdfSystemRecordStatusNav"
}
},
"serviceNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='81110be53f664dd996ecf0f285b60fe0')/
serviceNav"
}
}
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='606e7519bd6f4be19280e8eccc64a736')",
"type": "SFOData.PayrollConfigurationCategoryLink"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"PayrollConfigurationCategory_externalCode":
"bfd46f8607af4419a11c14d2592d44b8",
"externalCode": "606e7519bd6f4be19280e8eccc64a736",
"selfService": false,
"externalLinkName_localized": "Events: My Simplification",
"externalLinkName_defaultValue": "Events: My Simplification",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"typeOfUrl": null,
"url": null,
"infotypeNumber": "875",
"createdBy": "admin",
"adminService": true,
"service": null,
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalLinkName_en_US": "Events: My Simplification",
"mdfSystemRecordStatus": "N",
"typeOfUrlNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='606e7519bd6f4be19280e8eccc64a736')/
typeOfUrlNav"
}
},
"externalLinkNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Events: My Simplification"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",

SAP SuccessFactors Employee Central OData API: Reference Guide


352 PUBLIC Payroll
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Events: My Simplification"
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='606e7519bd6f4be19280e8eccc64a736')/
mdfSystemRecordStatusNav"
}
},
"serviceNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='bfd46
f8607af4419a11c14d2592d44b8',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='606e7519bd6f4be19280e8eccc64a736')/
serviceNav"
}
}
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategory(PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='bfd46f8607af4419a11c14d2592d44b8')/
mdfSystemRecordStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategory(PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='3dd87df3595e49ebbb344de42e324a62')",
"type": "SFOData.PayrollConfigurationCategory"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"externalCode": "3dd87df3595e49ebbb344de42e324a62",
"externalCategoryName_en_US": "Social Insurance ",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalCategoryName_localized": "Social Insurance ",
"externalCategoryName_defaultValue": "Social Insurance ",
"mdfSystemRecordStatus": "N",
"externalCategoryNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "Social Insurance "
},
{
"__metadata": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 353
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "Social Insurance "
}
]
},
"links": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='3dd87
df3595e49ebbb344de42e324a62',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='73ea170a89a4410797dda638acc86447')",
"type": "SFOData.PayrollConfigurationCategoryLink"
},
"PayrollSystemConfiguration_externalCode":
"77c90c013d2c42b89fd5ec53b7edee8b",
"PayrollConfigurationCategory_externalCode":
"3dd87df3595e49ebbb344de42e324a62",
"externalCode": "73ea170a89a4410797dda638acc86447",
"selfService": false,
"externalLinkName_localized": "User Administration",
"externalLinkName_defaultValue": "User Administration",
"lastModifiedDateTime": "/Date(1547633032000+0000)/",
"typeOfUrl": null,
"url": null,
"infotypeNumber": "392",
"createdBy": "admin",
"adminService": true,
"service": null,
"createdDateTime": "/Date(1547633032000+0000)/",
"lastModifiedBy": "admin",
"externalLinkName_en_US": "User Administration",
"mdfSystemRecordStatus": "N",
"typeOfUrlNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='3dd87
df3595e49ebbb344de42e324a62',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='73ea170a89a4410797dda638acc86447')/
typeOfUrlNav"
}
},
"externalLinkNameTranslationTextNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('en_US')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "en_US",
"value": "User Administration"
},
{
"__metadata": {
"uri": "https://localhost:443/odata/v2/
MDFLocalizedValue('defaultValue')",
"type": "SFOData.MDFLocalizedValue"
},
"locale": "defaultValue",
"value": "User Administration"
}
]

SAP SuccessFactors Employee Central OData API: Reference Guide


354 PUBLIC Payroll
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='3dd87
df3595e49ebbb344de42e324a62',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='73ea170a89a4410797dda638acc86447')/
mdfSystemRecordStatusNav"
}
},
"serviceNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategoryLink(PayrollConfigurationCategory_externalCode='3dd87
df3595e49ebbb344de42e324a62',PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='73ea170a89a4410797dda638acc86447')/
serviceNav"
}
}
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://localhost:443/odata/v2/
PayrollConfigurationCategory(PayrollSystemConfiguration_externalCode='77c90c013d2
c42b89fd5ec53b7edee8b',externalCode='3dd87df3595e49ebbb344de42e324a62')/
mdfSystemRecordStatusNav"
}
}
}
]
}
}
]
}
}

Additional Information

<All additional information goes here.>

11.6 SAPSystemConfiguration

The SAPSystemConfiguration entity is an external API for the Employee Central Payroll solution. It is used by the
Employee Central Payroll system to fetch and display SAPSystemConfiguration objects. It is used to maintain data
required to connect to payroll systems.

 Note

To be able to use this API, you must have Employee Central Payroll or Payroll Integration enabled in your
instance. Please contact SAP Cloud Support to enable these features.

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 355
Supported Operations

Operation Description

Query To read SAP system configuration objects

Insert To add SAP system configuration objects

Upsert If an SAP system configuration object doesn't exist, insert a


new one. Otherwise, this operation updates existing records.

Properties

Property Description

externalCode External code

payrollSystemUrl Payroll System URL

payrollSystemClientId Client ID

These are not complete lists of properties. For more information about the entity metadata, please refer to your
OData API dictionary in the Admin Center or use the entity query:https://<hostname>/odata/v2/<Entity>/
$metadata.

Use Case: Create and Update SAPSystemConfiguration objects

Request

Operation Upsert

HTTP Method POST

URI https://<hostname>/odata/v2/upsert

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


356 PUBLIC Payroll
Payload
 Sample Code

[
{
"__metadata":{

"uri":"SAPSystemConfiguration(externa
lCode='ABC/123')"
},
"payrollSystemUrl":"https://
<hostname>",
"payrollSystemClientId":"123"
},
{
"__metadata":{

"uri":"SAPSystemConfiguration(externa
lCode='DEF/456')"
},
"payrollSystemUrl":"https://
<hostname>",
"payrollSystemClientId":"456"
}
]

SAP SuccessFactors Employee Central OData API: Reference Guide


Payroll PUBLIC 357
12 Person Objects

12.1 PerAddressDEFLT

This entity contains information related to an employee's personal addresses.

HRIS element information

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS Element ID:homeAddress


Business Key: personIdExternal + effectiveStartDate + addressType
Permission Mode: HRIS element permission control
Effective-date:true
Foundation Type:false
Person Entity Element:true
Supports Incremental Load:true.
Supports NO_OVERWRITE: yes.

Anything else I need to know about the fields?

When you make a last modified query, take a look at how this entity behaves with $filter and lastModifiedOn:

lastModifiedDateTime and $filter [page 45]

Use Cases

API Call Description

https://<hostname>/odata/v2/ Get all Persons having California as business address


PerAddressDEFLT?$filter=state eq 'CA' and
addressType eq 'business'&
$select=state,address1,address2,personIdEx
ternal&$top=1&$format=JSON

SAP SuccessFactors Employee Central OData API: Reference Guide


358 PUBLIC Person Objects
Code Examples

 Sample Code

{
d: {
results: [1 ]
0:
{
__metadata: {
uri: "https://localhost:port/odata/v2/public/
PerAddressDEFLT(addressType='business',personIdExternal='jtong1',startDate=dateti
me'1993-02-15T00:00:00') "
type: " SFOData.PerAddressDEFLT "}-
personIdExternal: " jtong1 "
state: " CA "
address1: " 1500 Fashion Island Blvd. "
address2: " Ste. 300 "
}-
-}
-}

Related Information

Getting users up and running: Permission settings [page 20]


Filtering out external user data [page 535]

12.2 PerEmail

This entity contains an employee's email address.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID:emailInfo


Business Keys: personIdExternal + emailType
Effective-date:false
Foundation Type:false
Person Entity Element:true
Supports Incremental Load: true
Supports NO_OVERWRITE: true

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 359
Use Cases: Get

API Call Description

https://<hostname>/odata/v2/PerEmail? Get Primary Emails which are of type private


$filter=emailType eq '5850' and isPrimary
eq 'true'&$select=emailAddress&
$format=JSON

Code Examples

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://localhost:port/odata/v2/public/
PerPerson('mhoff1')",
"type": "SFOData.PerPerson"
},
"personIdExternal": "mhoff1",
"dateOfBirth": "/Date(-775008000000)/",
"personalInfoNav": {
"results": [
{
"__metadata": {
"uri": "https://localhost:port/odata/v2/public/
PerPersonal(personIdExternal='mhoff1',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.PerPersonal"
},
"lastName": "Hoff",
"firstName": "Marcus"
}
]
}
}
]
}
}

Use Cases: Upsert

Operation Upsert

URI http://<Hostname>/odata/v2/Upsert

SAP SuccessFactors Employee Central OData API: Reference Guide


360 PUBLIC Person Objects
Headers Authorization: Basic <Base 64 encoded (“user@com­
pany:password”)>

Content-Type: application/json

Payload
 Sample Code

{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PerEmail(emailType='8448',personIdExt
ernal='106015')",
"type": "SFOData.PerEmail"
},
"emailAddress":
"Marcushoff@samplecorporation.com"
}

Related Information

Getting users up and running: Permission settings [page 20]


Filtering out external user data [page 535]

12.3 PersonEmpTerminationInfo

In SAP SuccessFactors Employee Central, you can use PersonEmpTerminationInfo to expose the latest termination
date of an employee.

Operations Allowed

You query PersonEmpTerminationInfo via $expand from the PerPerson entity. You cannot query
PersonEmpTerminationInfo directly.

Properties

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following query https://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 361
Use Case: Retrieving the latest termination date of a specific employee

If you need to use the latest termination date for your processes, you can retrieve with $expand from PerPerson.
The latest termination date of an employee is represented by the field latestTerminationDate.

Request Information

Operation Get with the entity PerPerson

URI http://<Hostname>/odata/v2/PerPerson?
$format=json&
$expand=personEmpTerminationInfoNav &
$select= personEmpTerminationInfoNav&
$filter=personEmpTerminationInfoNav/
personIdExternal+eq+'admin'

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

Response:
{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<Hostname>/odata/v2/PerPerson('admin')",
"type": "SFOData.PerPerson"
},
"personEmpTerminationInfoNav": {
"__metadata": {
"uri": "https://<Hostname>/odata/v2/PersonEmpTerminationInfo('admin')",
"type": "SFOData.PersonEmpTerminationInfo"
},
"personIdExternal": "admin",
"activeEmploymentsCount": 1,
"latestTerminationDate": null
}
}
]
}
}

Additional Information

For more information about the PerPerson entity, see

PerPerson [page 368]

SAP SuccessFactors Employee Central OData API: Reference Guide


362 PUBLIC Person Objects
12.4 PerEmergencyContacts

This entity represents emergency contact information for an employee.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID:emergencyContactPrimary


Business Keys: personIdExternal + name + relationship
Effective-date:false
Foundation Type:false
Person Entity Element:true
Supports Incremental Load:true
Supports NO_OVERWRITE: true

Use Cases

API Call Description

https://<hostname>.com/odata/v2/ Get all persons who have more than one emergency contact
PerEmergencyContacts?$filter=primaryFlag
ne 'Y'&
$select=personIdExternal,relationship&
$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerEmergencyContacts(name='Chad
Hoff',personIdExternal='mhoff1',relationship='Brother')",
"type": "SFOData.PerEmergencyContacts"
},
"relationship": "Brother",
"personIdExternal": "mhoff1"
},
{

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 363
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerEmergencyContacts(name='Francesca
Borriello',personIdExternal='165',relationship='Spouse')",
"type": "SFOData.PerEmergencyContacts"
},
"relationship": "Spouse",
"personIdExternal": "165"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerEmergencyContacts(name='Test',personIdExternal='greinhard3',relationship='1766')"
,
"type": "SFOData.PerEmergencyContacts"
},
"relationship": "1766",
"personIdExternal": "greinhard3"
}
]
}
}

To perform an upsert, you'll need the following information:

Operation Upsert

URI http://<Hostname>/odata/v2/Upsert

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Content-Type: application/json

Payload
 Sample Code

"__metadata": {
"uri": "https://<Hostname>/odata/v2/
PerEmergencyContacts(name='Karen
Grant',personIdExternal='cgrant1',rel
ationship='1767')",
"type":
"SFOData.PerEmergencyContacts"
},
"addressCountry": "DEU"
}}

Related Information

Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


364 PUBLIC Person Objects
12.5 PerGlobalInfo

This entity contains the global information for the employee.

Operations Allowed

Operation Description

GET Query an object, such as employee, person or foundation.

UPSERT/POST Update (upsert, full or incremental purge) an object, such as employee, person or foundation.

HRIS element information

HRIS Element ID:globalInfo


Business Keys: personIdExternal + startDate + country
Effective-date:true
Foundation Type:false
Person Entity Element:true
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD: false

Properties

Property Description

personIdExternal The employee ID.

country The country where the employee works.

createdOn The date that the global information was added.

createdBy The ID of the person who created the global information entry.

lastModifiedOn The date that the global information was modified.

lastModifiedBy The ID of the person who made the last update to the global information entry.

customString(1,20) An optional field for a string with 1-20 characters.

customDate(1,10) An optional field for a date with 1-20 characters.

customLong(1,20) An optional field for numbers with 1-20 characters.

customDouble(1,20) An optional field for a double precision decimal.

endDate The date the global information is set to inactive.

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 365
Navigation Properties

Navigation Property Related Entity Description

countryNav Territory navigates to Territory_ref describing the


country for PerGlobalInfo

personNav PerPerson navigation to person entity. Navigates to


all biographical information for corre­
sponding person

Anything else I need to know about the fields?

When you make a last modified query, take a look at how this entity behaves with $filter and lastModifiedOn:

lastModifiedDateTime and $filter [page 45]

Related Information

Getting users up and running: Permission settings [page 20]

12.6 PerNationalId

This entity contains national identification card information for an employee.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID:nationalIdCard


Business Keys: personIdExternal + country + cardType
Effective-date:false
Foundation Type:false
Person Entity Element:true
Supports Incremental Load:true
Supports NO_OVERWRITE: true

SAP SuccessFactors Employee Central OData API: Reference Guide


366 PUBLIC Person Objects
Use Cases

API Call Description

https://<hostname>.com/odata/v2/ Get all person whose nationalId is not Primary in the country
PerNationalId?$filter=isPrimary eq they are living in
'false'&
$select=personIdExternal,nationalId,countr
y&$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerNationalId(cardType='itin',country='USA',personIdExternal='vstokes1')",
"type": "SFOData.PerNationalId"
},
"personIdExternal": "vstokes1",
"country": "USA",
"nationalId": "48-98493057"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerNationalId(cardType='itin',country='USA',personIdExternal='wsown1')",
"type": "SFOData.PerNationalId"
},
"personIdExternal": "wsown1",
"country": "USA",
"nationalId": "47-49409408"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerNationalId(cardType='itin',country='USA',personIdExternal='smormony1')",
"type": "SFOData.PerNationalId"
},
"personIdExternal": "smormony1",
"country": "USA",
"nationalId": "45-34593835"
}
]
}
}

Related Information

Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 367
12.7 PerPerson

In SAP Success Factors Employee Central, you can use this entity to display information about an employee such
as date and place of birth, and date of death.

Operations and Properties

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Upsert is supported with an incremental purge

Take a look at the HRIS object information in this table here. If you need more information about these attributes,
you can refer to the links in Related Information below.

HRIS Element ID:personInfo


Business Keys: personIdExternal
Effective-date:false
Foundation Type:false
Person Entity Element:true
Supports Incremental Load:true
Supports NO_OVERWRITE: true

Use Cases: Business Cases

Take a look at PerPerson Upsert [page 530] for information on how you can use this entity to add a new employee.

PerPerson contains navigation entities.Take a look at these examples:

SecondaryAssignmentNav lets you know which employment contract is the primary one for replication scenarios.
You can see how to use it in Differentiating primary from secondary employment during concurrent employment
replication [page 548].

personEmpTerminationInfoNav lets you retrieve the latest employment date for an employee. You can see a sample
use case in the entity documentationPersonEmpTerminationInfo [page 361] personEmpTerminationInfo.

Use Case: Get the first PerPerson record

Request Information

URI http://<Hostname>/odata/v2/PerPerson?
$top=1&$format=JSON

SAP SuccessFactors Employee Central OData API: Reference Guide


368 PUBLIC Person Objects
Headers Authorization: Basic <Base 64 encoded (“user@com­
pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<Hostname>/odata/v2/PerPerson('aaaa')",
"type": "SFOData.PerPerson"
},
"personIdExternal": "aaaa",
"dateOfBirth": null,
"lastModifiedOn": "/Date(1303743709000)/",
"lastModifiedDateTime": "/Date(1303758109000+0000)/",
"dateOfDeath": null,
"createdOn": "/Date(1303743708000)/",
"countryOfBirth": null,
"createdBy": "v4admin",
"createdDateTime": "/Date(1303758108000+0000)/",
"lastModifiedBy": "v4admin",
"personId": "4",
"personRerlationshipNav": {
"__deferred": {
"uri": "https://apisalesdemo4.successfactors.com:443/odata/v2/
PerPerson('aaaa')/personRerlationshipNav"
}
},
"emergencyContactNav": {
"__deferred": {
"uri": "https://apisalesdemo4.successfactors.com:443/odata/v2/
PerPerson('aaaa')/emergencyContactNav"
}
},
"phoneNav": {
"__deferred": {
"uri": "https://apisalesdemo4.successfactors.com:443/odata/v2/
PerPerson('aaaa')/phoneNav"
}
},
"personalInfoNav": {
"__deferred": {
"uri": "https://apisalesdemo4.successfactors.com:443/odata/v2/
PerPerson('aaaa')/personalInfoNav"
}
},
"homeAddressNavDEFLT": {
"__deferred": {
"uri": "https://apisalesdemo4.successfactors.com:443/odata/v2/
PerPerson('aaaa')/homeAddressNavDEFLT"
}
},
"secondaryAssignmentsNav": {
"__deferred": {
"uri": "https://apisalesdemo4.successfactors.com:443/odata/v2/
PerPerson('aaaa')/secondaryAssignmentsNav"
}
},
"nationalIdNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 369
"uri": "https://apisalesdemo4.successfactors.com:443/odata/v2/
PerPerson('aaaa')/nationalIdNav"
}
},
"countryOfBirthNav": {
"__deferred": {
"uri": "https://apisalesdemo4.successfactors.com:443/odata/v2/
PerPerson('aaaa')/countryOfBirthNav"
}
},
"emailNav": {
"__deferred": {
"uri": "https://apisalesdemo4.successfactors.com:443/odata/v2/
PerPerson('aaaa')/emailNav"
}
},
"socialAccountNav": {
"__deferred": {
"uri": "https://apisalesdemo4.successfactors.com:443/odata/v2/
PerPerson('aaaa')/socialAccountNav"
}
},
"employmentNav": {
"__deferred": {
"uri": "https://apisalesdemo4.successfactors.com:443/odata/v2/
PerPerson('aaaa')/employmentNav"
}
}
}
]
}
}

Additional Information

Although the PerPerson entity is created when the user entity is upserted, it remains hidden. It only becomes
visible when:

● It is explicitly upserted
● EmpEmployment has been upserted. For more information, seeEmpEmployment Upsert [page 531]
● Filters for including or excluding internal and external users are available. For more information, see Filtering
out external user data [page 535]

Related Information

Getting users up and running: Permission settings [page 20]


Incremental [page 55]
Getting the most out of this guide [page 15]
Adding a New Employee [page 528]
PerPerson Upsert [page 530]

SAP SuccessFactors Employee Central OData API: Reference Guide


370 PUBLIC Person Objects
12.7.1 generateNextPersonID

You use this entity to generate the next person ID assigned for a new hire, incrementing it as required.

For more information about the properties and navigation properties, please go to Admin Center API Center
OData API Data Dictionary or use the API query: https://<hostname>/odata/v2/<Entity>/$metadata.

Use Cases

The generated IDs are used in the entities User Entity (fields: username and userID), PerPerson Entity (field:
personIdExternal, UserID), Employment Entity (fields: personIdExternal and userID), Per* Entities (field:
personIdExternal), Emp* Entities (field: userID)

Example 1: Creating a single ID for a new hire

Operation Insert

HTTP Method POST

Request https://<hostname>/odata/v2/generateNextPersonID?$format=json

Header Authorization: Basic <base64 encoding of username@instancename:pwd >

Response

{
"d" : {
"GenerateNextPersonIDResponse" : {
"personID" : "214"
}
}
}

Example 2: Creating multiple IDs for new hires

When you generate more then one ID, use a $BATCH statement to avoid too many roundtrips. Please make sure
that the consumer uses the generated IDs in a unique way. Any unused numbers will create gaps since the API
generates the numbers in an incremental fashion.

HTTP Method POST

Request https://<Hostname>/odata/v2/$batch

Headers Authorization: Basic <base64 encoding of username@instancename:pwd >

Host: <Hostname>

Content-Length: 668

Content-Type: multipart/mixed; boundary=batch_36522ad7-fc75-4b56-8c71-56071383e77b

Payload --batch_36522ad7-fc75-4b56-8c71-56071383e77b

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 371
Content-Type: multipart/mixed; boundary=changeset_1

--changeset_1
Content-Transfer-Encoding: binary
Content-Type: application/http

POST generateNextPersonID HTTP/1.1


Content-Type: application/xml;charset=utf-8

--changeset_1
Content-Transfer-Encoding: binary
Content-Type: application/http

POST generateNextPersonID HTTP/1.1


Content-Type: application/xml;charset=utf-8

--changeset_1
Content-Transfer-Encoding: binary
Content-Type: application/http

POST generateNextPersonID HTTP/1.1


Content-Type: application/xml;charset=utf-8

--changeset_1--

--batch_36522ad7-fc75-4b56-8c71-56071383e77b--

Response

--batch_840c9610-df87-42ce-bd42-948f9e3f8e04
Content-Type: multipart/mixed; boundary=changeset_75c877a0-4c68-4b0e-af47-
b8bdb19c117b

--changeset_75c877a0-4c68-4b0e-af47-b8bdb19c117b
Content-Type: application/http
Content-Transfer-Encoding: binary

HTTP/1.1 200 OK
Content-Type: application/xml; charset=utf-8
DataServiceVersion: 1.0
Content-Length: 314

<?xml version='1.0' encoding='utf-8'?><d:GenerateNextPersonIDResponse


m:type="SFOData.GenerateNextPersonIDResponse" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata"><d:personID>232</
d:personID></d:GenerateNextPersonIDResponse>

--changeset_75c877a0-4c68-4b0e-af47-b8bdb19c117b
Content-Type: application/http
Content-Transfer-Encoding: binary

HTTP/1.1 200 OK
Content-Type: application/xml; charset=utf-8
DataServiceVersion: 1.0
Content-Length: 314

<?xml version='1.0' encoding='utf-8'?><d:GenerateNextPersonIDResponse


m:type="SFOData.GenerateNextPersonIDResponse" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata"><d:personID>233</
d:personID></d:GenerateNextPersonIDResponse>

--changeset_75c877a0-4c68-4b0e-af47-b8bdb19c117b

SAP SuccessFactors Employee Central OData API: Reference Guide


372 PUBLIC Person Objects
Content-Type: application/http
Content-Transfer-Encoding: binary

HTTP/1.1 200 OK
Content-Type: application/xml; charset=utf-8
DataServiceVersion: 1.0
Content-Length: 314

<?xml version='1.0' encoding='utf-8'?><d:GenerateNextPersonIDResponse


m:type="SFOData.GenerateNextPersonIDResponse" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata"><d:personID>234</
d:personID></d:GenerateNextPersonIDResponse>

--changeset_75c877a0-4c68-4b0e-af47-b8bdb19c117b--

--batch_840c9610-df87-42ce-bd42-948f9e3f8e04--

Related Information

Getting users up and running: Permission settings [page 20]

12.8 PerPersonal

This entity contains the employee's personal information.

HRIS element information

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS Element ID:personalInfo


Business Keys: personIdExternal + startDate
Effective-date:true
Foundation Type:false
Person Entity Element:true
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD: false

Anything else I need to know about the fields?

When you make a last modified query, take a look at how this entity behaves with $filter and lastModifiedDateTime:

lastModifiedDateTime and $filter [page 45]

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 373
Use Cases

API Call Description

https://<hostname>/odata/v2/PerPersonal? Get all Persons (First and Lastname) where first or last name
$filter=firstName like 'Ca%' or lastName starts with Ca
like 'Ca%'&$select=firstName,lastName&
$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPersonal(personIdExternal='wcarver1',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.PerPersonal"
},
"lastName": "Carver",
"firstName": "William"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPersonal(personIdExternal='mclements1',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.PerPersonal"
},
"lastName": "Carvalho",
"firstName": "Marcelo"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPersonal(personIdExternal='ecarpenter1',startDate=datetime'1990-01-01T00:00:00')"
,
"type": "SFOData.PerPersonal"
},
"lastName": "Carpenter",
"firstName": "Elizabeth"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPersonal(personIdExternal='cclark1',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.PerPersonal"
},
"lastName": "Clark",
"firstName": "Caroline"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPersonal(personIdExternal='charper1',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.PerPersonal"
},

SAP SuccessFactors Employee Central OData API: Reference Guide


374 PUBLIC Person Objects
"lastName": "Harper",
"firstName": "Catherine"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPersonal(personIdExternal='clewis1',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.PerPersonal"
},
"lastName": "Lewis",
"firstName": "Carl"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPersonal(personIdExternal='cccc',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.PerPersonal"
},
"lastName": "Weimer",
"firstName": "Casey"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPersonal(personIdExternal='chenderson1',startDate=datetime'1990-01-01T00:00:00')"
,
"type": "SFOData.PerPersonal"
},
"lastName": "Henderson",
"firstName": "Carrie"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPersonal(personIdExternal='chill1',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.PerPersonal"
},
"lastName": "Hill",
"firstName": "Carrie"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPersonal(personIdExternal='cbliss1',startDate=datetime'1990-01-01T00:00:00')",
"type": "SFOData.PerPersonal"
},
"lastName": "Bliss",
"firstName": "Carolyn"
},
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/public/
PerPersonal(personIdExternal='cgrant1',startDate=datetime'2014-07-29T00:00:00')",
"type": "SFOData.PerPersonal"
},
"lastName": "Grant",
"firstName": "Carla"
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 375
Good to know

You can also choose whether to include or exclude internal and external user data from these queries. You can do
this by using the filter described in Filtering out external user data [page 535].

Related Information

Getting users up and running: Permission settings [page 20]

12.9 PerPersonRelationship

The entity contains information about an employee's dependents.

HRIS element information

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS Element ID: personRelationshipInfo


Business Keys: personIdExternal + relatedPersonIdExternal + startDate
Effective-date:true
Foundation Type:false
Person Entity Element:true
Supports Incremental Load:false for now
Supports NO_OVERWRITE: false for now

Use Case: GET

Request Information

Operation GET

URI http://<Hostname>/odata/v2/
PerPersonRelationship?$top=1&$format=JSON

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

SAP SuccessFactors Employee Central OData API: Reference Guide


376 PUBLIC Person Objects
 Sample Code

"d":
{
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PerPersonRelationship(personIdExternal='gcharles1',relatedPersonIdExternal='197_d
637',startDate=datetime'2013-02-20T00:00:00')",
"type": "SFOData.PerPersonRelationship"
},
"startDate": "/Date(1361318400000)/",
"relatedPersonIdExternal": "197_d637",
"personIdExternal": "gcharles1",
"lastName": "Zamora-Smith",
"customString2": null,
"isBeneficiary": null,
"endDate": "/Date(253402300799000)/",
"lastModifiedDateTime": "/Date(1361363017000+0000)/",
"lastModifiedOn": "/Date(1361345017000)/",
"createdOn": "/Date(1361345017000)/",
"relationshipType": "6117",
"createdBy": "admin",
"createdDateTime": "/Date(1361363017000+0000)/",
"lastModifiedBy": "admin",
"customString1": null,
"firstName": "Debby",
"isAccompanyingDependent": null,
"relNationalIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPersonRelationship(personIdExternal='gcharles1',relatedPersonIdExternal='197_d
637',startDate=datetime'2013-02-20T00:00:00')/relNationalIdNav"
}
},
"personNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPersonRelationship(personIdExternal='gcharles1',relatedPersonIdExternal='197_d
637',startDate=datetime'2013-02-20T00:00:00')/personNav"
}
},
"relationshipTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPersonRelationship(personIdExternal='gcharles1',relatedPersonIdExternal='197_d
637',startDate=datetime'2013-02-20T00:00:00')/relationshipTypeNav"
}
},
"relPersonNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPersonRelationship(personIdExternal='gcharles1',relatedPersonIdExternal='197_d
637',startDate=datetime'2013-02-20T00:00:00')/relPersonNav"
}
},
"relPersonalNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPersonRelationship(personIdExternal='gcharles1',relatedPersonIdExternal='197_d
637',startDate=datetime'2013-02-20T00:00:00')/relPersonalNav"
}
}
}
]
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 377
}

Use Case: Upsert

Request Information

Operation Upsert

URI http://<Hostname>/odata/v2/upsert

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Content-Type: application/json

Payload
 Sample Code

{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PerPersonRelationship(personIdExterna
l='hmueller1',relatedPersonIdExternal
='1397_d1417',startDate=datetime'2014
-01-01T00:00:00')",
"type":
"SFOData.PerPersonRelationship"
},
"customString2": "test"
}

Response

 Sample Code

Anything else I need to know about the fields?

When you make a last modified query, take a look at how this entity behaves with $filter and lastModifiedOn:

lastModifiedDateTime and $filter [page 45]

SAP SuccessFactors Employee Central OData API: Reference Guide


378 PUBLIC Person Objects
Navigation Properties

Navigation Property Related Entity Description

personNav PerPerson navigation to PerPerson entity. Navigates


to all biographical information for corre­
sponding person

relPersonNav PerPerson navigation to PerPerson entity. Navigates


to all biographical information for related
person

relPersonalNav PerPersonal navigation to PerPersonal entity. Navi­


gates to all personal information for re­
lated person

relNationalIdNav PerNationalId

Related Information

Getting users up and running: Permission settings [page 20]

12.10 PerPhone

This entity contains the employee's phone numbers.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: phoneInfo


Business Keys: personIdExternal + phoneType
Effective-date:false
Foundation Type:false
Person Entity Element:true
Supports Incremental Load:true
Supports NO_OVERWRITE: true
Supports MCPD:false

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 379
Use Cases

API Call Description

https://<hostname>.com/odata/v2/PerPhone? Get the Person with the phone number 'xxx'


$filter=phoneNumber eq '565-3345'&
$expand=personNav/personalInfoNav&
$select=phoneNumber,personNav/
personalInfoNav/firstName,personNav/
personalInfoNav/lastName&$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PerPhone(personIdExternal='cgrant1',phoneType='5847')",
"type": "SFOData.PerPhone"
},
"phoneNumber": "565-3345",
"personNav": {
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
PerPerson('cgrant1')",
"type": "SFOData.PerPerson"
},
"personalInfoNav": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
PerPersonal(personIdExternal='cgrant1',startDate=datetime'2014-10-30T00:00:00')",
"type": "SFOData.PerPersonal"
},
"lastName": "Grant-Miller3",
"firstName": "Carla"
}
]
}
}
}
]
}
}

Related Information

Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


380 PUBLIC Person Objects
Filtering out external user data [page 535]

12.11 PerSocialAccount

This entity contains the employee's social account information.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

HRIS element information

HRIS Element ID: imInfo


Business Keys: personIdExternal + domain
Effective-date:false
Foundation Type:false
Person Entity Element:true
Supports Incremental Load:true
Supports NO_OVERWRITE: true

Use Cases

API Call Description

https://<hostname>.com/odata/v2/ Get all social accounts which do not equal the domain 1764
PerSocialAccount?$filter=domain ne '1764' and 1765
and domain ne '1765'&
$select=domain,personIdExternal,imId&
$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/
PerSocialAccount(domain='1762',personIdExternal='cgrant1')",
"type": "SFOData.PerSocialAccount"
},

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 381
"personIdExternal": "cgrant1",
"domain": "1762",
"imId": "carla123"
}
]
}
}

Related Information

Getting users up and running: Permission settings [page 20]

12.12 PersonKey

You can use this entity to expose the person UUID for integration and import scenarios.

Operations Allowed

You query PersonKey via $expand from the User entity. You cannot query PersonKey directly.

Properties

You can get detailed information about the entity properties from the OData API dictionary or by exposing the
entity metadata. To do this, use the following query https://<hostname>/odata/v2/Entity('<Your
Entity')?$format=json.

Use Case: Retrieving the perPersonUuid

In integration and import scenarios, you can use PersonKey to retrieve the person UUID represented by the field
perPersonUuid. This field is automatically populated by the system when a user is created. The value is immutable
meaning that you cannot change it.

Request Information

Operation Get with the entity user

SAP SuccessFactors Employee Central OData API: Reference Guide


382 PUBLIC Person Objects
URI http://<Hostname>/odata/v2/User('admin')?
$format=json&$expand=personKeyNav&
$filter=personKeyNav/pePersonUuid eq
"3A085DB0D9184B49B0E3E70D6F07EB1A"

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

Extract from response

Response:
{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/User('admin')",
"type": "SFOData.User"
},
....
},
"personKeyNav": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/PersonKey('admin')",
"type": "SFOData.PersonKey"
},
"personIdExternal": "admin",
"personId": "2",
"perPersonUuid": "3A085DB0D9184B49B0E3E70D6F07EB1A"
}

Additional Information

For more information about the user entity, see

User

Related Information

Getting users up and running: Provisioning [page 20]


Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 383
12.13 PersonType

PersonType is an entity that indicates the type of person. Examples are like ONBOARDEE for Onboardee users,
STUDENT for LMS users, DEPENDENT, and so on.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

PersonType is an MDF object. Please get permissions for MDF before you use this entity.

Supported Operations

Operation Description

GET To query all the PersonType records.

Use Cases

Sample request:

Operation GET

URI https://<hostname>/odata/v2/PersonType

Headers Authorization: Basic <Base 64 encoded


(“user@company:password”)>

Sample response:

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/PersonType('Onboardee')",
"type": "SFOData.PersonType"
},
"externalCode": "Onboardee",
"personTypeName_ru_RU": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


384 PUBLIC Person Objects
"personTypeName_fr_FR": null,
"personTypeName_defaultValue": "Onboardee",
"personTypeName_en_DEBUG": null,
"personTypeName_localized": "Onboardee",
"lastModifiedDateTime": "/Date(1512384851000+0000)/",
"createdBy": "v4admin",
"personTypeName_de_DE": null,
"createdDateTime": "/Date(1512384851000+0000)/",
"lastModifiedBy": "v4admin",
"personTypeName_es_ES": null,
"personType": "ONBOARDEE",
"personTypeName_en_US": "Onboardee",
"mdfSystemRecordStatus": "N",
"personTypeNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PersonType('Onboardee')/personTypeNameTranslationTextNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PersonType('Onboardee')/mdfSystemRecordStatusNav"
}
},
"personTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PersonType('Onboardee')/personTypeNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/PersonType('Student')",
"type": "SFOData.PersonType"
},
"externalCode": "Student",
"personTypeName_ru_RU": null,
"personTypeName_fr_FR": null,
"personTypeName_defaultValue": "external LMS user",
"personTypeName_en_DEBUG": null,
"personTypeName_localized": "ExternalLMSUser",
"lastModifiedDateTime": "/Date(1520999393000+0000)/",
"createdBy": "admin",
"personTypeName_de_DE": null,
"createdDateTime": "/Date(1520999246000+0000)/",
"lastModifiedBy": "admin",
"personTypeName_es_ES": null,
"personType": "STUDENT",
"personTypeName_en_US": "ExternalLMSUser",
"mdfSystemRecordStatus": "N",
"personTypeNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PersonType('Student')/personTypeNameTranslationTextNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PersonType('Student')/mdfSystemRecordStatusNav"
}
},
"personTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PersonType('Student')/personTypeNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 385
}
}
}
]
}
}

12.14 PersonTypeUsage

PersonTypeUsage is a composite object that links Person to PersonType.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

PersonTypeUsage is an MDF object. Please get permissions for MDF before you use this entity.

Supported Operations

Operation Description

GET To query all the PersonTypeUsage records.

Navigation Properties

Navigation Description

personTypeNav Navigation from PersonTypeUsage to PersonType.

 Note

The PersonTypeUsage entity is used by the PerPerson entity to query person records, and can be filtered by
person type. You can use the personTypeUsageNav property to navigate from PerPerson to PersonTypeUsage.

SAP SuccessFactors Employee Central OData API: Reference Guide


386 PUBLIC Person Objects
Use Cases

Getting all the PersonTypeUsage records


Sample request:

Operation GET

URI https://<hostname>/odata/v2/
PersonTypeUsage

Headers Authorization: Basic <Base 64 encoded


(“user@company:password”)>

Sample response:

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/PersonTypeUsage(5961L)",
"type": "SFOData.PersonTypeUsage"
},
"externalCode": "5961",
"startDate": "/Date(-2208988800000)/",
"person": "ONB001",
"endDate": "/Date(253402214400000)/",
"lastModifiedDateTime": "/Date(1512400831000+0000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1512400831000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"personType": "Onboardee",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PersonTypeUsage(5961L)/mdfSystemRecordStatusNav"
}
},
"personTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PersonTypeUsage(5961L)/personTypeNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PersonTypeUsage(5961L)/mdfSystemStatusNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 387
Getting the PerPerson records of a specific person type
Sample request:

Operation GET

URI http://<hostname>/odata/v2/PerPerson?
$format=json&$filter=personTypeUsageNav/
personTypeNav/personType eq 'ONBORDEE'

Headers Authorization: Basic <Base 64 encoded


(“user@company:password”)>

Sample response:

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/PerPerson('SUPTtest')",
"type": "SFOData.PerPerson"
},
"personIdExternal": "SUPTtest",
"dateOfBirth": null,
"perPersonUuid": "04FE29A7092D4142A3C3D99717E4D1ED",
"lastModifiedOn": "/Date(1524725000000)/",
"customString11": null,
"lastModifiedDateTime": "/Date(1524725000000+0000)/",
"createdOn": "/Date(1524725000000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1524725000000+0000)/",
"lastModifiedBy": "admin",
"personId": "2767",
"customString1": null,
"personRerlationshipNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/personRerlationshipNav"
}
},
"emergencyContactNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/emergencyContactNav"
}
},
"phoneNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/phoneNav"
}
},
"personalInfoNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/personalInfoNav"
}
},
"homeAddressNavDEFLT": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/homeAddressNavDEFLT"

SAP SuccessFactors Employee Central OData API: Reference Guide


388 PUBLIC Person Objects
}
},
"secondaryAssignmentsNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/secondaryAssignmentsNav"
}
},
"personTypeUsageNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/personTypeUsageNav"
}
},
"userAccountNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/userAccountNav"
}
},
"nationalIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/nationalIdNav"
}
},
"personEmpTerminationInfoNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/personEmpTerminationInfoNav"
}
},
"emailNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/emailNav"
}
},
"socialAccountNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/socialAccountNav"
}
},
"employmentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
PerPerson('SUPTtest')/employmentNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Person Objects PUBLIC 389
13 Position Management

13.1 PositionRightToReturn

PositionRightToReturn indicates whether an employee is allowed to return to their original position after a Leave of
Absence or Global Assignment.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Permissions

Permission System Required Setting

Role-based Go to the Admin Center and choose Configure Object

Definition Load .

Code Examples

Sample Request

Operation Query

URI http://<Hostname>/odata/v2/ PositionRightToReturn?$fil-


ter=position eq '00000933'

<Headers> Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Sample Response

 Sample Code

<?xml version="1.0" encoding="utf-8"?>


<feed xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://

SAP SuccessFactors Employee Central OData API: Reference Guide


390 PUBLIC Position Management
schemas.microsoft.com/ado/2007/08/dataservices" xml:base="https://localhost:443/
odata/v2/">
<title type="text">PositionRightToReturn</title>
<id>https://localhost:443/odata/v2/PositionRightToReturn</id>
<updated>2017-12-04T14:51:42Z</updated>
<link rel="self" title="PositionRightToReturn"
href="PositionRightToReturn"></link>
<entry>
<id>https://localhost:443/odata/v2/PositionRightToReturn(2926L)</id>
<title type="text"></title>
<updated>2017-12-04T14:51:42Z</updated>
<author>
<name></name>
</author>
<link rel="edit" title="PositionRightToReturn"
href="PositionRightToReturn(2926L)"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
reasonNav" type="application/atom+xml;type=entry" title="reasonNav"
href="PositionRightToReturn(2926L)/reasonNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
wfRequestNav" type="application/atom+xml;type=feed" title="wfRequestNav"
href="PositionRightToReturn(2926L)/wfRequestNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
gaEventReasonNav" type="application/atom+xml;type=feed" title="gaEventReasonNav"
href="PositionRightToReturn(2926L)/gaEventReasonNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
effectiveStatusNav" type="application/atom+xml;type=entry"
title="effectiveStatusNav" href="PositionRightToReturn(2926L)/
effectiveStatusNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
mdfSystemRecordStatusNav" type="application/atom+xml;type=entry"
title="mdfSystemRecordStatusNav" href="PositionRightToReturn(2926L)/
mdfSystemRecordStatusNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
positionNav" type="application/atom+xml;type=feed" title="positionNav"
href="PositionRightToReturn(2926L)/positionNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
loaTimeTypeNav" type="application/atom+xml;type=entry" title="loaTimeTypeNav"
href="PositionRightToReturn(2926L)/loaTimeTypeNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
userIdNav" type="application/atom+xml;type=entry" title="userIdNav"
href="PositionRightToReturn(2926L)/userIdNav"></link>
<category term="SFOData.PositionRightToReturn" scheme="http://
schemas.microsoft.com/ado/2007/08/dataservices/scheme"></category>
<content type="application/xml">
<m:properties>
<d:externalCode m:type="Edm.Int64">2926</d:externalCode>
<d:position>00000933</d:position>
<d:startDate m:type="Edm.DateTime">2017-06-19T00:00:00</
d:startDate>
<d:gaEventReason>Add GA</d:gaEventReason>
<d:reason>GLOBAL_ASSIGNMENT</d:reason>
<d:gaEndJobInfoId m:type="Edm.Int64">12814</d:gaEndJobInfoId>
<d:endDate m:type="Edm.DateTime">2017-06-23T00:00:00</d:endDate>
<d:effectiveStatus>I</d:effectiveStatus>
<d:lastModifiedDateTime
m:type="Edm.DateTimeOffset">2017-11-21T12:07:44Z</d:lastModifiedDateTime>
<d:loaTimeType m:null="true"></d:loaTimeType>
<d:createdBy>sd</d:createdBy>
<d:gaStartJobInfoId m:type="Edm.Int64">12811</d:gaStartJobInfoId>
<d:userId>116</d:userId>
<d:createdDateTime
m:type="Edm.DateTimeOffset">2017-11-21T12:07:44Z</d:createdDateTime>
<d:lastModifiedBy>sd</d:lastModifiedBy>
<d:mdfSystemRecordStatus>N</d:mdfSystemRecordStatus>
</m:properties>
</content>
</entry>

SAP SuccessFactors Employee Central OData API: Reference Guide


Position Management PUBLIC 391
</feed>

SAP SuccessFactors Employee Central OData API: Reference Guide


392 PUBLIC Position Management
14 Time & Attendance Management

14.1 Time Off Objects

In this section, you'll find the APIs available for Time Off. You can use Time Off to manage absences such as
vacation, sick leave, and paid time off.

Before using any of the Time Off entities described here, you need to switch on Time Off in the Admin Center. For
details of how to do this, take a look at the Switching On Time Off documentation in the Implementing Employee
Central Time Off guide.

In addition, you need to have permission to use the individual objects in question. For information on these
permissions, take a look at the Permissions in Time Off documentation in the Implementing Employee Central Time
Off guide.

14.1.1 AbsenceCountingMethod

You can enter an absence counting method in a time type, to determine which days are included in calculating an
absence taken of that particular time type. You can also determine the basis on which the calculation takes place
and the weekdays to which the calculation base should apply.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Code Examples

URI: http://<hostname>/odata/v2/AbsenceCountingMethod('ACM_EXAMPLE')$format=JSON

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/AbsenceCountingMethod('ACM_EXAMPLE')",
"type": "SFOData.AbsenceCountingMethod"
},
"externalCode": "ACM_EXAMPLE",
"externalName_ko_KR": null,
"mdfSystemObjectType": "AbsenceCountingMethod",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"monday": true,
"externalName_de_DE": null,
"externalName_localized": "ACM_EXAMPLE",
"externalName_defaultValue": "ACM_EXAMPLE",
"externalName_es_MX": null,
"lastModifiedDateTime": "/Date(1464005812000+0000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 393
"externalName_da_DK": null,
"mdfSystemTransactionSequence": "1",
"externalName_fi_FI": null,
"mdfSystemRecordId": "B1482C05967B45E3A5C09D23EE79AD9F",
"mdfSystemEntityId": "DC85B619655F4ECCA7F5984DDA64F049",
"mdfSystemStatus": "A",
"saturday": false,
"lastModifiedDateWithTZ": "/Date(1464005812000+0000)/",
"externalName_zh_TW": null,
"externalName_en_US": "ACM_EXAMPLE",
"tuesday": true,
"friday": false,
"externalName_en_SAP_SLS": null,
"createdDate": "/Date(1464013012000)/",
"externalName_ja_JP": null,
"mdfSystemRecordStatus": "N",
"thursday": true,
"externalName_pl_PL": null,
"country": null,
"wednesday": true,
"createdBy": "admin",
"externalName_it_IT": null,
"sunday": false,
"externalName_en_RTL": null,
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1464005812000+0000)/",
"base": "WORKSCHEDULE",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1464013012000)/",
"externalName_en_GB": null,
"externalName_es_ES": null,
"considerHolidays": true,
"externalName_nl_NL": null,
"externalName_zh_CN": null,
"externalName_en_DEBUG": null,
"externalName_fr_FR": null,
"externalNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/AbsenceCountingMethod('ACM_EXAMPLE')/
externalNameTranslationTextNav"
}
}
}
}

14.1.2 AccrualCalculationBase

The entity is used to store reported times (per user and date). The records need to be provided to this storage from
a data source outside Time Off, such as by import or integration using OData. The entity represents the raw data.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Code Examples

Example 1: Create a new entry

SAP SuccessFactors Employee Central OData API: Reference Guide


394 PUBLIC Time & Attendance Management
URI: http://<hostname>/odata/v2/upsert

Headers: Authorization: Basic <Base 64 encoded (“user@company:password”)>

Accept: application/json

Content-Type: application/json;charset=utf-8

Payload

{
"__metadata" : {
"uri" : "http://localhost:8080/odata/v2/
AccrualCalculationBase(externalCode='country_2015-12-28')",
"type" : "SFOData.AccrualCalculationBase"
},
"externalCode" : "country_2015-12-28",
"userId" : "country",
"actualQuantity" : 6,
"date" : "\/Date(1451260800000)\/"
}
Response:
{
"d" : [
{
"key" : null,
"status" : "OK",
"editStatus" : "UPSERTED",
"message" : null,
"index" : 0,
"httpCode" : 200,
"inlineResults" : null
}
]
}

Example 2: Retrieve data

URI: http://<hostname>/odata/v2/AccrualCalculationBase?$format=json

Operation: GET

Headers: Authorization: Basic <Base 64 encoded (“user@company:password”)>

Response:

{
"d" : {
"results" : [
{
"__metadata" : {
"uri" : "https://localhost:443/odata/v2/
AccrualCalculationBase('country_2015-12-28')", "type" :
"SFOData.AccrualCalculationBase"
},
"externalCode" : "country_2015-12-28",
"mdfSystemEffectiveEndDate" : "\/Date(253402214400000)\/", "mdfSystemObjectType" :
"AccrualCalculationBase",
"mdfSystemVersionId" : null,
"lastModifiedDateTime" : "\/Date(1451465919000+0000)\/",
"date" : "\/Date(1451260800000)\/",
"mdfSystemTransactionSequence" : "1",
"mdfSystemRecordId" : "02114EA3DE97476A910F425807E9C03E",
"mdfSystemEntityId" : "A38105E8A5354C81A7AF20895B66924F",
"userId" : "country",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 395
"mdfSystemStatus" : "A",
"lastModifiedDateWithTZ" : "\/Date(1451465919000+0000)\/",
"createdDate" : "\/Date(1451469519000)\/",
"mdfSystemRecordStatus" : "N",
"quantity3" : null,
"quantity4" : null,
"quantity5" : null,
"quantity1" : null,
"quantity2" : null,
"createdBy" : "daily",
"lastModifiedBy" : "daily",
"createdDateTime" : "\/Date(1451465919000+0000)\/",
"mdfSystemEffectiveStartDate" : "\/Date(-2208988800000)\/",
"lastModifiedDate" : "\/Date(1451469519000)\/",
"actualQuantity" : "6", "mdfSystemRecordStatusNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/
AccrualCalculationBase('country_2015-12-28')/mdfSystemRecordStatusNav"
}
}, "userIdNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/
AccrualCalculationBase('country_2015-12-28')/userIdNav"
}
}, "mdfSystemStatusNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/
AccrualCalculationBase('country_2015-12-28')/mdfSystemStatusNav"
}
}
}
]
}
}

14.1.3 AvailableTimeType

Contains information about the available time type, which is one of the time types that an employee is allowed to
take.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case

API Call Description

https://<hostname>/odata/v2/ Retrieves first Available Time Type record


AvailableTimeType?$top=1&$format=JSON

SAP SuccessFactors Employee Central OData API: Reference Guide


396 PUBLIC Time & Attendance Management
Code Examples

"d": {
"results": [
{
"__metadata": {
"uri": "https://<host.sap.com>/odata/v2/
AvailableTimeType(TimeTypeProfile_externalCode='TP_normal',externalCode='13')",
"type": "SFOData.AvailableTimeType"
},
"TimeTypeProfile_externalCode": "TP_normal",
"externalCode": "13",
"mdfSystemObjectType": "AvailableTimeType",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"favoriteTimeType": false,
"lastModifiedDateTime": "/Date(1457380136000+0000)/",
"hideAccountBalance": null,
"timeType": "TRAVEL",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "0E9AC4A2D7574B5B91D6AA865E529E76",
"createdBy": "sfadmin",
"mdfSystemEntityId": "5F277D467E2D42628AA4082BCA12A785",
"createdDateTime": "/Date(1440598493000+0000)/",
"enabledInEssScenario": true,
"lastModifiedBy": "sfadmin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1457362136000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1457380136000+0000)/",
"createdDate": "/Date(1440584093000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<host.sap.com>/odata/v2/
AvailableTimeType(TimeTypeProfile_externalCode='TP_normal',externalCode='13')/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<host.sap.com>/odata/v2/
AvailableTimeType(TimeTypeProfile_externalCode='TP_normal',externalCode='13')/
mdfSystemStatusNav"
}
},
"timeTypeNav": {
"__deferred": {
"uri": "https://<host.sap.com>/odata/v2/
AvailableTimeType(TimeTypeProfile_externalCode='TP_normal',externalCode='13')/
timeTypeNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 397
14.1.4 EmployeeTime

This entity contains information related to attendance times of hourly and salaried employees.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases

API Call Description

https://<hostname>/odata/v2/EmployeeTime?& Get employee time for the user defined in the call.
$format=json&$filter=userId%20eq
%20'sampleemployee'

Code Examples

{
d: {
results: [104]
0: {
__metadata: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')"
type: "SFOData.EmployeeTime"
}-
externalCode: "50f007dd864e448691e8f2cf0ae5f0fe"
quantityInDays: null
mdfSystemObjectType: "EmployeeTime"
cancellationWorkflowRequestId: null
endDate: "/Date(1420416000000)/"
lastModifiedDateTime: "/Date(1429101050000+0000)/"
endTime: null
timeType: "HGB_WORK"
startTime: null
cust_Division: null
mdfSystemRecordId: "93B1732C8E5545219D995A5E0C068E64"
mdfSystemEntityId: "7A3FCE07910B4CDEB28584A3F373526E"
userId: "raji1505emp"
fractionQuantity: null
approvalStatus: "APPROVED"
mdfSystemStatus: "A"
cust_company: null
createdDate: "/Date(1429101050000)/"
mdfSystemRecordStatus: "N"
cust_Department: null
editable: null
createdBy: "raji1505emp"
lastModifiedBy: "raji1505emp"
createdDateTime: "/Date(1429101050000+0000)/"
loaExpectedReturnDate: null
mdfSystemEffectiveStartDate: "/Date(-2208988800000)/"
comment: null
loaStartJobInfoId: null

SAP SuccessFactors Employee Central OData API: Reference Guide


398 PUBLIC Time & Attendance Management
startDate: "/Date(1420416000000)/"
mdfSystemEffectiveEndDate: "/Date(253402214400000)/"
mdfSystemVersionId: null
mdfSystemTransactionSequence: "1"
timeRecordOrigin: null
workflowRequestId: null
loaActualReturnDate: null
lastModifiedDateWithTZ: "/Date(1429101050000+0000)/"
quantityInHours: "10"
flexibleRequesting: null
deductionQuantity: "10"
loaEndJobInfoId: null
cust_BU: null
lastModifiedDate: "/Date(1429101050000)/"
cust_companyNav: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
cust_companyNav"
}-
}-
timeCalendar: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
timeCalendar"
}-
}-
timeTypeNav: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
timeTypeNav"
}-
}-
countryExtensionESP: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
countryExtensionESP"
}-
}-
approvalStatusNav: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
approvalStatusNav"
}-
}-
countryExtensionDEU: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
countryExtensionDEU"
}-
}-
mdfSystemStatusNav: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
mdfSystemStatusNav"
}-
}-
cust_DepartmentNav: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
cust_DepartmentNav"
}-
}-
timeRecordOriginNav: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
timeRecordOriginNav"
}-
}-

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 399
cust_BUNav: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
cust_BUNav"
}-
}-
cust_DivisionNav: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
cust_DivisionNav"
}-
}-
mdfSystemRecordStatusNav: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
mdfSystemRecordStatusNav"
}-
}-
userIdNav: {
__deferred: {
uri: "https://<hostname>/odata/v2/EmployeeTime('50f007dd864e448691e8f2cf0ae5f0fe')/
userIdNav"
}-
}-
}

14.1.5 EmployeeTime<Country>

Country-specific entities for EmployeeTime are available. Take a look at the sub-sections to see which countries are
supported with country-specific fields. These entities are child entities of EmployeeTime.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Colombia: EmployeeTimeCOL

Admin can use this object to store Colombia-specific details of an EmployeeTime created for sick leave. It is used
only Colombia is the country in the time type and contains only the GO reference to the EmployeeTimeGroup used
for linking of absences. This MDF is effective dated from parent

Germany: EmployeeTimeDEU

This entity contains information about employee time created for sick leave. It is specific to Germany and is a child
of the entity EmployeeTime.

SAP SuccessFactors Employee Central OData API: Reference Guide


400 PUBLIC Time & Attendance Management
Spain: EmployeeTimeESP

This entity contains information about employee time created for sick leave. It is specific to Spain and is a child of
the entity EmployeeTime.

Mexico: EmployeeTimeMEX

This entity contains information about employee time created for sick leave. It is specific to Mexico and contains
the field Reference Number which is only required for maintaining employee time in Mexico. Apart from this
country-specific field, this object also holds the GO reference to the group Identical Sicknesses which is used for
the linking of absences.
Sample Query for creating EmployeeTimeMex http://<Hostname>/odata/v2/EmployeeTime(‘<external-
code of Employee Time>’)/countryExtensionMEX

EmployeeTimeCOL [page 401]


This entity contains specific information for Colombia related to absence.

EmployeeTimeDEU [page 404]


This entity contains specific information for Germany related to absence.

EmployeeTimeESP [page 406]


This entity contains specific information for Spain related to absence.

EmployeeTimeMEX [page 407]


This entity contains specific information for Mexico related to absence.

14.1.5.1 EmployeeTimeCOL

This entity contains specific information for Colombia related to absence.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Code Examples

Example: Retrieve data of the EmployeeTimeDEU objects in JSON.

URI: http://<hostname>/odata/v2/EmployeeTimeDEU?$format=json

Method: GET

Response:

 Sample Code

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 401
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='592af6d3d06f410db56ab71aaecea896',exte
rnalCode=13714L)",
"type": "SFOData.EmployeeTimeDEU"
},
"externalCode": "13714",
"EmployeeTime_externalCode": "592af6d3d06f410db56ab71aaecea896",
"continuedPayEndDate": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "EmployeeTimeDEU",
"mdfSystemVersionId": null,
"identicalSicknessGroup": "2022ffa1320141fd93c070b9be459865",
"sicknessCertificateStartDate": null,
"lastModifiedDateTime": "/Date(1492598128000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "8F47FCE6A1DE4DE18287FACFEABD0E40",
"mdfSystemEntityId": "3C92D5967437427DB416737306F7239A",
"overlappingSicknessGroup": null,
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1492598128000+0000)/",
"createdDate": "/Date(1492598092000)/",
"mdfSystemRecordStatus": "N",
"paySupplementStartDate": null,
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1492598092000+0000)/",
"lastModifiedDate": "/Date(1492598128000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"continuedPayCreditedDays": null,
"paySupplementEndDate": null,
"overlappingSicknessGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='592af6d3d06f410db56ab71aaecea896',exte
rnalCode=13714L)/overlappingSicknessGroupNav"
}
},
"identicalSicknessGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='592af6d3d06f410db56ab71aaecea896',exte
rnalCode=13714L)/identicalSicknessGroupNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='592af6d3d06f410db56ab71aaecea896',exte
rnalCode=13714L)/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='592af6d3d06f410db56ab71aaecea896',exte
rnalCode=13714L)/mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='51a3d66425704772aa55b99be6c6a8ea',exte
rnalCode=13718L)",

SAP SuccessFactors Employee Central OData API: Reference Guide


402 PUBLIC Time & Attendance Management
"type": "SFOData.EmployeeTimeDEU"
},
"externalCode": "13718",
"EmployeeTime_externalCode": "51a3d66425704772aa55b99be6c6a8ea",
"continuedPayEndDate": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "EmployeeTimeDEU",
"mdfSystemVersionId": null,
"identicalSicknessGroup": "2022ffa1320141fd93c070b9be459865",
"sicknessCertificateStartDate": null,
"lastModifiedDateTime": "/Date(1492598128000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "0EB9391118494F7BA518FCF367FDD503",
"mdfSystemEntityId": "158C47611E7D4AD599812DEB9D407D3A",
"overlappingSicknessGroup": null,
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1492598128000+0000)/",
"createdDate": "/Date(1492598128000)/",
"mdfSystemRecordStatus": "N",
"paySupplementStartDate": null,
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1492598128000+0000)/",
"lastModifiedDate": "/Date(1492598128000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"continuedPayCreditedDays": null,
"paySupplementEndDate": null,
"overlappingSicknessGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='51a3d66425704772aa55b99be6c6a8ea',exte
rnalCode=13718L)/overlappingSicknessGroupNav"
}
},
"identicalSicknessGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='51a3d66425704772aa55b99be6c6a8ea',exte
rnalCode=13718L)/identicalSicknessGroupNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='51a3d66425704772aa55b99be6c6a8ea',exte
rnalCode=13718L)/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='51a3d66425704772aa55b99be6c6a8ea',exte
rnalCode=13718L)/mdfSystemStatusNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 403
14.1.5.2 EmployeeTimeDEU

This entity contains specific information for Germany related to absence.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Code Examples

Example: Retrieve data of the EmployeeTimeDEU objects in JSON.

URI: http://<hostname>/odata/v2/EmployeeTimeDEU?$format=json

Method: GET

Response:

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='592af6d3d06f410db56ab71aaecea896',exte
rnalCode=13714L)",
"type": "SFOData.EmployeeTimeDEU"
},
"externalCode": "13714",
"EmployeeTime_externalCode": "592af6d3d06f410db56ab71aaecea896",
"continuedPayEndDate": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "EmployeeTimeDEU",
"mdfSystemVersionId": null,
"identicalSicknessGroup": "2022ffa1320141fd93c070b9be459865",
"sicknessCertificateStartDate": null,
"lastModifiedDateTime": "/Date(1492598128000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "8F47FCE6A1DE4DE18287FACFEABD0E40",
"mdfSystemEntityId": "3C92D5967437427DB416737306F7239A",
"overlappingSicknessGroup": null,
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1492598128000+0000)/",
"createdDate": "/Date(1492598092000)/",
"mdfSystemRecordStatus": "N",
"paySupplementStartDate": null,
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1492598092000+0000)/",
"lastModifiedDate": "/Date(1492598128000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"continuedPayCreditedDays": null,
"paySupplementEndDate": null,
"overlappingSicknessGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='592af6d3d06f410db56ab71aaecea896',exte
rnalCode=13714L)/overlappingSicknessGroupNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


404 PUBLIC Time & Attendance Management
}
},
"identicalSicknessGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='592af6d3d06f410db56ab71aaecea896',exte
rnalCode=13714L)/identicalSicknessGroupNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='592af6d3d06f410db56ab71aaecea896',exte
rnalCode=13714L)/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='592af6d3d06f410db56ab71aaecea896',exte
rnalCode=13714L)/mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='51a3d66425704772aa55b99be6c6a8ea',exte
rnalCode=13718L)",
"type": "SFOData.EmployeeTimeDEU"
},
"externalCode": "13718",
"EmployeeTime_externalCode": "51a3d66425704772aa55b99be6c6a8ea",
"continuedPayEndDate": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "EmployeeTimeDEU",
"mdfSystemVersionId": null,
"identicalSicknessGroup": "2022ffa1320141fd93c070b9be459865",
"sicknessCertificateStartDate": null,
"lastModifiedDateTime": "/Date(1492598128000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "0EB9391118494F7BA518FCF367FDD503",
"mdfSystemEntityId": "158C47611E7D4AD599812DEB9D407D3A",
"overlappingSicknessGroup": null,
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1492598128000+0000)/",
"createdDate": "/Date(1492598128000)/",
"mdfSystemRecordStatus": "N",
"paySupplementStartDate": null,
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1492598128000+0000)/",
"lastModifiedDate": "/Date(1492598128000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"continuedPayCreditedDays": null,
"paySupplementEndDate": null,
"overlappingSicknessGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='51a3d66425704772aa55b99be6c6a8ea',exte
rnalCode=13718L)/overlappingSicknessGroupNav"
}
},
"identicalSicknessGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='51a3d66425704772aa55b99be6c6a8ea',exte
rnalCode=13718L)/identicalSicknessGroupNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 405
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='51a3d66425704772aa55b99be6c6a8ea',exte
rnalCode=13718L)/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeDEU(EmployeeTime_externalCode='51a3d66425704772aa55b99be6c6a8ea',exte
rnalCode=13718L)/mdfSystemStatusNav"
}
}
}
]
}
}

14.1.5.3 EmployeeTimeESP

This entity contains specific information for Spain related to absence.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Code Examples

Example: Retrieve data of the EmployeeTimeESP objects in JSON. (In this case there are no such objects)

URI: http://<hostname>/odata/v2/EmployeeTimeESP?$format=json

Method: GET

Response:

 Sample Code

{
"d": {
"results": []
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


406 PUBLIC Time & Attendance Management
14.1.5.4 EmployeeTimeMEX

This entity contains specific information for Mexico related to absence.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Code Examples

Example: Retrieve data of the EmployeeTimeMEX objects in JSON. (In this case there are no such objects)

URI: http://<hostname>/odata/v2/EmployeeTimeMEX?$format=json

Method: GET

Response

 Sample Code

{
"d": {
"results": []
}
}

14.1.6 EmployeeTimeCalendar

Contains absence information on a daily basis. There is one entry for every working day with the relevant number of
days and number of hours. For example, if there is a half day absence on an eight-hour working day, the resulting
calendar entry has 0.5 days and 4 hours

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

OData Examples

Example – Retrieve data of the employee time calendar which belongs to the employee time with specific external
code

URI http://<hostname>/odata/v2/
EmployeeTimeCalendar(EmployeeTime_externalCode=57d8c995114f421eb97ebcce2a9c3324',externalCode='57d
8c995114f421eb97ebcce2a9c3324'')?$format=json

Headers: Authorization: Basic <Base 64 encoded (“user@company:password”)>

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 407
 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeCalendar(EmployeeTime_externalCode='9d59e47c10434d91afeb3fd664c01093'
,externalCode='57d8c995114f421eb97ebcce2a9c3324')",
"type": "SFOData.EmployeeTimeCalendar"
},
"externalCode": "57d8c995114f421eb97ebcce2a9c3324",
"EmployeeTime_externalCode": "9d59e47c10434d91afeb3fd664c01093",
"quantityInDays": "1",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "EmployeeTimeCalendar",
"workScheduleInternalId": "50257",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1486480298000+0000)/",
"endTime": null,
"date": "/Date(1486425600000)/",
"mdfSystemTransactionSequence": "1",
"startTime": null,
"mdfSystemRecordId": "C663DFE9A67E43289A3183B51B614CF0",
"mdfSystemEntityId": "C1ADC4497A9E44C9878F1FEC00753817",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1486480298000+0000)/",
"createdDate": "/Date(1486462298000)/",
"quantityInHours": "8",
"mdfSystemRecordStatus": "N",
"deductionQuantity": "1",
"createdBy": "sfadmin",
"lastModifiedBy": "sfadmin",
"createdDateTime": "/Date(1486480298000+0000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1486462298000)/",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeCalendar(EmployeeTime_externalCode='9d59e47c10434d91afeb3fd664c01093'
,externalCode='57d8c995114f421eb97ebcce2a9c3324')/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeCalendar(EmployeeTime_externalCode='9d59e47c10434d91afeb3fd664c01093'
,externalCode='57d8c995114f421eb97ebcce2a9c3324')/mdfSystemStatusNav"
}
}
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


408 PUBLIC Time & Attendance Management
14.1.7 EmployeeTimeGroup

The entity is used to group EmployeeTime objects for special use cases. Currently it is used for recurring absences
and linking of absences.

Operations Allowed

Operation Description

GET Query a record

Properties

This table shows the required fields and business keys for this entity. Check the OData API dictionary in your
instance to see the complete list of properties, and check your metadata for navigations and associations.

Property Business Key Required Field Description

externalCode Yes Yes External Code

userId No Yes External Name for all relevant


languages

itemsCategory No Yes AThis indicates what items


this employee time group con­
tains. Values: LINKED_AB­
SENCES or RECURRING_AB­
SENCES

Navigation Properties

Navigation Propertz Related Entity Description

items EmployeeTimeGroupItem Navigation to EmployeeTimeGroupItem

userIdNav User Navigation to User

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 409
Code Examples

URI: http://<hostname>/odata/v2/EmployeeTimeGroup('76931234932b4666820c4be07a0a7c2a')?
$expand=items&$format=JSON

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroup('76931234932b4666820c4be07a0a7c2a')",
"type": "SFOData.EmployeeTimeGroup"
},
"externalCode": "76931234932b4666820c4be07a0a7c2a",
"mdfSystemObjectType": "EmployeeTimeGroup",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1461325378000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "7EC32545B28C4888AF677383389ED2AF",
"createdBy": "admin",
"mdfSystemEntityId": "42D3F5A0CF3F47BA8ED3D9B42A029444",
"userId": "mhoff",
"createdDateTime": "/Date(1461325377000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1461332578000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"itemsCategory": "LINKED_ABSENCES",
"lastModifiedDateWithTZ": "/Date(1461325378000+0000)/",
"createdDate": "/Date(1461332577000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroup('76931234932b4666820c4be07a0a7c2a')/mdfSystemRecordStatusNav"
}
},
"itemsCategoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroup('76931234932b4666820c4be07a0a7c2a')/itemsCategoryNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroup('76931234932b4666820c4be07a0a7c2a')/userIdNav"
}
},
"items": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='462e517c09dc49248f6d25b704ede3ac')",
"type": "SFOData.EmployeeTimeGroupItem"
},
"EmployeeTimeGroup_externalCode": "76931234932b4666820c4be07a0a7c2a",
"mdfSystemExternalCode": "462e517c09dc49248f6d25b704ede3ac",
"mdfSystemObjectType": "EmployeeTimeGroupItem",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"employeeTime": "ad2946e1c07d4f97a61535c0b7f796aa",

SAP SuccessFactors Employee Central OData API: Reference Guide


410 PUBLIC Time & Attendance Management
"lastModifiedDateTime": "/Date(1461325378000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "AD58F8FFFCD741F7974C3ADDF0C96DE6",
"createdBy": "admin",
"mdfSystemEntityId": "197DDFB6AF8E4D61AFBE5FF516C0F8DD",
"createdDateTime": "/Date(1461325378000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1461332578000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1461325378000+0000)/",
"comment": null,
"createdDate": "/Date(1461332578000)/",
"mdfSystemRecordStatus": "N",
"employeeTimeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='462e517c09dc49248f6d25b704ede3ac')/employeeTimeNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='462e517c09dc49248f6d25b704ede3ac')/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='462e517c09dc49248f6d25b704ede3ac')/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='2eec85bedcb54f4bac432c743a61d394')",
"type": "SFOData.EmployeeTimeGroupItem"
},
"EmployeeTimeGroup_externalCode": "76931234932b4666820c4be07a0a7c2a",
"mdfSystemExternalCode": "2eec85bedcb54f4bac432c743a61d394",
"mdfSystemObjectType": "EmployeeTimeGroupItem",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"employeeTime": "2bbf683e5d504e7e8ec955c2698ddc56",
"lastModifiedDateTime": "/Date(1461325378000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "B410E96B4B87460586A89D7C93BFDCE1",
"createdBy": "admin",
"mdfSystemEntityId": "7C2A5E6D782645F4A99553BD6CBA9A06",
"createdDateTime": "/Date(1461325378000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1461332578000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1461325378000+0000)/",
"comment": null,
"createdDate": "/Date(1461332578000)/",
"mdfSystemRecordStatus": "N",
"employeeTimeNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 411
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='2eec85bedcb54f4bac432c743a61d394')/employeeTimeNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='2eec85bedcb54f4bac432c743a61d394')/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='2eec85bedcb54f4bac432c743a61d394')/
mdfSystemStatusNav"
}
}
}
]
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroup('76931234932b4666820c4be07a0a7c2a')/mdfSystemStatusNav"
}
}
}
}

14.1.8 EmployeeTimeGroupItem

This entity is an item of an EmployeeTimeGroup. It stores a reference to an EmployeeTime.

Operation Allowed Description

GET Query record

Properties

This table shows the required fields and business keys for this entity. Check the OData API dictionary in your
instance to see the complete list of properties, and check your metadata for navigations and associations.

Property Business Key Required Field Description

externalCode Yes Yes External Code

comment No Yes Optional comment

SAP SuccessFactors Employee Central OData API: Reference Guide


412 PUBLIC Time & Attendance Management
Navigation Properties

Navigation Propertz Related Entity Description

employeeTimeNav User Navigation to EmployeeTime

Code Examples

URI: http://<hostname>/odata/v2/EmployeeTimeGroup('76931234932b4666820c4be07a0a7c2a')?
$select=items&$expand=items,items/employeeTimeNav&$format=JSON

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroup('76931234932b4666820c4be07a0a7c2a')",
"type": "SFOData.EmployeeTimeGroup"
},
"items": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='462e517c09dc49248f6d25b704ede3ac')",
"type": "SFOData.EmployeeTimeGroupItem"
},
"EmployeeTimeGroup_externalCode": "76931234932b4666820c4be07a0a7c2a",
"mdfSystemExternalCode": "462e517c09dc49248f6d25b704ede3ac",
"mdfSystemObjectType": "EmployeeTimeGroupItem",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"employeeTime": "ad2946e1c07d4f97a61535c0b7f796aa",
"lastModifiedDateTime": "/Date(1461325378000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "AD58F8FFFCD741F7974C3ADDF0C96DE6",
"createdBy": "admin",
"mdfSystemEntityId": "197DDFB6AF8E4D61AFBE5FF516C0F8DD",
"createdDateTime": "/Date(1461325378000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1461332578000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1461325378000+0000)/",
"comment": null,
"createdDate": "/Date(1461332578000)/",
"mdfSystemRecordStatus": "N",
"employeeTimeNav": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('ad2946e1c07d4f97a61535c0b7f796aa')",
"type": "SFOData.EmployeeTime"
},
"externalCode": "ad2946e1c07d4f97a61535c0b7f796aa",
"quantityInDays": "1",
"mdfSystemObjectType": "EmployeeTime",
"cancellationWorkflowRequestId": null,
"endDate": "/Date(1461024000000)/",
"lastModifiedDateTime": "/Date(1461325378000+0000)/",
"endTime": null,
"timeType": "SICK_LEAVE_ESP",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 413
"startTime": null,
"mdfSystemRecordId": "B286283D196A41E682D1496F25092A11",
"mdfSystemEntityId": "2EFE4056015046FCBB092E541FEE3E64",
"userId": "vdelbosque",
"fractionQuantity": "1",
"approvalStatus": "APPROVED",
"mdfSystemStatus": "A",
"createdDate": "/Date(1461330833000)/",
"mdfSystemRecordStatus": "N",
"undeterminedEndDate": false,
"editable": true,
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1461323633000+0000)/",
"loaExpectedReturnDate": null,
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"comment": null,
"loaStartJobInfoId": null,
"startDate": "/Date(1461024000000)/",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"recurrenceGroup": null,
"mdfSystemTransactionSequence": "1",
"timeRecordOrigin": null,
"workflowRequestId": null,
"loaActualReturnDate": null,
"lastModifiedDateWithTZ": "/Date(1461325378000+0000)/",
"quantityInHours": "8",
"flexibleRequesting": false,
"deductionQuantity": "1",
"loaEndJobInfoId": null,
"originalQuantityInDays": "1",
"lastModifiedDate": "/Date(1461332578000)/",
"recurrenceGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('ad2946e1c07d4f97a61535c0b7f796aa')/recurrenceGroupNav"
}
},
"timeCalendar": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('ad2946e1c07d4f97a61535c0b7f796aa')/timeCalendar"
}
},
"countryExtensionESP": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('ad2946e1c07d4f97a61535c0b7f796aa')/countryExtensionESP"
}
},
"timeTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('ad2946e1c07d4f97a61535c0b7f796aa')/timeTypeNav"
}
},
"approvalStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('ad2946e1c07d4f97a61535c0b7f796aa')/approvalStatusNav"
}
},
"countryExtensionDEU": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('ad2946e1c07d4f97a61535c0b7f796aa')/countryExtensionDEU"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


414 PUBLIC Time & Attendance Management
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('ad2946e1c07d4f97a61535c0b7f796aa')/mdfSystemStatusNav"
}
},
"timeRecordOriginNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('ad2946e1c07d4f97a61535c0b7f796aa')/timeRecordOriginNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('ad2946e1c07d4f97a61535c0b7f796aa')/mdfSystemRecordStatusNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('ad2946e1c07d4f97a61535c0b7f796aa')/userIdNav"
}
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='462e517c09dc49248f6d25b704ede3ac')/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='462e517c09dc49248f6d25b704ede3ac')/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='2eec85bedcb54f4bac432c743a61d394')",
"type": "SFOData.EmployeeTimeGroupItem"
},
"EmployeeTimeGroup_externalCode": "76931234932b4666820c4be07a0a7c2a",
"mdfSystemExternalCode": "2eec85bedcb54f4bac432c743a61d394",
"mdfSystemObjectType": "EmployeeTimeGroupItem",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"employeeTime": "2bbf683e5d504e7e8ec955c2698ddc56",
"lastModifiedDateTime": "/Date(1461325378000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "B410E96B4B87460586A89D7C93BFDCE1",
"createdBy": "admin",
"mdfSystemEntityId": "7C2A5E6D782645F4A99553BD6CBA9A06",
"createdDateTime": "/Date(1461325378000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1461332578000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1461325378000+0000)/",
"comment": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 415
"createdDate": "/Date(1461332578000)/",
"mdfSystemRecordStatus": "N",
"employeeTimeNav": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('2bbf683e5d504e7e8ec955c2698ddc56')",
"type": "SFOData.EmployeeTime"
},
"externalCode": "2bbf683e5d504e7e8ec955c2698ddc56",
"quantityInDays": "1",
"mdfSystemObjectType": "EmployeeTime",
"cancellationWorkflowRequestId": null,
"endDate": "/Date(1460937600000)/",
"lastModifiedDateTime": "/Date(1461325378000+0000)/",
"endTime": null,
"timeType": "SICK_LEAVE_ESP",
"startTime": null,
"mdfSystemRecordId": "871E929757174F8E97DB9DD788AD1CEC",
"mdfSystemEntityId": "A31ADC02E0964AD4BC80FE8E1EC2695C",
"userId": "vdelbosque",
"fractionQuantity": "1",
"approvalStatus": "APPROVED",
"mdfSystemStatus": "A",
"createdDate": "/Date(1461330424000)/",
"mdfSystemRecordStatus": "N",
"undeterminedEndDate": false,
"editable": true,
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1461323224000+0000)/",
"loaExpectedReturnDate": null,
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"comment": null,
"loaStartJobInfoId": null,
"startDate": "/Date(1460937600000)/",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"recurrenceGroup": null,
"mdfSystemTransactionSequence": "1",
"timeRecordOrigin": null,
"workflowRequestId": null,
"loaActualReturnDate": null,
"lastModifiedDateWithTZ": "/Date(1461325378000+0000)/",
"quantityInHours": "8",
"flexibleRequesting": false,
"deductionQuantity": "1",
"loaEndJobInfoId": null,
"originalQuantityInDays": "1",
"lastModifiedDate": "/Date(1461332578000)/",
"recurrenceGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('2bbf683e5d504e7e8ec955c2698ddc56')/recurrenceGroupNav"
}
},
"timeCalendar": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('2bbf683e5d504e7e8ec955c2698ddc56')/timeCalendar"
}
},
"countryExtensionESP": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('2bbf683e5d504e7e8ec955c2698ddc56')/countryExtensionESP"
}
},
"timeTypeNav": {

SAP SuccessFactors Employee Central OData API: Reference Guide


416 PUBLIC Time & Attendance Management
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('2bbf683e5d504e7e8ec955c2698ddc56')/timeTypeNav"
}
},
"approvalStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('2bbf683e5d504e7e8ec955c2698ddc56')/approvalStatusNav"
}
},
"countryExtensionDEU": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('2bbf683e5d504e7e8ec955c2698ddc56')/countryExtensionDEU"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('2bbf683e5d504e7e8ec955c2698ddc56')/mdfSystemStatusNav"
}
},
"timeRecordOriginNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('2bbf683e5d504e7e8ec955c2698ddc56')/timeRecordOriginNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('2bbf683e5d504e7e8ec955c2698ddc56')/mdfSystemRecordStatusNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTime('2bbf683e5d504e7e8ec955c2698ddc56')/userIdNav"
}
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='2eec85bedcb54f4bac432c743a61d394')/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
EmployeeTimeGroupItem(EmployeeTimeGroup_externalCode='76931234932b4666820c4be07a0
a7c2a',mdfSystemExternalCode='2eec85bedcb54f4bac432c743a61d394')/
mdfSystemStatusNav"
}
}
}
]
}
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 417
14.1.9 Holiday

You use the Holiday object to create holidays for inclusion in a holiday calendar.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case: Get Specified Holiday

Request Information

URI http://<Hostname>/odata/v2/Holiday?
$format=json&$filter=holidayCode%20eq
%20'FR-Victory Day

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/Holiday('FR-Victory
Day')",
"type": "SFOData.Holiday"
},
"holidayCode": "FR-Victory Day",
"name_ko_KR": "유럽 전승 기념일",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "Holiday",
"mdfSystemVersionId": null,
"name_ru_RU": "День Победы в Европе (Франция)",
"lastModifiedDateTime": "/Date(1461163954000+0000)/",
"name_ja_JP": "ヨーロッパ戦勝記念日",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "E49E3AB6C7D14896A6C1FFD4E839A315",
"mdfSystemEntityId": "139D108B9314467783E6AB93FE05FC98",
"name_localized": "Victory in Europe Day",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1461163954000+0000)/",
"name_es_ES": "Día de la Victoria en Europa",
"createdDate": "/Date(1443711833000)/",
"name_defaultValue": "Victory in Europe Day",
"name_fr_FR": "Jour de la Victoire en Europe",
"mdfSystemRecordStatus": "N",
"name_en_US": "Victory in Europe Day",
"name_pt_BR": "Dia da Vitória da Forças Aliadas na Europa",
"oldName": null,
"name_zh_CN": "欧洲胜利日(法国)",
"country": "FRA",
"createdBy": "sfadmin",
"name_de_DE": "Tag des Sieges",

SAP SuccessFactors Employee Central OData API: Reference Guide


418 PUBLIC Time & Attendance Management
"lastModifiedBy": "sfadmin",
"createdDateTime": "/Date(1443726233000+0000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1461149554000)/",
"name_en_GB": "Victory in Europe Day",
"countryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/Holiday('FR-Victory
Day')/countryNav"
}
},
"nameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/Holiday('FR-Victory
Day')/nameTranslationTextNav"
}
},
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/Holiday('FR-Victory
Day')/wfRequestNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/Holiday('FR-Victory
Day')/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/Holiday('FR-Victory
Day')/mdfSystemStatusNav"
}
}
}
]
}
}

14.1.10 HolidayCalendar

A holiday calendar defines all relevant public holidays for an employee.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 419
Use Cases

API Call Description

http://<hostname>/odata/v2/HolidayCalendar?$for­ Get a holiday calendar for country defined in the call (USA) and
mat=json&$filter=country%20eq%20'USA' in JSON format.

Code Responses: Filter holiday calendar by country

http://<hostname>/odata/v2/HolidayCalendar?$format=json&$filter=country%20eq%20'USA'

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/HolidayCalendar('USA')",
"type": "SFOData.HolidayCalendar"
},
"externalCode": "USA",
"name_ko_KR": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "HolidayCalendar",
"mdfSystemVersionId": null,
"name_ru_RU": null,
"lastModifiedDateTime": "/Date(1461164062000+0000)/",
"name_ja_JP": null,
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "935BC7ACBB31419D95265B6AC2699860",
"mdfSystemEntityId": "10AE9CC099AB718BE0530B28080AD5E1",
"name_localized": "USA",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1461164062000+0000)/",
"name_es_ES": null,
"createdDate": "/Date(1443711857000)/",
"name_defaultValue": "USA",
"name_fr_FR": null,
"mdfSystemRecordStatus": "N",
"name_en_US": "USA",
"name_pt_BR": null,
"oldName": null,
"name_zh_CN": null,
"country": "USA",
"createdBy": "sfadmin",
"name_de_DE": null,
"lastModifiedBy": "sfadmin",
"createdDateTime": "/Date(1443726257000+0000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1461149662000)/",
"name_en_GB": null,
"holidayAssignments": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
HolidayCalendar('USA')/holidayAssignments"
}
},
"countryNav": {

SAP SuccessFactors Employee Central OData API: Reference Guide


420 PUBLIC Time & Attendance Management
"__deferred": {
"uri": "https://<hostname>/odata/v2/
HolidayCalendar('USA')/countryNav"
}
},
"nameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
HolidayCalendar('USA')/nameTranslationTextNav"
}
},
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
HolidayCalendar('USA')/wfRequestNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
HolidayCalendar('USA')/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
HolidayCalendar('USA')/mdfSystemStatusNav"
}
}
}
]
}
}

14.1.11 ShiftClassification

This object defines the shift classification for either a whole work schedule or a day model. It only holds
information.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Properties

This table shows the required fields and business keys for this entity. Check the OData API dictionary in your
instance to see the complete list of properties, and check your metadata for navigations and associations.

Property Business Key Required Field Description

externalCode Yes Yes External Code

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 421
Property Business Key Required Field Description

externalName No Yes External Name for all relevant


languages

country No No Absence counting methods


can be country-specific. If this
one is, the relevant country
appears here.

Code Examples

URI: http://<hostname>/odata/v2/restricted/ShiftClassification('LATE_SHIFT')?$format=JSON

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/restricted/
ShiftClassification('LATE_SHIFT')",
"type": "SFOData.ShiftClassification"
},
"externalCode": "LATE_SHIFT",
"externalName_ko_KR": null,
"mdfSystemObjectType": "ShiftClassification",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"externalName_de_DE": "Spätschicht",
"externalName_localized": "Late Shift",
"externalName_defaultValue": "Late Shift",
"externalName_es_MX": null,
"lastModifiedDateTime": "/Date(1464014355000+0000)/",
"externalName_da_DK": null,
"mdfSystemTransactionSequence": "1",
"externalName_fi_FI": null,
"mdfSystemRecordId": "660CD9D767214291B4EF30BF7AC20174",
"mdfSystemEntityId": "35E1CD6E033C4A588BE8AAD064F8F4AE",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1464014355000+0000)/",
"externalName_zh_TW": null,
"externalName_en_US": "Late Shift",
"externalName_en_SAP_SLS": null,
"createdDate": "/Date(1464021555000)/",
"externalName_ja_JP": null,
"mdfSystemRecordStatus": "N",
"externalName_pl_PL": null,
"country": "DEU",
"createdBy": "admin",
"externalName_it_IT": null,
"externalName_en_RTL": null,
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1464014355000+0000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1464021555000)/",
"externalName_en_GB": null,
"externalName_es_ES": null,
"externalName_nl_NL": null,
"externalName_zh_CN": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


422 PUBLIC Time & Attendance Management
"externalName_en_DEBUG": null,
"externalName_fr_FR": null,
"externalNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
ShiftClassification('LATE_SHIFT')/externalNameTranslationTextNav"
}
}
}
}

14.1.12 TemporaryTimeInformation

This entity defines deviating time information for a specific period for a specific user. It is used, for example, if an
employee is on vacation and someone else needs to take over his or her work schedule for the vacation period.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Properties

This table shows the required fields and business keys for this entity. Check the OData API dictionary in your
instance to see the complete list of properties, and check your metadata for navigations and associations.

Property Business Key Required Field Description

externalCode Yes Yes External Code

startDate No Yes This is the date from which the


Temporary Time Information
applies

endDate No Yes This is the date until which the


Temporary Time Information
applies

comment No No Optional comment field

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 423
Navigation Properties

Navigation Property Related Entity Description

workScheduleNav Navigation to WorkSchedule

userIdNav Navigation to User

Code Examples

URI: http://<hostname>/odata/v2/restricted/
TemporaryTimeInformation('d9ad6aea798143d599c63e9f4f251048')?$format=JSON{

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/restricted/
TemporaryTimeInformation('d9ad6aea798143d599c63e9f4f251048')",
"type": "SFOData.TemporaryTimeInformation"
},
"externalCode": "d9ad6aea798143d599c63e9f4f251048",
"startDate": "/Date(1450569600000)/",
"mdfSystemObjectType": "TemporaryTimeInformation",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"workSchedule": "i90306d711",
"endDate": "/Date(1451088000000)/",
"effectiveStatus": "A",
"lastModifiedDateTime": "/Date(1450424588000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "7E23FCD86F7B49568C902989041B1C94",
"createdBy": "admin",
"mdfSystemEntityId": "552984EB4B424F7481EA66DF3F9C2A7A",
"userId": "mhoff",
"createdDateTime": "/Date(1450424588000+0000)/",
"lastModifiedBy": "admin",
"lastModifiedDate": "/Date(1450428188000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1450424588000+0000)/",
"comment": null,
"createdDate": "/Date(1450428188000)/",
"mdfSystemRecordStatus": "N",
"userIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
TemporaryTimeInformation('d9ad6aea798143d599c63e9f4f251048')/userIdNav"
}
},
"workScheduleNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
TemporaryTimeInformation('d9ad6aea798143d599c63e9f4f251048')/workScheduleNav"
}
}
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


424 PUBLIC Time & Attendance Management
14.1.13 TimeAccount

When an employee has a time profile assigned with time types that refer to time account types, time accounts need
to be created. This is done automatically when you assign a time profile to an employee’s job information and also
during the account creation calendar run.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Major Navigations

● timeAccountDetails – Navigation to account bookings resulting from different scenarios like leave request
creation, calendar runs, or manual adjustments

 Remember

To query TimeAccountDetails and use filtering you need to query the TimeAccountDetail, not the TimeAccount
object with expand to timeAccountDetails.

Code Examples

Example 1: Retrieve data of the time accounts for user Carla Grant of time account type sickness with all
included bookings in JSON.

URI: http://<hostname>/odata/v2/TimeAccount?$filter=userId%20eq%20'cgrant1'%20and%20accountType
%20eq%20'SICKNESS_CURRENT'&$expand=timeAccountDetails&$format=json

Method: GET

Response:

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
TimeAccount('cgrant_sick_current')",
"type": "SFOData.TimeAccount"
},
"externalCode": "cgrant_sick_current",
"startDate": "/Date(978307200000)/",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 425
"mdfSystemObjectType": "TimeAccount",
"mdfSystemVersionId": null,
"accountClosed": false,
"endDate": "/Date(253402214400000)/",
"lastModifiedDateTime": "/Date(1493903577000+0000)/",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "0D15EB00E6DF6032E0537A54740A259C",
"mdfSystemEntityId": "0D15EB00F5BA6032E0537A54740A259C",
"userId": "cgrant1",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1493903577000+0000)/",
"createdDate": "/Date(1351138546000)/",
"mdfSystemRecordStatus": "N",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1351138546000+0000)/",
"bookingEndDate": "/Date(253402214400000)/",
"accountType": "SICKNESS_CURRENT",
"lastModifiedDate": "/Date(1493903577000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"bookingStartDate": "/Date(978307200000)/",
"timeAccountDetails": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='1'
)",
"type": "SFOData.TimeAccountDetail"
},
"TimeAccount_externalCode": "cgrant_sick_current",
"externalCode": "1",
"mdfSystemObjectType": "TimeAccountDetail",
"mdfSystemEffectiveEndDate": "/
Date(253402214400000)/",
"mdfSystemVersionId": null,
"bookingUnit": "DAYS",
"referenceObject": null,
"bookingType": "ENTITLEMENT",
"changeCalendar": null,
"lastModifiedDateTime": "/Date(1378204814000+0000)/",
"calendarEntry": null,
"payoutAccrualSeparated": null,
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId":
"0D15EB0096146032E0537A54740A259C",
"mdfSystemEntityId":
"0D15EB00F5BB6032E0537A54740A259C",
"advanced": null,
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/
Date(1378204814000+0000)/",
"createdDate": "/Date(1351138546000)/",
"mdfSystemRecordStatus": "N",
"bookingDate": "/Date(1325376000000)/",
"employeeTime": null,
"accrualPeriodId": null,
"bookingAmount": "10",
"createdBy": "admin",
"createdDateTime": "/Date(1351138546000+0000)/",
"lastModifiedBy": "v4admin",
"lastModifiedDate": "/Date(1378204814000)/",
"mdfSystemEffectiveStartDate": "/
Date(-2208988800000)/",
"comment": null,
"employeeTimeNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


426 PUBLIC Time & Attendance Management
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='1'
)/employeeTimeNav"
}
},
"calendarEntryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='1'
)/calendarEntryNav"
}
},
"bookingTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='1'
)/bookingTypeNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='1'
)/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='1'
)/mdfSystemStatusNav"
}
},
"bookingUnitNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='1'
)/bookingUnitNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='ae
be6e70d4a94c49b1db3bf5e64bff7d')",
"type": "SFOData.TimeAccountDetail"
},
"TimeAccount_externalCode": "cgrant_sick_current",
"externalCode": "aebe6e70d4a94c49b1db3bf5e64bff7d",
"mdfSystemObjectType": "TimeAccountDetail",
"mdfSystemEffectiveEndDate": "/
Date(253402214400000)/",
"mdfSystemVersionId": null,
"bookingUnit": "DAYS",
"referenceObject": null,
"bookingType": "EMPLOYEE_TIME",
"changeCalendar": null,
"lastModifiedDateTime": "/Date(1493903577000+0000)/",
"calendarEntry": "5350e115071f4c5db3c62bfd0c194581",
"payoutAccrualSeparated": null,
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId":
"AC26CE6E8DE241B88344516DA0993525",
"mdfSystemEntityId":
"58183CE6A64D427D8E9061D861779454",
"advanced": false,
"mdfSystemStatus": "A",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 427
"lastModifiedDateWithTZ": "/
Date(1493903577000+0000)/",
"createdDate": "/Date(1493903577000)/",
"mdfSystemRecordStatus": "N",
"bookingDate": "/Date(1493856000000)/",
"employeeTime": "29b4d38647c5493da65722bf3aee8756",
"accrualPeriodId": null,
"bookingAmount": "-1",
"createdBy": "admin",
"createdDateTime": "/Date(1493903577000+0000)/",
"lastModifiedBy": "admin",
"lastModifiedDate": "/Date(1493903577000)/",
"mdfSystemEffectiveStartDate": "/
Date(-2208988800000)/",
"comment": null,
"employeeTimeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='ae
be6e70d4a94c49b1db3bf5e64bff7d')/employeeTimeNav"
}
},
"calendarEntryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='ae
be6e70d4a94c49b1db3bf5e64bff7d')/calendarEntryNav"
}
},
"bookingTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='ae
be6e70d4a94c49b1db3bf5e64bff7d')/bookingTypeNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='ae
be6e70d4a94c49b1db3bf5e64bff7d')/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='ae
be6e70d4a94c49b1db3bf5e64bff7d')/mdfSystemStatusNav"
}
},
"bookingUnitNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='cgrant_sick_current',externalCode='ae
be6e70d4a94c49b1db3bf5e64bff7d')/bookingUnitNav"
}
}
}
]
},
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccount('cgrant_sick_current')/wfRequestNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


428 PUBLIC Time & Attendance Management
"uri": "https://<hostname>/odata/v2/
TimeAccount('cgrant_sick_current')/mdfSystemRecordStatusNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccount('cgrant_sick_current')/userIdNav"
}
},
"accountTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccount('cgrant_sick_current')/accountTypeNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccount('cgrant_sick_current')/mdfSystemStatusNav"
}
}
}
]
}
}

Example 2: Create a new time account for user Carla Grant of time account type Standard_ACM for the year
2018.

URI: http://<hostname>/odata/v2/TimeAccount?$format=json

Method: POST

Body:

 Sample Code

{
"externalCode": "TA_odata",
"startDate": "/Date(1514764800000)/",
"endDate": "/Date(1546214400000)/",
"userId": "cgrant1",
"bookingEndDate": "/Date(1546214400000)/",
"bookingStartDate": "/Date(1514764800000)/",
"accountTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')"
}
}
}

Response:

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/TimeAccount('TA_odata')",
"type": "SFOData.TimeAccount"
},
"startDate": "/Date(1514764800000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 429
"endDate": "/Date(1546214400000)/",
"userId": "cgrant1",
"bookingEndDate": "/Date(1546214400000)/",
"bookingStartDate": "/Date(1514764800000)/",
"externalCode": "TA_odata",
"accountTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeAccount('TA_odata')/
accountTypeNav"
}
}
}
}

Example 3: Close the time account for user Carla Grant of time account type Standard_ACM for the year
2018.

URI: http://<hostname>/odata/v2/TimeAccount('TA_odata')?$format=json

Method: PUT

Body:

 Sample Code

{
"externalCode": "TA_odata",
"startDate": "/Date(1514764800000)/",
"endDate": "/Date(1546214400000)/",
"userId": "cgrant1",
"bookingEndDate": "/Date(1546214400000)/",
"bookingStartDate": "/Date(1514764800000)/",
"accountClosed": true,
"accountTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')"
}
}
}

Example 4: Update or insert a time account for user Carla Grant of time account type Standard_ACM for
the year 2018.

URI: http://<hostname>/odata/v2/upsert?$format=JSON

Method: POST

Body:

 Sample Code

{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
TimeAccount('TA_odata')",
"type": "SFOData.TimeAccount"
},
"externalCode": "TA_odata",
"startDate": "/Date(1514764800000)/",
"endDate": "/Date(1546214400000)/",
"userId": "cgrant1",

SAP SuccessFactors Employee Central OData API: Reference Guide


430 PUBLIC Time & Attendance Management
"bookingEndDate": "/Date(1546214400000)/",
"bookingStartDate": "/Date(1514764800000)/",
"accountTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')"
}
}
}

Response:

 Sample Code

{
"d": [
{
"key": null,
"status": "OK",
"editStatus": "UPSERTED",
"message": null,
"index": 0,
"httpCode": 200,
"inlineResults": null
}
]
}

Example 5: Delete a time account

URI: http://<hostname>/odata/v2/TimeAccount('TA_odata')?$format=JSON

Method: DELETE

14.1.14 TimeAccountDetail
The entity describes account bookings resulting from different scenarios such as leave request creation or manual
adjustments.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

 Tip

We recommend that you only use the OData API to create Time Account Details that use the Manual
Adjustment booking type to adjust the time account accruals which have been calculated by Employee Central
Time Off. The OData API is not intended to create Time Account Details with the Accrual or Entitlement posting
types. These are calculated outside of the system, and Employee Central Time Off is not designed to support
this use case.

 Remember

To query TimeAccountDetails and use filtering you need to query the TimeAccountDetail, not the TimeAccount
object with expand to timeAccountDetails.

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 431
Code Examples

Example 1: create a time account detail of “MANUAL_ADJUSTMENT” posting type

URI: http://<hostname>/odata/v2/upsert

Operation: POST

Headers: Authorization: Basic <Base 64 encoded (“user@company:password”)> Accept: application/json

Content-Type: application/json;charset=utf-8

Payload:

{
"__metadata" : {
"uri" : "http://hostname/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='1dfca28bf0c84c8b846719feffba225d',
externalCode='MyTimeAccountDetail')",
"type" : "SFOData.TimeAccountDetail"
}, "TimeAccount_externalCode" : "1dfca28bf0c84c8b846719feffba225d",
"externalCode" : "MyTimeAccountDetail",
"bookingUnit" : "DAYS",
"referenceObject" : null,
"bookingType" : "MANUAL_ADJUSTMENT",
"bookingDate" : "\/Date(1420070400000)\/",
"employeeTime" : null,
"bookingAmount" : "2.0",
"comment" : null
}
Response:
{
"d" : [
{
"key" : null,
"status" : "OK",
"editStatus" : "UPSERTED",
"message" : null,
"index" : 0,
"httpCode" : 200,
"inlineResults" : null
}
]
}

Example 2: Retrieve data about the specific time account detail

URI: http://hostname/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='1dfca28bf0c84c8b846719feffba225d',externalCode='62d7d936
18244c28922fdc4b94001e53')?$format=json

Operation: GET

Headers: Authorization: Basic <Base 64 encoded (“user@company:password”)>

Response:
{
"d" : {
"__metadata" : {
"uri" : "https://hostname/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='1dfca28bf0c84c8b846719feffba225d',extern
alCode='62d7d93618244c28922fdc4b94001e53')", "type" : "SFOData.TimeAccountDetail"
},
"TimeAccount_externalCode" : "1dfca28bf0c84c8b846719feffba225d",

SAP SuccessFactors Employee Central OData API: Reference Guide


432 PUBLIC Time & Attendance Management
"externalCode" : "62d7d93618244c28922fdc4b94001e53",
"mdfSystemEffectiveEndDate" : "\/Date(253402214400000)\/", "mdfSystemObjectType" :
"TimeAccountDetail",
"mdfSystemVersionId" : null,
"bookingUnit" : "DAYS",
"referenceObject" : null,
"bookingType" : "MANUAL_ADJUSTMENT",
"changeCalendar" : null,
"lastModifiedDateTime" : "\/Date(1440658227000+0000)\/",
"calendarEntry" : null,
"mdfSystemTransactionSequence" : "1",
"mdfSystemRecordId" : "5AF4FF7D85384DC1A5D86E4D3BB0931E",
"mdfSystemEntityId" : "F94ADC562C8E451DAD84E9DC24163256",
"mdfSystemStatus" : "A",
"lastModifiedDateWithTZ" : "\/Date(1440658227000+0000)\/",
"createdDate" : "\/Date(1440665427000)\/",
"mdfSystemRecordStatus" : "N",
"bookingDate" : "\/Date(1420070400000)\/",
"employeeTime" : null,
"accrualPeriodId" : null,
"createdBy" : "country",
"bookingAmount" : "2.0",
"createdDateTime" : "\/Date(1440658227000+0000)\/",
"lastModifiedBy" : "country",
"lastModifiedDate" : "\/Date(1440665427000)\/", "mdfSystemEffectiveStartDate" : "\/
Date(-2208988800000)\/",
"comment" : null, "employeeTimeNav" : {
"__deferred" : {
"uri" : "https://hostname/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='1dfca28bf0c84c8b846719feffba225d',extern
alCode='62d7d93618244c28922fdc4b94001e53')/employeeTimeNav"
}
}, "calendarEntryNav" : {
"__deferred" : {
"uri" : "https://hostname/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='1dfca28bf0c84c8b846719feffba225d',extern
alCode='62d7d93618244c28922fdc4b94001e53')/calendarEntryNav"
}
}, "bookingTypeNav" : {
"__deferred" : {
"uri" : "https://hostname/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='1dfca28bf0c84c8b846719feffba225d',extern
alCode='62d7d93618244c28922fdc4b94001e53')/bookingTypeNav"
}
}, "mdfSystemRecordStatusNav" : {
"__deferred" : {
"uri" : "https://hostname/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='1dfca28bf0c84c8b846719feffba225d',extern
alCode='62d7d93618244c28922fdc4b94001e53')/mdfSystemRecordStatusNav"
}
}, "mdfSystemStatusNav" : {
"__deferred" : {
"uri" : "https://hostname/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='1dfca28bf0c84c8b846719feffba225d',extern
alCode='62d7d93618244c28922fdc4b94001e53')/mdfSystemStatusNav"
}
}, "bookingUnitNav" : {
"__deferred" : {
"uri" : "https://hostname/odata/v2/
TimeAccountDetail(TimeAccount_externalCode='1dfca28bf0c84c8b846719feffba225d',extern
alCode='62d7d93618244c28922fdc4b94001e53')/bookingUnitNav"
}
}
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 433
14.1.15 TimeAccountPostingRule

Time account posting rule associates a time type with a time account type to determine whether time accounts
should be managed for the time type. For example, you can use it to enable automatic checks against a balance
when time off is requested.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Code Example

Example – Retrieve data of the time account posting rule which belongs to the time type ’Vacation’

URI: http://<hostname>/odata/v2/
TimeAccountPostingRule(TimeType_externalCode='Vacation',externalCode='Annually_VAC')?$format=json

Headers: Authorization: Basic <Base 64 encoded (“user@company:password”)>

Response:

{
"d" : {
"__metadata" : {
"uri" : "https://localhost:443/odata/v2/
TimeAccountPostingRule(TimeType_externalCode='Vacation',externalCode='Annually_VAC')
", "type" : "SFOData.TimeAccountPostingRule"
},
"TimeType_externalCode" : "Vacation",
"externalCode" : "Annually_VAC",
"mdfSystemEffectiveEndDate" : "\/Date(253402214400000)\/",
"mdfSystemObjectType" : "TimeAccountPostingRule",
"mdfSystemVersionId" : null,
"lastModifiedDateTime" : "\/Date(1422284110000+0000)\/",
"timeAccountType" : "ANNUALLY", "mdfSystemTransactionSequence" : "1", "createdBy" :
"loa",
"mdfSystemRecordId" : "877FE3EF357D4A4B825EF1C8EB0A675A",
"mdfSystemEntityId" : "3009BBBA98A14011A5DA5FC863C43B4F",
"createdDateTime" : "\/Date(1420710506000+0000)\/",
"lastModifiedBy" : "daily",
"mdfSystemStatus" : "A",
"lastModifiedDate" : "\/Date(1422287710000)\/", "mdfSystemEffectiveStartDate" : "\/
Date(-2208988800000)\/",
"lastModifiedDateWithTZ" : "\/Date(1422284110000+0000)\/",
"createdDate" : "\/Date(1420714106000)\/",
"mdfSystemRecordStatus" : "N",
"timeAccountTypeNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/
TimeAccountPostingRule(TimeType_externalCode='Vacation',externalCode='Annually_VAC')
/timeAccountTypeNav"
}
},
"mdfSystemRecordStatusNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/
TimeAccountPostingRule(TimeType_externalCode='Vacation',externalCode='Annually_VAC')
/mdfSystemRecordStatusNav"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


434 PUBLIC Time & Attendance Management
},
"mdfSystemStatusNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/
TimeAccountPostingRule(TimeType_externalCode='Vacation',externalCode='Annually_VAC')
/mdfSystemStatusNav"
}
}
}
}

14.1.16 TimeAccountSnapshot

This MDF entity contains balance information for a specific time account for a user. It is created while running a
snapshot job for leave liability-related calculation for the user.

Permissions

No specific permissions are required for this object.

Supported Operations

Operation Description

Query Query the time account of a user.

Navigation Properties

Property Related Entity

wfRequestNav wfRequest

unitNav MDFEnumValue

userIdnav UserId

accountTypeNav TimeAccountType

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 435
Use Case: Querying the time account of a user

Request

Operation Query

HTTP Method GET

URI https://<hostname>/odata/v2/
TimeAccountSnapshot?$format=JSON&
$filter=userId eq '585'

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/restricted/
TimeAccountSnapshot('585_370265_20170221')",
"type": "SFOData.TimeAccountSnapshot"
},
"externalCode": "585_370265_20170221",
"balanceEffectiveDate": "\\/Date(1487635200000)\\/",
"approvedAbsenceBalance": null,
"approvedAbsenceBalanceAccrualSeparated": null,
"asOfPayPeriodEnd": false,
"balanceAccrualSeparated": null,
"unit": "DAYS",
"balance": "23",
"asOfAccountingPeriodEnd": true,
"outdated": false,
"userId": "585",
"accountType": "ENT#--35411_Recurring",
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
TimeAccountSnapshot('585_370265_20170221')/wfRequestNav"
}
},
"unitNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
TimeAccountSnapshot('585_370265_20170221')/unitNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
TimeAccountSnapshot('585_370265_20170221')/userIdNav"
}
},
"accountTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/restricted/
TimeAccountSnapshot('585_370265_20170221')/accountTypeNav"
}
}
}
]
}

SAP SuccessFactors Employee Central OData API: Reference Guide


436 PUBLIC Time & Attendance Management
}

14.1.17 TimeAccountType

The entity is the template regulating what user-specific time accounts should look like.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

OData Examples

Example: Get a specific time account type

URI: http://<hostname>/odata/v2/TimeAccountType('Standard_ACM')$format=JSON

Method: GET

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/TimeAccountType('Standard_ACM')",
"type": "SFOData.TimeAccountType"
},
"externalCode": "Standard_ACM",
"pepCalendarAutomationLevel": "NONE",
"timeCollectorType": null,
"accountBookingOffsetInMonths": null,
"externalName_ru_RU": null,
"lastModifiedDateTime": "/Date(1435913291000+0000)/",
"levelOfSimulationPrecision": "CALCULATION",
"calculateSnapshotApprovedAbsenceBalance": null,
"accrualWaitingPeriodUnit": null,
"mdfSystemRecordId": "DB1BCEEA57DD4AACA21F000063594EC6",
"accrualPeriodStartDay": null,
"initialFlexibleAccountStartDateRule": null,
"payComponentTerminationAccrualSeparated": null,
"externalName_en_SAP_SLS": null,
"createdDate": "/Date(1435913291000)/",
"accrualFrequencyStartDate": null,
"payComponentGroup": null,
"accrualCalculationMethod": "STANDARD",
"accountCreationReferenceDate": "REFERENCE_DAY_MONTH",
"payComponentAccrualSeparated": null,
"accountCreationOffsetInMonths": "-10",
"createdBy": "admin",
"createdDateTime": "/Date(1435913291000+0000)/",
"lastModifiedBy": "admin",
"externalName_en_GB": null,
"advancesAllowed": null,
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"externalName_zh_CN": null,
"creation": "RECURRING",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"accrualRule": "Accrual_30",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 437
"postingOrder": null,
"entitlementMethod": "ENTITLED_AS_ACCRUED",
"externalName_localized": "Standard_ACM",
"externalName_fr_CA": null,
"externalName_defaultValue": "Standard_ACM",
"initialAccrualTransferDateRule": null,
"accrualWaitingPeriod": null,
"lastModifiedDateWithTZ": "/Date(1435913291000+0000)/",
"payComponent": null,
"accrualPeriodStartMonth": null,
"hireRule": "Accrual_30",
"mdfSystemObjectType": "TimeAccountType",
"snapshotsAllowed": false,
"externalName_pt_BR": null,
"accrualCreationOffset": null,
"accrualRecalculationPostingMethod": "CLASSIC",
"mdfSystemEntityId": "201EC4A27797499BB651941AB62AF087",
"mdfSystemStatus": "A",
"externalName_en_US": "Standard_ACM",
"terminationRule": null,
"mdfSystemRecordStatus": "N",
"payoutEligibility": "NOT_ELIGIBLE",
"allowPayoutWithSimulation": null,
"minimumBalanceAllowed": null,
"periodEndProcessingRule": null,
"country": null,
"externalName_it_IT": null,
"payComponentTermination": null,
"externalName_nl_NL": null,
"simulationRule": null,
"terminationRuleDataEffectiveDate": null,
"externalName_ko_KR": null,
"simulateAccruals": true,
"mdfSystemVersionId": null,
"externalName_de_DE": null,
"accrualAutomationLevel": "AUTO_CALENDARS",
"accrualTransferRule": null,
"maximumSimulationHorizonInMonths": null,
"accrualFrequency": "ANNUALLY",
"mdfSystemTransactionSequence": "1",
"secondAccrualCreationOffset": null,
"externalName_ja_JP": null,
"interimRule": null,
"accountCreationMonth": "1",
"accountCreationDay": "1",
"unit": "DAYS",
"accountCreationAutomationLevel": "AUTO_ACCOUNT_CREATION",
"externalName_es_ES": null,
"lastModifiedDate": "/Date(1435913291000)/",
"accrualTransferDateRule": null,
"externalName_fr_FR": null,
"payComponentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/payComponentNav"
}
},
"postingOrderNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/postingOrderNav"
}
},
"countryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/countryNav"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


438 PUBLIC Time & Attendance Management
},
"creationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/creationNav"
}
},
"pepCalendarAutomationLevelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/pepCalendarAutomationLevelNav"
}
},
"payComponentTerminationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/payComponentTerminationNav"
}
},
"payComponentTerminationAccrualSeparatedNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/payComponentTerminationAccrualSeparatedNav"
}
},
"externalNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/externalNameTranslationTextNav"
}
},
"payComponentGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/payComponentGroupNav"
}
},
"terminationRuleDataEffectiveDateNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/terminationRuleDataEffectiveDateNav"
}
},
"accountCreationReferenceDateNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/accountCreationReferenceDateNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/mdfSystemRecordStatusNav"
}
},
"accrualCalculationMethodNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/accrualCalculationMethodNav"
}
},
"unitNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/unitNav"
}
},
"wfRequestNav": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 439
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/wfRequestNav"
}
},
"accountCreationAutomationLevelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/accountCreationAutomationLevelNav"
}
},
"accrualAutomationLevelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/accrualAutomationLevelNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/mdfSystemStatusNav"
}
},
"payComponentAccrualSeparatedNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/payComponentAccrualSeparatedNav"
}
},
"allowPayoutWithSimulationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/allowPayoutWithSimulationNav"
}
},
"accrualRecalculationPostingMethodNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/accrualRecalculationPostingMethodNav"
}
},
"accrualWaitingPeriodUnitNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/accrualWaitingPeriodUnitNav"
}
},
"accrualFrequencyNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/accrualFrequencyNav"
}
},
"payoutEligibilityNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/payoutEligibilityNav"
}
},
"entitlementMethodNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/entitlementMethodNav"
}
},
"levelOfSimulationPrecisionNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


440 PUBLIC Time & Attendance Management
"uri": "https://<hostname>/odata/v2/
TimeAccountType('Standard_ACM')/levelOfSimulationPrecisionNav"
}
}
}
}

14.1.18 TimeType

A time type is created for each type of leave. You can use this entity to read the time types created.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Major Navigations

timeAccountPostingRules - Association to GO Time Account Posting Rule.

Code Examples

Example: Get a specific time type including attached time account types

URI: http://<hostname>/odata/v2/TimeType('VACATION')?$expand=timeAccountPostingRules&$format=JSON

Method: GET

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')",
"type": "SFOData.TimeType"
},
"externalCode": "VACATION",
"mdfSystemObjectType": "TimeType",
"externalName_pt_BR": null,
"requestingOnNonWorkingDaysAllowed": null,
"collisionGrouping": null,
"externalName_ru_RU": null,
"lastModifiedDateTime": "/Date(1401013041000+0000)/",
"balanceCalculationSetting": "STANDARD",
"mdfSystemRecordId": "0D15EB009B066032E0537A54740A259C",
"mdfSystemEntityId": "0D15EB00F5876032E0537A54740A259C",
"activateCancellationWorkflow": null,
"mdfSystemStatus": "A",
"externalName_en_US": "Vacation",
"externalName_en_SAP_SLS": null,
"createdDate": "/Date(1351123200000)/",
"mdfSystemRecordStatus": "N",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 441
"maximumDurationInMonths": null,
"country": null,
"absenceClass": "UNSPECIFIED",
"category": "ABSENCE",
"createdBy": "admin",
"externalName_it_IT": null,
"createdDateTime": "/Date(1351123200000+0000)/",
"lastModifiedBy": "v4admin",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"externalName_en_GB": null,
"externalName_nl_NL": null,
"externalName_zh_CN": null,
"flexibleRequestingAllowed": null,
"workflowConfiguration": "AbsenceRequest",
"accrualRecalculationRelevance": null,
"externalName_ko_KR": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"externalName_de_DE": null,
"externalName_localized": "Vacation",
"loaStartEventReason": null,
"externalName_defaultValue": "Vacation",
"externalName_fr_CA": null,
"mdfSystemTransactionSequence": "1",
"allowedRequestingIncrement": null,
"adminWorkflow": null,
"loaEndEventReason": null,
"allocationStrategy": null,
"lastModifiedDateWithTZ": "/Date(1401013041000+0000)/",
"externalName_ja_JP": null,
"countingMethod": null,
"undeterminedEndDateAllowed": null,
"unit": "DAYS",
"allowedFractionsUnitDay": "HALF_DAY",
"allowedFractionsUnitHour": null,
"calculationMethod": "WORKSCHEDULE",
"externalName_es_ES": null,
"lastModifiedDate": "/Date(1401013041000)/",
"externalName_fr_FR": null,
"allocationStrategyNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
allocationStrategyNav"
}
},
"allowedFractionsUnitDayNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
allowedFractionsUnitDayNav"
}
},
"unitNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/unitNav"
}
},
"countryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
countryNav"
}
},
"loaStartEventReasonNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
loaStartEventReasonNav"
}
},

SAP SuccessFactors Employee Central OData API: Reference Guide


442 PUBLIC Time & Attendance Management
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
categoryNav"
}
},
"calculationMethodNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
calculationMethodNav"
}
},
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
wfRequestNav"
}
},
"countingMethodNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
countingMethodNav"
}
},
"adminWorkflowNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
adminWorkflowNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
mdfSystemStatusNav"
}
},
"absenceClassNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
absenceClassNav"
}
},
"loaEndEventReasonNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
loaEndEventReasonNav"
}
},
"balanceCalculationSettingNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
balanceCalculationSettingNav"
}
},
"externalNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
externalNameTranslationTextNav"
}
},
"timeAccountPostingRules": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
TimeAccountPostingRule(TimeType_externalCode='VACATION',externalCode='1')",
"type": "SFOData.TimeAccountPostingRule"
},

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 443
"TimeType_externalCode": "VACATION",
"externalCode": "1",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "TimeAccountPostingRule",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1401013041000+0000)/",
"timeAccountType": "VACATION_CURRENT",
"mdfSystemTransactionSequence": "1",
"createdBy": "admin",
"mdfSystemRecordId": "0D15EB007E386032E0537A54740A259C",
"mdfSystemEntityId": "0D15EB00F5F26032E0537A54740A259C",
"createdDateTime": "/Date(1359581374000+0000)/",
"lastModifiedBy": "v4admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1401013041000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1401013041000+0000)/",
"createdDate": "/Date(1359581374000)/",
"mdfSystemRecordStatus": "N",
"timeAccountTypeNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountPostingRule(TimeType_externalCode='VACATION',externalCode='1')/
timeAccountTypeNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountPostingRule(TimeType_externalCode='VACATION',externalCode='1')/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
TimeAccountPostingRule(TimeType_externalCode='VACATION',externalCode='1')/
mdfSystemStatusNav"
}
}
}
]
},
"accrualRecalculationRelevanceNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
accrualRecalculationRelevanceNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
mdfSystemRecordStatusNav"
}
},
"allowedFractionsUnitHourNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
allowedFractionsUnitHourNav"
}
},
"workflowConfigurationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TimeType('VACATION')/
workflowConfigurationNav"
}
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


444 PUBLIC Time & Attendance Management
}

14.1.19 TimeProfile

In a time profile, you specify which time types the employee is allowed to take. The time profile is part of an
employee's job information.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Major Navigations

● availableTimeTypes – Navigation to the list of relevant time types


● availableAllowanceTypes – Navigation to the list of relevant allowance time types

Code Example

Example – Retrieve data of the time type profile with time recording variant clock times.

URI

http://<hostname>/odata/v2/TimeTypeProfile?$format=json&$filter=timeRecordingVariant%20eq
%20'CLOCK_TIME' Headers: Authorization: Basic <Base 64 encoded (“user@company:password”)>

{
"d" : {
"results" : [
{
"__metadata" : {
"uri" : "https://localhost:443/odata/v2/TimeTypeProfile('Vacation CLT')", "type" :
"SFOData.TimeTypeProfile"
},
"externalCode" : "Vacation CLT",
"mdfSystemObjectType" : "TimeTypeProfile",
"mdfSystemEffectiveEndDate" : "\/Date(253402214400000)\/", "mdfSystemVersionId" :
null,
"mainBreakTimeType" : "BREAK CLT",
"externalName_ru_RU" : null,
"externalName_defaultValue" : "Vacation CLT",
"lastModifiedDateTime" : "\/Date(1440400906000+0000)\/", "timeRecordingVariant" :
"CLOCK_TIME",
"mdfSystemTransactionSequence" : "1",
"mdfSystemRecordId" : "97613000C22F405FA9B3FB681ABACDD6", "mdfSystemEntityId" :
"EB2F5C3870EB43D0A455DF60B09665FF", "mainAttendanceTimeType" : null,
"mdfSystemStatus" : "A",
"externalName_en_US" : null,
"lastModifiedDateWithTZ" : "\/Date(1440400906000+0000)\/",
"createdDate" : "\/Date(1440408106000)\/",
"mdfSystemRecordStatus" : "N",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 445
"mainESSTimeType" : "VACATION CLT",
"country" : null,
"createdBy" : "daily",
"lastModifiedBy" : "daily",
"createdDateTime" : "\/Date(1440400906000+0000)\/",
"externalName_en_GB" : "Vacation CLT",
"lastModifiedDate" : "\/Date(1440408106000)\/", "mdfSystemEffectiveStartDate" : "\/
Date(-2208988800000)\/", "externalName_en_DEBUG" : null,
"countryNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/TimeTypeProfile('Vacation CLT')/countryNav"
}
},
"mainBreakTimeTypeNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/TimeTypeProfile('Vacation CLT')/
mainBreakTimeTypeNav"
}
},
"mdfSystemRecordStatusNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/TimeTypeProfile('Vacation CLT')/
mdfSystemRecordStatusNav"
}
},
"timeRecordingVariantNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/TimeTypeProfile('Vacation CLT')/
timeRecordingVariantNav"
}
},
"availableTimeTypes" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/TimeTypeProfile('Vacation CLT')/
availableTimeTypes"
}
},
"mainESSTimeTypeNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/TimeTypeProfile('Vacation CLT')/
mainESSTimeTypeNav"
}
},
"mdfSystemStatusNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/TimeTypeProfile('Vacation CLT')/
mdfSystemStatusNav"
}
},
"mainAttendanceTimeTypeNav" : {
"__deferred" : {
"uri" : "https://localhost:443/odata/v2/TimeTypeProfile('Vacation CLT')/
mainAttendanceTimeTypeNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


446 PUBLIC Time & Attendance Management
14.1.20 WorkSchedule

A work schedule defines the employee´s working pattern. It is assigned to an employee´s job information, showing
how many days per week the employee is going to work.

There are three models for setting up a work schedule. You specify which one you want to use in the Model field.
Your options are:

● Simple
● Period
● Schedule

Depending on the configuration, different fields are relevant for the work schedule.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Properties

This table shows the required fields and business keys for this entity. Check the OData API dictionary in your
instance to see the complete list of properties, and check your metadata for navigations and associations.

Property Business Key Required Field Description

externalCode Yes Yes External Code

externalName No No If userId is entered the work


schedule only applies to one
particular employee.

startingDate No Yes Starting date of the work


schedule

country No No Work schedules can be coun­


try specific.

flexibleRequestingAllowed No No Flag whether flexible request­


ing is allowed for this work
schedule

modelCategory No Yes Work schedule model cate­


gory: SIMPLE, PERIOD. or
SCHEDULE.

periodModel No Yes The period models you have


created and want to include in
this work schedule

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 447
Property Business Key Required Field Description

averageHoursPerDay No No Average hours per day

averageHoursPerWeek No No Average hours per week

averageHoursPerMonth No No Average hours per month

averageHoursPerYear No No Average hours per year

averageWorkingDaysPerWeek No No Average working days per


week

individualWorkSchedule No Yes Flag whether this work sched­


ule is an individual work
schedule

searchString No No Field is used to search for par­


ticular terms within existing
work schedules

shiftClassification No No Shift classification relevant for


this work schedule

timeRecordingVariant No Yes The specified time recording


variant, either Duration or
Clock Times

workScheduleDays No No List of work schedule day defi-


nitions (only used for SIMPLE
work schedule models)

workScheduleDayModels No No List of work schedule day defi-


nitions (only used for PERIOD
work schedule models)

Navigation Properties

Navigation Property Related Entity Description

userIdNav User Navigation to User

countryNav Country Navigation to Country

periodModel WorkSchedule Navigation to WorkSchedule

shiftClassificationNav ShiftClassification Navigation to ShiftClassification

SAP SuccessFactors Employee Central OData API: Reference Guide


448 PUBLIC Time & Attendance Management
Navigation Property Related Entity Description

workScheduleDays Work Schedule Day Navigation to

workScheduleDayModels Work Schedule Day Model

Code Examples

Example 1: Retrieve example work schedule defined as SIMPLE model (expand workScheduleDays)

URI: http://<hostname>/odata/v2/WorkSchedule('WS_SIMPLE_TEST')?$expand=workScheduleDays &


$format=JSON

Method: GET

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SIMPLE_TEST')",
"type": "SFOData.WorkSchedule"
},
"externalCode": "WS_SIMPLE_TEST",
"mdfSystemObjectType": "WorkSchedule",
"lastModifiedDateTime": "/Date(1464090885000+0000)/",
"averageHoursPerDay": "8",
"timeRecordingVariant": "DURATION",
"startingDate": "/Date(978307200000)/",
"mdfSystemRecordId": "5C2CF4E58ABE44738046964DA9FEBE81",
"mdfSystemEntityId": "EF0EA6F4F5F54B57BF33303CB2032F74",
"userId": null,
"mdfSystemStatus": "A",
"externalName_en_US": "Simple Work Schedule Test",
"averageHoursPerMonth": "160",
"externalName_en_SAP_SLS": null,
"createdDate": "/Date(1464098085000)/",
"individualWorkSchedule": false,
"mdfSystemRecordStatus": "N",
"periodModel": null,
"country": null,
"externalName_it_IT": null,
"createdBy": "admin",
"externalName_en_RTL": null,
"createdDateTime": "/Date(1464090885000+0000)/",
"lastModifiedBy": "admin",
"externalName_en_GB": null,
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"externalName_nl_NL": null,
"externalName_zh_CN": null,
"externalName_en_DEBUG": null,
"flexibleRequestingAllowed": false,
"externalName_ko_KR": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"searchString": null,
"externalName_de_DE": null,
"externalName_localized": "Simple Work Schedule Test",
"externalName_es_MX": null,
"externalName_defaultValue": "Simple Work Schedule Test",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 449
"externalName_da_DK": null,
"mdfSystemTransactionSequence": "1",
"externalName_fi_FI": null,
"shiftClassification": null,
"externalName_zh_TW": null,
"lastModifiedDateWithTZ": "/Date(1464090885000+0000)/",
"externalName_ja_JP": null,
"averageHoursPerYear": "8160",
"externalName_pl_PL": null,
"averageWorkingDaysPerWeek": "5",
"modelCategory": "SIMPLE",
"externalName_es_ES": null,
"averageHoursPerWeek": "40",
"lastModifiedDate": "/Date(1464098085000)/",
"externalName_fr_FR": null,
"countryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SIMPLE_TEST')/
countryNav"
}
},
"modelCategoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SIMPLE_TEST')/
modelCategoryNav"
}
},
"workScheduleDayModels": {
"results": []
},
"periodModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SIMPLE_TEST')/
periodModelNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SIMPLE_TEST')/
mdfSystemStatusNav"
}
},
"workScheduleDays": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=6L)",
"type": "SFOData.WorkScheduleDay"
},
"WorkSchedule_externalCode": "WS_SIMPLE_TEST",
"day": "6",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDay",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464090885000+0000)/",
"hoursAndMinutes": "00:00",
"mdfSystemTransactionSequence": "1",
"workingHours": "0",
"mdfSystemRecordId": "C41C48591AF3405D9E7F81A51850C6D5",
"createdBy": "admin",
"mdfSystemEntityId": "FA0B7E6F44684C6FA1D5AABD24D539AC",
"createdDateTime": "/Date(1464090885000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1464098085000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1464090885000+0000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


450 PUBLIC Time & Attendance Management
"createdDate": "/Date(1464098085000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=6L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=6L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=7L)",
"type": "SFOData.WorkScheduleDay"
},
"WorkSchedule_externalCode": "WS_SIMPLE_TEST",
"day": "7",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDay",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464090885000+0000)/",
"hoursAndMinutes": "00:00",
"mdfSystemTransactionSequence": "1",
"workingHours": "0",
"mdfSystemRecordId": "E8807C61A3B34DA59C64BCF09AAFE902",
"createdBy": "admin",
"mdfSystemEntityId": "D27786FC87694948BFE049AC8B109CC1",
"createdDateTime": "/Date(1464090885000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1464098085000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1464090885000+0000)/",
"createdDate": "/Date(1464098085000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=7L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=7L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=1L)",
"type": "SFOData.WorkScheduleDay"
},
"WorkSchedule_externalCode": "WS_SIMPLE_TEST",
"day": "1",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDay",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 451
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464090885000+0000)/",
"hoursAndMinutes": "08:00",
"mdfSystemTransactionSequence": "1",
"workingHours": "8",
"mdfSystemRecordId": "45E4865EF5D544A2B585DE6B2630E1E4",
"createdBy": "admin",
"mdfSystemEntityId": "CA6F7EADDDA6416BA13F09CF8D230751",
"createdDateTime": "/Date(1464090885000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1464098085000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1464090885000+0000)/",
"createdDate": "/Date(1464098085000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=1L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=1L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=2L)",
"type": "SFOData.WorkScheduleDay"
},
"WorkSchedule_externalCode": "WS_SIMPLE_TEST",
"day": "2",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDay",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464090885000+0000)/",
"hoursAndMinutes": "08:00",
"mdfSystemTransactionSequence": "1",
"workingHours": "8",
"mdfSystemRecordId": "61F67B02EA8F4849BEE0D376CB00E111",
"createdBy": "admin",
"mdfSystemEntityId": "6588B07D1A594EC99D3E2D0E954AE5CF",
"createdDateTime": "/Date(1464090885000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1464098085000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1464090885000+0000)/",
"createdDate": "/Date(1464098085000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=2L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


452 PUBLIC Time & Attendance Management
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=2L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=3L)",
"type": "SFOData.WorkScheduleDay"
},
"WorkSchedule_externalCode": "WS_SIMPLE_TEST",
"day": "3",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDay",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464090885000+0000)/",
"hoursAndMinutes": "08:00",
"mdfSystemTransactionSequence": "1",
"workingHours": "8",
"mdfSystemRecordId": "790E1A7CCB124D2599BE0A32C3F6FD57",
"createdBy": "admin",
"mdfSystemEntityId": "94AC5AD56F964C679D958B0B05D2B31D",
"createdDateTime": "/Date(1464090885000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1464098085000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1464090885000+0000)/",
"createdDate": "/Date(1464098085000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=3L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=3L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=4L)",
"type": "SFOData.WorkScheduleDay"
},
"WorkSchedule_externalCode": "WS_SIMPLE_TEST",
"day": "4",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDay",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464090885000+0000)/",
"hoursAndMinutes": "08:00",
"mdfSystemTransactionSequence": "1",
"workingHours": "8",
"mdfSystemRecordId": "3384506A2AD84A23A977C19D806C30ED",
"createdBy": "admin",
"mdfSystemEntityId": "792E0E542A24401093721D3B57749BE4",
"createdDateTime": "/Date(1464090885000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 453
"lastModifiedDate": "/Date(1464098085000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1464090885000+0000)/",
"createdDate": "/Date(1464098085000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=4L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=4L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=5L)",
"type": "SFOData.WorkScheduleDay"
},
"WorkSchedule_externalCode": "WS_SIMPLE_TEST",
"day": "5",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDay",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464090885000+0000)/",
"hoursAndMinutes": "08:00",
"mdfSystemTransactionSequence": "1",
"workingHours": "8",
"mdfSystemRecordId": "D2F3A6EC1238453982BA21D0F415F7F4",
"createdBy": "admin",
"mdfSystemEntityId": "ADF4EAFBF11A47DF8CD0D5C4D382D45F",
"createdDateTime": "/Date(1464090885000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1464098085000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/Date(1464090885000+0000)/",
"createdDate": "/Date(1464098085000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=5L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDay(WorkSchedule_externalCode='WS_SIMPLE_TEST',day=5L)/
mdfSystemStatusNav"
}
}
}
]
},
"externalNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SIMPLE_TEST')/
externalNameTranslationTextNav"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


454 PUBLIC Time & Attendance Management
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SIMPLE_TEST')/
mdfSystemRecordStatusNav"
}
},
"timeRecordingVariantNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SIMPLE_TEST')/
timeRecordingVariantNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SIMPLE_TEST')/
userIdNav"
}
},
"shiftClassificationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SIMPLE_TEST')/
shiftClassificationNav"
}
}
}
}

Example 2: Retrieve example work schedule defined as PERIOD model (expand workScheduleDayModels)

URI: http://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')?
$expand=workScheduleDays,workScheduleDayModels&$format=JSON

Method: GET

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')",
"type": "SFOData.WorkSchedule"
},
"externalCode": "5DAYS_8HOURS",
"mdfSystemObjectType": "WorkSchedule",
"lastModifiedDateTime": "/Date(1433317499000+0000)/",
"averageHoursPerDay": "8",
"timeRecordingVariant": "DURATION",
"startingDate": "/Date(-2208988800000)/",
"mdfSystemRecordId": "6A86982271F541CD884CE18DD95B8808",
"mdfSystemEntityId": "558C5D80215C49548B6F2D5A4DE7F0A5",
"userId": null,
"mdfSystemStatus": "A",
"externalName_en_US": null,
"averageHoursPerMonth": "160",
"externalName_en_SAP_SLS": null,
"createdDate": "/Date(1429632098000)/",
"individualWorkSchedule": false,
"mdfSystemRecordStatus": "N",
"periodModel": null,
"country": null,
"externalName_it_IT": null,
"createdBy": "admin",
"externalName_en_RTL": null,
"createdDateTime": "/Date(1429624898000+0000)/",
"lastModifiedBy": "admin",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 455
"externalName_en_GB": "5 Days 8 Hours",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"externalName_nl_NL": null,
"externalName_zh_CN": null,
"externalName_en_DEBUG": null,
"flexibleRequestingAllowed": false,
"externalName_ko_KR": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"searchString": null,
"externalName_de_DE": null,
"externalName_localized": "5 Days 8 Hours",
"externalName_es_MX": null,
"externalName_defaultValue": "5 Days 8 Hours",
"externalName_da_DK": null,
"mdfSystemTransactionSequence": "1",
"externalName_fi_FI": null,
"shiftClassification": null,
"externalName_zh_TW": null,
"lastModifiedDateWithTZ": "/Date(1433317499000+0000)/",
"externalName_ja_JP": null,
"averageHoursPerYear": "1840",
"externalName_pl_PL": null,
"averageWorkingDaysPerWeek": "5",
"modelCategory": "PERIOD",
"externalName_es_ES": null,
"averageHoursPerWeek": "40",
"lastModifiedDate": "/Date(1433324699000)/",
"externalName_fr_FR": null,
"countryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
countryNav"
}
},
"modelCategoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
modelCategoryNav"
}
},
"workScheduleDayModels": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=1L)",
"type": "SFOData.WorkScheduleDayModelAssignment"
},
"WorkSchedule_externalCode": "5DAYS_8HOURS",
"day": "1",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDayModelAssignment",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1429624898000+0000)/",
"hoursAndMinutes": null,
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "F1EB363BB95D42C89C34E2A966EB4F89",
"mdfSystemEntityId": "DEDAC185C8974157B4EB258AE9014DC9",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1429624898000+0000)/",
"createdDate": "/Date(1429632098000)/",
"mdfSystemRecordStatus": "N",
"dayWorkingHours": null,
"dayModel": "8HOURS",
"category": "DAY_MODEL",
"createdBy": "admin",
"lastModifiedBy": "admin",

SAP SuccessFactors Employee Central OData API: Reference Guide


456 PUBLIC Time & Attendance Management
"createdDateTime": "/Date(1429624898000+0000)/",
"lastModifiedDate": "/Date(1429632098000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"segments": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=1L)/
segments"
}
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=1L)/
categoryNav"
}
},
"dayModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=1L)/
dayModelNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=1L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=1L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=2L)",
"type": "SFOData.WorkScheduleDayModelAssignment"
},
"WorkSchedule_externalCode": "5DAYS_8HOURS",
"day": "2",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDayModelAssignment",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1429624898000+0000)/",
"hoursAndMinutes": null,
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "14B5EB41E1CB4AC781546FCA0AA5B402",
"mdfSystemEntityId": "23139C1A77664D378F6461E2C8BA1DF3",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1429624898000+0000)/",
"createdDate": "/Date(1429632098000)/",
"mdfSystemRecordStatus": "N",
"dayWorkingHours": null,
"dayModel": "8HOURS",
"category": "DAY_MODEL",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1429624898000+0000)/",
"lastModifiedDate": "/Date(1429632098000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"segments": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 457
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=2L)/
segments"
}
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=2L)/
categoryNav"
}
},
"dayModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=2L)/
dayModelNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=2L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=2L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=3L)",
"type": "SFOData.WorkScheduleDayModelAssignment"
},
"WorkSchedule_externalCode": "5DAYS_8HOURS",
"day": "3",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDayModelAssignment",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1429624898000+0000)/",
"hoursAndMinutes": null,
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "D8A65407D6D24A8089ED5AD69AB9758A",
"mdfSystemEntityId": "E464D70D77A34247A30F8BF4EECA8002",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1429624898000+0000)/",
"createdDate": "/Date(1429632098000)/",
"mdfSystemRecordStatus": "N",
"dayWorkingHours": null,
"dayModel": "8HOURS",
"category": "DAY_MODEL",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1429624898000+0000)/",
"lastModifiedDate": "/Date(1429632098000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"segments": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=3L)/
segments"

SAP SuccessFactors Employee Central OData API: Reference Guide


458 PUBLIC Time & Attendance Management
}
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=3L)/
categoryNav"
}
},
"dayModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=3L)/
dayModelNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=3L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=3L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=4L)",
"type": "SFOData.WorkScheduleDayModelAssignment"
},
"WorkSchedule_externalCode": "5DAYS_8HOURS",
"day": "4",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDayModelAssignment",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1429624898000+0000)/",
"hoursAndMinutes": null,
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "DA9A1A2AF8A249F9A2664570D3B16A89",
"mdfSystemEntityId": "039EF0B7D8D44D1D87ADF1418E935DD6",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1429624898000+0000)/",
"createdDate": "/Date(1429632098000)/",
"mdfSystemRecordStatus": "N",
"dayWorkingHours": null,
"dayModel": "8HOURS",
"category": "DAY_MODEL",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1429624898000+0000)/",
"lastModifiedDate": "/Date(1429632098000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"segments": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=4L)/
segments"
}
},
"categoryNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 459
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=4L)/
categoryNav"
}
},
"dayModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=4L)/
dayModelNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=4L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=4L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=5L)",
"type": "SFOData.WorkScheduleDayModelAssignment"
},
"WorkSchedule_externalCode": "5DAYS_8HOURS",
"day": "5",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDayModelAssignment",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1429624898000+0000)/",
"hoursAndMinutes": null,
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "2DB34CF519FC467891C79399141A6282",
"mdfSystemEntityId": "8ED243EBC2DD4916B12D4B29C83AE30E",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1429624898000+0000)/",
"createdDate": "/Date(1429632098000)/",
"mdfSystemRecordStatus": "N",
"dayWorkingHours": null,
"dayModel": "8HOURS",
"category": "DAY_MODEL",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1429624898000+0000)/",
"lastModifiedDate": "/Date(1429632098000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"segments": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=5L)/
segments"
}
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=5L)/
categoryNav"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


460 PUBLIC Time & Attendance Management
},
"dayModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=5L)/
dayModelNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=5L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=5L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=6L)",
"type": "SFOData.WorkScheduleDayModelAssignment"
},
"WorkSchedule_externalCode": "5DAYS_8HOURS",
"day": "6",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDayModelAssignment",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1429624898000+0000)/",
"hoursAndMinutes": null,
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "C4C69CEF8DB6492CA52A95DD69B26F95",
"mdfSystemEntityId": "C3E23E50761B4A55B5B4782CA66EEAE5",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1429624898000+0000)/",
"createdDate": "/Date(1429632098000)/",
"mdfSystemRecordStatus": "N",
"dayWorkingHours": null,
"dayModel": "0HOURS",
"category": "DAY_MODEL",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1429624898000+0000)/",
"lastModifiedDate": "/Date(1429632098000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"segments": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=6L)/
segments"
}
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=6L)/
categoryNav"
}
},
"dayModelNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 461
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=6L)/
dayModelNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=6L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=6L)/
mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=7L)",
"type": "SFOData.WorkScheduleDayModelAssignment"
},
"WorkSchedule_externalCode": "5DAYS_8HOURS",
"day": "7",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDayModelAssignment",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1429624898000+0000)/",
"hoursAndMinutes": null,
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "42A021ED54AB4EBFBC0E08C59C668730",
"mdfSystemEntityId": "118DE2C94400456D9179520778D0E94A",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1429624898000+0000)/",
"createdDate": "/Date(1429632098000)/",
"mdfSystemRecordStatus": "N",
"dayWorkingHours": null,
"dayModel": "0HOURS",
"category": "DAY_MODEL",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1429624898000+0000)/",
"lastModifiedDate": "/Date(1429632098000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"segments": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=7L)/
segments"
}
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=7L)/
categoryNav"
}
},
"dayModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=7L)/
dayModelNav"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


462 PUBLIC Time & Attendance Management
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=7L)/
mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='5DAYS_8HOURS',day=7L)/
mdfSystemStatusNav"
}
}
}
]
},
"periodModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
periodModelNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
mdfSystemStatusNav"
}
},
"workScheduleDays": {
"results": []
},
"externalNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
externalNameTranslationTextNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
mdfSystemRecordStatusNav"
}
},
"timeRecordingVariantNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
timeRecordingVariantNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
userIdNav"
}
},
"shiftClassificationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
shiftClassificationNav"
}
}
}
}

Example 3: Retrieve example work schedule defined as SCHEDULE model (expand periodModelNav)

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 463
URI: http://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')?$expand=periodModelNav&
$format=JSON

Method: GET

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')",
"type": "SFOData.WorkSchedule"
},
"externalCode": "WS_SCHEDULE_EXAMPLE",
"mdfSystemObjectType": "WorkSchedule",
"lastModifiedDateTime": "/Date(1464156863000+0000)/",
"averageHoursPerDay": null,
"timeRecordingVariant": "DURATION",
"startingDate": "/Date(1464739200000)/",
"mdfSystemRecordId": "DE20B024E70446EC8C66FE8B3BE99F73",
"mdfSystemEntityId": "AA994A78C1E84BADB36FE9F60A5388D4",
"userId": null,
"mdfSystemStatus": "A",
"externalName_en_US": "WS Schedule Model Example",
"averageHoursPerMonth": null,
"externalName_en_SAP_SLS": null,
"createdDate": "/Date(1464164063000)/",
"individualWorkSchedule": false,
"mdfSystemRecordStatus": "N",
"periodModel": "5DAYS_8HOURS",
"country": null,
"externalName_it_IT": null,
"createdBy": "admin",
"externalName_en_RTL": null,
"createdDateTime": "/Date(1464156863000+0000)/",
"lastModifiedBy": "admin",
"externalName_en_GB": null,
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"externalName_nl_NL": null,
"externalName_zh_CN": null,
"externalName_en_DEBUG": null,
"flexibleRequestingAllowed": false,
"externalName_ko_KR": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"searchString": null,
"externalName_de_DE": null,
"externalName_localized": "WS Schedule Model Example",
"externalName_es_MX": null,
"externalName_defaultValue": "WS Schedule Model Example",
"externalName_da_DK": null,
"mdfSystemTransactionSequence": "1",
"externalName_fi_FI": null,
"shiftClassification": null,
"externalName_zh_TW": null,
"lastModifiedDateWithTZ": "/Date(1464156863000+0000)/",
"externalName_ja_JP": null,
"averageHoursPerYear": null,
"externalName_pl_PL": null,
"averageWorkingDaysPerWeek": null,
"modelCategory": "SCHEDULE",
"externalName_es_ES": null,
"averageHoursPerWeek": null,
"lastModifiedDate": "/Date(1464164063000)/",
"externalName_fr_FR": null,
"countryNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


464 PUBLIC Time & Attendance Management
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')/
countryNav"
}
},
"modelCategoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')/
modelCategoryNav"
}
},
"workScheduleDayModels": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')/
workScheduleDayModels"
}
},
"periodModelNav": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')",
"type": "SFOData.WorkSchedule"
},
"externalCode": "5DAYS_8HOURS",
"mdfSystemObjectType": "WorkSchedule",
"lastModifiedDateTime": "/Date(1433317499000+0000)/",
"averageHoursPerDay": "8",
"timeRecordingVariant": "DURATION",
"startingDate": "/Date(-2208988800000)/",
"mdfSystemRecordId": "6A86982271F541CD884CE18DD95B8808",
"mdfSystemEntityId": "558C5D80215C49548B6F2D5A4DE7F0A5",
"userId": null,
"mdfSystemStatus": "A",
"externalName_en_US": null,
"averageHoursPerMonth": "160",
"externalName_en_SAP_SLS": null,
"createdDate": "/Date(1429632098000)/",
"individualWorkSchedule": false,
"mdfSystemRecordStatus": "N",
"periodModel": null,
"country": null,
"externalName_it_IT": null,
"createdBy": "admin",
"externalName_en_RTL": null,
"createdDateTime": "/Date(1429624898000+0000)/",
"lastModifiedBy": "admin",
"externalName_en_GB": "5 Days 8 Hours",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"externalName_nl_NL": null,
"externalName_zh_CN": null,
"externalName_en_DEBUG": null,
"flexibleRequestingAllowed": false,
"externalName_ko_KR": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"searchString": null,
"externalName_de_DE": null,
"externalName_localized": "5 Days 8 Hours",
"externalName_es_MX": null,
"externalName_defaultValue": "5 Days 8 Hours",
"externalName_da_DK": null,
"mdfSystemTransactionSequence": "1",
"externalName_fi_FI": null,
"shiftClassification": null,
"externalName_zh_TW": null,
"lastModifiedDateWithTZ": "/Date(1433317499000+0000)/",
"externalName_ja_JP": null,
"averageHoursPerYear": "1840",
"externalName_pl_PL": null,
"averageWorkingDaysPerWeek": "5",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 465
"modelCategory": "PERIOD",
"externalName_es_ES": null,
"averageHoursPerWeek": "40",
"lastModifiedDate": "/Date(1433324699000)/",
"externalName_fr_FR": null,
"countryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
countryNav"
}
},
"modelCategoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
modelCategoryNav"
}
},
"workScheduleDayModels": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
workScheduleDayModels"
}
},
"periodModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
periodModelNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
mdfSystemStatusNav"
}
},
"workScheduleDays": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
workScheduleDays"
}
},
"externalNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
externalNameTranslationTextNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
mdfSystemRecordStatusNav"
}
},
"timeRecordingVariantNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
timeRecordingVariantNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
userIdNav"
}
},
"shiftClassificationNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


466 PUBLIC Time & Attendance Management
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAYS_8HOURS')/
shiftClassificationNav"
}
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')/
mdfSystemStatusNav"
}
},
"workScheduleDays": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')/
workScheduleDays"
}
},
"externalNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')/
externalNameTranslationTextNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')/
mdfSystemRecordStatusNav"
}
},
"timeRecordingVariantNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')/
timeRecordingVariantNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')/
userIdNav"
}
},
"shiftClassificationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_SCHEDULE_EXAMPLE')/
shiftClassificationNav"
}
}
}
}

Example 4: Create a work schedule defined as SCHEDULE model

URI: http://<hostname>/odata/v2/WorkSchedule/?$format=JSON

Method: POST

Body

 Sample Code

{
"externalCode":"5DAY8HOURo",
"externalName_defaultValue":"5DAY8HOURo",
"timeRecordingVariant":"DURATION",
"startingDate":"/Date(1136073600000)/",
"individualWorkSchedule":false,

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 467
"modelCategory":"SCHEDULE",
"periodModelNav":{
"__deferred":{
"uri":"https://<hostname>/odata/v2/WorkSchedule('5DAY8HOUR')/
periodModelNav"
}
}
}

Response

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAY8HOURo')",
"type": "SFOData.WorkSchedule"
},
"externalName_defaultValue": "5DAY8HOURo",
"timeRecordingVariant": "DURATION",
"startingDate": "/Date(1136073600000)/",
"individualWorkSchedule": false,
"modelCategory": "SCHEDULE",
"externalCode": "5DAY8HOURo",
"periodModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAY8HOURo')/
periodModelNav"
}
}
}
}

Example 5: Update a work schedule defined as SCHEDULE model

URI: http://<hostname>/odata/v2/WorkSchedule('5DAY8HOURo')/?$format=JSON

Method: PUT

 Sample Code

{
"externalCode":"5DAY8HOURo",
"externalName_defaultValue":"5DAY8HOURo",
"timeRecordingVariant":"DURATION",
"startingDate":"/Date(1167609600000)/",
"individualWorkSchedule":false,
"modelCategory":"SCHEDULE",
"periodModelNav":{
"__deferred":{
"uri":"https://<hostname>/odata/v2/WorkSchedule('5DAY8HOUR')/
periodModelNav"
}
}
}

Example 6: Upsert a work schedule defined as SCHEDULE model

URI: http://<hostname>/odata/v2/upsert?$format=JSON

Method: POST

SAP SuccessFactors Employee Central OData API: Reference Guide


468 PUBLIC Time & Attendance Management
Body:

 Sample Code

{
"__metadata": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAY8HOURo')",
"type": "SFOData.WorkSchedule"
},
"externalCode": "5DAY8HOURo",
"externalName_defaultValue": "5DAY8HOURo",
"timeRecordingVariant": "DURATION",
"startingDate": "/Date(1136073600000)/",
"individualWorkSchedule": false,
"modelCategory": "SCHEDULE",
"periodModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('5DAY8HOUR')/
periodModelNav"
}
}
}

Response:

 Sample Code

{
"d": [
{
"key": null,
"status": "OK",
"editStatus": "UPSERTED",
"message": null,
"index": 0,
"httpCode": 200,
"inlineResults": null
}
}

Example 7: Delete a work schedule

URI: http://<hostname>/odata/v2/WorkSchedule('5DAY8HOURo')?$format=JSON

Method: DELETE

 Sample Code

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 469
14.1.21 WorkScheduleDayModel

With a work schedule day model, you can define how the number of hours worked on a particular day should look.
You can then use the day models in your work schedule if you choose the Period or Schedule models in your work
schedule.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Navigation Properties

Navigation Property Related Entity Description

countryNav Country Navigation to Country

shiftClassificationNav ShiftClassification Navigation to Shift Classification

segments WorkScheduleDayModelAssignmentSeg­ Navigation to WorkScheduleDayMode­


ment lAssignmentSegment

Code Examples

Example 1: Retrieve a specific work schedule day model

URI: http://<hostname>/odata/v2/WorkScheduleDayModel('CLT_0800-1700')?$format=JSON

Method: GET

Response:

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('CLT_0800-1700')",
"type": "SFOData.WorkScheduleDayModel"
},
"externalCode": "CLT_0800-1700",
"externalName_ko_KR": null,
"mdfSystemObjectType": "WorkScheduleDayModel",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"externalName_pt_BR": null,
"externalName_de_DE": null,
"externalName_localized": "CLT - 08:00 - 17:00 w/ Breaks",
"externalName_defaultValue": "CLT - 08:00 - 17:00 w/ Breaks",
"externalName_fr_CA": null,
"externalName_ru_RU": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


470 PUBLIC Time & Attendance Management
"lastModifiedDateTime": "/Date(1446562100000+0000)/",
"hoursAndMinutes": "08:00",
"timeRecordingVariant": "CLOCK_TIME",
"mdfSystemTransactionSequence": "1",
"workingHours": "8",
"mdfSystemRecordId": "0D65A9DA816541AAA95A17C7300A40AA",
"shiftClassification": null,
"mdfSystemEntityId": "7CCB5D6266B94FD3AAC92B08E3BD5135",
"description": null,
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1446562100000+0000)/",
"externalName_en_US": "CLT - 08:00 - 17:00 w/ Breaks",
"externalName_en_SAP_SLS": null,
"createdDate": "/Date(1446562100000)/",
"externalName_ja_JP": null,
"mdfSystemRecordStatus": "N",
"country": null,
"createdBy": "admin",
"externalName_it_IT": null,
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1446562100000+0000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1446562100000)/",
"externalName_en_GB": null,
"externalName_es_ES": null,
"externalName_nl_NL": null,
"externalName_zh_CN": null,
"externalName_fr_FR": null,
"segments": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('CLT_0800-1700')/segments"
}
},
"countryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('CLT_0800-1700')/countryNav"
}
},
"externalNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('CLT_0800-1700')/externalNameTranslationTextNav"
}
},
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('CLT_0800-1700')/wfRequestNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('CLT_0800-1700')/mdfSystemRecordStatusNav"
}
},
"timeRecordingVariantNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('CLT_0800-1700')/timeRecordingVariantNav"
}
},
"shiftClassificationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('CLT_0800-1700')/shiftClassificationNav"

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 471
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('CLT_0800-1700')/mdfSystemStatusNav"
}
}
}
}

Example 2: Create a work schedule day model

URI: http://<hostname>/odata/v2/WorkScheduleDayModel?$format=JSON

Method: POST

Body:

 Sample Code

{
"externalCode": "DUR_odata",
"externalName_defaultValue": "DUR_odata",
"timeRecordingVariant": "DURATION",
"workingHours": "8"
}

Response:

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('DUR_odata')",
"type": "SFOData.WorkScheduleDayModel"
},
"externalName_defaultValue": "DUR_odata",
"timeRecordingVariant": "DURATION",
"workingHours": "8",
"externalCode": "DUR_odata"
}
}

Example 3: Update a work schedule day model

URI: http://<hostname>/odata/v2/WorkScheduleDayModel('DUR_odata')?$format=JSON

Method: PUT

Body:

 Sample Code

{
"externalCode": "DUR_odata",
"externalName_defaultValue": "DUR_odata",
"timeRecordingVariant": "DURATION",
"workingHours": "6"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


472 PUBLIC Time & Attendance Management
Example 4: Upsert a work schedule day model

URI: http://<hostname>/odata/v2/upsert?$format=JSON

Method: POST

Body:

 Sample Code

{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('DUR_odata')",
"type": "SFOData.WorkScheduleDayModel"
},
"externalCode": "DUR_odata",
"externalName_defaultValue": "DUR_odata",
"timeRecordingVariant": "DURATION",
"workingHours": "4"
}

Response:

 Sample Code

{
"d": [
{
"key": null,
"status": "OK",
"editStatus": "UPSERTED",
"message": null,
"index": 0,
"httpCode": 200,
"inlineResults": null
}
]
}

Example 5: Delete a work schedule day model

URI: http://<hostname>/odata/v2/WorkScheduleDayModel('DUR_odata')?$format=JSON

Method: DELETE

14.1.22 WorkScheduleDayModelAssignment

With a work schedule day model assignment, you can define how the number of hours worked on a particular day
should look.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 473
Navigation Properties

Navigation Propertz Related Entitiy Description

dayModelNav WorkScheduleDayModel Navigation to WorkScheduleDayModel

segments WorkScheduleDayModelAssignmentSeg­ Navigation to WorkScheduleDayMode­


ment lAssignmentSegment

Code Examples

For code examples, please read look at Example 2 in the WorkSchedule [page 447] documentation.

14.1.23 WorkScheduleDayModelAssignmentSegment

A WorkScheduleDayModelAssignmentSegment is used within a WorkScheduleDayModelAssignment. Such a


segment is used to define the working time as well as the unpaid breaks for a day.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Properties

This table shows the required fields and business keys for this entity. Check the OData API dictionary in your
instance to see the complete list of properties, and check your metadata for navigations and associations.

Property Business Key Required Field Description

externalCode Yes Yes External Code

startTime No Yes Start time of the segment

endTime No Yes End time of the segment

duration No No Duration in minutes between


start time and end time

SAP SuccessFactors Employee Central OData API: Reference Guide


474 PUBLIC Time & Attendance Management
Property Business Key Required Field Description

category No Yes Work schedule segment


model category. Can be
SCHEDULED_WORK­
ING_TIME or SCHED­
ULED_UNPAID_BREAK

Code Examples

Example: Retrieve the work schedule day model assignments and the corresponding segments for a defined work
schedule

URI: http://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')?
$expand=workScheduleDayModels,workScheduleDayModels/segments&$format=JSON

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')",
"type": "SFOData.WorkSchedule"
},
"externalCode": "WS_PERIOD_TEST",
"mdfSystemObjectType": "WorkSchedule",
"lastModifiedDateTime": "/Date(1464186573000+0000)/",
"averageHoursPerDay": null,
"timeRecordingVariant": "CLOCK_TIME",
"startingDate": "/Date(978307200000)/",
"mdfSystemRecordId": "DA634C4D7BE34AEBBEE92D9A737C0E41",
"mdfSystemEntityId": "961371476F5A4AF599A7C30EA1CF852D",
"userId": null,
"mdfSystemStatus": "A",
"externalName_en_US": "WS Period Test",
"averageHoursPerMonth": null,
"externalName_en_SAP_SLS": null,
"createdDate": "/Date(1464193773000)/",
"individualWorkSchedule": false,
"mdfSystemRecordStatus": "N",
"periodModel": null,
"country": null,
"externalName_it_IT": null,
"createdBy": "admin",
"externalName_en_RTL": null,
"createdDateTime": "/Date(1464186573000+0000)/",
"lastModifiedBy": "admin",
"externalName_en_GB": null,
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"externalName_nl_NL": null,
"externalName_zh_CN": null,
"externalName_en_DEBUG": null,
"flexibleRequestingAllowed": false,
"externalName_ko_KR": null,
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"searchString": null,
"externalName_de_DE": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 475
"externalName_localized": "WS Period Test",
"externalName_es_MX": null,
"externalName_defaultValue": "WS Period Test",
"externalName_da_DK": null,
"mdfSystemTransactionSequence": "1",
"externalName_fi_FI": null,
"shiftClassification": null,
"externalName_zh_TW": null,
"lastModifiedDateWithTZ": "/Date(1464186573000+0000)/",
"externalName_ja_JP": null,
"averageHoursPerYear": null,
"externalName_pl_PL": null,
"averageWorkingDaysPerWeek": null,
"modelCategory": "PERIOD",
"externalName_es_ES": null,
"averageHoursPerWeek": null,
"lastModifiedDate": "/Date(1464193773000)/",
"externalName_fr_FR": null,
"countryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')/
countryNav"
}
},
"modelCategoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')/
modelCategoryNav"
}
},
"workScheduleDayModels": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='WS_PERIOD_TEST',day=1L)
",
"type": "SFOData.WorkScheduleDayModelAssignment"
},
"WorkSchedule_externalCode": "WS_PERIOD_TEST",
"day": "1",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDayModelAssignment",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464186573000+0000)/",
"hoursAndMinutes": "08:00",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "B007E4B5175A410DB7EA8CDA0301D2B4",
"mdfSystemEntityId": "D799427D28E14D4ABA161D4EA14637B8",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1464186573000+0000)/",
"createdDate": "/Date(1464193773000)/",
"mdfSystemRecordStatus": "N",
"dayWorkingHours": "8",
"dayModel": null,
"category": "PLANNED_HOURS",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1464186573000+0000)/",
"lastModifiedDate": "/Date(1464193773000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"segments": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignmentSegment(WorkScheduleDayModelAssignment_day=1L,WorkS
chedule_externalCode='WS_PERIOD_TEST',externalCode='1')",

SAP SuccessFactors Employee Central OData API: Reference Guide


476 PUBLIC Time & Attendance Management
"type": "SFOData.WorkScheduleDayModelAssignmentSegment"
},
"WorkScheduleDayModelAssignment_day": "1",
"WorkSchedule_externalCode": "WS_PERIOD_TEST",
"externalCode": "1",
"mdfSystemObjectType": "WorkScheduleDayModelAssignmentSegment",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464186573000+0000)/",
"endTime": "PT17H",
"mdfSystemTransactionSequence": "1",
"startTime": "PT8H",
"category": "SCHEDULED_WORKING_TIME",
"duration": "540",
"mdfSystemRecordId": "DEA7B2BFB755405985B87EA70A10385E",
"createdBy": "admin",
"mdfSystemEntityId": "8F615EA9BBFC4E4BB4B0EE493778BBE3",
"createdDateTime": "/Date(1464186573000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1464193773000)/",
"lastModifiedDateWithTZ": "/Date(1464186573000+0000)/",
"createdDate": "/Date(1464193773000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignmentSegment(WorkScheduleDayModelAssignment_day=1L,WorkS
chedule_externalCode='WS_PERIOD_TEST',externalCode='1')/mdfSystemRecordStatusNav"
}
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignmentSegment(WorkScheduleDayModelAssignment_day=1L,WorkS
chedule_externalCode='WS_PERIOD_TEST',externalCode='1')/categoryNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignmentSegment(WorkScheduleDayModelAssignment_day=1L,WorkS
chedule_externalCode='WS_PERIOD_TEST',externalCode='1')/mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignmentSegment(WorkScheduleDayModelAssignment_day=1L,WorkS
chedule_externalCode='WS_PERIOD_TEST',externalCode='2')",
"type": "SFOData.WorkScheduleDayModelAssignmentSegment"
},
"WorkScheduleDayModelAssignment_day": "1",
"WorkSchedule_externalCode": "WS_PERIOD_TEST",
"externalCode": "2",
"mdfSystemObjectType": "WorkScheduleDayModelAssignmentSegment",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464186573000+0000)/",
"endTime": "PT13H",
"mdfSystemTransactionSequence": "1",
"startTime": "PT12H",
"category": "SCHEDULED_UNPAID_BREAK",
"duration": "60",
"mdfSystemRecordId": "E61122E727BA449A9EFB4B7C48F33682",
"createdBy": "admin",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 477
"mdfSystemEntityId": "E8D69D75BD6747F7ACCD518306110F37",
"createdDateTime": "/Date(1464186573000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1464193773000)/",
"lastModifiedDateWithTZ": "/Date(1464186573000+0000)/",
"createdDate": "/Date(1464193773000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignmentSegment(WorkScheduleDayModelAssignment_day=1L,WorkS
chedule_externalCode='WS_PERIOD_TEST',externalCode='2')/mdfSystemRecordStatusNav"
}
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignmentSegment(WorkScheduleDayModelAssignment_day=1L,WorkS
chedule_externalCode='WS_PERIOD_TEST',externalCode='2')/categoryNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignmentSegment(WorkScheduleDayModelAssignment_day=1L,WorkS
chedule_externalCode='WS_PERIOD_TEST',externalCode='2')/mdfSystemStatusNav"
}
}
}
]
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='WS_PERIOD_TEST',day=1L)
/categoryNav"
}
},
"dayModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='WS_PERIOD_TEST',day=1L)
/dayModelNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='WS_PERIOD_TEST',day=1L)
/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='WS_PERIOD_TEST',day=1L)
/mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='WS_PERIOD_TEST',day=2L)
",
"type": "SFOData.WorkScheduleDayModelAssignment"

SAP SuccessFactors Employee Central OData API: Reference Guide


478 PUBLIC Time & Attendance Management
},
"WorkSchedule_externalCode": "WS_PERIOD_TEST",
"day": "2",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemObjectType": "WorkScheduleDayModelAssignment",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464186573000+0000)/",
"hoursAndMinutes": "00:00",
"mdfSystemTransactionSequence": "1",
"mdfSystemRecordId": "DF367A81C8CF4D7CAE37A74C2B8D8B89",
"mdfSystemEntityId": "7DE36BB95882498D924C0D1C780E4616",
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1464186573000+0000)/",
"createdDate": "/Date(1464193773000)/",
"mdfSystemRecordStatus": "N",
"dayWorkingHours": "0",
"dayModel": null,
"category": "OFF",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1464186573000+0000)/",
"lastModifiedDate": "/Date(1464193773000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"segments": {
"results": []
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='WS_PERIOD_TEST',day=2L)
/categoryNav"
}
},
"dayModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='WS_PERIOD_TEST',day=2L)
/dayModelNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='WS_PERIOD_TEST',day=2L)
/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelAssignment(WorkSchedule_externalCode='WS_PERIOD_TEST',day=2L)
/mdfSystemStatusNav"
}
}
}
]
},
"periodModelNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')/
periodModelNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')/
mdfSystemStatusNav"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 479
},
"workScheduleDays": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')/
workScheduleDays"
}
},
"externalNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')/
externalNameTranslationTextNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')/
mdfSystemRecordStatusNav"
}
},
"timeRecordingVariantNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')/
timeRecordingVariantNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')/
userIdNav"
}
},
"shiftClassificationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WorkSchedule('WS_PERIOD_TEST')/
shiftClassificationNav"
}
}
}
}

14.1.24 WorkScheduleDayModelSegment

A WorkScheduleDayModelSegment used within a WorkScheduleDayModel. Such a segment is used to define the


working time as well as the unpaid breaks for a day.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Code Examples

Example: Get the work schedule day model segments for a work schedule day model

URI: http://<hostname>/odata/v2/WorkScheduleDayModel('08:00-16:00_15MB_60LB')?$expand=segments&
$format=JSON

SAP SuccessFactors Employee Central OData API: Reference Guide


480 PUBLIC Time & Attendance Management
 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('08:00-16:00_15MB_60LB')",
"type": "SFOData.WorkScheduleDayModel"
},
"externalCode": "08:00-16:00_15MB_60LB",
"externalName_ko_KR": null,
"mdfSystemObjectType": "WorkScheduleDayModel",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"externalName_de_DE": null,
"externalName_localized": "08:00 - 16:00 (15 min MB, 60 min LB)",
"externalName_defaultValue": "08:00 - 16:00 (15 min MB, 60 min LB)",
"externalName_es_MX": null,
"lastModifiedDateTime": "/Date(1464069892000+0000)/",
"externalName_da_DK": null,
"hoursAndMinutes": "06:45",
"timeRecordingVariant": "CLOCK_TIME",
"mdfSystemTransactionSequence": "1",
"externalName_fi_FI": null,
"workingHours": "6.75",
"mdfSystemRecordId": "3F852D69599F47F19619E5A3E539131A",
"shiftClassification": null,
"mdfSystemEntityId": "45571C76E084410EA47AC84183A54B41",
"description": null,
"mdfSystemStatus": "A",
"lastModifiedDateWithTZ": "/Date(1464069892000+0000)/",
"externalName_zh_TW": null,
"externalName_en_US": "08:00 - 16:00 (15 min MB, 60 min LB)",
"externalName_en_SAP_SLS": null,
"createdDate": "/Date(1442412745000)/",
"externalName_ja_JP": null,
"mdfSystemRecordStatus": "N",
"externalName_pl_PL": null,
"country": null,
"createdBy": "admin",
"externalName_it_IT": null,
"externalName_en_RTL": null,
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1442405545000+0000)/",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1464077092000)/",
"externalName_en_GB": null,
"externalName_es_ES": null,
"externalName_nl_NL": null,
"externalName_zh_CN": null,
"externalName_en_DEBUG": null,
"externalName_fr_FR": null,
"segments": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='1')",
"type": "SFOData.WorkScheduleDayModelSegment"
},
"externalCode": "1",
"WorkScheduleDayModel_externalCode": "08:00-16:00_15MB_60LB",
"mdfSystemObjectType": "WorkScheduleDayModelSegment",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464069892000+0000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 481
"endTime": "PT16H",
"mdfSystemTransactionSequence": "1",
"startTime": "PT8H",
"category": "SCHEDULED_WORKING_TIME",
"duration": "480",
"mdfSystemRecordId": "6209E4F838C3461C949AF6675AF4D771",
"createdBy": "admin",
"mdfSystemEntityId": "EA98C5EF73714B1188385F376468693F",
"createdDateTime": "/Date(1442405545000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1464077092000)/",
"lastModifiedDateWithTZ": "/Date(1464069892000+0000)/",
"createdDate": "/Date(1442412745000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='1')/mdfSystemRecordStatusNav"
}
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='1')/categoryNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='1')/mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='2')",
"type": "SFOData.WorkScheduleDayModelSegment"
},
"externalCode": "2",
"WorkScheduleDayModel_externalCode": "08:00-16:00_15MB_60LB",
"mdfSystemObjectType": "WorkScheduleDayModelSegment",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464069892000+0000)/",
"endTime": "PT9H15M",
"mdfSystemTransactionSequence": "1",
"startTime": "PT9H",
"category": "SCHEDULED_UNPAID_BREAK",
"duration": "15",
"mdfSystemRecordId": "7BC3ACCC35764B5280A62ABC4B1E732E",
"createdBy": "admin",
"mdfSystemEntityId": "D4EF84F8BDC7459AA94E16C491399ADE",
"createdDateTime": "/Date(1442405545000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1464077092000)/",
"lastModifiedDateWithTZ": "/Date(1464069892000+0000)/",
"createdDate": "/Date(1442412745000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {

SAP SuccessFactors Employee Central OData API: Reference Guide


482 PUBLIC Time & Attendance Management
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='2')/mdfSystemRecordStatusNav"
}
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='2')/categoryNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='2')/mdfSystemStatusNav"
}
}
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='3')",
"type": "SFOData.WorkScheduleDayModelSegment"
},
"externalCode": "3",
"WorkScheduleDayModel_externalCode": "08:00-16:00_15MB_60LB",
"mdfSystemObjectType": "WorkScheduleDayModelSegment",
"mdfSystemEffectiveEndDate": "/Date(253402214400000)/",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1464069892000+0000)/",
"endTime": "PT13H",
"mdfSystemTransactionSequence": "1",
"startTime": "PT12H",
"category": "SCHEDULED_UNPAID_BREAK",
"duration": "60",
"mdfSystemRecordId": "AC610A4B44754855B15F60873BE2C3EE",
"createdBy": "admin",
"mdfSystemEntityId": "90EA084FAE614D3592B6B6EC6509641E",
"createdDateTime": "/Date(1442405545000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"mdfSystemEffectiveStartDate": "/Date(-2208988800000)/",
"lastModifiedDate": "/Date(1464077092000)/",
"lastModifiedDateWithTZ": "/Date(1464069892000+0000)/",
"createdDate": "/Date(1442412745000)/",
"mdfSystemRecordStatus": "N",
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='3')/mdfSystemRecordStatusNav"
}
},
"categoryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='3')/categoryNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 483
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModelSegment(WorkScheduleDayModel_externalCode='08:00-16:00_15MB_6
0LB',externalCode='3')/mdfSystemStatusNav"
}
}
}
]
},
"countryNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('08:00-16:00_15MB_60LB')/countryNav"
}
},
"externalNameTranslationTextNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('08:00-16:00_15MB_60LB')/externalNameTranslationTextNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('08:00-16:00_15MB_60LB')/mdfSystemRecordStatusNav"
}
},
"timeRecordingVariantNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('08:00-16:00_15MB_60LB')/timeRecordingVariantNav"
}
},
"shiftClassificationNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('08:00-16:00_15MB_60LB')/shiftClassificationNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/
WorkScheduleDayModel('08:00-16:00_15MB_60LB')/mdfSystemStatusNav"
}
}
}
}

14.1.25 WorkScheduleDay

Work schedule day defines the working time on a day. This entity is only used for work schedule of type SIMPLE.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

SAP SuccessFactors Employee Central OData API: Reference Guide


484 PUBLIC Time & Attendance Management
Properties

Here you can see the required fields and business keys for this entity. Check the OData API dictionary in your
instance to see the complete list of properties, and check your metadata for navigations and associations.

Property Business Key Required Field Description

externalCode Yes Yes External Code

day No Yes Day of the work schedule

workingHours No Yes Working hours on that day as


decimal value

hoursAndMinutes No No Working hours on that day in


hours and minutes

Code Examples

For code examples, please look at Example 1 in the WorkSchedule [page 447] documentation.

14.2 Payroll Time Sheet Objects

In this section, you'll find the APIs available for Payroll Time Sheet. Employees are able to record their attendances,
overtime, on-call times, and allowances using the Payroll Time Sheet.

Before using any of the Payroll Time Sheet entities described here, you need to switch on Payroll Time Sheet in the
Admin Center. For details of how to do this, take a look at the Activate Payroll Time Sheet documentation in the
Implementing Employee Central Payroll Time Sheet guide.

In addition, you need to have permission to use the individual objects in question. For information on these
permissions, take a look at the Set Up Role-Based Permission Settings documentation in the Implementing
Employee Central Payroll Time Sheet guide.

14.2.1 ExternalTimeData

The External Time Data object contains recorded time data from an external system so that it can be included in
the Employee Central Payroll Time Sheet.

The entity must be used every time a customer wants to import external time data into the Employee Central
system.

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 485
For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases

Let's look at some use cases.

Upsert Duration User

This upserts external data for a user who records time on a Duration basis.

Operation Upsert

HTTP method Post

URI http://<hostname>/odata/v2/upsert

<Headers> Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

<Payload>
 Sample Code

{
"__metadata":{

"uri":"ExternalTimeData('test1')"
},
"externalCode":"test1",
"startDate":"\/
Date(1511218800000)\/",
"userId":"ashirly1",
"hours":"8.5",
"timeType":"HGB_WORK1"
}

Form Encoding Application/json

 Note

No response is required here because for upserts just return a status 200 OK with a response body indicating
all upsert results.

Upsert Clock Time User

This upserts external data for a user who records time on a Clock Time basis.

Operation Upsert

HTTP method Post

SAP SuccessFactors Employee Central OData API: Reference Guide


486 PUBLIC Time & Attendance Management
URI http://<hostname>/odata/v2/upsert

<Headers> Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

<Payload>
 Sample Code

{
"__metadata":{

"uri":"ExternalTimeData('test1')"
},
"externalCode":"test1",
"startDate":"\/
Date(1511218800000)\/",
"userId":"ashirly1",
"startTime":"PT13H20M",
"endTime":"PT13H50M",
"timeType":"HGB_WORK1"
}

Form Encoding Application/json

 Note

No response is required here because for upserts just return a status 200 OK with a response body indicating
all upsert results.

Query to read External Time Data

Operation Query

HTTP method Get

URI http://<hostname>/odata/v2/
ExternalTimeData('test10001')

<Headers> Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Form Encoding Application/json

Sample Response

 Sample Code

<?xml version="1.0" encoding="utf-8"?>


<entry xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices" xml:base="https://<hostname>/
odata/v2/restricted/">
<id>https://<hostname>/odata/v2/restricted/ExternalTimeData('test10001')</id>
<title type="text"></title>
<updated>2018-05-24T12:48:28Z</updated>
<author>

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 487
<name></name>
</author>
<link rel="edit" title="ExternalTimeData"
href="ExternalTimeData('test10001')"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
userIdNav" type="application/atom+xml;type=entry" title="userIdNav"
href="ExternalTimeData('test10001')/userIdNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
statusNav" type="application/atom+xml;type=entry" title="statusNav"
href="ExternalTimeData('test10001')/statusNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
wfRequestNav" type="application/atom+xml;type=feed" title="wfRequestNav"
href="ExternalTimeData('test10001')/wfRequestNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
mdfSystemRecordStatusNav" type="application/atom+xml;type=entry"
title="mdfSystemRecordStatusNav" href="ExternalTimeData('test10001')/
mdfSystemRecordStatusNav"></link>
<category term="SFOData.ExternalTimeData" scheme="http://
schemas.microsoft.com/ado/2007/08/dataservices/scheme"></category>
<content type="application/xml">
<m:properties>
<d:externalCode>test10001</d:externalCode>
<d:hours m:null="true"></d:hours>
<d:lastModifiedDateTime
m:type="Edm.DateTimeOffset">2018-05-24T12:38:38Z</d:lastModifiedDateTime>
<d:endDate m:null="true"></d:endDate>
<d:lastModifiedBy>admin</d:lastModifiedBy>
<d:createdDateTime m:type="Edm.DateTimeOffset">2018-05-24T12:38:38Z</
d:createdDateTime>
<d:timeType m:null="true"></d:timeType>
<d:mdfSystemRecordStatus>N</d:mdfSystemRecordStatus>
<d:userId>croller</d:userId>
<d:createdBy>admin</d:createdBy>
<d:deleteExternalTime m:type="Edm.Boolean">false</
d:deleteExternalTime>
<d:startTime m:type="Edm.Time">PT16H</d:startTime>
<d:endTime m:type="Edm.Time">PT17H</d:endTime>
<d:startDate m:type="Edm.DateTime">2018-05-22T00:00:00</d:startDate>
<d:status>NEW</d:status>
</m:properties>
</content>
</entry>

Query to Delete External Data

Operation Delete

HTTP Method Delete

URI http://<hostname>/odata/v2/
ExternalTimeData('test10001')

<Headers> Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Form Encoding Application/json

Query to Insert External Data

Operation Insert

SAP SuccessFactors Employee Central OData API: Reference Guide


488 PUBLIC Time & Attendance Management
HTTP Method Post

URI http://<hostname>/odata/v2/
ExternalTimeData

<Headers> Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Form Encoding Application/json

<Payloads>
 Sample Code

{
"__metadata": {
"uri":
"ExternalTimeData('test10001')"
},
"externalCode": "test10001",
"startDate": "/
Date(1526976229000)/",
"startTime": "PT16H00M",
"endTime": "PT17H00M",
"userIdNav" : {
"__deferred": {
"uri": "https://
<hostname>/odata/v2/restricted/
User('croller')"
}
}
}

Sample Response

 Sample Code

<?xml version="1.0" encoding="utf-8"?>


<entry xmlns="http://www.w3.org/2005/Atom" xmlns:m="http://
schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://
schemas.microsoft.com/ado/2007/08/dataservices" xml:base="https://<hostname>/
odata/v2/restricted/">
<id>https://<hostname>/odata/v2/restricted/ExternalTimeData('test10001')</id>
<title type="text"></title>
<updated>2018-05-29T12:06:37Z</updated>
<author>
<name></name>
</author>
<link rel="edit" title="ExternalTimeData"
href="ExternalTimeData('test10001')"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
userIdNav" type="application/atom+xml;type=entry" title="userIdNav"
href="ExternalTimeData('test10001')/userIdNav"></link>
<category term="SFOData.ExternalTimeData" scheme="http://
schemas.microsoft.com/ado/2007/08/dataservices/scheme"></category>
<content type="application/xml">
<m:properties>
<d:startDate m:type="Edm.DateTime">2018-05-22T08:03:49</d:startDate>
<d:startTime m:type="Edm.Time">PT16H</d:startTime>
<d:endTime m:type="Edm.Time">PT17H</d:endTime>
<d:externalCode>test10001</d:externalCode>
</m:properties>
</content>

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 489
</entry>

14.2.2 ExternalTimeRecord

The entity represents a time record created outside of the Employee Central system.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Business Context

The ExternalTimeRecord OData API is used to import employee time records recorded in an external system into
the Employee Central system. After import, the employee time records are converted into time sheet entries. These
time records are later valuated within the Payroll Time Sheet and transferred to Employee Central Payroll.

This OData API performs mass replication of time records from an external time recording system into Employee
Central. It is possible to use the $BATCH directive, which we assume is the standard method to use this API.

Use cases

This is a sample use case for the ExternalTimeRecord OData API - the creation of an external time record with
external time segments. This involves uploading an external time record containing time segments into the time
sheet database in the SAP SuccessFactors system.

This use case provides an example of the following:

● Sending a POST request containing a JSON representation of both External Time Record and External Time
Segment MDF entities
● The response to the POST request

Use Case: Creation of an external time record with external time segments

OData API ExternalTimeRecord - creation of an external time record with external time segments.

SAP SuccessFactors Employee Central OData API: Reference Guide


490 PUBLIC Time & Attendance Management
1. Request

Request Information

Operation POST

URI http://<Hostname>/odata/v2/upsert

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)> Content-Type: application/json charset:
utf-8

Payload
 Sample Code

{
"__metadata":{
"uri":"
ExternalTimeRecord('test1')"
},
"externalCode":"test1",
"date":"\/Date(1453104229000)\/",
"userId":"cgrant1",
"externalTimeSegments":[
{
"externalCode":"",
"hours":4.0
},
{
"externalCode":"",
"hours":4.0
},
{
"externalCode":"",
"hours":1.0
}
]
}

Related Information

Getting the most out of this guide [page 15]

14.2.3 TimeCollector

Time collectors are configurable multi-purpose counters that are processed in time valuation.

During time valuation, time collectors can be created, augmented, or reset (to zero) as the result of time valuation
operations ('collector update'). The frequency at which a collector is reset is configurable. Time collectors either
contain a number of accumulated minutes ('direct counting') or the number of accumulated threshold events: the
collector is increased by 1 if the threshold is surpassed or not ('event counting').

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 491
Time collectors are either transient during time valuation or they are written to the database for consumption by
follow-up processes.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Code Examples

Retrieve all time collectors for user mhoff:

URI: http://<hostname>/odata/v2/TimeCollector?$filter=userId eq 'mhoff1'&$format=JSON

 Sample Code

Method: GET
Response:
{
"d": {
"results": [
{
"__metadata": {
"uri":
https://<hostname>/odata/v2/ TimeCollector('891f04a35f4b41889a2b3644202000a5')",
"type": "SFOData.TimeCollector"
},
"externalCode": "891f04a35f4b41889a2b3644202000a5",
"startDate": "/Date(1509494400000)/",
"timeCollectorType": "DAILYCOLL",
"bookingDate": "/Date(1512000000000)/",
"endDate": "/Date(1512000000000)/",
"lastModifiedDateTime": "/Date(1519200242000+0000)/",
"collectorValue": "1",
"createdBy": "v4admin",
"userId": "mhoff1",
"createdDateTime": "/Date(1519200242000+0000)/",
"lastModifiedBy": "v4admin",
"changeValue": "0",
"mdfSystemRecordStatus": "N",
"wfRequestNav": {
"__deferred": {
"uri": "https:// <hostname>/odata/v2/
TimeCollector('891f04a35f4b41889a2b3644202000a5')/wfRequestNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https:// <hostname>/odata/v2/
TimeCollector('891f04a35f4b41889a2b3644202000a5')/mdfSystemRecordStatusNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https:// <hostname>/odata/v2/
TimeCollector('891f04a35f4b41889a2b3644202000a5')/userIdNav"
}
}
},
{
"__metadata": {
"uri": "https:// <hostname>/odata/v2/
TimeCollector('187203bbaf8f40968765810c2ed52f37')",

SAP SuccessFactors Employee Central OData API: Reference Guide


492 PUBLIC Time & Attendance Management
"type": "SFOData.TimeCollector"
},
"externalCode": "187203bbaf8f40968765810c2ed52f37",
"startDate": "/Date(1509494400000)/",
"timeCollectorType": "DAILYCOLL",
"bookingDate": "/Date(1511568000000)/",
"endDate": "/Date(1512000000000)/",
"lastModifiedDateTime": "/Date(1511451977000+0000)/",
"collectorValue": "1",
"createdBy": "root",
"userId": "mhoff1",
"createdDateTime": "/Date(1511451977000+0000)/",
"lastModifiedBy": "root",
"changeValue": "1",
"mdfSystemRecordStatus": "N",
"wfRequestNav": {
"__deferred": {
"uri": "https:// <hostname>/odata/v2/
TimeCollector('187203bbaf8f40968765810c2ed52f37')/wfRequestNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https:// <hostname>/odata/v2/
TimeCollector('187203bbaf8f40968765810c2ed52f37')/mdfSystemRecordStatusNav"
}
},
"userIdNav": {
"__deferred": {
"uri": "https:// <hostname>/odata/v2/
TimeCollector('187203bbaf8f40968765810c2ed52f37')/userIdNav"
}
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Time & Attendance Management PUBLIC 493
15 Workflow

Workflow entities allow you to query the data of workflow requests, workflow steps, comments, participators,
allowed actions, as well as other workflow information displayed on the Workflow Details page. You can also use the
workflow function imports to change workflow statuses and post comments.

Permissions

Permission System Required Setting

Role Based
Manage Workflows Manage Workflow Requests

This permission is required for the workflow admin role.

User Based N/A

SAP SuccessFactors Employee Central OData API: Reference Guide


494 PUBLIC Workflow
Workflow Status Transition

The following diagram illustrates the status transition of a workflow request:

 Note

* For EC workflows, only the workflow admin can decline a request. For MDF workflows, the current approver
can decline a request.

** In the case of escalation or delegation, the escalatee or delegatee becomes the current approver. The
workflow request still follows its own course of status transition. Additional statuses are available to indicate the
escalation or delegation progress.

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 495
Entity Relationship Diagram

WfRequest [page 497]


This entity stores basic data of a workflow such as the overall status and the current step number. This is
the workflow used by Employee Central as well as MDF objects.

WfRequestComments [page 504]


The WfRequestComments entity represents WF_REQUEST_COMMENTS table in the SuccessFactors
database. This entity stores comments created for a workflow. This includes information about the initiator
of the comment and the time it was created.

WfRequestParticipator [page 505]


The WfRequestParticipator entity represents WF_REQUEST_PARTICIPATOR table in the SuccessFactors
database. This entity stores information about users who contribute to a but do not have authorization to
approve. These participants are informed about the workflow or, depending on the participant type, can
comment on the item.

WfRequestStep [page 507]


The WfRequestStep entity represents WF_REQUEST_STEP table in the SuccessFactors database.

WfRequestUIData [page 508]


This entity enables you to query the workflow data displayed on the Workflow Details page. You cannot
query this entity on its own. You can only query the entity as a navigation property through other entities,
for example, TodoEntryV2.

WorkflowAllowedActionList [page 512]


Describes how this entity lets you see what actions a consumer can take on a the WfRequest entity. Using
Boolean values TRUE/FALSE, you can see what a consumer can or cannot do for a given workflow step. The
workflow steps include returning, withdrawing, commenting, declining, updating, resubmitting, or allowing
a delegate to decline, revoke, or grant a WfRequest.

Function Imports [page 513]

SAP SuccessFactors Employee Central OData API: Reference Guide


496 PUBLIC Workflow
15.1 WfRequest

This entity stores basic data of a workflow such as the overall status and the current step number. This is the
workflow used by Employee Central as well as MDF objects.

Supported Operations

Operation Description

Query Query the information of workflow requests.

Edit operations are not supported by the entity itself. However, you can use the following function imports to modify
your workflow requests:

● approveWfRequest [page 514]


● commentWfRequest [page 515]
● rejectWfRequest [page 517]
● sendbackWfRequest [page 518]
● withdrawWfRequest [page 520]

Properties

This section lists only the properties and navigation properties that require special business logic, permission, or
other additional information. For a complete list, please go to Admin Center API Center OData API Data
Dictionary or use the API query: https://<hostname>/odata/v2/<Entity>/$metadata.

Property Description

wfRequestId Workflow request ID. This is a business key.

module The following values are available:

● HRIS: indicates an EC workflow request.


● GENERIC_OBJECT: indicates an MDF workflow request.

parentWfRequestId ID of the parent workflow request.

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 497
Property Description

status Status of the workflow request. Possible values are:

● PENDING: The workflow request is currently pending.


● SENTBACK: The workflow request has been sent back.
● LOCKED: The workflow request has been locked.
● REJECTED: The workflow has been rejected.
● CANCELLED: The workflow has been canceled.
● COMPLETED: The workflow has been completed.

For more information about workflow request statuses,


seeWorkflow [page 494].

totalSteps Total number of steps in the workflow request.

url A deep link to the workflow details page.

Navigation Property

Navigation Property Related Entity Description

empWfRequestNav EmpWfRequest [page 104] Navigate to the workflow request related


to an employee.

parentWfRequestNav WfRequest Navigate to the parent workflow request.

wfRequestCommentsNav WfRequestComments [page 504] Navigate to the workflow request com­


ments.

wfRequestParticipatorNav WfRequestParticipator [page 505] Navigate to the workflow participators.

wfRequestStepNav WfRequestStep [page 507] Navigate to the workflow request steps.

wfRequestUINav WfRequestUIData [page 508] Navigate to the data as displayed on the


Workflow Details page.

workflowAllowedActionListNav WorkflowAllowedActionList [page 512] Navigate to the list of allowed action for
the workflow request.

Entity Relation Diagram

For more information, see Workflow [page 494].

SAP SuccessFactors Employee Central OData API: Reference Guide


498 PUBLIC Workflow
Use Case 1: Querying the Basic Information of a Workflow

The following example shows how to query the basic information of a workflow by ID:

Request

Operation Query

HTTP Method GET

URI https://<hostname>/odata/v2/
WfRequest(65L)?$format=JSON

Response

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/WfRequest(65L)",
"type": "SFOData.WfRequest"
},
"wfRequestId": "65",
"lastModifiedDateTime": "/Date(1496851039000+0000)/",
"lastModifiedBy": "101013",
"module": "HRIS",
"reminderSentDate": null,
"totalSteps": 1,
"createdDateTime": "/Date(1496851006000+0000)/",
"createdOn": "/Date(1496851006000)/",
"url": "https://<hostname>/sf/hrisworkflowapprovelink?workflowRequestId=V2-
nlxRHnYcTrR1jnB17z3o8Q%3D%3D&prevPage=HOME&company=BESTRUN&username=cgrant",
"lastModifiedOn": "/Date(1496851039000)/",
"parentWfRequestId": null,
"createdBy": "adminJY",
"currentStepNum": 1,
"status": "COMPLETED",
"wfRequestUINav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(65L)/wfRequestUINav"
}
},
"parentWfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(65L)/
parentWfRequestNav"
}
},
"workflowAllowedActionListNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(65L)/
workflowAllowedActionListNav"
}
},
"empWfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(65L)/empWfRequestNav"
}
},
"wfRequestParticipatorNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(65L)/
wfRequestParticipatorNav"
}
},

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 499
"wfRequestCommentsNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(65L)/
wfRequestCommentsNav"
}
},
"wfRequestStepNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(65L)/wfRequestStepNav"
}
}
}
}

Use Case 2: Querying All Pending Workflow Requests

This example shows how to query all workflow requests that were rejected:

Request

Operation Query

HTTP Method GET

URI https://<hostname>/odata/v2/WfRequest?
$format=JSON&$filter=status eq 'PENDING

Response
The response returns a full list of pending workflow requests in the system. For demonstration purpose, some
results have been omitted:

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/WfRequest(162L)",
"type": "SFOData.WfRequest"
},
"wfRequestId": "162",
"lastModifiedBy": "80286",
"status": "PENDING"
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/WfRequest(41L)",
"type": "SFOData.WfRequest"
},
"wfRequestId": "41",
"lastModifiedBy": "101009",
"status": "PENDING"
},

... ...

{
"__metadata": {
"uri": "https://<hostname>/odata/v2/WfRequest(740L)",
"type": "SFOData.WfRequest"
},

SAP SuccessFactors Employee Central OData API: Reference Guide


500 PUBLIC Workflow
"wfRequestId": "740",
"lastModifiedBy": "athompson",
"status": "PENDING"
},
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/WfRequest(741L)",
"type": "SFOData.WfRequest"
},
"wfRequestId": "741",
"lastModifiedBy": "athompson",
"status": "PENDING"
}
]
}
}

Parent topic: Workflow [page 494]

Related Information

WfRequestComments [page 504]


WfRequestParticipator [page 505]
WfRequestStep [page 507]
WfRequestUIData [page 508]
WorkflowAllowedActionList [page 512]
Function Imports [page 513]
Function Imports [page 513]
Getting users up and running: Permission settings [page 20]
How do I access my assigned workflow requests? [page 501]

15.1.1 How do I access my assigned workflow requests?

Use the Todo entity to retrieve your assigned workflow requests. The Todo entity contains the list of tasks assigned
to a user. You will find a workflow item in the following Todo task categories 14 ( HRIS Employee Change Requests
Category26), 17 (Generic Object Category), 18 (Absence Management Category), 24 (IT Category), and 25
( Deductions Category) .

Tell me more

To retrieve the assigned workflow requests, you have to:

1.Run a Todo query for the relevant task category (14, 17, 18, 24, or 25)

2. Query your workflow for the relevant subjectId.

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 501
Run a Todo query for the relevant task category (14, 17, 18, 24, or 25)

For this example, we'll use the task category 14 ( HRIS Employee Change Requests Category26):

Sample Request https://<Hostname>/odata/v2/Todo?$filter=categoryId%20eq%20'14'

Sample Response

 Sample Code

<m:properties>
<d:categoryId>14</d:categoryId>
<d:todos m:type="Bag(SFOData.ToDoBean)">
<d:element>
<d:categoryId>14</d:categoryId>
<d:completedDate m:null="true" />
<d:dueDate m:null="true" />
<d:dueDateOffSet m:type="Edm.Int32">0</d:dueDateOffSet>
<d:entries m:type="Bag(SFOData.ToDoEntry)">
<d:element>
<d:completedDate m:null="true" />
<d:formDataId m:type="Edm.Int64">0</d:formDataId>
<d:status m:type="Edm.Int32">2</d:status>
<d:statusLabel>Active</d:statusLabel>
<d:subjectFullName>New Hire , Tammy Aberts</d:subjectFullName>
<d:subjectId>462</d:subjectId>
<d:url>https://<hostname>/sf/hrisworkflowapprovelink?
workflowRequestId=V2-ypU9jRAxxzV2pyMHsQn1BQ%3D
%3D&prevPage=HOME&company=ACE1321&username=admin</d:url>
</d:element>
</d:entries>
<d:entryId m:type="Edm.Int32">20375</d:entryId>
<d:name>Requests Waiting for My Approval</d:name>
<d:status m:type="Edm.Int32">2</d:status>
<d:statusLabel>Active</d:statusLabel>
<d:stepDescAlt>Requests Waiting for My Approval</d:stepDescAlt>
<d:todoItemId m:null="true" />
<d:url m:null="true" />
</d:element>
</d:todos>
<d:categoryLabel>Employee Change Requests</d:categoryLabel>
<d:displayOrder m:type="Edm.Int32">14</d:displayOrder>
</m:properties>

Here you can see that in there is one workflow item, subjectId 462 in the task category 14 (HRIS Employee Change
Requests Category26). Let's now look at our wfRequest query.

Query your workflow for the relevant subjectId

Sample Request https://<Hostname>/odata/v2/WfRequest?$filter=wfRequestId+eq+'462'&


$format=JSON

Sample Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/WfRequest(462L)",
"type": "SFOData.WfRequest"
},

SAP SuccessFactors Employee Central OData API: Reference Guide


502 PUBLIC Workflow
"wfRequestId": "462",
"module": "HRIS",
"status": "PENDING",
"currentStepNum": 1,
"lastModifiedDateTime": "/Date(1391090611000+0000)/",
"lastModifiedOn": "/Date(1391072611000)/",
"totalSteps": 1,
"url": "https://<hostname>/sf/hrisworkflowapprovelink?
workflowRequestId=V2-ypU9jRAxxzV2pyMHsQn1BQ%3D
%3D&prevPage=HOME&company=ACE1321&username=admin",
"reminderSentDate": null,
"createdOn": "/Date(1330523150000)/",
"createdBy": "admin",
"createdDateTime": "/Date(1330541150000+0000)/",
"lastModifiedBy": "admin",
"parentWfRequestId": null,
"workflowAllowedActionListNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(462L)/
workflowAllowedActionListNav"
}
},
"wfRequestCommentsNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(462L)/
wfRequestCommentsNav"
}
},
"parentWfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(462L)/
parentWfRequestNav"
}
},
"wfRequestParticipatorNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(462L)/
wfRequestParticipatorNav"
}
},
"wfRequestStepNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(462L)/
wfRequestStepNav"
}
},
"empWfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(462L)/
empWfRequestNav"
}
}
}
]
}

You can use the URL in the response to access your workflow item on the UI.

 Note

The Todo entity is user-centric and will only return the ToDos for the API login user.

You can read up on the Todo entity, and what task categories are supported here.

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 503
15.2 WfRequestComments

The WfRequestComments entity represents WF_REQUEST_COMMENTS table in the SuccessFactors database.


This entity stores comments created for a workflow. This includes information about the initiator of the comment
and the time it was created.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases

API Call Description

https://<hostname>.com/odata/v2/ Get all comments created by admin which have the action type
WfRequestComments?$filter=(actionType eq initiate or decline
'INITIATE' or actionType eq 'DECLINE') and
createdBy eq 'admin'&
$select=createdBy,actionType&$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/WfRequestComments(46L)",
"type": "SFOData.WfRequestComments"
},
"createdBy": "admin",
"actionType": "INITIATE"
}
]
}
}

Parent topic: Workflow [page 494]

Related Information

WfRequest [page 497]

SAP SuccessFactors Employee Central OData API: Reference Guide


504 PUBLIC Workflow
WfRequestParticipator [page 505]
WfRequestStep [page 507]
WfRequestUIData [page 508]
WorkflowAllowedActionList [page 512]
Function Imports [page 513]
Getting users up and running: Permission settings [page 20]

15.3 WfRequestParticipator

The WfRequestParticipator entity represents WF_REQUEST_PARTICIPATOR table in the SuccessFactors database.


This entity stores information about users who contribute to a but do not have authorization to approve. These
participants are informed about the workflow or, depending on the participant type, can comment on the item.

Properties

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Case: Retrieve Workflow Participants

Request Information

Operation GET

URI http://<Hostname>/odata/v2/
WfRequestParticipator?$top=1&
$filter=actorType eq 'ROLE' &$select
wfRequestParticipatorId, ownerId,
actorType&$format=JSON

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": {
"results": [

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 505
{
"__metadata": {
"uri": "https://<hostname>/odata/v2/WfRequestParticipator(327L)",
"type": "SFOData.WfRequestParticipator"
},
"wfRequestParticipatorId": "327",
"relatedTo": null,
"ownerId": "80295",
"lastModifiedDateTime": "/Date(1471303354000+0000)/",
"lastModifiedOn": "/Date(1471288954000)/",
"participatorType": "CC_ROLE",
"createdOn": "/Date(1471288954000)/",
"wfRequestId": "1325",
"actorType": "ROLE",
"createdBy": "sfadmin",
"processingOrder": "1",
"createdDateTime": "/Date(1471303354000+0000)/",
"lastModifiedBy": "sfadmin",
"roleId": "EM",
"dynamicGroupNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequestParticipator(327L)/
dynamicGroupNav"
}
},
"ownerNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequestParticipator(327L)/
ownerNav"
}
},
"positionNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequestParticipator(327L)/
positionNav"
}
},
"dynamicRoleNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequestParticipator(327L)/
dynamicRoleNav"
}
}
}
]
}
}

Parent topic: Workflow [page 494]

Related Information

WfRequest [page 497]


WfRequestComments [page 504]
WfRequestStep [page 507]
WfRequestUIData [page 508]
WorkflowAllowedActionList [page 512]
Function Imports [page 513]

SAP SuccessFactors Employee Central OData API: Reference Guide


506 PUBLIC Workflow
Getting users up and running: Permission settings [page 20]

15.4 WfRequestStep

The WfRequestStep entity represents WF_REQUEST_STEP table in the SuccessFactors database.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases

API Call Description

https://<hostname>.com/odata/v2/
WfRequestStep?$filter=createdBy eq
'cgrant1' and ownerId eq 'cgrant1' and
status eq 'COMPLETED'&
$select=wfRequestStepId,stepNum,ownerId,ap
proverType&$format=JSON

Code Examples

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com:443/odata/v2/WfRequestStep(1L)",
"type": "SFOData.WfRequestStep"
},
"wfRequestStepId": "1",
"stepNum": "1",
"approverType": "ROLE",
"ownerId": "cgrant1"
}
]
}
}

Parent topic: Workflow [page 494]

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 507
Related Information

WfRequest [page 497]


WfRequestComments [page 504]
WfRequestParticipator [page 505]
WfRequestUIData [page 508]
WorkflowAllowedActionList [page 512]
Function Imports [page 513]
Getting users up and running: Permission settings [page 20]

15.5 WfRequestUIData

This entity enables you to query the workflow data displayed on the Workflow Details page. You cannot query this
entity on its own. You can only query the entity as a navigation property through other entities, for example,
TodoEntryV2.

Supported Operations

Operation Description

Query Query operation is only possible when this entity is used as a


navigation property under WfReqeust entity, including its
equivalent navigation property wfRequestNav. For example,
you can query the corresponding workflow request data
through TodoEntryV2 by expanding its navigation proper­
ties: $expand=wfRequestNav/wfRequestUINav.

Properties

This section lists only the properties and navigation properties that require special business logic, permission, or
other additional information. For a complete list, please go to Admin Center API Center OData API Data
Dictionary or use the API query: https://<hostname>/odata/v2/<Entity>/$metadata.

Property Description

wfRequestId Id of the corresponding workflow request.

operateUserName Name of the person who operated on the request.

SAP SuccessFactors Employee Central OData API: Reference Guide


508 PUBLIC Workflow
Property Description

operateUserId userId of the person who operated on the request.

subjectUserName Name of the person who is the subject of the request.

subjectUserId userId of the person who is the subject of the request.

isObjectBase Indicates whether the workflow is based on an MDF object.

objectType Name of the MDF object the workflow is based on.

deeplink A deep link to the workflow details page of the request.

todoSubjectLine A description for the related to-do item.

operateType Type of operation performed on the request.

actions Possible actions for the workflow request. Note that the action
is only available for the designated user in the workflow.

Use Case 1: Querying the Workflow Details of a To-Do Item

In this example, we try to query the to-do item 623M and expand to its workflow request, and then further expands
the wfRequestUINav navigation property to fetch the UI data.

Request

Operation Query

HTTP Method GET

URI https://<hostname>/odata/v2/TodoEntryV2(623M)?$format=JSON&
$expand=wfRequestNav/wfRequestUINav

Headers Authorization: Basic <Base 64 encoded (“user@company:password”)>

Response

{
"d": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/TodoEntryV2(623M)",
"type": "SFOData.TodoEntryV2"
},
"todoEntryId": "623",
"lastModifiedDateTime": "/Date(1500336000000+0000)/",
"dueDate": null,
"todoEntryName": "Requests Waiting for My Approval",
"categoryLabel": "Employee Change Requests",
"completedDateTime": null,
"mobileLinkUrl": null,
"subjectId": "162",
"createdDate": "/Date(1500336000000+0000)/",
"linkUrl": null,
"formDataId": null,
"categoryId": "14",
"status": 2,
"userNav": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 509
"__deferred": {
"uri": "https://<hostname>/odata/v2/TodoEntryV2(623M)/userNav"
}
},
"recruitingJobOfferNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TodoEntryV2(623M)/
recruitingJobOfferNav"
}
},
"formContentNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/TodoEntryV2(623M)/
formContentNav"
}
},
"wfRequestNav": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/WfRequest(162L)",
"type": "SFOData.WfRequest"
},
"wfRequestId": "162",
"lastModifiedDateTime": "/Date(1500419437000+0000)/",
"lastModifiedBy": "80286",
"module": "HRIS",
"reminderSentDate": null,
"totalSteps": 1,
"createdDateTime": "/Date(1500419436000+0000)/",
"createdOn": "/Date(1500419436000)/",
"url": "https://<hostname>/sf/hrisworkflowapprovelink?
workflowRequestId=V2-zoaBl%2FCOi7125QbQbbpfgw%3D
%3D&prevPage=HOME&company=BESTRUN&username=userabc",
"lastModifiedOn": "/Date(1500419437000)/",
"parentWfRequestId": null,
"createdBy": "80286",
"currentStepNum": 1,
"status": "PENDING",
"wfRequestUINav": {
"__metadata": {
"uri": "https://<hostname>/odata/v2/WfRequestUIData(162L)",
"type": "SFOData.WfRequestUIData"
},
"wfRequestId": "162",
"businessUnit": "MC Automotive(MC_AUTO)",
"isEffectiveDateType": true,
"isObjectBase": false,
"assigneeUserId": null,
"operateUserName": "April Kennedy",
"assigneeUserName": null,
"jobTitle": "MC Production Operator(MC_ProdOp)",
"legalEntity": "Model Company 2 US(1710)",
"objectType": null,
"division": "MC Automotive Production(MC_AP)",
"receivedOn": null,
"department": "MC Auto Component Production US(MC_US_CP)",
"costCenter": "MC Auto Production US(MC_100021)",
"deeplink": "https://<hostname>/sf/hrisworkflowapprovelink?
workflowRequestId=V2-zoaBl%2FCOi7125QbQbbpfgw%3D
%3D&prevPage=HOME&company=BESTRUN&username=userabc",
"todoSubjectLine": "Term - Probation Failed , Scott Leiter",
"operateType": "Initiated",
"subjectUserId": "80290",
"changedData": null,
"eventReason": "Term - Probation Failed",
"actionType": null,
"isAssigned": false,
"operateUserId": "80286",
"objectName": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


510 PUBLIC Workflow
"location": "Detroit Plant US",
"actions": "[{\"action\":\"approve\"}]",
"operateDate": "July 18, 2017",
"effectiveDate": "August 1, 2017",
"subjectUserName": "Scott Leiter"
},
"parentWfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(162L)/
parentWfRequestNav"
}
},
"workflowAllowedActionListNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(162L)/
workflowAllowedActionListNav"
}
},
"empWfRequestNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(162L)/
empWfRequestNav"
}
},
"wfRequestParticipatorNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(162L)/
wfRequestParticipatorNav"
}
},
"wfRequestCommentsNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(162L)/
wfRequestCommentsNav"
}
},
"wfRequestStepNav": {
"__deferred": {
"uri": "https://<hostname>/odata/v2/WfRequest(162L)/
wfRequestStepNav"
}
}
}
}
}

Parent topic: Workflow [page 494]

Related Information

WfRequest [page 497]


WfRequestComments [page 504]
WfRequestParticipator [page 505]
WfRequestStep [page 507]
WorkflowAllowedActionList [page 512]
Function Imports [page 513]

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 511
15.6 WorkflowAllowedActionList

Describes how this entity lets you see what actions a consumer can take on a the WfRequest entity. Using Boolean
values TRUE/FALSE, you can see what a consumer can or cannot do for a given workflow step. The workflow steps
include returning, withdrawing, commenting, declining, updating, resubmitting, or allowing a delegate to decline,
revoke, or grant a WfRequest.

For information about the entity metadata and supported operations, please refer to your OData API dictionary in
the Admin Center or use the Entity query:https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Use Cases

API Call Description

https://<hostname.com>/odata/v2/WfRequest? With this query, you're expanding the workflowAllowedAction


$filter=status+ne+'COMPLETED'+and list to see what actions a consumer can perform on workflow
+createdBy+eq+<'User ID>'& items that do not have the status completed and have been
$expand=workflowAllowedActionListNav,wfReq created by the user, User ID.
uestStepNav&$format=JSON

Code Examples

 Sample Code

Here is a code extract from such a query focussing on one particular workflow request ID:

workflowAllowedActionListNav: {
results: [1]
0: {
__metadata: {
uri: "https:/<hostname.com>/odata/v2/WorkflowAllowedActionList(1563L)"
type: "SFOData.WorkflowAllowedActionList"
}-
wfRequestId: "1563"
allowResubmit: false
allowReject: false
allowDelegateGrant: false
allowDelegateDecline: false
allowApprove: false
allowWithdraw: true
allowSendback: false
allowPostComment: true
allowUpdateRequest: false
allowDelegateRevoke: false
}-
-
}

SAP SuccessFactors Employee Central OData API: Reference Guide


512 PUBLIC Workflow
Parent topic: Workflow [page 494]

Related Information

WfRequest [page 497]


WfRequestComments [page 504]
WfRequestParticipator [page 505]
WfRequestStep [page 507]
WfRequestUIData [page 508]
Function Imports [page 513]
Getting users up and running: Permission settings [page 20]

15.7 Function Imports

Function imports modify an entity. You use them as you would any OData API.

The following function imports can be used with workflow objects:

approveWfRequest [page 514]


commentWfRequest [page 515]
rejectWfRequest [page 517]
sendbackWfRequest [page 518]
withdrawWfRequest [page 520]

 Example

The function import rejectWfRequest can be used in the following POST Operation:

https://<hostname>/odata/v2/withdrawWfRequest?wfRequestId=1234L

When you post this request, and it is successful, you'll change the status of the request to Rejected and the
code looks like this:

<d:WfRequestActionResponse>
<d:element m:type="SFOData.WfRequestActionResponse">
<d:status>success</d:status>
<d:wfRequestId m:type="Edm.Int64">1234L</d:wfRequestId>
</d:element>
</d:WfRequestActionResponse>

Parent topic: Workflow [page 494]

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 513
Related Information

WfRequest [page 497]


WfRequestComments [page 504]
WfRequestParticipator [page 505]
WfRequestStep [page 507]
WfRequestUIData [page 508]
WorkflowAllowedActionList [page 512]

15.7.1 approveWfRequest

Lets you approve a workflow request assuming that you have authorization to approve the next step in the workflow
as described in the topic WorkflowAllowedActionList.

Operations Allowed

Operation Description

POST Approves a workflow request

Parameters

Parameter Description Type

wfRequestID A number, ending with L, that uniquely Long


identifies the workflow request

comment A note for extra information about the String


workflow item

Use Case

API Call Description

https://<hostname>/odata/v2/ Approves the workflow item 1234L


approveWfRequest?wfRequestId=1234L

SAP SuccessFactors Employee Central OData API: Reference Guide


514 PUBLIC Workflow
Code Examples

<d:WfRequestActionResponse>
<d:element m:type="SFOData.WfRequestActionResponse">
<d:status>success</d:status>
<d:wfRequestId m:type="Edm.Int64">1234L</d:wfRequestId>
</d:element>
</d:WfRequestActionResponse>

Error Codes

Error Code Description

COE_GENERAL_BAD_REQUEST Message will tell you if the error is due to lack of user authori­
zation or if there is an issue with the workflow itself.

Related Information

WorkflowAllowedActionList [page 512]


Getting users up and running: Permission settings [page 20]

15.7.2 commentWfRequest

Lets you comment a workflow request assuming that you have authorization in the WorkflowAllowedActionList.

Operations Allowed

Operation Description

POST Creates a comment for the workflow request

Parameters

Parameter Description Type

wfRequestID A number, ending with L, that uniquely Long


identifies the workflow request

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 515
Parameter Description Type

comment A note for extra information about the String


workflow item

Use Case

API Call Description

https://<hostname>/odata/v2/ Adds the comment 'test' to the workflow request 1234L


commentWfRequest?
wfRequestId=1234L&comment='test'

Code Examples

 Sample Code

<d:WfRequestActionResponse>
<d:element m:type="SFOData.WfRequestActionResponse">
<d:status>success</d:status>
<d:wfRequestId m:type="Edm.Int64">1563</d:wfRequestId>
</d:element>
</d:WfRequestActionResponse>

Error Codes

Error Code Description

COE_GENERAL_BAD_REQUEST Message will tell you if the error is due to lack of user authori­
zation or if there is an issue with the workflow itself.

Related Information

WorkflowAllowedActionList [page 512]


Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


516 PUBLIC Workflow
15.7.3 rejectWfRequest

Lets you reject a workflow request assuming that you have authorization in the WorkflowAllowedActionList.

Operations Allowed

Operation Description

POST Rejects a workflow request

Parameters

Parameter Description Type

wfRequestID A number, ending with L, that uniquely Long


identifies the workflow request

comment A note for extra information about the String


workflow item

Use Case

API Call Description

https://<hostname>/odata/v2/ Rejects the workflow request 1234L


rejectWfRequest?wfRequestId=1234L

Code Examples

 Sample Code

<d:WfRequestActionResponse>
<d:element m:type="SFOData.WfRequestActionResponse">
<d:status>success</d:status>
<d:wfRequestId m:type="Edm.Int64">1234L</d:wfRequestId>
</d:element>
</d:WfRequestActionResponse>

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 517
Error Codes

Error Code Description

COE_GENERAL_BAD_REQUEST Message will tell you if the error is due to lack of user authori­
zation or if there is an issue with the workflow itself.

Related Information

WorkflowAllowedActionList [page 512]


Getting users up and running: Permission settings [page 20]

15.7.4 sendbackWfRequest

Lets you send back a workflow request assuming that you have authorization in the WorkflowAllowedActionList.

Operations Allowed

Operation Description

POST Returns the workflow item to the processor

Parameters

Parameter Description Type

wfRequestID A number, ending with L, that uniquely Long


identifies the workflow request

comment A note for extra information about the String


workflow item

SAP SuccessFactors Employee Central OData API: Reference Guide


518 PUBLIC Workflow
Use Case

API Call Description

https://<hostname>/odata/v2/ Sends back the workflow item 1234L


sendbackWfRequest?wfRequestId=1234L

Code Examples

 Sample Code

<d:WfRequestActionResponse>
<d:element m:type="SFOData.WfRequestActionResponse">
<d:status>success</d:status>
<d:wfRequestId m:type="Edm.Int64">1234L</d:wfRequestId>
</d:element>
</d:WfRequestActionResponse>

Error Codes

Error Code Description

COE_GENERAL_BAD_REQUEST Message will tell you if the error is due to lack of user authori­
zation or if there is an issue with the workflow itself.

Related Information

WorkflowAllowedActionList [page 512]


Getting users up and running: Permission settings [page 20]

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 519
15.7.5 withdrawWfRequest

Lets you withdraw a workflow request assuming that you have authorization in the WorkflowAllowedActionList.

Operations Allowed

Operation Description

POST Withdraws the workflow request

Parameters

Parameter Description Type

wfRequestID A number, ending with L, that uniquely Long


identifies the workflow request

comment A note for extra information about the String


workflow item

Use Case

API Call Description

https://<hostname>/odata/v2/ Withdraws the workflow request 1234L


withdrawWfRequest?wfRequestId=1234L

Code Examples

 Sample Code

<d:WfRequestActionResponse>
<d:element m:type="SFOData.WfRequestActionResponse">
<d:status>success</d:status>
<d:wfRequestId m:type="Edm.Int64">1234L</d:wfRequestId>
</d:element>
</d:WfRequestActionResponse>

SAP SuccessFactors Employee Central OData API: Reference Guide


520 PUBLIC Workflow
Error Codes

Error Code Description

COE_GENERAL_BAD_REQUEST Message will tell you if the error is due to lack of user authori­
zation or if there is an issue with the workflow itself.

Related Information

WorkflowAllowedActionList [page 512]


Getting users up and running: Permission settings [page 20]

15.7.6 getWorkflowPendingData

You can use getWorkflowPendingData to query the changed data in a workflow that is not yet approved or rejected,
as well as fully completed.

 Note

As of Q2 2019, the getWorkflowPendingData API is converted from Beta to Public. If you are using the Beta
version, please change the endpoint URL.

This API supports entities that are in the label: value pair format. Refer to the following list for the supported
entities:

● EmpCompensation
● EmpEmployment
● EmpGlobalAssignment
● EmpJob

 Note

For EmpJob, the DirectReportee, Reportee, Deactivate, and TimeBalanceSection attributes are not
supported, because they do not have corresponding HRIS elements.

● EmpPayCompRecurring
● EmpPensionPayout
● FOPayComponentGroup
● PerAddress
● PerGlobalInfo
● PerPerson
● PerPersonal
● PerPersonRelationship

The following entities are not supported, because there are multiple fields for each record:

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 521
● EmpJobRelationships
● EmpPayCompNonRecurring
● EmpPayCompRecurring
● EmpWorkPermit
● PerNationalId

Permissions

Permission System Required Setting

Role-based Employee Central API Read Permission on All Employee


Central HRIS OData Entities

User-based None.

Supported Operations

Operation Description

Query Get pending data of a workflow request

Properties

For a complete list of the entity metadata and support operations, please refer to your OData API dictionary in the
Admin Center or user the Entity query: https://<hostname>/odata/v2/Entity('<Your Entity')?
$format=json.

Property Description

fieldId The ids of HrisElementField for only the work permit group and
national id group of ESS workflow. For other groups, the value
is null.

id The HrisElementField id.

label The HrisElementField label.

newValue The new value.

oldValue The original value.

payComponents The value is not null only when the workflow involves compen­
sation amount change.

SAP SuccessFactors Employee Central OData API: Reference Guide


522 PUBLIC Workflow
Property Description

type For label: value pair change set, the value is null. For grid type
of data, which means the data format is a table, the value is
"grid".

title The change set group title, which is the same as displayed in
UI.

entityName The OData entity name, which is the same as displayed in the
Metadata file.

fieldName The OData property name, which is the same as displayed in


the Metadata file.

Parameters

Parameter Description Type

wfRequestID A number, ending with L, that uniquely identifies the work­ Long
flow request

Use Case

Sample Request

Operation Query

HTTP Method POST

 Note
Please be noted that although the operation is query, the
HTTP method must be POST.

Description Get the pending data of the workflow request <your_wfRe­


questID>, for example, 2621L

URI http://<hostname>/odata/v2/beta/getWorkflowPending-
Data?wfRequestId=2621L

Headers Authorization: Basic <Base 64 encoded (“user@com­


pany:password”)>

Response

 Sample Code

{
"d": [{
"wfRequestId": "2621",
"workflowAttributeGroups": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 523
"results": [{
"changeSet": {
"results": [{
"changeSet": {
"results": []
},
"entityName": "EmpGlobalAssignment",
"fieldId": null,
"fieldName": "assignmentType",
"id": "assignment-type",
"label": "Assignment Type",
"newValue": "Short-term assignment",
"oldValue": null,
"payComponents": null,
"type": null
}]
},
"groups": {
"results": [{
"changeSet": {
"results": []
},
"inlineGroups": {
"results": [{
"changeSet": {
"results": [{
"changeSet": {
"results": []
},
"entityName": "EmpJob",
"fieldId": null,
"fieldName": "company",
"id": "company",
"label": "Company",
"newValue": "Ace Australia (ACE_AUS)",
"oldValue": "",
"payComponents": null,
"type": null
}]
},
"subChangeSetGroups": {
"results": []
},
"title": "Organizational Information"
}...]
},
"subChangeSetGroups": {
"results": []
},
"title": "Job Info "
},
{
"changeSet": {
"results": []
},
"inlineGroups": {
"results": [{
"changeSet": {
"results": [{
"changeSet": {
"results": []
},
"entityName": "EmpJobRelationships",
"fieldId": null,
"fieldName": null,
"id": null,
"label": null,

SAP SuccessFactors Employee Central OData API: Reference Guide


524 PUBLIC Workflow
"newValue": "[[\"Relationship Type\",\"
Name \",\"custom-string1\",\"custom-string2\",\"Test Date Field 1\",\"Test
Double Field 1\",\"Custom String 3\",\"Custom String 5\",\"Custom String 6\",
\"Custom String 7\",\"Custom String 8\",\"Custom String 9\",\"Custom String 10\",
\"Custom String 11\",\"Custom String 12\",\"Custom Date 2\",\"Custom Date 3\",
\"Custom Date 5\",\"Custom long 1\",\"Custom long 2\",\"Custom long 3\",\"Custom
long 4\",\"Custom long 6\",\"Custom long 7\",\"Custom long 8\",\"Custom long 9\",
\"Custom long 10\",\"Custom Double2\",\"Custom Double3\",\"Custom Double 20\",
\"Custom Long 20\"],[\"Additional Manager\",\"073101 ECT-102904 ty\",\"\",\"\",
\"\",\"\",\"\",\"56565\",\"5656\",\"\",\"\",\"\",\"\",\"\",\"\",\"03/10/2019\",
\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]]",
"oldValue":
"[[,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,],[\"\",\"\",,,,,,\"\",\"\",,,,,,,
\"\",,,,,,,,,,,,,,,]]",
"payComponents": null,
"type": "grid"
}]
},
"subChangeSetGroups": {
"results": []
},
"title": ""
}]
},
"subChangeSetGroups": {
"results": []
},
"title": "Job Relationships"
},
{
"changeSet": {
"results": []
},
"inlineGroups": {
"results": [{
"changeSet": {
"results": [{
"changeSet": {
"results": []
},
"entityName": "EmpCompensation",
"fieldId": null,
"fieldName": "payType",
"id": "pay-type",
"label": "Pay Type",
"newValue": "Hourly",
"oldValue": null,
"payComponents": null,
"type": null
},
{
"changeSet": {
"results": []
},
"entityName": "FOPayComponentGroup",
"fieldId": null,
"fieldName": "CAR",
"id": "CAR",
"label": "Car Allowances (CAR)",
"newValue": "1,200 USD",
"oldValue": null,
"payComponents": {
"results": [{
"label": "Monthly Car (MONCAR)",
"newValue": "1,200",
"oldValue": null
},
{

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 525
"label": "Car Allowances (CAR)",
"newValue": "1,200",
"oldValue": null
}]
},
"type": null
},
{
"changeSet": {
"results": []
},
"entityName": "EmpPayCompRecurring",
"fieldId": null,
"fieldName": null,
"id": "Compensation",
"label": "Compensation",
"newValue": "[[\"Pay Component\",\"Amount
\",\"Currency\",\"Frequency\",\"Pay Comp Recurring Custom String 1\",\"Pay Comp
Recurring Custom String 2\",\"Pay Comp Recurring Custom-long20\",\"Pay Comp
Recurring Custom-Double20\",\"Pay Comp Recurring Custom-date10\",\"Pay Comp
Recurring Custom-string18\",\"Pay Comp Recurring Custom-string17\",\"Pay Comp
Recurring Custom18\",\"Pay Comp Recurring Custom19\"],[\"Monthly Car (MONCAR)\",
\"200.00\",\"USD\",\"Bi-Monthly (BIM)\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",
\"\"]]",
"oldValue": "[[,,,,,,,,,,,,],[\"\",\"\",
\"\",\"\",,,,,,,,,]]",
"payComponents": null,
"type": "grid"
},
{
"changeSet": {
"results": []
},
"entityName": "EmpPayCompNonRecurring",
"fieldId": null,
"fieldName": null,
"id": null,
"label": "Spot Bonus",
"newValue": "[[\"Issue Date\",\"Type\",
\"Currency Code\",\"Alternative Cost Center\",\"Value\",\"Custom String 2\",
\"Custom String 3\",\"Custom String 4\",\"Custom String 5\",\"Test Date Field
1\",\"Test Double Field 1\",\"Custom18\",\"Custom19\",\"Custom Double3\",
\"Custom Double6\",\"Custom long 6\",\"Custom long 3\",\"Custom long 4\",
\"Custom String 13\",\"Custom String 14\",\"Custom String 15\",\"Custom Date 2\",
\"Custom Date 3\",\"Custom Double 20\",\"Custom Long 20\"],[\"03/19/2019\",
\"HOURLY-UK (HR-UK)\",\"GBP\",\"\",\"7,000\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",
\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"]]",
"oldValue": "[[,,,,,,,,,,,,,,,,,,,,,,,,],
[,,,,,,,,,,,,,,,,,,,,,,,,]]",
"payComponents": null,
"type": "grid"
}]
},
"subChangeSetGroups": {
"results": []
},
"title": "Compensation Information"
}]
},
"subChangeSetGroups": {
"results": []
},
"title": "Compensation Info"
}]
},
"subChangeSetGroups": {
"results": []
},

SAP SuccessFactors Employee Central OData API: Reference Guide


526 PUBLIC Workflow
"title": "Global Assignment"
}]
}
}]
}

You can map the change to an HRIS element using the entityName and fieldName fields.

SAP SuccessFactors Employee Central OData API: Reference Guide


Workflow PUBLIC 527
16 Business Examples

16.1 Adding a New Employee

If you want to save time when adding new employees to your organization, you can use an Upsert operation. This
will prove less time-consuming that adding the employees one-by-one in the Employee Central UI.

At a minimum you can insert the User, PerPerson, EmpEmployment, EmpJob, and PerPersonal entity to add an
employee. The order in which you perform the Upsert operations is critical. Be sure to follow it.

1. User entity
2. PerPerson
3. EmpEmployment
4. EmpJob
5. PerPersonal

 Caution

Before inserting or updating employee information using OData API, check whether an HRIS sync job is
currently running in your instance. An active HRIS sync job may overwrite the values of certain fields, such as
username. This could lead to inconsistent user data. We recommend that you avoid all API edit operations
when an HRIS sync job is running.

Please contact your Implementation Partner to find out whether an HRIS sync job is scheduled for your
instance. If you are no longer working with an Implementation Partner, contact SAP Cloud Support.

Related Information

User entity upsert [page 529]


PerPerson Upsert [page 530]
EmpEmployment Upsert [page 531]
EmpJob Upsert [page 533]
PerPersonal Upsert [page 534]

SAP SuccessFactors Employee Central OData API: Reference Guide


528 PUBLIC Business Examples
16.1.1 User entity upsert

When you add a new employee, you need to upsert the User entity. The order in which you upsert your entities for
adding a new employee is crucial and the user entity is the first one. The other ones are PerPerson (2nd upsert),
EmpEmployment (3rd upsert), EmpJob (4th upsert) and PerPersonal (5th upsert).

Good to know

When you upsert the user entity, this also creates the PerPerson and EmpEmployment entity. However, both these
entities remain hidden until you explicitly upsert them.

Please also note that the PerPerson entity will only be visible after you have upserted the EmpEmployment entity.

Sample OData Request

URI: http://<Hostname>.com/odata/v2/upsert

HTTP Method: POST

Authorization: Authorization: Basic <Base 64 encoded (“user@company:password”)>

Payload

 Source Code

{
"__metadata": {
"uri": "User('cgrant')"
},
"username": "carlagrant",
"status": "Active",
"userId": "cgrant"
}}

Form Encoding: application/json

Tip

To see the required fields for this entity for your instance, check your OData dictionary. There you'll see any other
insertable fields available and you can add them to your payload, if required.

Response

When the insert is successful, you'll have the following response. Please note that the operation always returns
status 200 (OK) with a response body indicating all Upsert results. Individual Upsert failures are not reported as
errors.

 Source Code

<feed>
<entry>
<content type="application/xml">
<m:properties>
<d:key>cgrant</d:key>
<d:status>OK</d:status>
<d:editStatus>INSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">201</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 529
</content>
</entry>
</feed>

Next step for adding a new employee: PerPerson Upsert

Related Information

User entity upsert [page 529]


PerPerson Upsert [page 530]
EmpEmployment Upsert [page 531]
EmpJob Upsert [page 533]
PerPersonal Upsert [page 534]

16.1.2 PerPerson Upsert

When you add a new employee, you need to upsert the PerPerson entity. The order in which you upsert your
entities for adding a new employee is crucial and the PerPerson entity is the second one when you use the
minimum number of entities to add a new employee. The other ones are User (first upsert), this one PerPerson
(2nd upsert), EmpEmployment (3rd upsert), EmpJob (4th upsert) and PerPersonal (5th upsert).

Good to know

Although the PerPerson entity is created when the user entity is upserted, it remains hidden. It will only become
visible when:

● It is explicitly upserted as described in this topic


● EmpEmployment has been upserted

Sample OData Request

URI: http://<Hostname>.com/odata/v2/upsert

HTTP Method: POST

Authorization: Authorization: Basic <Base 64 encoded (“user@company:password”)>

Payload

 Source Code

{
"__metadata": {
"uri": "PerPerson('cgrant')"
},
"personIdExternal": "grantcarla",
"userId": "cgrant"
}}

Form Encoding: application/json

SAP SuccessFactors Employee Central OData API: Reference Guide


530 PUBLIC Business Examples
Tip

To see the required fields for this entity for your instance, check your OData dictionary. There you'll see any other
insertable fields available and you can add them to your payload, if required.

Response

When the insert is successful, you'll have the following response. Please note that the operation always returns
status 200 (OK) with a response body indicating all Upsert results. Individual Upsert failures are not reported as
errors.

 Source Code

<feed>
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Next step for adding a new employee:EmpEmployment Upsert

Related Information

User entity upsert [page 529]


EmpEmployment Upsert [page 531]
EmpJob Upsert [page 533]
PerPersonal Upsert [page 534]
generateNextPersonID [page 371]

16.1.3 EmpEmployment Upsert

When you add a new employee, you need to upsert the EmpEmployment entity. The order in which you upsert your
entities for adding a new employee is crucial and the EmpEmployment entity is the third one when you use the
minimum number of entities to add a new employee. The other ones are User (1st upsert), PerPerson (2nd
upsert),this one EmpEmployment (3rd upsert), EmpJob (4th upsert), and PerPersonal (5th upsert).

Good to know

When you upsert EmpEmployment, the PerPerson entity will also become visible assuming that it has been
explicitly upserted (and not just created as a hidden entity during the User upsert).

Sample OData Request

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 531
URI: http://<Hostname>.com/odata/v2/upsert

HTTP Method: POST

Authorization: Authorization: Basic <Base 64 encoded (“user@company:password”)>

Payload

 Sample Code

 Source Code

{"__metadata": {
"uri": "EmpEmployment(personIdExternal='grantcarla',userId='cgrant')"
},
"startDate":"/Date(1388534400000)/",
"personIdExternal":"grantcarla",
"userId":"cgrant"
}}

Form Encoding: application/json

Tip

To see the required fields for this entity, check the OData dictionary in your company instance. You can also see the
other insertable fields and can add them to your payload, if required.

Response

When the insert is successful, you'll have the following response. Please note that the operation always returns
status 200 (OK) with a response body indicating all Upsert results. Individual Upsert failures are not reported as
errors.

 Source Code

<feed>
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Next step for adding a new employee: EmpJob Upsert

Related Information

Adding a New Employee [page 528]

SAP SuccessFactors Employee Central OData API: Reference Guide


532 PUBLIC Business Examples
User entity upsert [page 529]
PerPerson Upsert [page 530]
EmpJob Upsert [page 533]
PerPersonal Upsert [page 534]

16.1.4 EmpJob Upsert

When you add a new employee, you need to upsert the EmpJob entity. The order in which you upsert your entities
for adding a new employee is crucial and the EmpJob entity is the fourth one when you use the minimum number
of entities to add a new employee. The other ones are User (1st upsert), PerPerson (2nd upsert), EmpEmployment
(3rd upsert), this one, EmpJob (4th upsert), and PerPersonal (5th upsert).

Sample OData Request

URI: http://<Hostname>.com/odata/v2/upsert

HTTP Method: POST

Authorization: Authorization: Basic <Base 64 encoded (“user@company:password”)>

Payload

 Source Code

{"__metadata": {
"uri": "EmpJob"
},
"jobCode":"ADMIN-1",
"userId":"cgrant",
"startDate":"/Date(1388534400000)/",
"eventReason":"HIRNEW",
"company":"ACE_USA",
"businessUnit":"ACE_CORP",
"managerId":"NO_MANAGER"
}
}
}

Form Encoding: application/json

Tip

To see the required fields for this entity for your instance, check your OData dictionary. There you'll see any other
insertable fields available and you can add them to your payload, if required.

Response

When the insert is successful, you'll have the following response. Please note that the operation always returns
status 200 (OK) with a response body indicating all Upsert results. Individual Upsert failures are not reported as
errors.

 Source Code

<feed>
<entry>
<content type="application/xml">

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 533
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Next step for adding a new employee: PerPersonal Upsert

Related Information

Adding a New Employee [page 528]


User entity upsert [page 529]
PerPerson Upsert [page 530]
EmpEmployment Upsert [page 531]
PerPersonal Upsert [page 534]

16.1.5 PerPersonal Upsert

When you add a new employee, you need to upsert the PerPersonal entity. The order in which you upsert your
entities for adding a new employee is crucial and the PerPersonal entity is the last one when you use the minimum
number of entities to add a new employee. The other ones are User (first upsert), PerPerson (2nd upsert),
EmpEmployment (3rd upsert), EmpJob (4th upsert) and this one PerPersonal (5th upsert).

Sample OData Request

URI: http://<Hostname>.com/odata/v2/upsert

HTTP Method: POST

Authorization: Authorization: Basic <Base 64 encoded (“user@company:password”)>

Payload

 Source Code

{ "__metadata":{
"uri":"PerPersonal(personIdExternal='grantcarla',startDate=datetime'2014-01-01T00
:00:00')"},
"personIdExternal":"grantcarla",
"namePrefix": "Ms",
"gender":"F",
"initials": "cg",
"firstName":"Carla",
"lastName":"Grant"
}

SAP SuccessFactors Employee Central OData API: Reference Guide


534 PUBLIC Business Examples
Form Encoding: application/json

Tip

To see the required fields for this entity for your instance, check your OData dictionary. There you'll see any other
insertable fields available and you can add them to your payload, if required.

Response

When the insert is successful, you'll have the following response. Please note that the operation always returns
status 200 (OK) with a response body indicating all Upsert results. Individual Upsert failures are not reported as
errors.

 Source Code

<feed>
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
</feed>

Related Information

Adding a New Employee [page 528]


User entity upsert [page 529]
PerPerson Upsert [page 530]
EmpEmployment Upsert [page 531]
EmpJob Upsert [page 533]

16.2 Filtering out external user data

Boolean fields, includeAllRecords (added to EmpEmployment, PerAddressDEFLT, PerEmail, PerPhone, PerPerson,


and PerPersonal) and isECRecord (added to EmpEmployment) are available for more flexible filtering.

Background

In this topic, we’re talking about external and internal user data.

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 535
External user data refers to non-EC user data. When non-EC modules use EC entities to store user data (for
example, Recruiting might use PerPerson and PerPhone to store details about an applicant), this type of user data
is known as external user data.

Internal user data refers to EC users, that is employees, as well as any users that have a dependent relationship
with an EC user (for example, a spouse, a child, or, an emergency contact).

What's the benefit?

The EC entities, EmpEmployment, PerAddressDEFLT, PerEmail, PerPhone, PerPerson, and PerPersonal are often
reused by other non-EC modules to store user data. This data is external user data. Up to now, you haven't been
able to filter out this external user data for PerAddressDEFLT, PerEmail, PerPhone, or for PerPersonal . So, if, for
example you’re using EC OData APIs for a scenario such as payroll replication, your response could include
applicants from Recruiting. And, conversely, you have not been able to include external user data for
EmpEmployment or PerPerson. Now, however, we're offering filterable and selectable fields to model queries to
meet your requirements.

How does it work?

We're offering you the following Boolean fields to use with $filter:

● isECRecord: Available for EmpEmployment.


isECRecord=true means that internal user data is returned; isECRecord=false means that external user data is
returned.
● includeAllRecords: Available for EmpEmployment, PerAddressDEFLT, PerEmail, PerPhone, PerPerson, and
PerPersonal.
includeAllRecords=true means that both internal and external records are returned.

For EmpEmployment, you can use this combination to return external user data:

isECRecord = false and includeAllRecords = true

Tell me more: Properties

Upserta­
Field Type Nullable Required Creatable Updatable ble Visible Sortable Filterable

includeAll­ Edm.Boo­ True False False False False False True True
Records lean

isECRe­ Edm.Boo­ True False False False False True False True
cord lean

SAP SuccessFactors Employee Central OData API: Reference Guide


536 PUBLIC Business Examples
Good to know

includeAllRecords works on the root entity only. If you specify it on the navigation entity, it won't work.

Works:

Query: https://<hostname>.com/odata/v2/PerPerson?$expand=personalInfoNav&
$filter=includeAllRecords eq true

Query: https://<hostname>.com/odata/v2/PerAddressDEFLT?$filter=includeAllRecords eq true

Won't work - Raises an error message:

Query: https://<hostname>.com/odata/v2/PerPerson?$expand=personalInfoNav&
$filter=personalInfoNav/includeAllRecords eq true

Error message: Unsupported feature: Filter by nav/includeAllRecords is not supported.

How can I use it?

This table tells you how to use the filters.

isECRecord and includeAllRecords in filters

Your want your query to return You'll need to Use the following filter

Internal user data Filter out external user data Option 1: isECRecord=true

Option 2: isECRecord=true, includeAllRe­


cords=false

Option 3: includeAllRecords=false

Option 4: includeAllRecords=true, isE­


CRecord=true

Option 5: no filter

External user data Filter out internal user data isECRecord=false, includeAllRecords=
true
 Note
Only available for EmpEmployment

External and internal user data Include external and internal user data includeAllRecords= true

Show me some use cases

Here are some queries and the responses.

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 537
 Note

Please remember that includeAllRecords is a hidden field, so you won't see it in the response.

Filter out external user data for PerPhone


Query: https://<hostname>.com/odata/v2/PerPhone?$filter=includeAllRecords eq false or

Query: https://<hostname>.com/odata/v2/PerPhone
Response

 Sample Code

Extract from response

<m:properties>
<d:personIdExternal>llll</d:personIdExternal>
<d:phoneType>5845</d:phoneType>
<d:extension m:null="true"></d:extension>
<d:createdOn m:type="Edm.DateTime">2011-03-17T21:39:02</
d:createdOn>
<d:isPrimary m:type="Edm.Boolean">true</d:isPrimary>
<d:phoneNumber>707 2000</d:phoneNumber>
<d:createdBy>admin</d:createdBy>
<d:lastModifiedBy>admin</d:lastModifiedBy>
<d:createdDateTime
m:type="Edm.DateTimeOffset">2011-03-17T21:39:02Z</d:createdDateTime>
<d:lastModifiedOn m:type="Edm.DateTime">2011-03-17T21:39:02</
d:lastModifiedOn>
<d:lastModifiedDateTime
m:type="Edm.DateTimeOffset">2011-03-17T21:39:02Z</d:lastModifiedDateTime>
</m:properties>

Filter out external user data for EmpEmployee


Query: https://<hostname>.com/odata/v2/EmpEmployment?$filter=includeAllRecords eq true
and isECRecord eq false

 Sample Code

Extract from response

<m:properties>
<d:personIdExternal>GAdams</d:personIdExternal>
<d:userId>GAdams</d:userId>
<d:startDate m:type="Edm.DateTime">1900-01-01T00:00:00</
d:startDate>
<d:eligibleForStock m:null="true"></d:eligibleForStock>
<d:initialOptionGrant m:null="true"></d:initialOptionGrant>
<d:payrollEndDate m:null="true"></d:payrollEndDate>
<d:serviceDate m:null="true"></d:serviceDate>
<d:professionalServiceDate m:null="true"></
d:professionalServiceDate>
<d:okToRehire m:null="true"></d:okToRehire>
<d:regretTermination m:null="true"></d:regretTermination>
<d:customString23 m:null="true"></d:customString23>
<d:endDate m:null="true"></d:endDate>
<d:lastModifiedDateTime
m:type="Edm.DateTimeOffset">2016-06-21T08:54:09Z</d:lastModifiedDateTime>
<d:eligibleForSalContinuation m:null="true"></
d:eligibleForSalContinuation>
<d:StockEndDate m:null="true"></d:StockEndDate>

SAP SuccessFactors Employee Central OData API: Reference Guide


538 PUBLIC Business Examples
<d:assignmentClass m:null="true"></d:assignmentClass>
<d:lastDateWorked m:null="true"></d:lastDateWorked>
<d:salaryEndDate m:null="true"></d:salaryEndDate>
<d:isECRecord m:type="Edm.Boolean">false</d:isECRecord>
<d:originalStartDate m:null="true"></d:originalStartDate>
<d:benefitsEndDate m:null="true"></d:benefitsEndDate>
<d:lastModifiedOn m:type="Edm.DateTime">2016-06-21T08:54:09</
d:lastModifiedOn>
<d:initialStockGrant m:null="true"></d:initialStockGrant>
<d:bonusPayExpirationDate m:null="true"></
d:bonusPayExpirationDate>
<d:createdOn m:type="Edm.DateTime">2016-06-21T08:54:09</
d:createdOn>
<d:createdBy>v4admin</d:createdBy>
<d:lastModifiedBy>v4admin</d:lastModifiedBy>
<d:createdDateTime
m:type="Edm.DateTimeOffset">2016-06-21T08:54:09Z</d:createdDateTime>
<d:seniorityDate m:null="true"></d:seniorityDate>
</m:properties>

Return internal and external user data

Query: https://<hostname>.com/odata/v2/EmpEmployment?$filter=includeAllRecords eq true

Response

 Sample Code

Extract from response

<m:properties>
<d:personIdExternal>121</d:personIdExternal>
<d:userId>121</d:userId>
<d:startDate m:type="Edm.DateTime">2011-12-05T00:00:00</
d:startDate>
<d:eligibleForStock m:type="Edm.Boolean">false</
d:eligibleForStock>
<d:initialOptionGrant m:null="true"></d:initialOptionGrant>
<d:payrollEndDate m:type="Edm.DateTime">2011-11-28T00:00:00</
d:payrollEndDate>
<d:serviceDate m:null="true"></d:serviceDate>
<d:professionalServiceDate m:null="true"></
d:professionalServiceDate>
<d:okToRehire m:null="true"></d:okToRehire>
<d:regretTermination m:type="Edm.Boolean">false</
d:regretTermination>
<d:customString23 m:null="true"></d:customString23>
<d:endDate m:null="true"></d:endDate>
<d:lastModifiedDateTime
m:type="Edm.DateTimeOffset">2011-12-06T00:00:42Z</d:lastModifiedDateTime>
<d:eligibleForSalContinuation m:type="Edm.Boolean">false</
d:eligibleForSalContinuation>
<d:StockEndDate m:type="Edm.DateTime">2011-11-28T00:00:00</
d:StockEndDate>
<d:assignmentClass>ST</d:assignmentClass>
<d:lastDateWorked m:type="Edm.DateTime">2011-11-28T00:00:00</
d:lastDateWorked>
<d:salaryEndDate m:type="Edm.DateTime">2011-11-28T00:00:00</
d:salaryEndDate>
<d:isECRecord m:type="Edm.Boolean">true</d:isECRecord>
<d:originalStartDate m:type="Edm.DateTime">2011-05-11T00:00:00</
d:originalStartDate>

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 539
<d:benefitsEndDate m:type="Edm.DateTime">2011-11-28T00:00:00</
d:benefitsEndDate>
<d:lastModifiedOn m:type="Edm.DateTime">2011-12-06T00:00:42</
d:lastModifiedOn>
<d:initialStockGrant m:null="true"></d:initialStockGrant>
<d:bonusPayExpirationDate m:null="true"></
d:bonusPayExpirationDate>
<d:createdOn m:type="Edm.DateTime">2011-12-06T00:00:41</
d:createdOn>
<d:createdBy>nnnn</d:createdBy>
<d:lastModifiedBy>nnnn</d:lastModifiedBy>
<d:createdDateTime
m:type="Edm.DateTimeOffset">2011-12-06T00:00:41Z</d:createdDateTime>
<d:seniorityDate m:type="Edm.DateTime">2011-12-05T00:00:00</
d:seniorityDate>
</m:properties>

16.3 Exposing person UUID for intergration and import


scenarios

A person UUID (unique universal identifier) is now available for integration and import scenarios.

Background

We’ve introduced the concept of a person UUID for the entire SAP SuccessFactors HCM Suite. When a new hire or
user is created, the system generates this identifier – called “perPersonUuid”. This field is immutable meaning that
once the field is populated with a value, it cannot be changed.

What's the benefit?

In the SAP SF HCM Suite, you can now expose perPersonUuid for integration and import scenarios for all
employees. So even if the employment field IS_EC_SYSTEM_OF_RECORD=F and the record is for a non-EC user,
the perPersonUuid can be exposed.

How does it work?

perPersonUuid is a field in the new entity PersonKey.

perPersonUuid cannot be queried directly, but is available from the User entity with the new navigation
personKeyNav.

perPersonUuid is exposed regardless of data model configuration, RBP settings, or provisioning settings.
perPersonUuid can also be added to PerPerson.

SAP SuccessFactors Employee Central OData API: Reference Guide


540 PUBLIC Business Examples
Tell me more

These tables show you the properties for PersonKey, PersonKeyNav and perPersonUuid.

PersonKey Entity: Properties

Property Upserta­
Name Type Nullable Required Creatable Updatable ble Visible Sortable Filterable

personI­ Edm.String False True False False False True True True
dExternal

personId Edm.Int64 True False False False False True True True

perPerso­ Edm.String True False False False False True True True
nUuid

PersonKeyNav Properties in User entity

Upserta­ Relation­
Required Creatable Updatable ble Visible Sortable Filterable ship FromRole ToRole

False False False False True False True SFO­ User PersonKey
Data.Per­
son­
Key_User

perPersonUuid: Properties in PerPerson entity


Type Nullable Required Creatable Updatable Upsertable Visible Sortable Filterable

Edm.String True False False False True True False False

Good to know

● Minimum UI Version: v12.


● perPersonUuid is not available on the UI. It is for integration and import scenarios only.
● perPersonUuid maximum length is 32 characters.
● personKeyNav in the User entity is independent of the provisioning settings.
● Available in PerPerson as an upsertable and visible field.

 Note

Note - to add it to PerPerson, you have to:

○ Add <hris-field id="per-person-uuid" visibility="both"> to personInfo hris-element in your data model


configuration.
○ Enable RBP and EDDP in provisioning

● The only way to expose this field in a query is with $expand from the User entity. If you try to query the entity
directly, the error message <COE_UNSUPPORTED_FEATURE> is raised.

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 541
How can I use it?

To query it, personKeyNav has now been added to the User entity and you use $expand to expose perPersonUuid.

Show me a use case: $expand

Request: https://<hostname.com/odata/v2/User('admin')?$format=json&$expand=personKeyNav&
$select=personKeyNav

Response

 Sample Code

Extract from response

{
"d": {
"__metadata": {
"uri": "https://<hostname>.com/odata/v2/User('admin')",
"type": "SFOData.User"
},
"personKeyNav": {
"__metadata": {
"uri": "https://<hostname>.com/odata/v2/PersonKey('admin')",
"type": "SFOData.PersonKey"
},
"personIdExternal": "admin",
"personId": "2",
"perPersonUuid": "3A085DB0D9184B49B0E3E70D6F07EB1A"
}
}
},

Show me a use case: Filtering perPersonUuid

Request: https://<hostname>.com/odata/v2/User('admin')?$format=json&
$expand=personKeyNav&$filter=personKeyNav/pePersonUuid eq
"3A085DB0D9184B49B0E3E70D6F07EB1A"

Response

 Sample Code

Extract from response

Response:
{
"d": {
"__metadata": {
"uri": "https://<hostname>.com/odata/v2/User('admin')",
"type": "SFOData.User"
},
....

SAP SuccessFactors Employee Central OData API: Reference Guide


542 PUBLIC Business Examples
},
"personKeyNav": {
"__metadata": {
"uri": "https://<hostname>.com/odata/v2/PersonKey('admin')",
"type": "SFOData.PersonKey"
},
"personIdExternal": "admin",
"personId": "2",
"perPersonUuid": "3A085DB0D9184B49B0E3E70D6F07EB1A"
}

Related Information

PersonKey [page 382]

16.4 Using wfStepApproverNav for more detailed workflow


configuration information

You can use wfStepApproverNav to get more detailed workflow information.

Background

FOWfConfig contains workflow information but - as with all entity fields - you can only read the fields that have the
attribute visible=true. In FOWfConfig, this means that you couldn't read the following fields:

actionType, approverRole, approverType, context, relationshipToApprover, respectRBP, skipType, and stepNum

However, you can use this nav, wfStepApproverNav to navigate to FOWfConfigStepApprover where these fields
have the attribute visible=true.

What's the benefit?

Being able to read these fields means that you can get much more detailed workflow information.

How can I use these fields in my workflow configurations?

You can access these fields for more detailed information as follows:

● With FOWfConfig, you can use $expand=wfStepApproverNav.

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 543
● With FOWfConfigStepApprover, you can use a direct query.

Tell me more

wfStepApproverNav: Properties

 Sample Code

Extract from $metadata

<NavigationProperty Name="wfStepApproverNav"
sap:required="false"
sap:creatable="false"
sap:updatable="false"
sap:upsertable="false"
sap:visible="true"
sap:sortable="true"
sap:filterable="true"
Relationship="SFOData.FOWfConfig_FOWfConfigStepApprover"
FromRole="FOWfConfig" ToRole="FOWfConfigStepApprover_ref"
sap:label="wfStepApproverNav">
</NavigationProperty>

FOWfConfigStepApprover: Properties

 Sample Code

Extract from $metadata focussing on the fields that have the attribute visible=true (up to now only available in
FOWfConfig with the attribute visible=false)

<EntityType Name="FOWfConfigStepApprover">
<Property Name="actionType" Type="Edm.String" Nullable="true"
sap:required="false" sap:creatable="false" sap:updatable="false"
sap:upsertable="false" sap:visible="true" sap:sortable="false"
sap:filterable="false" sap:label="Edit Transaction"></Property>
<Property Name="approverRole" Type="Edm.String" Nullable="true"
sap:required="false" sap:creatable="false" sap:updatable="false"
sap:upsertable="false" sap:visible="true" sap:sortable="false"
sap:filterable="false" sap:label="Approver Role"></Property>
<Property Name="approverType" Type="Edm.String" Nullable="true"
sap:required="false" sap:creatable="false" sap:updatable="false"
sap:upsertable="false" sap:visible="true" sap:sortable="false"
sap:filterable="false" MaxLength="32" sap:label="Approver Type"></Property>
<Property Name="context" Type="Edm.String" Nullable="true"
sap:required="false" sap:creatable="false" sap:updatable="false"
sap:upsertable="false" sap:visible="true" sap:sortable="false"
sap:filterable="false" MaxLength="32" sap:label="Context"></Property>
<Property Name="relationshipToApprover" Type="Edm.String"
Nullable="true" sap:required="false" sap:creatable="false" sap:updatable="false"
sap:upsertable="false" sap:visible="true" sap:sortable="false"
sap:filterable="false" sap:label="relationshipToApprover"></Property>
<Property Name="respectRBP" Type="Edm.Boolean" Nullable="true"
sap:required="false" sap:creatable="false" sap:updatable="false"

SAP SuccessFactors Employee Central OData API: Reference Guide


544 PUBLIC Business Examples
sap:upsertable="false" sap:visible="true" sap:sortable="false"
sap:filterable="false" sap:label="respectRBP"></Property>
<Property Name="skipType" Type="Edm.String" Nullable="true"
sap:required="false" sap:creatable="false" sap:updatable="false"
sap:upsertable="false" sap:visible="true" sap:sortable="false"
sap:filterable="false" sap:label="skipType"></Property>
<Property Name="stepNum" Type="Edm.Int64" Nullable="false"
sap:required="true" sap:creatable="false" sap:updatable="false"
sap:upsertable="false" sap:visible="true" sap:sortable="true"
sap:filterable="true" sap:label="stepNum"></Property>
</EntityType>

Show me some use cases

$expand with FOWfConfig


Request: https://<hostname>.com/odata/v2/FOWfConfig('LOA')?$format=json&
$expand=wfStepApproverNav

Response

 Sample Code

{
"d": {
"__metadata": {
"uri": "https://<hostname>.com/odata/v2/FOWfConfig('LOA')",
"type": "SFOData.FOWfConfig"
},
"externalCode": "LOA",
"createdOn": "/Date(1300533482000)/",
"futureDatedAlternateWorkflow": null,
"createdBy": "admin",
"description": "HR Business Partner assigned to manager's business unit",
"name": "Leave of Absence",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1300533482000+0000)/",
"remindIndays": null,
"lastModifiedOn": "/Date(1323196467000)/",
"lastModifiedDateTime": "/Date(1323196467000+0000)/",
"isDelegateSupported": null,
"wfStepApproverNav": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com/odata/v2/
FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)",
"type": "SFOData.FOWfConfigStepApprover"
},
"stepNum": "1",
"externalCode": "LOA",
"approverPositionRelationship": null,
"lastModifiedDateTime": "/Date(1323196467000+0000)/",
"actionType": "NO_EDIT",
"skipType": null,
"approverRole": "EH",
"relationshipToApprover": null,
"approverType": "ROLE",
"createdBy": "admin",
"lastModifiedBy": "admin",
"createdDateTime": "/Date(1311812907000+0000)/",

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 545
"context": "SOURCE",
"respectRBP": null,
"relationshipToPosition": null,
"approverDynamicRoleNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)/approverDynamicRoleNav"
}
},
"approverGroupNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)/approverGroupNav"
}
},
"approverPositionNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)/approverPositionNav"
}
}
}
]
},
"descriptionTranslationNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/FOWfConfig('LOA')/
descriptionTranslationNav"
}
},
"futureDatedAlternateWorkflowNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/FOWfConfig('LOA')/
futureDatedAlternateWorkflowNav"
}
},
"nameTranslationNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/FOWfConfig('LOA')/
nameTranslationNav"
}
}
}
}

Direct query using FOWfConfigStepApprover


Request: https://<hostname>.com/odata/v2/FOWfConfigStepApprover

Response

 Sample Code

Extract from response

....
<entry>
<id>https://<hostname>.com/odata/v2/
FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)</id>
<title type="text"></title>
<updated>2016-10-11T08:22:03Z</updated>
<author>
<name></name>
</author>
<link rel="edit" title="FOWfConfigStepApprover"
href="FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)"></link>

SAP SuccessFactors Employee Central OData API: Reference Guide


546 PUBLIC Business Examples
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
approverDynamicRoleNav" type="application/atom+xml;type=feed"
title="approverDynamicRoleNav"
href="FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)/
approverDynamicRoleNav"></link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
approverGroupNav" type="application/atom+xml;type=entry"
title="approverGroupNav"
href="FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)/approverGroupNav"></
link>
<link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/
approverPositionNav" type="application/atom+xml;type=feed"
title="approverPositionNav"
href="FOWfConfigStepApprover(externalCode='LOA',stepNum=1L)/
approverPositionNav"></link>
<category term="SFOData.FOWfConfigStepApprover" scheme="http://
schemas.microsoft.com/ado/2007/08/dataservices/scheme"></category>
<content type="application/xml">
<m:properties>
<d:stepNum m:type="Edm.Int64">1</d:stepNum>
<d:externalCode>LOA</d:externalCode>
<d:approverPositionRelationship m:null="true"></
d:approverPositionRelationship>
<d:lastModifiedDateTime
m:type="Edm.DateTimeOffset">2011-12-06T18:34:27Z</d:lastModifiedDateTime>
<d:actionType>NO_EDIT</d:actionType>
<d:skipType m:null="true"></d:skipType>
<d:approverRole>EH</d:approverRole>
<d:relationshipToApprover m:null="true"></
d:relationshipToApprover>
<d:approverType>ROLE</d:approverType>
<d:createdBy>admin</d:createdBy>
<d:lastModifiedBy>admin</d:lastModifiedBy>
<d:createdDateTime
m:type="Edm.DateTimeOffset">2011-07-28T00:28:27Z</d:createdDateTime>
<d:context>SOURCE</d:context>
<d:respectRBP m:null="true"></d:respectRBP>
<d:relationshipToPosition m:null="true"></
d:relationshipToPosition>
</m:properties>
</content>
</entry>

Related Information

FOWfConfig [page 152]


FOWfConfigStepApprover [page 153]

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 547
16.5 Differentiating primary from secondary employment
during concurrent employment replication

What's new?

The mdf entities, SecondaryAssignments and SecondaryAssignmentsItem are now available. This means that it is
now possible to know which employment contract is the primary one for replication scenarios. In a nutshell you can
now build a concurrent employment replication from Employee Central to other 3rd Party systems using OData
APIs. Please note that secondary employment is also known as concurrent employment.

What's the benefit?

Previously it was not possible to differentiate primary from secondary employments using OData APIs. By offering
SecondaryAssignments and SecondaryAssignmentsItems, important data has been made available in one single
API call and you benefit from:

● Simplified API consumption


● Faster integration since you no longer have to deal with logic on middleware
● Extracting data from the integration center
● Not having to build multiple queries to identify secondary employments

How does it work?

The PerPerson entity now has a navigation secondaryAssignmentsNav that lets you navigate to the MDF entity
SecondaryAssignments.

Tell me more

SecondaryAssignments has a business key externalCode (Person ID External) meaning that it references a person.
It has a one to multiple association with the MDF entity SecondaryAssignmentsItem.

SecondaryAssignmentsItems contains the userSysId (Employment/User ID) – this is the unique user ID generated
when a secondary employment is created. It is a child entity of SecondaryAssignments. These assignments are
created and maintained automatically based on the creation or editing of Concurrent Employment.

SAP SuccessFactors Employee Central OData API: Reference Guide


548 PUBLIC Business Examples
Good to know

Both entities are effective-dated. If the concept of effective dating is new to you, please take a look at Effective
Dating so that you can make the most out of this new entity.

How can I use it?

In the PerPerson entity, you use the secondaryAssignmentsNav, a visible, sortable, and filterable field to build a
query that navigates to the entity SecondaryAssignments.

Show me a use case: GET

GET Operation: Retrieves the secondaryAssignmentsNav which in turn will return the
SecondaryAssignmentsItems, that is information about the secondary employment.

Request: https://<hostname>.com/odata/v2/PerPerson?$format=json&$filter=personIdExternal
%20eq%20'jsmith'&$expand=secondaryAssignmentsNav/allSfProcesses

Response

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com/odata/v2/PerPerson('jsmith')",
"type": "SFOData.PerPerson"
},
"personIdExternal": "jsmith",
"dateOfBirth": null,
"lastModifiedOn": "/Date(1303743709000)/",
"lastModifiedDateTime": "/Date(1303743709000+0000)/",
"dateOfDeath": null,
"createdOn": "/Date(1303743708000)/",
"countryOfBirth": null,
"createdBy": "v4admin",
"regionOfBirth": null,
"createdDateTime": "/Date(1303743708000+0000)/",
"lastModifiedBy": "v4admin",
"personId": "11",
"personRerlationshipNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/personRerlationshipNav"
}
},
"emergencyContactNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/emergencyContactNav"
}
},

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 549
"phoneNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/phoneNav"
}
},
"personalInfoNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/personalInfoNav"
}
},
"homeAddressNavDEFLT": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/homeAddressNavDEFLT"
}
},
"secondaryAssignmentsNav": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com/odata/v2/
SecondaryAssignments(effectiveStartDate=datetime'2016-06-24T00:00:00',externalCod
e='jsmith')",
"type": "SFOData.SecondaryAssignments"
},
"effectiveStartDate": "/Date(1466726400000)/",
"externalCode": "jsmith",
"mdfSystemObjectType": "SecondaryAssignments",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/Date(1467020470000+0000)/",
"mdfSystemTransactionSequence": "1",
"effectiveEndDate": "/Date(1468108800000)/",
"createdBy": "admin",
"mdfSystemRecordId":
"566D79D0BE2340BC83CC882FF39AAE62",
"mdfSystemEntityId":
"BD0ABACF60354252BFC0E4EDB7F2BE02",
"createdDateTime": "/Date(1467020470000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/Date(1467020470000)/",
"lastModifiedDateWithTZ": "/
Date(1467020470000+0000)/",
"createdDate": "/Date(1467020470000)/",
"mdfSystemRecordStatus": "N",
"wfRequestNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
SecondaryAssignments(effectiveStartDate=datetime'2016-06-24T00:00:00',externalCod
e='jsmith')/wfRequestNav"
}
},
"allSfProcesses": {
"results": [
{
"__metadata": {
"uri": "https://<hostname>.com/
odata/v2/
SecondaryAssignmentsItem(SecondaryAssignments_effectiveStartDate=datetime'2016-06
-24T00:00:00',SecondaryAssignments_externalCode='jsmith',externalCode='c95d6999d0
2e46878dcad5ef2a02397c')",
"type":
"SFOData.SecondaryAssignmentsItem"
},
"SecondaryAssignments_externalCode":
"jsmith",

SAP SuccessFactors Employee Central OData API: Reference Guide


550 PUBLIC Business Examples
"SecondaryAssignments_effectiveStartDate": "/Date(1466726400000)/",
"externalCode":
"c95d6999d02e46878dcad5ef2a02397c",
"mdfSystemEffectiveEndDate": "/
Date(253402214400000)/",
"mdfSystemObjectType":
"SecondaryAssignmentsItem",
"mdfSystemVersionId": null,
"lastModifiedDateTime": "/
Date(1467020470000+0000)/",
"usersSysId": "181",
"mdfSystemTransactionSequence": "1",
"createdBy": "admin",
"mdfSystemRecordId":
"448E51556F414997A79F1360D837CD29",
"mdfSystemEntityId":
"DCAF412BC16D46408FB7D3EEDB7DDF63",
"createdDateTime": "/
Date(1467020470000+0000)/",
"lastModifiedBy": "admin",
"mdfSystemStatus": "A",
"lastModifiedDate": "/
Date(1467020470000)/",
"mdfSystemEffectiveStartDate": "/
Date(-2208988800000)/",
"lastModifiedDateWithTZ": "/
Date(1467020470000+0000)/",
"createdDate": "/Date(1467020470000)/",
"mdfSystemRecordStatus": "N",
"usersSysIdNav": {
"__deferred": {
"uri": "https://<hostname>.com/
odata/v2/
SecondaryAssignmentsItem(SecondaryAssignments_effectiveStartDate=datetime'2016-06
-24T00:00:00',SecondaryAssignments_externalCode='jsmith',externalCode='c95d6999d0
2e46878dcad5ef2a02397c')/usersSysIdNav"
}
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>.com/
odata/v2/
SecondaryAssignmentsItem(SecondaryAssignments_effectiveStartDate=datetime'2016-06
-24T00:00:00',SecondaryAssignments_externalCode='jsmith',externalCode='c95d6999d0
2e46878dcad5ef2a02397c')/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {
"__deferred": {
"uri": "https://<hostname>.com/
odata/v2/
SecondaryAssignmentsItem(SecondaryAssignments_effectiveStartDate=datetime'2016-06
-24T00:00:00',SecondaryAssignments_externalCode='jsmith',externalCode='c95d6999d0
2e46878dcad5ef2a02397c')/mdfSystemStatusNav"
}
}
}
]
},
"mdfSystemRecordStatusNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
SecondaryAssignments(effectiveStartDate=datetime'2016-06-24T00:00:00',externalCod
e='jsmith')/mdfSystemRecordStatusNav"
}
},
"mdfSystemStatusNav": {

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 551
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
SecondaryAssignments(effectiveStartDate=datetime'2016-06-24T00:00:00',externalCod
e='jsmith')/mdfSystemStatusNav"
}
}
}
]
},
"nationalIdNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/nationalIdNav"
}
},
"countryOfBirthNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/countryOfBirthNav"
}
},
"emailNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/emailNav"
}
},
"socialAccountNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/socialAccountNav"
}
},
"employmentNav": {
"__deferred": {
"uri": "https://<hostname>.com/odata/v2/
PerPerson('jsmith')/employmentNav"
}
}
}
]
}
}

Show me a use case: Upsert

Upsert Operation: Retrieves the secondaryAssignmentsNav which in turn will return the
SecondaryAssignmentsItems, that is information about the secondary employment. There is not often a business
case for this operation but it has been provided to support the cloning or transfer of data between similar instances
in a different environment. In this example here, user system ID (represented by the externalcode) for the primary
employment is PrimaryEmployment and the userSysID for secondary employment is represented by 301 (a
number automatically generated when a secondary employment is created).

Request: https://<hostname>.com/odata/v2/upsert

Payload Data

 Sample Code

SAP SuccessFactors Employee Central OData API: Reference Guide


552 PUBLIC Business Examples
"__metadata": { "uri": "SecondaryAssignments"},
"effectiveStartDate" : "/Date(1420066800000)/",
"externalCode" : "mjaschob",
"allSfProcesses": {
"__metadata": { "uri": "SecondaryAssignmentsItem"},
"SecondaryAssignments_effectiveStartDate" : "/Date(1420066800000)/",
"SecondaryAssignments_externalCode" : "mjaschob",
"externalCode" : "myexternalcode55",
"usersSysId" : "301"
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


Business Examples PUBLIC 553
17 FAQs

You can take a look at the tips and FAQs here to see if they can answer your questions or help you with your APIs. In
some cases, you'll find a brief explanation, and others will guide you to existing topics for your answer.

17.1 Admin Access to OData: What does it mean?

The permission setting, Allow Admin to Access OData API through Basic Authentication, lets admins use Basic
Authorization to make API calls. It's available in Permission Settings under Administrator Settings in Manager
Integration Tools.

Two authentication types are available in OData APIs - HTTP Basic Authorization and OAuth 2.0.

HTTP Basic Authorization is less secure but simpler to set up and use - so you might want to use it for testing or in
test clients. OAuth is more complex to set up but more secure.

For more information, see:

HTTP Basic Authentication [page 556]

Authentication using OAuth 2.0

17.2 API: Do I use OData or Compound Employee API for EC


entities?

 Note

Please don't use SOAP APIs or Ad hoc APIs for building new integrations in Employee Central. The only
exception to this rule is the SOAP based Compound Employee API (CE API).

What do you need? Use OData API Use CE API

Query only and employee master data No Yes


has to be replicated in full, delta or snap­
shot mode for EC entities

Support of EC entities such as Founda­ Yes No


tion, Person, Employment, Time-Off,
Time Sheet, Position Management

SAP SuccessFactors Employee Central OData API: Reference Guide


554 PUBLIC FAQs
What do you need? Use OData API Use CE API

Historical information? Yes No (because only partial historical infor­


mation is available; not all objects are
covered)

RBP checks Yes Yes

Support of MDF objects Yes No (because only user-based MDF ob­


jects are supported)

Usage in HCP Yes No

UI consumption Yes No

Write or update data Yes No

17.3 APIs are missing or not up-to-date in the OData API Data
Dictionary?

Sometimes you cannot find an entity in the OData API Data Dictionary, or the definition in the dictionary is out of
dated. That might be because the entity is an MDF object and it is not exposed to OData API properly.

For detailed steps on how to solve this problem, see Exposing MDF Objects.

17.4 Authentication Types: Which one is right for me?

In EC OData APIs, you use either HTTP Basic Authentication or OAuth 2.0 as an authentication type.

The main difference between basic authentication and OAuth 2.0 is the level of security each type offers for making
API calls. Basic authorization is less secure but easier to set up and OAuth 2.0 is more secure and more complex to
set up. However, you can secure the access with basic authentication using IP whitelisting. For more information,
see OData IP Whitelisting.

Related Information

Authentication for OData API [page 556]

SAP SuccessFactors Employee Central OData API: Reference Guide


FAQs PUBLIC 555
17.4.1 Authentication for OData API

This document explains the types of authentication used to access OData API, how to enable session reuse for
OData API access, and how to set exceptions for API login.

The OData API provides the following two types of authentication:

● HTTP Basic Authentication (Basic Auth)


● Authentication using OAuth 2.0

Basic Auth requires users to have admin access to the OData API and have valid accounts with usernames and
passwords. OAuth 2.0 lets all users log in regardless of whether they are SSO users, so long as they have a valid
token and the OAuth client is registered.

17.4.1.1 HTTP Basic Authentication

HTTP Basic Authentication (Basic Auth) allows you to access OData API by providing username, company ID, and
password information on an HTTP user agent, such as a web browser.

To log in with Basic Auth, you must have the Allow Admin to Access OData API through Basic Authentication
permission. Basic Auth is good for integration purposes.

The authorization header of Basic Auth is constructed in the following way:

● Username, company ID, and password are combined into a string as such: username@company
ID:password
● The resulting string literal is then encoded using Base64.
● The authentication method ("Basic") followed by a space is then put before the encoded string. For example,
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Controlling API Access Using IP Whitelisting

HTTP Basic Authentication is generally considered less secure than authentication using OAuth 2.0. However, you
can increase the security by controlling the access using IP whitelisting.

For more information, see OData IP Whitelisting.

Related Information

Authentication using OAuth 2.0 [page 559]

SAP SuccessFactors Employee Central OData API: Reference Guide


556 PUBLIC FAQs
17.4.1.1.1 Granting Permissions

Once OData is enabled, you must grant access to the API to activate Basic Auth for a given user.

Granting Permission for an RBP System

Assign the permission in Administrator Permissions Manage Integration Tools Allow Admin to Access OData
API through Basic Authentication .

Granting Permission for a User-based System

1. Click Administrative Privileges Integration Tools , and select Allow Admin to Access OData API through
Basic Authentication.
2. On the Managing Administrative Privilege page, select the Employee Export and Employee Import checkboxes
to grant those permissions to the given user.

17.4.1.1.2 Authenticating from a Browser

You can use a web browser based authentication to enable querying..

To use this feature, you need:

1. Input URL of query OData in address bar. e.g. https://<hostname>/odata/v2/Attachment?$top=1


2. Enter your username and password when prompted.

You will not need to re-enter this information for subsequent queries until the browser is closed. If the user name
and password verification fails, you will need to open a new window and try again

 Note

When you query in atom format in Firefox, the xml result will not be displayed, because Firefox regards atom
format as RSS content by default. You can check the result in JSON format or view the source code to check
the query result.

SAP SuccessFactors Employee Central OData API: Reference Guide


FAQs PUBLIC 557
17.4.1.1.3 Setting API Login Exceptions

Use this feature to set the maximum password age and login exceptions for individual users for OData API and
SFAPI access.

Context

Your SAP SuccessFactors HCM Suite administrator sets password policies for all users in the system, including the
timing for password expirations. However, you may want to set different expiration times for passwords for
integrations that are built against a specially designed API user account. You can set exceptions to the password
policy for your API users, and specify a different password expiration (maximum password age) policy. To maintain
security, users who have password policy exceptions are required to have an IP address restriction to connect to
the API.

Follow the instructions below to set password policy and login exceptions for your API users.

Procedure

1. Go to Admin Center Password & Login Policy Settings , and choose Set API login exceptions.... You can
also access the Password & Login Policy Settings tool from API Center Legacy SFAPI IP Whitelisting .
2. Click Add to create a new policy. In the pop-up dialog, enter the following:

Field Description

Username Enter the username for whom you want to apply the policy.

Maximum password age (days) Enter the number of days the password is valid for. To set a
password to never expire, enter -1.

 Note
For security reasons, we do not recommend setting a
password to never expire.

IP address restrictions Enter the IP addresses separated by comma. For example:


10.20.30.40, 10.20.30.1-10.20.30.10.

 Note
The maximum password age applies only when the user
is accessing from the IP addresses specified here.

3. Save and close.

SAP SuccessFactors Employee Central OData API: Reference Guide


558 PUBLIC FAQs
17.4.1.2 Authentication using OAuth 2.0

OAuth 2.0 lets all users log in regardless of whether they are SSO users . If you are planning to use OAuth 2.0 for
authentication, you will first need to register your OAuth client, and set up the permissions required for. this
registration. Then you can register your OAuth client application.

17.4.1.2.1 Granting Permissions

Granting Permissions for an RBP System

From the admin menu Manage Permission Roles, select the desired role for which you want to add the permission.
As a best practice, create role named "API Administrator". Under the Manage Integration Tools link, select the
Manage OAuth2 Client Applications checkbox.

After you have done this, you will see a link, Manage OAuth2 Client Applicationsunder the Company Settings
category in the new admin tools, and under Integration Tools in the older administration tools interface.

Granting Permissions for a User-based System

From the Admin Menu click Manage Security Administrative Privileges . For the user you are logged in as, look
under Integration Tools and check the box under Access to OAuth 2 Management.

After you have done this, you will see a link under Integration Tools to where you can register your OAuth client.

17.4.1.2.2 Registering your OAuth Client Application

To register an OAuth client, log into your application instance with an administrator account. From the Admin
menu, click Manage OAuth2 Client Applications Register New Client Application . After you register an OAuth
client, any user of the registered client can connect to SuccessFactors HCM Suite using this method.

Enter the following parameters in the form that is displayed, and click Register:

VALUE DESCRIPTION

Company The name of your company. This value is pre-filled based on the instance of
the company currently logged in.

Application Name A unique name of your OAuth client.

Description (optional) An optional description of your application.

Application URL A unique URL of the page that the client wants to display to the end user. The
page might contain more information about the client application. This is
needed for 3-legged OAuth, however it is not currently supported.

SAP SuccessFactors Employee Central OData API: Reference Guide


FAQs PUBLIC 559
VALUE DESCRIPTION

X.509 Certificate The certificate corresponding to the private and public key used in the OAuth
2.0 authentication process. In this flow, the SuccessFactors HCM Suite sys­
tem will need the public key (the certificate) and the client application will
have the private key. To register a client application, you will need to install
the public key (aka certificate) in SuccessFactors HCM Suite. If you supply
that certificate, you must use the RSA-SHA1 signature type for authenticat­
ing. As an optional feature, you can generate a public and private key pair
with the Generate X.509 Certificate button. If you do this, you must download
the private key (or key pair) and install it into your client application.

Generate X.509 Certificate Button A button that generates an X.509 certificate if the customer doesn't have one
already. When clicked, a dialog box is displayed, in which the customer can
enter the following information then click "Generate" to generate a self-
signed certificate:

● Issued By : Value set to SuccessFactors


● Common Name: The name or IP address for which the certificate is valid.
● Organization (optional): The entity to which the certificate is issued.
● Organization Unit (optional): The organization unit of the entity to which
the certificate is issued.
● Locality (optional): Name of Locality of the entity to which the certificate
is issued.
● State/Province (optional): Name of State or Province of the entity to
which the certificate is issued.
● Country (optional): Name of Country of the entity to which the certificate
is issued.
● Validity: The number of days for which you want the X.509 certificate to
be valid.

If you have generated the X-509 Certificate, you must download the private key to use it in your client application to
make token requests. The system saves the public key. You will need to regenerate the private key if you lose it.

 Note

You will need to save the Private Key before you register you client. Only the Public Key is available for viewing
when the client is registered. You will have the API Key and Private Key available to you in the generated
certificate.

17.4.1.2.3 Managing an existing OAuth2 Client Application

You can modify the X 509 certificate and the application description, for an existing client application by clicking
the Edit button for the client application on the application list page. In the client application edit page that appears,
you can make the modifications.

You can either replace the existing X.509 certificate, or regenerate the certificate by clicking the Generate X.509
Certificate button.

SAP SuccessFactors Employee Central OData API: Reference Guide


560 PUBLIC FAQs
17.4.1.2.4 Enabling/Disabling an existing OAuth 2 Client

You can enable or disable an existing OAuth 2 client by clicking the Disable (Enable) button on the client button for
the client application on the application list page

17.4.1.2.5 Authentication APIs for OAuth 2.0

SAP SuccessFactors OData API supports two-legged authentication for OAuth 2.0. You can use three simple OData
API to generate Bearer tokens for subsequent API calls.

Here is the list of APIs and the recommended order for using them:

Sequence API Description and Usage

Step 1 oauth/idp Pass a private key to this API to generate a signed SAML asser­
tion.

 Note
This step is only required for SAML certificates generated in
API Center. A more secure approach is to use certificates gen­
erated by client.

Step 2 oauth/token Pass the signed SAML assertion to this API to generate a new
Bearer token. Once a token is generated, you can use it in the
header of OData API calls for authentication.

Step 3 oauth/validate Pass the Bearer token to the API and verify if it is still valid. A token
is only valid for 24 hours after it is generated.

The following diagram explains the OAuth 2.0 authentication sequence with SAML Bearer assertion handshaking.

SAP SuccessFactors Employee Central OData API: Reference Guide


FAQs PUBLIC 561
17.4.1.2.5.1 Generating a SAML Assertion

Use API oauth/idp to generate a Security Assertion Markup Language (SAML) assertion for authentication.

 Caution

To generate a SAML assertion using the /oauth/idp API, you are required to provide an X.509 private key.
Proceed with caution because it is considered a security risk.

When you change or regenerate an X.509 certificate for an application, the existing application client
configurations will be invalidated. This could lead to application failure until you update the configurations with
the new certificate information.

Here is a sample request to generate a SAML assertion:

HTTP Method POST

URI https://<hostname>/oauth/idp

Headers Content-Type: application/x-www-form-urlencoded

SAP SuccessFactors Employee Central OData API: Reference Guide


562 PUBLIC FAQs
Parameters ● client_id: Required. OAuth client id. This is the API Key that was generated in
API Center.
● user_id: Required. The subject NameID in SAML assertion. By default, your
userId is used as the subject NameID. You can also use username or email.
● token_url: Required. URL for the endpoint of Subject Recipient.
● private_key: Required. The X.509 private key used to sign SAML assertion.
The private key can be found in the certificate you downloaded in Registering your
OAuth Client Application [page 559].
● use_email: Optional. This parameter allows you to use email as the subject
NameID when requesting SAML assertion. Enter true or false as parameter
value.
● use_username: Optional. This parameter allows you to use username as the
subject NameID when requesting SAML assertion. Enter true or false as pa­
rameter value.

 Note
When the use_email value is set to "true", the subject nameId format in the
generated SAML assertion will change from nameid-format:unspecified
to nameid-format:emailAddress. An email address has to be mapped to
a unique user. If such email can be mapped to more than one userId, an HTTP 401
error "Unable to map xxx@xxx.xxx to a valid BizX User ID" will be returned.

Do not set the values of use_username and use_email to "true" at the same
time.

A successful response returns a header with status code 200 OK and a Base64-encoded SAML assertion. You can
use this assertion to request a Bearer token in the next step.

A decoded assertion looks like this:

<?xml version="1.0" encoding="UTF-8"?>


<saml2:Assertion ID="f0230b8a-a8d3-425e-9ac1-e616f2891175"
IssueInstant="2018-09-10T12:20:19.690Z" Version="2.0"
xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<saml2:Issuer>www.successfactors.com</saml2:Issuer>
<ds:Signature
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-
c14n#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/
xmldsig#rsa-sha1"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:Reference URI="#f0230b8a-a8d3-425e-9ac1-e616f2891175"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transforms
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transform Algorithm="http://www.w3.org/2000/09/
xmldsig#enveloped-signature"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:Transform Algorithm="http://www.w3.org/2001/10/
xml-exc-c14n#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

SAP SuccessFactors Employee Central OData API: Reference Guide


FAQs PUBLIC 563
<ec:InclusiveNamespaces PrefixList="xs"
xmlns:ec="http://www.w3.org/2001/10/xml-exc-
c14n#"/>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/
2000/09/xmldsig#sha1"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"/>
<ds:DigestValue
xmlns:ds="http://www.w3.org/2000/09/
xmldsig#">+OCedja2gmu6yIqnVBjmMnPwwOU=
</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue xmlns:ds="http://www.w3.org/2000/09/
xmldsig#">
f4ltn
+XYnmYHHQKWiMxTR4VChmr1eM3fiQnKttJqam3G4y1HFZ0rqTjD0lDKaXiI4/7A1gIzNtDo
6+3T6UjcnC3CK8uJZFrNdSyhpjRcXxt/U7/
Y7mVTH9dH91oZEEPRirRDci/opsE87XsGYlrp2HdO

QE4pB4mXg7+JPzOiL6LetEhfpad5sCYajmf2lFALHjzMbkAUL7zVCsXh3IVCKRkC/89Lv7EESscH
7/xITBXyzX58k1f+WiIoEbDlf2ZWgDLJhmWeR2vPTl/
szeDF9FuUk0jbCPxBQTj8ufqTTnkCf7EM
pTdv+Ytqpz4EcDmYGYxbbQyp8+xezZ1CDMxENg==
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>

MIICDTCCAXagAwIBAgIETJj9LjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJVUzEbMBkGA1UE

ChMSU3VjY2Vzc2ZhY3RvcnMuY29tMQwwCgYDVQQLEwNPcHMxETAPBgNVBAMTCFNGIEFkbWluMB4X

DTEwMDkyMTE4NDUwMloXDTI1MDkxOTE4NDUwMlowSzELMAkGA1UEBhMCVVMxGzAZBgNVBAoTElN1

Y2Nlc3NmYWN0b3JeLmNvbTEMMAoGA1UECxMDT3BzMREwDwYDVQQDEwhTRiBBZG1pbjCBnzANBgkq

hkiG9w0BAQEFAAOQjQAwgYkCgYEArA9RLNnL9Pt6xynFfYfa8VXAXFDG9Y8xkgs3lhIOlsjqEYwb
SoghiqJIJvfYM45kx3aS7ZrN96tAR5uUupEsu/
GcS6ACxhfruW+BY6uw8v6/w2vXhBdfFjBoO+Ke

Lx4k3llleVgKsmNlf81okOXv1ree8wErfZ3ssnNxkuQgGB0CAwEAATANBgkqhkiG9w0BAQUFAAOB
gQBeBCSMFnY8TB6jtWoSP/lorBudhptgvO7/3r+l/
QK0hdk6CVv+VQmSilNPgWVgU9ktZGbNkZhw
IgwnqIQHAi6631ufkYQJB+48YUe1q/
pv6EWaeIwGvcGYSXZp/E/aGZPtceTIXFPfqOyHQoFtb0nq
MMFWoDhpXUHmlroyTc9sGg==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<saml2:Subject>
<saml2:NameID Format="urn:oasis:names:tc:SAML:
1.1:nameid-format:unspecified">UserABC</saml2:NameID>
<saml2:SubjectConfirmation
Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml2:SubjectConfirmationData
NotOnOrAfter="2018-09-10T12:30:19.690Z" Recipient="https://<hostname>/oauth/idp"/>
</saml2:SubjectConfirmation>
</saml2:Subject>
<saml2:Conditions NotBefore="2018-09-10T12:10:19.690Z"
NotOnOrAfter="2018-09-10T12:30:19.690Z">
<saml2:AudienceRestriction>
<saml2:Audience>www.successfactors.com</
saml2:Audience>
</saml2:AudienceRestriction>
</saml2:Conditions>

SAP SuccessFactors Employee Central OData API: Reference Guide


564 PUBLIC FAQs
<saml2:AuthnStatement
AuthnInstant="2018-09-10T12:20:19.690Z" SessionIndex="54ab4688-2ae5-4aea-
bfd8-9a08dc0c38af">
<saml2:AuthnContext>
<saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:
2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef>
</saml2:AuthnContext>
</saml2:AuthnStatement>
<saml2:AttributeStatement>
<saml2:Attribute Name="api_key">
<saml2:AttributeValue
xsi:type="xs:string">MzRzZjQ3ODRiZjk0MmQXOWIwZGVmNjlmMGFjZA</saml2:AttributeValue>
</saml2:Attribute>
</saml2:AttributeStatement>
</saml2:Assertion>

17.4.1.2.5.2 Requesting a Bearer Token

With the SAML assertion, you can now call API oauth/token to request a Bearer token for authentication.

The API returns the token type, expiration time in seconds, and the token value to authorize API requests. A Bearer
token expires in 24 hours. Here is a sample request:

HTTP Method POST

URI https://<hostname>/oauth/token

Headers Content-Type: application/x-www-form-urlencoded

Authorization: Basic <Base64 encoded


(“user@company:password”)>

Parameters ● company_id: Required. Your company ID.


● client_id: Required. API key generated in Registering your OAuth Client Appli­
cation [page 559].
● grant_type: Required. Set the value to "urn:ietf:params:oauth:grant-
type:saml2-bearer".
● assertion: Required. Enter the Base64-encoded assertion obtained from Gen­
erating a SAML Assertion [page 562].
● new_token: Optional. If you have already requested a bearer token with the
same SAML assertion and the token hasn't expired yet, your request will return
the same token by default with the remaining expire_in value. You can use
new_token=true to force the server to generate a new access token valid for
24 hours.

Sample response:

{
"access_token": "eyJ0b2tlbkNvbnRlbnQ***ZMm5Tdz0ifQ==",
"token_type": "Bearer",
"expires_in": 86399
}

SAP SuccessFactors Employee Central OData API: Reference Guide


FAQs PUBLIC 565
17.4.1.2.5.3 Validating a Generated Token

Use API oauth/validate to verify the generated Bearer token.

The following sample request validates a generated Bearer token:

HTTP Method GET

URI https://<hostname>/oauth/validate

Headers Authorization: Bearer <Your Bearer token>

A valid token returns status 200 OK in the header. The response body contains the access token, token type, and
expiry time in seconds. Example:

{
"access_token": "<Your Bearer token>",
"token_type": "Bearer",
"expires_in": 86312
}

17.5 Broken APIs: What causes them?

Sometimes a system is changed in a way that leads to an API breaking. More often than not, such incompatible
changes are made during configuration of the system and not by the API consumers. Take a look at this list to see
what actions could lead to an incompatible change - by avoiding these actions in the first place, you should be free
of incompatible changes in your system.

Incompatible changes that might break APIs

● Removing any field that is exposed by an API from the MDF object definition or HRIS succession data model
will break that API

● Changing the visibility of any field that is exposed by an API in the MDF object definition or HRIS succession
data model from visible/enabled to invisible/none will break that API

● Removing permissions or provisioning settings for OData APIs will break the API

● Renaming the identifier of customString field in the succession datamodel - this breaks the API because
technically what is actually happening is the deletion of the customString field and creation of a new one.

● Changing the field type from picklist to string


● Deleting codes from picklists

In contrast to these incompatible changes, compatible changes will not break the APIs. Some examples of
compatible changes include:

● Adding a new field

SAP SuccessFactors Employee Central OData API: Reference Guide


566 PUBLIC FAQs
● Renaming a field label

● Changing the RBP setting for a field from read-only to view not allowed

17.6 Duplicate Records?

Tips on avoiding duplicate records

If your're having problems with duplicate records, take a look at these tips.

Duplicate Records: Checklist

Picklists
When you use a picklist label (picklistLabels) in a $filter query, specify the locale to avoid duplicate records.

Background: When a picklist has more than one locale and this is not defined in a query, all the locales will be
queried. This could result in duplicate records.

You must define the locale in your query as follows:

$filter=<entity>Nav/picklistLabels/locale eq 'en_US'

Paging
If pages have duplicates or missing records, one possible reason is undefined sorting. Try using orderBy on the
whole business key to fix this issue.

17.7 Error message: Behavior in upsert statements

Upsert statements have a single record error message behavior; for each record that fails, an error message is
issued.

Example: Wrong Gender

Sample Request: https://<Hostname>/odata/v2/Upsert

Content Type: Content-Type: application/json;charset=utf-8

Payload Information:

 Sample Code

[
{
"__metadata" : {
"uri" : "https://<Hostname>/odata/v2/
PerPersonal(personIdExternal='aaaa',startDate=datetime'1990-01-01T00:00:00')",
"type" : "SFOData.PerPersonal"

SAP SuccessFactors Employee Central OData API: Reference Guide


FAQs PUBLIC 567
}, "startDate" : "\/Date(631152000000)\/", "personIdExternal" : "aaaa",
"initials" : "LT", "gender" : "M", "namePrefix" : "LT"
}, {
"__metadata" : {
"uri" : "https://<Hostname>/odata/v2/
PerPersonal(personIdExternal='dddd',startDate=datetime'1990-01-01T00:00:00')",
"type" : "SFOData.PerPersonal"
}, "startDate" : "\/Date(631152000000)\/", "personIdExternal" : "dddd",
"initials" : "LT", "gender" : "H", "namePrefix" : "LT"
}, {
"__metadata" : {
"uri" : "https://<Hostname>/odata/v2/
PerPersonal(personIdExternal='hhhh',startDate=datetime'1990-01-01T00:00:00')",
"type" : "SFOData.PerPersonal"
}, "startDate" : "\/Date(631152000000)\/", "personIdExternal" : "hhhh",
"initials" : "LT", "gender" : "M", "namePrefix" : "LT"
}
]

Response:

 Sample Code

<feed>
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">0</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
<d:key>PerPersonal/personIdExternal=dddd,PerPersonal/
startDate=1990-01-01T00:00:00.000-05:00</d:key>
<d:status>ERROR</d:status>
<d:editStatus m:null="true" />
<d:message>Field Gender is Invalid. Field Gender takes "M" / "m" for Male, "F" /
"f" for Female and " " for No Gender. Failed record info: {PerPersonal/
startDate=1990-01-01T00:00:00.000-05:00, PerPersonal/personIdExternal=dddd,
PerPersonal/initials=LT, PerPersonal/gender=H, PerPersonal/namePrefix=LT}.</
d:message>
<d:index m:type="Edm.Int32">1</d:index>
<d:httpCode m:type="Edm.Int32">500</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>
</content>
</entry>
<entry>
<content type="application/xml">
<m:properties>
<d:key m:null="true" />
<d:status>OK</d:status>
<d:editStatus>UPSERTED</d:editStatus>
<d:message m:null="true" />
<d:index m:type="Edm.Int32">2</d:index>
<d:httpCode m:type="Edm.Int32">200</d:httpCode>
<d:inlineResults m:type="Bag(SFOData.UpsertResult)" />
</m:properties>

SAP SuccessFactors Employee Central OData API: Reference Guide


568 PUBLIC FAQs
</content>
</entry>
</feed>

17.8 Expanded entities: Handling deleted objects

Describes how deleted objects in $expand can be handled as a change in certain Employee Central OData APIs.

The standard behavior in Employee Central OData API queries, such as the one below, is to ignore any records that
have been deleted.

In this type of query https://<hostname>/odata/v2/PerPerson?$expand=emailNav&


$filter=personIdExternal eq '106015' and emailNav/lastModifiedDateTime ge
datetimeoffset'2000-01-01T01:00:00.000Z', the standard behavior leads to an empty response in which
all person and e-mail records are missing when the root entity is empty. This is because the engine is filtering for
the e-mail info based on the last modified date - however since the object has been deleted, the system cannot find
anything. You now have the chance to capture the deleted operation and update your response with an empty value
for the deleted object, rather than just having an empty response. This ensures that any person synchronization is
accurate.

To override this standard behavior, go to Admin Center Manage Employee Central Settings , and turn on the
switch for Consider Deletion of Expanded Entities As A Change.

Supported Entities: PerEmail, PerPhone, PerAddressDEFLT, EmpJobRelations.

Examples: With and without the feature "Consider Deletion of Expanded


Entities As A Change"

 Example

Without "Consider Deletion of Expanded Entities As A Change"

This query shows you any changes to the e-mail records for the employee and time frame specified:

https://<hostname>/odata/v2/PerPerson?$expand=emailNav&$filter=personIdExternal eq
'106015' and emailNav/lastModifiedDateTime ge
datetimeoffset'2000-01-01T01:00:00.000Z'

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://qaautocand-api.lab-rot.ondemand.com/
odata/v2/PerPerson('106015')",
"type": "SFOData.PerPerson"
},
"personIdExternal": "106015",

SAP SuccessFactors Employee Central OData API: Reference Guide


FAQs PUBLIC 569
"lastModifiedDateTime": "/Date(1441580677000+0000)/",
"createdDateTime": "/Date(1441568467000+0000)/",
"createdOn": "/Date(1441568467000)/",
"countryOfBirth": "AUS",
"lastModifiedBy": "admindlr",
"perPersonUuid": "BE297AA97D004D29ADCBE89546F323EA",
"lastModifiedOn": "/Date(1441580677000)/",
"createdBy": "admindlr",
"personId": "339",

....

"emailNav": {
"results": [
{
"__metadata": {
"uri": "https://qaautocand-api.lab-
rot.ondemand.com/odata/v2/
PerEmail(emailType='8448',personIdExternal='106015')",
"type": "SFOData.PerEmail"
},
"emailType": "8448",
"personIdExternal": "106015",
"lastModifiedDateTime": "/
Date(1441833666000+0000)/",
"createdDateTime": "/Date(1441833666000+0000)/",
"createdOn": "/Date(1441833666000)/",
"emailAddress": "Jack.McAfee@bestrun.com",
"customDouble1": null,
"isPrimary": true,
"customDate1": null,
"lastModifiedBy": "admindlr",
"customString5": null,
"customString4": null,
"customString3": null,
"customString2": null,
"customString8": null,
"customString7": null,
"customString6": null,
"lastModifiedOn": "/Date(1441833666000)/",
"customString1": null,
"createdBy": "admindlr",
"customLong1": null,
"customString3Nav": {
"__deferred": {
"uri": "https://qaautocand-api.lab-
rot.ondemand.com/odata/v2/PerEmail(emailType='8448',personIdExternal='106015')/
customString3Nav"
}
},

....
}
]
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


570 PUBLIC FAQs
 Example

Without "Consider Deletion of Expanded Entities As A Change" and after an agent has deleted the e-mail
information for the employee in the system
Let's run the query again, https://<hostname>/odata/v2/PerPerson?$expand=emailNav&
$filter=personIdExternal eq '106015' and emailNav/lastModifiedDateTime ge
datetimeoffset'2000-01-01T01:00:00.000Z'

 Sample Code

Response

{
"d": {
"results": []
}
}

All records of the employee have been removed. This causes issues - if instead of e-mail information, for
example, an address or a dependent is deleted - the system responds in the same way to the lastmodified
query. Instead of updating the response with an empty value for deleted object, all records are removed.

 Example

With "Consider Deletion of Expanded Entities As A Change" and after an agent has deleted the e-mail
information for the employee in the system

 Sample Code

{
"d": {
"results": [
{
"__metadata": {
"uri": "https://qaautocand-api.lab-rot.ondemand.com/
odata/v2/PerPerson('106015')",
"type": "SFOData.PerPerson"
},
"personIdExternal": "106015",
"lastModifiedDateTime": "/Date(1441580677000+0000)/",
"createdDateTime": "/Date(1441568467000+0000)/",
"createdOn": "/Date(1441568467000)/",
"countryOfBirth": "AUS",
"lastModifiedBy": "admindlr",
"dateOfBirth": "/Date(-520387200000)/",
"perPersonUuid": "BE297AA97D004D29ADCBE89546F323EA",
"lastModifiedOn": "/Date(1441580677000)/",
"createdBy": "admindlr",
"regionOfBirth": null,
"personId": "339",
....

"emailNav": {
"results": []
}
}
]
}
}

SAP SuccessFactors Employee Central OData API: Reference Guide


FAQs PUBLIC 571
Instead of an empty response without any e-mail or person information, the e-mail information (the expanded
entity that was deleted) has been updated with an empty value and the other information appears in the
response.

17.9 How to have more than one pay component on the same
pay date

When an employee is due more than one non-recurring payment on the same pay date, an additional business key,
sequenceNumber, can be added to EmpPayCompNonRecurring.

You can configure the data model to add this field as an additional business key (as long as it is upsertable in the
data model).

Related Information

EmpPayCompNonRecurring [page 119]

17.10 Inactive users: Do EC OData APIs ignore them?

To ignore inactive users in your EC OData API calls, you have to explicitly select them in the User entity using the
property status. Terminated employees will still appear on entities such as PerPerson or EmpJob so the only way to
exclude them is by using the User entity and filtering by the property status which supports the values "t / f / T /
F / e / d" or "active / inactive / active_external / inactive_external / active_external_suite /
inactive_external_suite".

For more information, see Querying Different Types of Users.

17.11 Linking to custom MDF objects

Explains how to link MDF objects to EC OData APIs.

If you want to link to a custom MDF object, you will need a combination of UPSERT and POST. This is because the
upserts for MDF objects and EC OData APIs are not compatible.

 Example

Let's assume that you want to add information about where an employee's office is located in the employee job
information. To do this, you will need the following:

SAP SuccessFactors Employee Central OData API: Reference Guide


572 PUBLIC FAQs
1. Create (Post) an MDF object for office.

 Note

This is a prerequisite. Even if you update the EmpJob entity with a business key for office and then
upsert, the office will not be created. Updating the entity with the key allows you to link to an existing
object only.

2. Add the business key for the MDF object (which already exists) to EmpJob

17.12 Performance: How to improve it

Here are some tips on how to improve API performance and consumption:

To be avoided Try this instead

Too many deep filters in a query Make sure you are using all the direct available fields in the en­
tity

Massive result sets Use $select to limit the result set.

$expand for unnecessary navigations Do you really need those navigations? Are they directly availa­
ble fields in the entity.

Merging API calls using navigation (if this is negatively impact­ Use $BATCH instead
ing performance)

Full loads Use last modified queries

Calculated fields in expanded entities in empCompensation­ Use rules instead in custom fields to persist the values
Calculated and empCompensationGroupSumCalculated

Writing data using incremental update Use full purge instead, if possible.

Writing data including triggering of rules for job information Disable Triggering of Rules in Company and Logo settings and
(EmpJob) calculate values for rules in consumer.

17.13 Roundtrips: Why are there errors in some upserts?

If you're getting roundtrip errors, this might be down to a conflict between the user locale and the fileLocale.

You can resolve this problem by making sure that your user locale and fileLocale are both en_US. Take a look
atfileLocale [page 56] for more information.

SAP SuccessFactors Employee Central OData API: Reference Guide


FAQs PUBLIC 573
17.14 Side effect: What is it?

A side effect is sometimes triggered when a consumer performs a write operation; the side effects triggered by the
write operation will be different in the OData API to the side effects triggered in UI. You will find that sometimes the
difference in the side effects is profound - for example a workflow triggered in the UI but not in the OData API. In
other cases, the difference in the side effects is minor such as when an HRIS Sync is triggered directly in the UI but
indirectly in the API/imports indirectly via an asynchronous Sync Job sending e-mails when started and finished.

Show me some examples

Take a look a these examples to get an overview of what side effects are triggered when:

● Triggering of workflow: OData APIs do not trigger workflows

● Triggering of business rules: The only OData APIs that trigger business rules are EmpJob and EmpTermination

● Triggering of HRIS Sync: Each upsert on HRIS entities triggers the HRIS sync report as an asynchronous job.
This only happens if no other HRIS sync job is running.

● Triggering of Intelligence Services (Smart Event): Remember that Smart Events are triggered by rules only. The
only entity that can trigger them is EmpJob.

● Triggering of hard coded business logic in Position Management, Global Assignment and Time Off: An
asynchronous process synchronizes Postion and Time-off data in these products and this event is hard-coded
and monitored by provisioning. The only OData API that can trigger this hard-coded business logic is EmpJob.

17.15 $batch: Upsert and changeset behavior

In contrast to the standard OData API $batch processing specification, a partial upsert failure reverts the
transaction for the current changeset.

In the standard OData API $batch calls, the changeset response code is HTTP 200 even when one or more of the
records in the payload fail. In a use case such as new hire, using $batch with this standard behavior means that
some users are not created, some are created but in either case HTTP 200 is the resulting changeset response
code and behavior.

In the upsert request, the parameter strictTransactionIsolate lets you influence this behavior. When
strictTransactionIsolate=true for a $batch upsert multiple records request, the behavior is as follows:

● One record fails in the request → all other records rollback


● First record fails in the request → First failure message in $batch changeset response
● Failed record/records in request → Changeset response code is HTTP 500
● Failed record/records → Index in changeset response identifies the failed request number in the changeset
● Failed record/records → all changes before failure rollback; following request in changeset is terminated (each
changeset in the whole $batch request is atomic)
● Each changeset in a whole $batch request is independent; one changeset rollback does not affect others.

SAP SuccessFactors Employee Central OData API: Reference Guide


574 PUBLIC FAQs
 Note

The behavior of a normal upsert remains → when upserting multiple records and one fails, the other records
work and HTTP 200 is the response code.

Related Information

Upsert parameter: strictTransactionIsolate [page 575]

17.15.1 Upsert parameter: strictTransactionIsolate

strictTransactionIsolate is an upsert parameter for determining if upsertSingle, upsertMultiple, or changeset


rollback is applied.

UpsertSingle allows the success of records even if some records fail in a multiple record upsert. UpsertSingle is
used for records with inline properties and records that do not support full purge.

UpsertMultiple is called when UpsertSingle does not apply.

Changeset rollback reverts the entire transaction when there is a partial upsert failure.

The value of strictTransactionIsolate can be applied in the following use cases:

● Multiple record upserts


● Upserts of entities that do not support full purge

Desired multiple record upsert behav­


ior Set strictTransactionIsolate = Additional Information

Standard upsert behavior false (or leave the value blank) -

UpsertSingle true Records are independent of each other


(catch java.lang.Exception)

Rollback changeset in $batch true When one record fails, changeset will roll­
back

Full purge entities, upsertMultiple true This parameter makes no sense for enti­
ties that do not support full purge

Related Information

Upsert parameter: strictTransactionIsolate [page 575]

SAP SuccessFactors Employee Central OData API: Reference Guide


FAQs PUBLIC 575
17.16 $filter: How does it work with fromDate?

If you're puzzled by the results you get from queries such as https://<hostname>.com/odata/v2/EmpJob?
$filter=standardHours+gt+'20'&fromDate=2000-12-31, then take a quick look at the examples here
$filter with toDate and fromDate [page 40].

SAP SuccessFactors Employee Central OData API: Reference Guide


576 PUBLIC FAQs
Important Disclaimers and Legal Information

Hyperlinks
Some links are classified by an icon and/or a mouseover text. These links provide additional information.
About the icons:

● Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your agreements
with SAP) to this:

● The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.
● SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any
damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.

● Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering a SAP-hosted Web site. By using such links, you
agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this information.

Beta and Other Experimental Features


Experimental features are not part of the officially delivered scope that SAP guarantees for future releases. This means that experimental features may be changed by SAP at
any time for any reason without notice. Experimental features are not for productive use. You may not demonstrate, test, examine, evaluate or otherwise use the
experimental features in a live operating environment or with data that has not been sufficiently backed up.
The purpose of experimental features is to get feedback early on, allowing customers and partners to influence the future product accordingly. By providing your feedback
(e.g. in the SAP Community), you accept that intellectual property rights of the contributions or derivative works shall remain the exclusive property of SAP.

Example Code
Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax and
phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of example
code unless damages have been caused by SAP's gross negligence or willful misconduct.

Gender-Related Language
We try not to use gender-specific word forms and formulations. As appropriate for context and readability, SAP may use masculine word forms to refer to all genders.

SAP SuccessFactors Employee Central OData API: Reference Guide


Important Disclaimers and Legal Information PUBLIC 577
www.sap.com/contactsap

© 2019 SAP SE or an SAP affiliate company. All rights reserved.

No part of this publication may be reproduced or transmitted in any form


or for any purpose without the express permission of SAP SE or an SAP
affiliate company. The information contained herein may be changed
without prior notice.

Some software products marketed by SAP SE and its distributors


contain proprietary software components of other software vendors.
National product specifications may vary.

These materials are provided by SAP SE or an SAP affiliate company for


informational purposes only, without representation or warranty of any
kind, and SAP or its affiliated companies shall not be liable for errors or
omissions with respect to the materials. The only warranties for SAP or
SAP affiliate company products and services are those that are set forth
in the express warranty statements accompanying such products and
services, if any. Nothing herein should be construed as constituting an
additional warranty.

SAP and other SAP products and services mentioned herein as well as
their respective logos are trademarks or registered trademarks of SAP
SE (or an SAP affiliate company) in Germany and other countries. All
other product and service names mentioned are the trademarks of their
respective companies.

Please see https://www.sap.com/about/legal/trademark.html for


additional trademark information and notices.

THE BEST RUN

You might also like