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:
- 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.
- You maintain people's salaries using advanced components in the on-premise application.
- 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:
- 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": 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:
- 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 advanced 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.
{
"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":[
{
...}
]
}
]
}