Manage Someone's Salary Standard Components

You might store salary information in Oracle HCM Cloud applications, but use an on-premise application to show and maintain salary information. Or, you might want to create and correct the standard salary component information of a person's employment assignment in an on-premise application. Then, have their salary reflected in Oracle HCM Cloud. This use case describes the scenarios where you use the salaries REST service to create, correct, and delete salary information associated with an employment assignment for a person whose information you can manage.

Let's discuss these scenarios:

  • Create someone's salary using standard components
  • Correct someone's salary standard components
  • Delete someone's salary standard components

Here's a typical application processing flow for these scenarios:

  1. You configure a salary basis with standard 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 people's salaries using standard components in the on-premise application.
  3. When a salary creation, correction, or deletion 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 Using Standard Components

Let's say that Bill is Jen's line manager. Jen was recently entitled to an increase in her standard component amount for her current assignment. Bill needs to increase Jen's basic salary standard component amount to 12,000.

To create the standard 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": 100000016858755,
  "SalaryBasisId": 300100217826875,
  "DateFrom": "2012-01-01",
  "ActionId": 100100065998539,
  "SalaryAmount": 20000,
  "salarySimpleComponents":
    [
     {
      "ComponentName": "Basic Salary",
      "Amount": 12000
     }
     ,
     {
      "ComponentName": "Housing Allowance",
      "Amount": 8000
     }
     ,
     {
      "ComponentName": "Overall Salary",
      "Amount": 20000
     }
    ]
}

Example Response

Here's an example of the response body in JSON format.

