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:

  1. 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.
  2. You maintain employees' salaries with components in an on-premise application.
  3. 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:

  1. Retrieve the Assignment ID of the employee's current assignment.
  2. 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.
  3. 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:

  1. Retrieve the salary ID of the employee.
  2. 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.
  3. 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": [
               {
                 ...}
  ]
}