Manage Someone's Salary Advanced 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 salary advanced component information of a person's employment assignment in an on-premise application, and have their salary reflected in Oracle HCM Cloud. This use case describes the scenarios where you use the salaries REST service to create and correct the 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 advanced components
  • Correct someone's salary advanced components

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

  1. You configure a salary basis with advanced components (salary amount determined by rates) 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 advanced components in the on-premise application.
  3. When a salary 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 Using Advanced Components

Note:

Salary basis type in the salary is determined by rates, which is a controlled available functionality.

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

To create the salary advanced 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": 300100094046596,
    "DateFrom": "2020-01-01",
    "ActionId": 100100065998539,
    "SalaryBasisId": 300100090078737,
    "SalaryAmount": 103000,
    "salaryPayRateComponents":
    [
     {
      "PayRateDefinitionId": 300100090338534,
      "RateAmount": 60000
     }
    ]
}

Example Response

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

{
    "AssignmentId": 300100094046596,
    "SalaryId": 300100216843581,
    "SalaryBasisId": 300100090078737,
    "SalaryFrequencyCode": "ANNUAL",
    "SalaryBasisType": "R",
    "CurrencyCode": "USD",
    "DateFrom": "2020-01-01",
    "DateTo": "4712-12-31",
    "SalaryAmount": 103000,
    "AdjustmentAmount": 10000.00,
    "AdjustmentPercentage": 10.75,
    "AnnualSalary": 103000.00,
    "AnnualFullTimeSalary": 103000.00,
    "Quartile": null,
    "Quintile": null,
    "CompaRatio": null,
    "RangePosition": null,
    "SalaryRangeMinimum": null,
    "SalaryRangeMidPoint": null,
    "SalaryRangeMaximum": null,
    "SearchDate": null,
    "FrequencyName": "Annually",
    "AssignmentNumber": null,
    "DisplayName": "RJS1_SB_Scenario1",
    "ActionId": 100100065998539,
    "ActionReasonId": null,
    "ActionCode": null,
    "ActionReasonCode": null,
    "ActionReason": null,
    "ActionName": null,
    "Code": "RJS1_SB_Scenario1",
    "salaryPayRateComponents": [
        {
            "SalaryId": 300100216843581,
            "SalaryPayComponentId": 300100216843583,
            "PayRateDefinitionId": 300100090338534,
            "RateDisplaySequence": 10,
            "RateType": "ET",
            "RateAmount": 60000,
            "RateFactor": null,
            "RatePeriodicityCode": "Year",
            "RateCurrencyCode": "USD",
            "RateAnnualAmount": 60000,
            "RateAnnualFtAmount": 60000,
            "Name": "RJS1_Rate_Annual_Base",
            "FTEFlag": false,
            "RateOverallSalaryFlag": null,
            "ShortName": "RJS1_RATE_ANNUAL_BASE",
            "links":[
               {
                 ...}
             ]
        }
  ]
}

Correct Someone's Salary Advanced Components

Note:

Salary basis type in the salary is determined by rates, which is a controlled available functionality.

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

To correct the salary advanced 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 advanced 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.

{
    "SalaryId": 300100216843581,
    "SalaryAmount": 105000,
    "salaryPayRateComponents":[
      {
        "SalaryId": 300100216843581,
        "SalaryPayComponentId": 300100216843583,
        "PayRateDefinitionId": 300100090338534,
        "RateAmount": 62000
      }
      ,
      {
        "SalaryId": 300100216843581,
        "SalaryPayComponentId": 300100216843592,
        "PayRateDefinitionId": 300100090346289,
        "RateAmount": 1500
      }
      ,
      {
        "SalaryId": 300100216843581,
        "SalaryPayComponentId": 300100216843593,
        "PayRateDefinitionId": 300100090458558,
        "RateAmount": 105000
      }
      ,
      {
        "SalaryId": 300100216843581,
        "SalaryPayComponentId": 300100216843591,
        "PayRateDefinitionId": 300100090458059,
        "RateAmount": 25000
      }
    ]
 }

Example Response

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

