Manage Someone's Salary Components
You may store salary information in Oracle HCM Cloud applications but use an on-premise application to show and maintain salary information. Or, you may want to create and correct salary component information of a person's employment assignment in an on-premise application and have the salary information reflect in Oracle HCM Cloud. This use case describes the scenarios where you use the salaries
REST service to create and correct salary component information associated with an employment assignment for a person who's information you're allowed to manage.
Let's discuss these scenarios:
- Create someone's salary component
- Correct someone's salary component
Here's a typical application processing flow for the scenarios:
- You configure a salary basis with components according to your organizational requirements and synchronize it to be the same in the on-premise and Oracle HCM Cloud applications.
- You maintain employees' salaries with components in an on-premise application.
- When a salary component creation or correction occurs in the on-premise application, the application makes a call to the Oracle HCM Cloud
salaries
REST service and returns appropriate data.
Create Someone's Salary Component
Let's say that Mark is Jen's HR representative. Jen was recently entitled to an increase in her progression component amount by $25 for her current assignment. Mark needs to create this salary component for Jen.
To create the salary component in Oracle HCM Cloud:
- Retrieve the Assignment ID of the employee's current assignment.
- Perform a POST operation on the employee salary using the URL for the
salaries
resource, by providing the salary component details in the request body. - Verify the details returned in the response.
Example URL
Use this resource URL format.
POST
/hcmRestApi/resources/11.13.18.05/salaries
Example Request
Here's an example of the request body in JSON format.
{
"AssignmentId": 300100093867717,
"SalaryBasisId": 300100001799079,
"DateFrom": "2012-01-01",
"ActionId": 100010026278066,
"SalaryAmount": 70000,
"salaryComponents":
[
{
"ComponentReasonCode": "PROGRESSION",
"AdjustmentAmount": 25
}
]
}
Example Response
Here's an example of the response body in JSON format.
{
"AssignmentId": 300100093867717,
"SalaryId": 300100202337439,
"SalaryBasisId": 300100001799079,
"SalaryFrequencyCode": "WEEK",
"SalaryBasisType": "C",
"CurrencyCode": "USD",
"DateFrom": "2010-02-18",
"DateTo": "4712-12-31",
"SalaryAmount": 986.54,
"AdjustmentAmount": 25,
"AdjustmentPercentage": 2.6,
"AnnualSalary": 51300.08,
"AnnualFullTimeSalary": 51300.08,
"Quartile": null,
"Quintile": null,
"CompaRatio": null,
"RangePosition": null,
"SalaryRangeMinimum": null,
"SalaryRangeMidPoint": null,
"SalaryRangeMaximum": null,
"SearchDate": null,
"FrequencyName": "Weekly",
"AssignmentNumber": null,
"DisplayName": "REST_AUTO_SB_02",
"ActionId": 100010026278066,
"ActionReasonId": null,
"ActionCode": null,
"ActionReasonCode": null,
"ActionReason": null,
"ActionName": null,
"Code": "REST_AUTO_SB_02",
"salaryComponents": [
{
"SalaryComponentId": 300100202337441,
"SalaryId": 300100202337439,
"ComponentReasonCode": "PROGRESSION",
"AdjustmentAmount": 25,
"AdjustmentPercentage": 2.6,
"links": [
{
...}
]
}
Correct Someone's Salary Component
Let's say that Mark verifies the salary information of Jen and realizes that her current adjustment component amount is not correct, and needs to be corrected.
To correct the salary in Oracle HCM Cloud:
- Retrieve the salary ID of the employee.
- Perform a PATCH operation on the salary ID using the URL for the
salaries
resource by providing the salary and salary component details in the request body. - Verify the details returned in the response.
Example URL
Use this resource URL format.
PATCH
/hcmRestApi/resources/11.13.18.05/salaries/{SalaryID}
Example Request
Here's an example of the request body in JSON format.
{
"AssignmentId":300100093867717,
"SalaryBasisId":300100001799079,
"DateFrom":"2011-01-01",
"ActionId":100010026278849,
"SalaryAmount":92000,
"salaryComponents": [
{
"SalaryComponentId": 300100203621321,
"ComponentReasonCode": "ADJUSTMENT",
"AdjustmentAmount": 62000
}
]
}
Example Response
Here's an example of the response body in JSON format.
{
"AssignmentId": 300100093867717,
"SalaryId": 300100203368994,
"SalaryBasisId": 300100001799079,
"SalaryFrequencyCode": "ANNUAL",
"SalaryBasisType": "C",
"CurrencyCode": "USD",
"DateFrom": "2011-01-01",
"DateTo": "4712-12-31",
"SalaryAmount": 92000,
"AdjustmentAmount": null,
"AdjustmentPercentage": null,
"AnnualSalary": 92000,
"AnnualFullTimeSalary": 92000,
"Quartile": "1",
"Quintile": "2",
"CompaRatio": 88.46,
"RangePosition": 21.15,
"SalaryRangeMinimum": 83200,
"SalaryRangeMidPoint": 104000,
"SalaryRangeMaximum": 124800,
"SearchDate": null,
"FrequencyName": "Annually",
"AssignmentNumber": "E966169008889152",
"DisplayName": "ZCMP US STD Salary Annually Comp",
"ActionId": 100010026278849,
"ActionReasonId": null,
"ActionCode": "HIRE",
"ActionReasonCode": null,
"ActionReason": null,
"ActionName": "Hire",
"Code": "ZCMP_US_STD_Salary_Annually_Comp",
"salaryComponents": [
{
"SalaryComponentId": 300100203621321,
"SalaryId": 300100203368994,
"ComponentReasonCode": "ADJUSTMENT",
"AdjustmentAmount": 62000,
"AdjustmentPercentage": 0,
"links": [
{
...}
]
}