The Oracle Fusion Cloud is a next-generation service-oriented platform and applications suite that caters to the enterprise technologies, applications, and services, including Oracle Fusion Applications and Oracle Fusion Middleware, to change the dynamics in the applications marketplace and revolutionize business.
To configure the connector, following parameters are required:
- Connector Name
- Username
- Password
-
Target URL (https://<instance>.oraclecloud.com/)
-
Instance DateTime Offset (refer Configuring additional datetime offset in connectors for more details).
Supported objects and operations
Users
Operation |
VERB |
---|---|
Create User |
POST |
Get a User |
GET |
Get all Users |
GET |
Get all Users with Pagination |
GET |
Update Users |
PUT |
Delete User |
DELETE |
Roles
Operation |
VERB |
---|---|
Get a Role | GET |
Get all Roles |
GET |
Get all Roles with pagination |
GET |
Update Role |
PUT |
Employees
Operation |
VERB |
---|---|
Create Employee |
POST |
Get an Employee |
GET |
Get All Employees |
GET |
Update Employee |
PUT |
Data Securitiees
Operation |
VERB |
---|---|
List Data Securities |
GET |
Get Data Security |
GET |
Create Data Security |
POST |
Update Data Security |
PUT |
NOTE: Data Securities feature is still in beta.
Mandatory Fields
This section lists the mandatory fields required to CREATE.
Users
- userName
Employees
-
names[].LastName
-
names[].LegislationCode
-
workRelationships[].LegalEmployerName
-
workRelationships[].assignments[].ActionCode
-
workRelationships[].assignments[].BusinessUnitName
NOTE: While creating employee, if emails attribute is present then EmailAddress and EmailType is mandatory. If phones attribute is present then PhoneNumber and PhoneType is mandatory and if addresses attribute is present then AddressType and Country is mandatory.
Data Securities
- securityContext
- securityContextValue
- roleNameCr
- userName
Mappings
Attributes mapping
Different mappings associated with this connector are listed in the tables below.
SCIM User | OracleFusion User |
---|---|
active |
active |
displayName | displayName |
emails[].primary |
emails[].primary |
emails[].type |
emails[].type |
emails[].value | emails[].value |
id | id |
meta.created |
meta.created |
meta.lastModified |
meta.lastModified |
name.familyName | name.familyName |
name.givenName | name.givenName |
roles[].display |
roles[].displayName |
roles[].value |
roles[].id |
userName | userName |
SCIM Role | OracleFusion Role |
---|---|
category | category |
description | description |
displayName | displayName |
id | id |
Meta.Created |
meta.created |
meta.lastModified | meta.lastModified |
name | name |
members[].value |
members[].value |
SCIM Employee | OracleFusion Employee |
---|---|
id | PersonId |
personId | PersonId |
personNumber | PersonNumber |
name.legislationCode | names[].LegislationCode |
name.firstName | names[].FirstName |
name.lastName | names[].LastName |
name.displayName | names[].DisplayName |
name.fullName | names[].FullName |
name.honors | names[].Honors |
name.knownAs | names[].KnownAs |
name.listName | names[].ListName |
name.middleNames | names[].MiddleNames |
name.orderName | names[].OrderName |
name.suffix | names[].Suffix |
name.title | names[].Title |
name.preNameAdjunct | names[].PreNameAdjunct |
name.previousLastName | names[].PreviousLastName |
name.localSuffix | names[].LocalSuffix |
name.localTitle | names[].LocalTitle |
name.localDisplayName | names[].LocalDisplayName |
name.localFirstName | names[].LocalFirstName |
name.localFullName | names[].LocalFullName |
name.localHonors | names[].LocalHonors |
name.localKnownAs | names[].LocalKnownAs |
name.localLastName | names[].LocalLastName |
name.localListName | names[].LocalListName |
name.localMiddleNames | names[].LocalMiddleNames |
name.localOrderName | names[].LocalOrderName |
name.localPreNameAdjunct | names[].LocalPreNameAdjunct |
name.localPreviousLastName | names[].LocalPreviousLastName |
name.nameInformation1 | names[].NameInformation1 |
name.nameInformation2 | names[].NameInformation2 |
name.nameInformation3 | names[].NameInformation3 |
name.nameInformation4 | names[].NameInformation4 |
name.nameInformation5 | names[].NameInformation5 |
name.nameInformation6 | names[].NameInformation6 |
name.nameInformation7 | names[].NameInformation7 |
name.nameInformation8 | names[].NameInformation8 |
name.nameInformation9 | names[].NameInformation9 |
name.nameInformation10 | names[].NameInformation10 |
name.nameInformation11 | names[].NameInformation11 |
name.nameInformation12 | names[].NameInformation12 |
name.nameInformation13 | names[].NameInformation13 |
name.nameInformation14 | names[].NameInformation14 |
name.nameInformation15 | names[].NameInformation15 |
name.nameInformation16 | names[].NameInformation16 |
name.nameInformation17 | names[].NameInformation17 |
name.nameInformation18 | names[].NameInformation18 |
name.nameInformation19 | names[].NameInformation19 |
name.nameInformation20 | names[].NameInformation20 |
name.nameInformation21 | names[].NameInformation21 |
name.nameInformation22 | names[].NameInformation22 |
name.nameInformation23 | names[].NameInformation23 |
name.nameInformation24 | names[].NameInformation24 |
name.nameInformation25 | names[].NameInformation25 |
name.nameInformation26 | names[].NameInformation26 |
name.nameInformation27 | names[].NameInformation27 |
name.nameInformation28 | names[].NameInformation28 |
name.nameInformation29 | names[].NameInformation29 |
name.nameInformation30 | names[].NameInformation30 |
name.localNameInformation1 | names[].LocalNameInformation1 |
name.localNameInformation2 | names[].LocalNameInformation2 |
name.localNameInformation3 | names[].LocalNameInformation3 |
name.localNameInformation4 | names[].LocalNameInformation4 |
name.localNameInformation5 | names[].LocalNameInformation5 |
name.localNameInformation6 | names[].LocalNameInformation6 |
name.localNameInformation7 | names[].LocalNameInformation7 |
name.localNameInformation8 | names[].LocalNameInformation8 |
name.localNameInformation9 | names[].LocalNameInformation9 |
name.localNameInformation10 | names[].LocalNameInformation10 |
name.localNameInformation11 | names[].LocalNameInformation11 |
name.localNameInformation12 | names[].LocalNameInformation12 |
name.localNameInformation13 | names[].LocalNameInformation13 |
name.localNameInformation14 | names[].LocalNameInformation14 |
name.localNameInformation15 | names[].LocalNameInformation15 |
name.localNameInformation16 | names[].LocalNameInformation16 |
name.localNameInformation17 | names[].LocalNameInformation17 |
name.localNameInformation18 | names[].LocalNameInformation18 |
name.localNameInformation19 | names[].LocalNameInformation19 |
name.localNameInformation20 | names[].LocalNameInformation20 |
name.localNameInformation21 | names[].LocalNameInformation21 |
name.localNameInformation22 | names[].LocalNameInformation22 |
name.localNameInformation23 | names[].LocalNameInformation23 |
name.localNameInformation24 | names[].LocalNameInformation24 |
name.localNameInformation25 | names[].LocalNameInformation25 |
name.localNameInformation26 | names[].LocalNameInformation26 |
name.localNameInformation27 | names[].LocalNameInformation27 |
name.localNameInformation28 | names[].LocalNameInformation28 |
name.localNameInformation29 | names[].LocalNameInformation29 |
name.localNameInformation30 | names[].LocalNameInformation30 |
emails[].emailAddress | emails[].EmailAddress |
emails[].emailType | emails[].EmailType |
emails[].primaryFlag | emails[].PrimaryFlag |
addresses[].addressLine1 | addresses[].AddressLine1 |
addresses[].addressLine2 | addresses[].AddressLine2 |
addresses[].addressLine3 | addresses[].AddressLine3 |
addresses[].addressLine4 | addresses[].AddressLine4 |
addresses[].addressType | addresses[].AddressType |
addresses[].building | addresses[].Building |
addresses[].floorNumber | addresses[].FloorNumber |
addresses[].country | addresses[].Country |
addresses[].primaryFlag | addresses[].PrimaryFlag |
addresses[].postalCode | addresses[].PostalCode |
addresses[].longPostalCode | addresses[].LongPostalCode |
addresses[].townOrCity | addresses[].TownOrCity |
addresses[].region1 | addresses[].Region1 |
addresses[].region2 | addresses[].Region2 |
addresses[].region3 | addresses[].Region3 |
addresses[].addlAddressAttribute1 | addresses[].AddlAddressAttribute1 |
addresses[].addlAddressAttribute2 | addresses[].AddlAddressAttribute2 |
addresses[].addlAddressAttribute3 | addresses[].AddlAddressAttribute3 |
addresses[].addlAddressAttribute4 | addresses[].AddlAddressAttribute4 |
addresses[].addlAddressAttribute5 | addresses[].AddlAddressAttribute5 |
phones[].phoneNumber | phones[].PhoneNumber |
phones[].phoneType | phones[].PhoneType |
phones[].areaCode | phones[].AreaCode |
phones[].countryCodeNumber | phones[].CountryCodeNumber |
phones[].primaryFlag | phones[].PrimaryFlag |
workRelationships[].LegalEntityId | workRelationships[].LegalEntityId |
workRelationships[].legalEmployerName | workRelationships[].LegalEmployerName |
workRelationships[].workerType | workRelationships[].WorkerType |
workRelationships[].legislationCode | workRelationships[].LegislationCode |
workRelationships[].startDate | workRelationships[].StartDate |
workRelationships[].assignments[].actionCode | workRelationships[].assignments[].ActionCode |
workRelationships[].assignments[].businessUnitName | workRelationships[].assignments[].BusinessUnitName |
dateOfBirth | DateOfBirth |
townOfBirth | TownOfBirth |
countryOfBirth | CountryOfBirth |
meta.created | CreationDate |
meta.lastModified | LastUpdateDate |
userId |
userId |
NOTE:
-
The nameInformation1 is not considered for some of the legislationCode for Create Employee.
-
Supported Updation of first object of Emails, Phones and Addresses.
-
If Phones, Emails, Addresses does not exist for an Employee so for creating a new one we have some mandatory fields
-
For Addresses : AddressType and Country are mandatory.
-
For Phones : PhoneNumber and PhoneType are mandatory.
-
For Emails : EmailAddress and EmailType are mandatory.
-
SCIM Security | OracleFusion Data Security |
---|---|
id | UserRoleDataAssignmentId |
userName | UserName |
roleNameCr | RoleNameCr |
securityContext | SecurityContext |
securityContextValue |
SecurityContextValue |
active | ActiveFlag |
meta.Created | CreationDate |
Meta.LastModified |
LastUpdateDate |
Steps to sync the roles in OracleFusionCloud
User and Employee Objects are available and synced by default, but not Roles. To sync Roles, follow the below steps:
-
Log in to the instance.
-
Navigate to: My Enterprise > Setup and Maintenance > Initial Users > Run User and Roles Synchronization process.
OneIM E2E Integration Needs
The OracleFusionCloud connector has Employees endpoints along with Users and Roles which is different when compared to the other Starling connectors. None of the existing OneIM Synchronization templates available for SCIM Connector or CHS modules template work with OracleFusionCloud connector.
Here is more explanation on the same:
-
The regular "SCIM Synchronization" and "One Identity Starling Connect Synchronization" template cannot be used while the synchronization project is created since the addition endpoint Employees is there along with Users and Roles.
-
The "One Identity Starling Connect HR" template cannot be used because there are no costcenter and location endpoint available in OracleFusionCloud, is mandatory for the One Identity Starling Connect HR template to be used.
Recommended Approach
-
Use a blank project template and the do the manual mappings.
Connector Limitations
-
List response of users would be relatively slow as the connector makes additional requests to exclude the system users and reserved users since these users are not retrievable using GET request but are retrievable in LIST request.
-
Update Employee will only done when values for some attributes (LastName , LegislationCode , EmailType, EmailAddress, PhoneType, PhoneNumber, AddressType, Country, CountryOfBirth ) are provided , otherwise it will take the existing value.