{
    "AssignmentId": 300100094046596,
    "SalaryId": 300100216843581,
    "SalaryBasisId": 300100090078737,
    "SalaryFrequencyCode": "ANNUAL",
    "SalaryBasisType": "R",
    "CurrencyCode": "USD",
    "DateFrom": "2020-01-01",
    "DateTo": "4712-12-31",
    "SalaryAmount": 105000,
    "AdjustmentAmount": 12000.00,
    "AdjustmentPercentage": 12.90,
    "AnnualSalary": 105000.00,
    "AnnualFullTimeSalary": 105000.00,
    "Quartile": null,
    "Quintile": null,
    "CompaRatio": null,
    "RangePosition": null,
    "SalaryRangeMinimum": null,
    "SalaryRangeMidPoint": null,
    "SalaryRangeMaximum": null,
    "SearchDate": null,
    "FrequencyName": "Annually",
    "AssignmentNumber": "E966169008889157",
    "DisplayName": "RJS1_SB_Scenario1",
    "ActionId": 100100065998539,
    "ActionReasonId": null,
    "ActionCode": "CMP_CHANGE_SALARY",
    "ActionReasonCode": null,
    "ActionReason": null,
    "ActionName": "Salary Change",
    "Code": "RJS1_SB_Scenario1",
    "salaryPayRateComponents": [
        {
            "SalaryId": 300100216843581,
            "SalaryPayComponentId": 300100216843583,
            "PayRateDefinitionId": 300100090338534,
            "RateDisplaySequence": 10,
            "RateType": "ET",
            "RateAmount": 62000,
            "RateFactor": null,
            "RatePeriodicityCode": "Year",
            "RateCurrencyCode": "USD",
            "RateAnnualAmount": 62000,
            "RateAnnualFtAmount": 62000,
            "Name": "RJS1_Rate_Annual_Base",
            "FTEFlag": false,
            "RateOverallSalaryFlag": null,
            "ShortName": "RJS1_RATE_ANNUAL_BASE",
            "links":[
               {
                 ...}
             ]
        },
        {
            "SalaryId": 300100216843581,
            "SalaryPayComponentId": 300100216843592,
            "PayRateDefinitionId": 300100090346289,
            "RateDisplaySequence": 30,
            "RateType": "ET",
            "RateAmount": 1500,
            "RateFactor": null,
            "RatePeriodicityCode": "Calendar Month",
            "RateCurrencyCode": "USD",
            "RateAnnualAmount": 18000,
            "RateAnnualFtAmount": 18000,
            "Name": "RJS1_Rate_Incentive",
            "FTEFlag": false,
            "RateOverallSalaryFlag": null,
            "ShortName": "RJS1_RATE_INCENTIVE",
            "links":[
               {
                 ...}
             ]
        },
        {
            "SalaryId": 300100216843581,
            "SalaryPayComponentId": 300100216843593,
            "PayRateDefinitionId": 300100090458558,
            "RateDisplaySequence": 40,
            "RateType": "DRT",
            "RateAmount": 105000,
            "RateFactor": null,
            "RatePeriodicityCode": "Year",
            "RateCurrencyCode": "USD",
            "RateAnnualAmount": 105000,
            "RateAnnualFtAmount": 105000,
            "Name": "RJS1_Rate_Overall_Salary",
            "FTEFlag": false,
            "RateOverallSalaryFlag": true,
            "ShortName": "RJS1_RATE_OVERALL_SALARY",
            "links":[
               {
                 ...}
             ]
        },
        {
            "SalaryId": 300100216843581,
            "SalaryPayComponentId": 300100216843591,
            "PayRateDefinitionId": 300100090458059,
            "RateDisplaySequence": 20,
            "RateType": "ET",
            "RateAmount": 25000,
            "RateFactor": null,
            "RatePeriodicityCode": "Year",
            "RateCurrencyCode": "USD",
            "RateAnnualAmount": 25000,
            "RateAnnualFtAmount": 25000,
            "Name": "RJS1_Rate_Allowance_1",
            "FTEFlag": false,
            "RateOverallSalaryFlag": null,
            "ShortName": "RJS1_RATE_ALLOWANCE_1",
            "links":[
               {
                 ...}
             ]
        }
  ]
}