Integrating SailPoint with Oracle HRMS
This guide is designed to give specific information about the requirements and field definitions needed to get a working instance of an Oracle HRMS source in SailPoint.
If you have user accounts in Oracle HRMS that you want to load into SailPoint, you can create a direct connect source for Oracle HRMS and load that data into your system. To manage that data, either create an identity profile based on the source or verify that the accounts you load are correlated to an existing identity.
Note
To view the latest features, enhancements, and fixes for all SaaS connectors, refer to the SaaS Release Notes page.
Supported Features
The Oracle HRMS connector supports the following features:
- Loads Oracle HRMS Accounts
For more information on features, refer to Source Features.
Note
This source supports aggregation of the persons from Oracle HRMS as accounts and is capable of updating attributes like email and phone into existing accounts.
Additional Supported Features
The Oracle HRMS connector:
- Supports aggregation of custom attributes.
- Supports enhanced aggregation to fetch PERSON_TYPE Employee and Contractors.
-
Support creation of employee records in Oracle HRMS. This feature helps provide access to employees to Oracle E-Business Suite modules based on appropriate permissions.
Note
It is not recommended to create records into HRMS through the automated process. This feature has been introduced to automate user creation into Oracle HRMS only when Oracle HRMS is not the authoritative source for user information.
-
By default, provides support for provisioning the email and phone number. For update operations of the email and phone number, it is recommended to set up a proxy user for any Oracle E-Business Suite User from the FND_USER table.
- Supports termination of workflow during employee separation.
Note
You can download the wrapper package for FND_GLOBAL, FND_PROFILE, HR_ASSIGNMENT_API, HR_EMPLOYEE_API, and HR_EX_EMPLOYEE_API here.
Custom Attributes
- Add the custom attribute to the schema.
-
If the JDBCBuildMap rule is being used to bring in additional attributes, the additional attribute must be marked as
customAttributeusing the following API PATCH: -
Add
<entry key="jdbcbuildMapRule" value="Your BuildMap Rule Name"/>to the source with the buildmap rule that queries the required table and fetches the custom columns.
Administrator Permissions
The following are required permissions along with the synonyms including Invoker/Definer packages for enhanced aggregation, create, and disable employee.
-
Using SQL*Plus, log in to the Oracle database as APPS and run the following commands to find the rights present on the package which could be either Invoker or Definer:
SELECT dbo.object_name, (DECODE(SIGN(bitand(options,16)),1,'INVOKER','DEFINER')) "authid" FROM dba_objects dbo, sys.PROCEDURE$ p WHERE p.obj# = dbo.object_id AND dbo.object_type = 'PACKAGE' AND dbo.object_name = 'xxx' AND dbo.owner = 'APPS'Where
xxxpackage is FND_GLOBAL, FND_PROFILE, HR_ASSIGNMENT_API, HR_EMPLOYEE_API, and HR_EX_EMPLOYEE_API.For example, enter the following command to find the rights present on the HR_EMPLOYEE_API:
-
If xxx Package has Invoker rights, perform the following:
- Download the Package scripts and rename the type of scripts from
.txtto.sql. - Using SQL*Plus, log in to the Oracle database as APPS and run the following scripts:
- Run the @SP_FND_GLOBAL.sql
- Run the @SP_FND_GLOBAL_BODY.sql
- Run the @SP_FND_PROFILE.sql
- Run the @SP_FND_PROFILE_BODY.sql
- Run the @SP_HR_ASSIGNMENT_API.sql
- Run the @SP_HR_ASSIGNMENT_API_BODY.sql
- Run the @SP_HR_EMPLOYEE_API.sql
- Run the @SP_HR_EMPLOYEE_API_BODY.sql
- Run the @SP_HR_EX_EMPLOYEE_API.sql
- Run the @SP_HR_EX_EMPLOYEE_API_BODY.sql
- Download the Package scripts and rename the type of scripts from
-
Sign in to the Oracle database as database administrator for creating the new administrator user account using SQL*Plus as follows:
Enhanced Aggregation
-
For enhanced aggregation, grant the following permissions to the new role (${new role}) created under Administrator Permissions:
GRANT SELECT ON HR.HR_ALL_ORGANIZATION_UNITS TO ${new role}; GRANT SELECT ON HR.HR_ALL_POSITIONS_F TO ${new role}; GRANT SELECT ON HR.PER_ASSIGNMENT_STATUS_TYPES TO ${new role}; GRANT SELECT ON HR.PER_PERSON_TYPES TO ${new role}; GRANT SELECT ON HR.PER_PERSON_TYPE_USAGES_F TO ${new role}; GRANT SELECT ON APPS.FND_USER TO ${new role}; GRANT SELECT ON HR.PER_ALL_PEOPLE_F TO ${new role}; GRANT SELECT ON HR.PER_ALL_ASSIGNMENTS_F TO ${new role}; GRANT SELECT ON HR.PER_JOB_GROUPS TO ${new role}; GRANT SELECT ON HR.PER_JOBS TO ${new role}; GRANT SELECT ON HR.PER_PHONES TO ${new role};-
If xxx package has Definer rights, perform the following:
-
If xxx package has Invoker rights, perform the following:
-
-
Sign in using the new user name ${new user} and create the following synonym for enhanced aggregation:
CREATE OR REPLACE SYNONYM PER_ALL_PEOPLE_F FOR HR.PER_ALL_PEOPLE_F; CREATE OR REPLACE SYNONYM HR_ALL_ORGANIZATION_UNITS FOR HR.HR_ALL_ORGANIZATION_UNITS; CREATE OR REPLACE SYNONYM HR_ALL_POSITIONS_F FOR HR.HR_ALL_POSITIONS_F; CREATE OR REPLACE SYNONYM PER_PERSON_TYPES FOR HR.PER_PERSON_TYPES; CREATE OR REPLACE SYNONYM PER_ASSIGNMENT_STATUS_TYPES FOR HR.PER_ASSIGNMENT_STATUS_TYPES; CREATE OR REPLACE SYNONYM FND_USER FOR APPS.FND_USER; CREATE OR REPLACE SYNONYM PER_PERSON_TYPE_USAGES_F FOR HR.PER_PERSON_TYPE_USAGES_F; CREATE OR REPLACE SYNONYM PER_ALL_ASSIGNMENTS_F FOR HR.PER_ALL_ASSIGNMENTS_F; CREATE OR REPLACE SYNONYM PER_JOB_GROUPS FOR HR.PER_JOB_GROUPS; CREATE OR REPLACE SYNONYM PER_JOBS FOR HR.PER_JOBS; CREATE OR REPLACE SYNONYM PER_PHONES FOR HR.PER_PHONES;-
If xxx package has Definer rights, perform the following:
-
If xxx package has Invoker rights, perform the following:
-
Create Employee
-
For create employee, grant the following permissions to the new role (${new role}) created under Required Permissions:
GRANT SELECT ON APPS.FND_USER TO ${new role}; GRANT SELECT ON APPS.FND_RESPONSIBILITY_VL TO ${new role}; GRANT SELECT ON APPS.FND_APPLICATION_VL TO ${new role}; GRANT SELECT ON HR.PER_JOBS TO ${new role};-
If xxx package has Definer rights:
-
If xxx package has invoker rights:
-
-
Sign in using the new user name ${new user} and create the following synonym for create employee:
CREATE OR REPLACE SYNONYM PER_JOBS FOR HR.PER_JOBS; CREATE OR REPLACE SYNONYM FND_USER FOR APPS.FND_USER; CREATE OR REPLACE SYNONYM FND_APPLICATION_VL FOR APPS.FND_APPLICATION_VL; CREATE OR REPLACE SYNONYM FND_RESPONSIBILITY_VL FOR APPS.FND_RESPONSIBILITY_VL;-
If xxx package has Definer rights:
-
If xxx package has invoker rights:
-
Disable Employee
-
For disable employee, grant the following permissions to the new role (${new role}) created under Required Permissions:
GRANT SELECT ON APPS.FND_USER TO ${new role}; GRANT SELECT ON APPS.FND_RESPONSIBILITY_VL TO ${new role}; GRANT SELECT ON APPS.FND_APPLICATION_VL TO ${new role}; GRANT SELECT ON APPS.PER_PERSON_TYPES TO ${new role}; GRANT SELECT ON HR.PER_PERIODS_OF_SERVICE TO ${new role};-
If xxx package has Definer rights:
-
If xxx package has invoker rights:
-
-
Sign in using the new user name ${new user} and create the following synonym for disable employee:
CREATE OR REPLACE SYNONYM FND_USER FOR APPS.FND_USER; CREATE OR REPLACE SYNONYM FND_RESPONSIBILITY_VL FOR APPS.FND_RESPONSIBILITY_VL; CREATE OR REPLACE SYNONYM FND_APPLICATION_VL FOR APPS.FND_APPLICATION_VL; CREATE OR REPLACE SYNONYM PER_PERSON_TYPES FOR HR.PER_PERSON_TYPES; CREATE OR REPLACE SYNONYM PER_PERIODS_OF_SERVICE FOR HR.PER_PERIODS_OF_SERVICE;-
If xxx package has Definer rights:
-
If xxx package has invoker rights:
-
Supported Managed Systems
The following versions of Oracle HRMS are supported by the connector:
- Oracle E-Business Suite 12.2
- Oracle E-Business Suite 12.1
Prerequisites
- Configure at least one virtual appliance cluster and successfully test the connection. For more information, refer to the Virtual Appliance Reference Guide.
- You must have a service account on Oracle HRMS with the Required Permissions.
- The Oracle jar file specific to your Oracle instance has been obtained from Oracle Database 11g Release 2 JDBC Driver Downloads.
Required Permissions
Account Aggregation and Group Aggregation
To assign the correct permissions, complete the following:
-
Using SQL*Plus, sign in to the Oracle database as APPS and run the following commands to find the rights present on the package, which can be either Invoker or Definer:
SELECT dbo.object_name, (DECODE(SIGN(bitand(options,16)),1,'INVOKER','DEFINER')) "authid" FROM dba_objects dbo, sys.PROCEDURE$ p WHERE p.obj# = dbo.object_id AND dbo.object_type = 'PACKAGE' AND dbo.object_name = 'xxx' AND dbo.owner = 'APPS'Where
xxxis HR_PERSON_API/ HR_PHONE_API/ FND_GLOBAL/ FND_PROFILE/ HR_ASSIGNMENT_API/ HR_EMPLOYEE_API / HR_EX_EMPLOYEE_API.For example, enter the following command to find the rights present on the HR_PERSON_API:
-
If the package has Invoker rights, perform the following:
Copy the Package scripts from here.
Using SQL*Plus, sign in to the Oracle database as APPS and run the following scripts:
- Run the @SP_UPDATE_EMAIL_API.sql
- Run the @SP_UPDATE_EMAIL_API_BODY.sql
- Run the @SP_CREATE_OR_UPDATE_PHONE.sql
- Run the @SP_CREATE_OR_UPDATE_PHONE_BODY.sql
- Run the @SP_FND_GLOBAL.sql
- Run the @SP_FND_GLOBAL_BODY.sql
- Run the @SP_FND_PROFILE.sql
- Run the @SP_FND_PROFILE_BODY.sql
- Run the @SP_HR_ASSIGNMENT_API.sql
- Run the @SP_HR_ASSIGNMENT_API_BODY.sql
- Run the @SP_HR_EMPLOYEE_API.sql
- Run the @SP_HR_EMPLOYEE_API_BODY.sql
- Run the @SP_HR_EX_EMPLOYEE_API.sql
- Run the @SP_HR_EX_EMPLOYEE_API_BODY.sql
-
Sign in to the Oracle database as the database administrator to create the new administrator user account using SQL*Plus as follows:
create role ${new role}; create user ${new user} identified by ${password}; grant create session to ${new user}; grant create synonym to ${new user}; grant ${new role} to ${new user};-
Grant permissions to the new role created (${new role}):
GRANT SELECT ON HR.HR_ALL_ORGANIZATION_UNITS_TL TO ${new role}; GRANT SELECT ON HR.HR_ALL_POSITIONS_F_TL TO ${new role}; GRANT SELECT ON HR.PER_ALL_PEOPLE_F TO ${new role}; GRANT SELECT ON HR.PER_ALL_ASSIGNMENTS_F TO ${new role}; GRANT SELECT ON HR.PER_ASSIGNMENT_STATUS_TYPES_TL TO ${new role}; GRANT SELECT ON HR.PER_PERSON_TYPES_TL TO ${new role}; GRANT SELECT ON HR.PER_JOB_GROUPS TO ${new role}; GRANT SELECT ON HR.PER_JOBS TO ${new role}; GRANT SELECT ON HR.PER_PHONES TO ${new role}; GRANT SELECT ON HR.HR_ALL_ORGANIZATION_UNITS TO ${new role}; GRANT SELECT ON HR.HR_ALL_POSITIONS_F_TL TO ${new role}; GRANT SELECT ON HR.HR_ALL_POSITIONS_F TO ${new role}; GRANT SELECT ON HR.PER_ASSIGNMENT_STATUS_TYPES TO ${new role}; GRANT SELECT ON HR.PER_PERSON_TYPES TO ${new role}; GRANT SELECT ON HR.PER_PERSON_TYPE_USAGES_F TO ${new role}; GRANT SELECT ON APPS.FND_USER TO ${new role}; -
If the package has Definer rights, perform the following:
-
If the package has Invoker rights, perform the following:
-
-
Sign in using new user name ${new user} and create the following synonym:
CREATE OR REPLACE SYNONYM HR_ALL_ORGANIZATION_UNITS_TL FOR HR.HR_ALL_ORGANIZATION_UNITS_TL; CREATE OR REPLACE SYNONYM HR_ALL_POSITIONS_F_TL FOR HR.HR_ALL_POSITIONS_F_TL; CREATE OR REPLACE SYNONYM PER_ALL_ASSIGNMENTS_F FOR HR.PER_ALL_ASSIGNMENTS_F; CREATE OR REPLACE SYNONYM PER_ALL_PEOPLE_F FOR HR.PER_ALL_PEOPLE_F; CREATE OR REPLACE SYNONYM PER_ASSIGNMENT_STATUS_TYPES_TL FOR HR.PER_ASSIGNMENT_STATUS_TYPES_TL; CREATE OR REPLACE SYNONYM PER_JOBS FOR HR.PER_JOBS; CREATE OR REPLACE SYNONYM PER_JOB_GROUPS FOR HR.PER_JOB_GROUPS; CREATE OR REPLACE SYNONYM PER_PERSON_TYPES_TL FOR HR.PER_PERSON_TYPES_TL; CREATE OR REPLACE SYNONYM PER_PHONES FOR HR.PER_PHONES; CREATE OR REPLACE SYNONYM HR_ALL_ORGANIZATION_UNITS FOR HR.HR_ALL_ORGANIZATION_UNITS; CREATE OR REPLACE SYNONYM PER_JOBS FOR HR.PER_JOBS; CREATE OR REPLACE SYNONYM HR_ALL_POSITIONS_F FOR HR.HR_ALL_POSITIONS_F; CREATE OR REPLACE SYNONYM PER_PERSON_TYPES FOR HR.PER_PERSON_TYPES; CREATE OR REPLACE SYNONYM PER_ASSIGNMENT_STATUS_TYPES FOR HR.PER_ASSIGNMENT_STATUS_TYPES; CREATE OR REPLACE SYNONYM FND_USER FOR APPS.FND_USER; CREATE OR REPLACE SYNONYM PER_PERSON_TYPE_USAGES_F FOR HR.PER_PERSON_TYPE_USAGES_F; CREATE OR REPLACE SYNONYM PER_ALL_ASSIGNMENTS_F FOR HR.PER_ALL_ASSIGNMENTS_F; CREATE OR REPLACE SYNONYM PER_JOBS FOR HR.PER_JOBS;-
If the package has Definer rights, perform the following:
-
If the package has Invoker rights, perform the following:
-
Create Employee
-
For create employee, grant the following permissions to the new role (${new role}). Sign into the Oracle database as the database administrator to create the new administrator user account using SQL*Plus as follows:
GRANT SELECT ON APPS.FND_USER TO ${new role}; GRANT SELECT ON APPS.FND_RESPONSIBILITY_VL TO ${new role}; GRANT SELECT ON APPS.FND_APPLICATION_VL TO ${new role}; GRANT SELECT ON HR.PER_JOBS TO ${new role};-
If the package has Definer rights:
-
If the package has invoker rights:
-
-
Login by the new user name ${new user} and create the following synonym for create employee:
CREATE OR REPLACE SYNONYM PER_JOBS FOR HR.PER_JOBS; CREATE OR REPLACE SYNONYM FND_USER FOR APPS.FND_USER; CREATE OR REPLACE SYNONYM FND_APPLICATION_VL FOR APPS.FND_APPLICATION_VL; CREATE OR REPLACE SYNONYM FND_RESPONSIBILITY_VL FOR APPS.FND_RESPONSIBILITY_VL;-
If the package has Definer rights:
-
If the package has invoker rights:
-
Disable Employee
-
For disable employee, grant the following permissions to the new role (${new role}). Sign in to the Oracle database as the database administrator to create the new administrator user account using SQL*Plus as follows:
GRANT SELECT ON APPS.FND_USER TO ${new role}; GRANT SELECT ON APPS.FND_RESPONSIBILITY_VL TO ${new role}; GRANT SELECT ON APPS.FND_APPLICATION_VL TO ${new role}; GRANT SELECT ON APPS.PER_PERSON_TYPES TO ${new role}; GRANT SELECT ON HR.PER_PERIODS_OF_SERVICE TO ${new role};-
If the package has Definer rights:
-
If the package has invoker rights:
-
-
Login by the new user name ${new user} and create the following synonym for disable employee:
CREATE OR REPLACE SYNONYM FND_USER FOR APPS.FND_USER; CREATE OR REPLACE SYNONYM FND_RESPONSIBILITY_VL FOR APPS.FND_RESPONSIBILITY_VL; CREATE OR REPLACE SYNONYM FND_APPLICATION_VL FOR APPS.FND_APPLICATION_VL; CREATE OR REPLACE SYNONYM PER_PERSON_TYPES FOR HR.PER_PERSON_TYPES; CREATE OR REPLACE SYNONYM PER_PERIODS_OF_SERVICE FOR HR.PER_PERIODS_OF_SERVICE;-
If the package has Definer rights:
-
If the package has invoker rights:
-
Documentation Feedback
Feedback is provided as an informational resource only and does not form part of SailPoint’s official product documentation. SailPoint does not warrant or make any guarantees about the feedback (including without limitation as to its accuracy, relevance, or reliability). All feedback is subject to the terms set forth at https://developer.sailpoint.com/discuss/tos.