{
  "AssignmentId": 100000016858755,
  "SalaryId": 300100219046876,
  "SalaryBasisId": 300100217826875,
  "SalaryFrequencyCode": "ANNUAL",
  "SalaryBasisType": "ORA_SIMPLE_COMPONENTS",
  "CurrencyCode": "USD",
  "DateFrom": "2012-01-01",
  "DateTo": "4712-12-31",
  "SalaryAmount": 20000,
  "AdjustmentAmount": 1500.00,
  "AdjustmentPercentage": 8.11,
  "AnnualSalary": 20000.00,
  "AnnualFullTimeSalary": 20000.00,
  "Quartile": null,
  "Quintile": null,
  "CompaRatio": null,
  "RangePosition": null,
  "SalaryRangeMinimum": null,
  "SalaryRangeMidPoint": null,
  "SalaryRangeMaximum": null,
  "SearchDate": null,
  "FrequencyName": "Annually",
  "AssignmentNumber": null,
  "DisplayName": "Standard Mandatory Components",
  "ActionId": 100100065998539,
  "ActionReasonId": null,
  "ActionCode": null,
  "ActionReasonCode": null,
  "ActionReason": null,
  "ActionName": null,
  "Code": "Standard_Mandatory_Components",
  "salarySimpleComponents": [
    {
      "Amount": 12000,
      "AnnualAmount": 12000.00,
      "AnnualFtAmount": 12000.00,
      "BasedOnComponentCode": null,
      "BasisSimpleComponentId": 300100217826883,
      "ComponentCode": "ORA_BASIC",
      "CurrencyCode": "USD",
      "DisplaySequence": 10,
      "Percentage": null,
      "SalaryId": 300100219046876,
      "SimpleSalaryCompntId": 300100219046878,
      "ComponentName": "Basic salary",
      "BasedOnComponentName": null,
      "links": [
         {
          ...}
       ]
    },
    {
      "Amount": 8000,
      "AnnualAmount": 8000.00,
      "AnnualFtAmount": 8000.00,
      "BasedOnComponentCode": null,
      "BasisSimpleComponentId": 300100217826885,
      "ComponentCode": "ORA_HOUSING_ALLOWANCE",
      "CurrencyCode": "USD",
      "DisplaySequence": 20,
      "Percentage": null,
      "SalaryId": 300100219046876,
      "SimpleSalaryCompntId": 300100219046879,
      "ComponentName": "Housing allowance",
      "BasedOnComponentName": null,
      "links": [
         {
          ...}
       ]
    },
    {
      "Amount": 20000,
      "AnnualAmount": 20000.00,
      "AnnualFtAmount": 20000.00,
      "BasedOnComponentCode": null,
      "BasisSimpleComponentId": 300100217826888,
      "ComponentCode": "ORA_OVERALL_SALARY",
      "CurrencyCode": "USD",
      "DisplaySequence": 30,
      "Percentage": null,
      "SalaryId": 300100219046876,
      "SimpleSalaryCompntId": 300100219046880,
      "ComponentName": "Overall salary",
      "BasedOnComponentName": null,
      "links": [
         {
          ...}
  ]
}

Correct Someone's Salary Standard Components

Let's say that Bill verifies the salary information of Jen and realizes that her current standard component amount is not correct, and needs to be corrected.

To correct the standard salary component 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 standard 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": 300100093903286,
  "SalaryId": 300100216841565,
  "SalaryBasisId": 300100210892047,
  "DateFrom": "2011-01-01",
  "SalaryAmount": 16500,
  "salarySimpleComponents": [
    {
     "SimpleSalaryCompntId": 300100216841580,
     "Amount": 1150
    }
  ]
}

Example Response

Here's an example of the response body in JSON format.

{
    "AssignmentId": 300100093903286,
    "SalaryId": 300100216841565,
    "SalaryBasisId": 300100210892047,
    "SalaryFrequencyCode": "MONTHLY",
    "SalaryBasisType": "ORA_SIMPLE_COMPONENTS",
    "CurrencyCode": "USD",
    "DateFrom": "2011-01-01",
    "DateTo": "4712-12-31",
    "SalaryAmount": 1725.00,
    "AdjustmentAmount": null,
    "AdjustmentPercentage": null,
    "AnnualSalary": 20700.00,
    "AnnualFullTimeSalary": 20700.00,
    "Quartile": null,
    "Quintile": null,
    "CompaRatio": null,
    "RangePosition": null,
    "SalaryRangeMinimum": null,
    "SalaryRangeMidPoint": null,
    "SalaryRangeMaximum": null,
    "SearchDate": null,
    "FrequencyName": "Monthly",
    "AssignmentNumber": "E966169008889153",
    "DisplayName": "Standard Components with Optional",
    "ActionId": 100010026278853,
    "ActionReasonId": null,
    "ActionCode": "HIRE",
    "ActionReasonCode": null,
    "ActionReason": null,
    "ActionName": "Hire",
    "Code": "Standard_Components_with_Optional",
    "salarySimpleComponents": [
        {
            "Amount": 1150,
            "AnnualAmount": 13800.00,
            "AnnualFtAmount": 13800.00,
            "BasedOnComponentCode": null,
            "BasisSimpleComponentId": 300100210892048,
            "ComponentCode": "ORA_BASIC",
            "CurrencyCode": "USD",
            "DisplaySequence": 10,
            "Percentage": null,
            "SalaryId": 300100216841565,
            "SimpleSalaryCompntId": 300100216841580,
            "ComponentName": "Basic salary",
            "BasedOnComponentName": null,
            "links":[
               {
                 ...}
             ]
        }
  ]
}

Delete Someone's Optional Salary Standard Components

Bill, Jen's manager, verified Jen's salary information and realizes that an optional standard component amount is not correct, and needs to be deleted.

To delete the standard salary component in Oracle HCM Cloud:

  1. Retrieve the salary ID of the employee.
  2. Perform a DELETE operation on the salary ID using the URL for the salaries resource by providing the salary and optional standard component ID.
  3. Verify the details returned in the response.

Example URL

Use this resource URL format.

DELETE
/hcmRestApi/resources/11.13.18.05/salaries/{SalaryID}/child/salarySimpleComponents/{SimpleSalaryCompntId}

Example Response

Here's an example of the response body in JSON format.

204 No content