Workforce Compensation FastFormula Reference Guide
Prepared by
Authors: David Manoharan
Creation Date: 24-Aug-2011
Last Updated: 24-Aug-2011
Status:
Version: 1.0
Copyright (C) 2011 Oracle Corporation All Rights Reserved
Introduction
FastFormula is a way to customize the existing functionality in Workforce Compensation. Formulas in
Workforce Compensation are pieces of code which can receive information from calling program
(packages), access database information and return values to the calling program. The calling program
can use this information to modify the process functionality.
Fast formulas are generic expressions of calculations or comparisons that you want to repeat with different
input variables.
• You can use fast formulas to:
• Define custom calculations for compensation
• Validate element inputs or user-defined tables
• Edit the rules for object group population for elements or people
Formulas for Individual Compensation Plans
Formula Type: Compensation Start Date
The Compensation Start Date formula can be used to determine the start date of compensation awarded using an
individual compensation plan.
When setting up a compensation plan, you can select the defined formula after
you select Formula as the Compensation Start Date value.
Contexts
The following contexts are available to formulas of this type:
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
Database Items
Database items are not available to formulas of this type.
Input Variables
The following input variables are available to formulas of this type:
Input Data Type Required Description
CMP_IV_EFFECTIVE_DATE Varchar2 N Input effective date
CMP_IV_ASSIGNMENT_ID Number N Assignment ID
CMP_IV_PERSON_ID Number N Person ID
CMP_IV_PLAN_ID Number N Plan ID
CMP_IV_OPTION_ID Number N Option ID
Return Values
The following return variables are available to formulas of this type.
Return Value Data Type Required Description
COMPENSATION_START_DATE Varchar2 N Compensation Start date
Errors
CMP_VC_ALLOC_FORMULA_FAILURE - Error occurred during formula processing.
Sample Formula
This sample formula calculates the compensation start date to be 3 months later from the given date.
/*********************************************************
FORMULA NAME : Compensation Start Date Formula
FORMULA TYPE : Compensation Start Date
DESCRIPTION : Formula that returns Compensation Start Date to be 3 month
later of the given date
*******************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN ==============*/
N/A
/*=========== DATABASE ITEM DEFAULTS ENDS ===============*/
/*=========== FORMULA SECTION BEGIN =====================*/
INPUTS ARE CMP_IV_EFFECTIVE_DATE (text)
DEFAULT FOR CMP_IV_EFFECTIVE_DATE IS '4012/01/01'
l_date = ADD_MONTHS(TO_DATE(CMP_IV_EFFECTIVE_DATE, 'YYYY/MM/DD'),3)
compensation_start_date = TO_CHAR(ldate, 'YYYY/MM/DD')
RETURN compensation_start_date
/*=========== FORMULA SECTION END =======================*
Formula Type : Compensation End Date
The Compensation End Date formula can be used to determine the end date of compensation awarded using an
individual compensation plan.
When setting up a compensation plan, you can select the defined formula after you select Formula as the
Compensation End Date value.
Contexts
The following contexts are available to formulas of this type:
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
Database Items
Database items are not available to formulas of this type.
Input Variables
The following input variables are available to formulas of this type:
Input Data Type Required Description
CMP_IV_EFFECTIVE_DATE Varchar2 N Input effective date
CMP_IV_ASSIGNMENT_ID Number N Assignment ID
CMP_IV_PERSON_ID Number N Person ID
CMP_IV_PLAN_ID Number N Plan ID
CMP_IV_OPTION_ID Number N Option ID
Return Values
The following return variables are available to formulas of this type.
Return Value Data Type Required Description
COMPENSATION_END_DATE Varchar2 N Compensation End date
Errors
CMP_VC_ALLOC_FORMULA_FAILURE - Error occurred during formula
processing.
Sample Formula
This sample formula calculates the compensation end date to be 6 months later
of the given date.
/*********************************************************
FORMULA NAME: Compensation End Date Formula
FORMULA TYPE: Compensation End Date
DESCRIPTION: Formula that returns Compensation End Date
*******************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN ==============*/
N/A
/*=========== DATABASE ITEM DEFAULTS ENDS ===============*/
/*=========== FORMULA SECTION BEGIN =====================*/
INPUTS ARE CMP_IV_EFFECTIVE_DATE (text)
DEFAULT FOR CMP_IV_EFFECTIVE_DATE IS '4012/01/01'
l_date = ADD_MONTHS (TO_DATE (CMP_IV_EFFECTIVE_DATE, 'YYYY/MM/DD'),6)
compensation_end_date = TO_CHAR(ldate, 'YYYY/MM/DD')
RETURN compensation_end_date
/*=========== FORMULA SECTION END =======================*/
Formulas for Workforce Compensation Plans
Formula Type: Compensation Currency Selection
The Compensation Currency Selection formula determines the currency associated with a workforce compensation
component.
You select the formula on the Configure Compensation Components page.
Contexts
The following contexts are available to formulas of this type:
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
Database Items
Database items are not available to formulas of this type.
Input Variables
The following input variables are available to formulas of this type.
Input Data Type Required Description
CMP_IV_PLAN_ID Number Y Plan ID
CMP_IV_ASSIGNMENT_ID Number Y Assignment ID
CMP_IV_PERIOD_ID Number Y Period ID
CMP_IV_COMPONENT_ID Number Y Component ID
Return Values
The following return variables are available to formulas of this type.
Return Value Data Type Required Description
L_CURR_CODE Char2 N Currency code from the Formula
Sample Formula
This sample formula determines if a person is selected for a plan based on their assignment_id.
/*******************************************************************
FORMULA NAME: Compensation Currency Selection Formula
FORMULA TYPE: Compensation Currency Selection
DESCRIPTION: It returns the currency code based on
component_id.
*******************************************************************/
/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/
INPUTS ARE CMP_IV_ASSIGNMENT_ID (number), CMP_IV_PLAN_ID (number),
CMP_IV_PERIOD_ID (number), CMP_IV_COMPONENT_ID (number)
/*=========== INPUT VALUES DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/
DEFAULT FOR CMP_IV_COMPONENT_ID IS 0
l_curr_code = 'XXX'
IF (CMP_IV_COMPONENT_ID = 489) THEN
(
l_curr_code = 'USD'
)
ELSE IF (CMP_IV_COMPONENT_ID = 490) THEN
(
l_curr_code = 'GBP'
)
RETURN l_curr_code
/*================ FORMULA SECTION END =======================*/
Formula Type: Compensation Default and Override
The Compensation Default and Override formula determines the default values populated in a column for a
workforce compensation plan.
You select the formula when you configure the worksheet display for a column using the Default Values tab on the
Define Column Properties window.
Contexts
The following contexts are available to formulas of this type:
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
Define Elements, Balances, and Formulas 3-51
• PAYROLL_ASSIGNMENT_ID
Database Items
Database items are not available to formulas of this type.
Input Variables
The following input variables are available to formulas of this type.
Input Data Type Required Description
CMP_IV_PLAN_ID Number Y Plan ID
CMP_IV_PERIOD_ID Number Y Period ID
CMP_IV_COMPONENT_ID Number Y Component ID
CMP_IV_ITEM_NAME Char Y Item Name
Return Values
Use predefined names for return variables. The following return variables are available to formulas of this type.
Return Value Data Type Required Description
L_DEFAULT_VALUE Number/C Y Default value from the Formula
har/Date
L_DATA_TYPE Char Y Data type of the column
DEFAULTS BEGIN =====================*/
INPUTS ARE CMP_IV_PLAN_ID (number), CMP_IV_PERIOD_ID (number),
CMP_IV_COMPONENT_ID (number), CMP_IV_ITEM_NAME (text)
/*=========== INPUT VALUES DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/
DEFAULT FOR CMP_IV_ITEM_NAME IS 'YYYYYYY'
L_DEFAULT_VALUE = to_char (0)
L_DATA_TYPE = 'NONETYPE'
//Valid L_DATA_TYPE values can be -
//NUMBER, CHAR, DATE.
IF (CMP_IV_ITEM_NAME = 'AmountComp1') THEN
(
L_DATA_TYPE = 'NUMBER'
L_DEFAULT_VALUE = to_char (3333)
)
ELSE IF (CMP_IV_ITEM_NAME = 'AmountComp2') THEN
(
L_DATA_TYPE = 'NUMBER'
L_DEFAULT_VALUE = to_char (7777)
)
ELSE
(
L_DATA_TYPE = 'NONETYPE'
L_DEFAULT_VALUE = to_char (-999)
)
RETURN L_DATA_TYPE, L_DEFAULT_VALUE
/*================ FORMULA SECTION END =======================*/
Formula Type: Compensation Hierarchy Determination
The Compensation Hierarchy Determination formula determines the hierarchy for an associated workforce
compensation plan.
You select the formula on the Configure Plan Details page.
Contexts
The following contexts are available to formulas of this type:
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PAYROLL_ASSIGNMENT_ID
Database Items
Database items are not available to formulas of this type.
Input Variables
The following input variables are available to formulas of this type.
Input Data Type Required Description
CMP_IV_ASSIGNMENT_ID Number Y Assignment ID
CMP_IV_PLAN_ID Number Y Plan ID
CMP_IV_PERIOD_ID Number Y Period ID
Return Values
Use predefined names for return variables. The following return variables are available to formulas of this type.
Return Value Data Type Required Description
L_PERSON_ID Number Y Person Id of manager
L_ASSIGNMENT_ID Number Y Assignment ID of Manager
Sample Formula
This sample formula determines the manager of a person when the assignment_id is passed.
/*******************************************************************
FORMULA NAME: Compensation Hierarchy Determination Formula
FORMULA TYPE: Compensation Hierarchy Determination
DESCRIPTION: Hierarchy determination fast formula which is based on
assignment_id
*******************************************************************/
/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/
INPUTS ARE CMP_IV_ASSIGNMENT_ID (number), CMP_IV_PLAN_ID (number),
CMP_IV_PERIOD_ID (number)
/*=========== INPUT VALUES DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/
DEFAULT FOR CMP_IV_ASSIGNMENT_ID IS 0
L_PERSON_ID = '0'
L_ASSIGNMENT_ID = '0'
if ( CMP_IV_ASSIGNMENT_ID = 100000008154060 ) THEN
(
L_PERSON_ID = to_char(-999) //-999 indicates top level//Manager.
L_ASSIGNMENT_ID = to_char(-999)
)
ELSE
(
L_PERSON_ID = to_char(100000008153756)
L_ASSIGNMENT_ID = to_char(100000008154060)
)
RETURN L_PERSON_ID , L_ASSIGNMENT_ID
/*================ FORMULA SECTION END =======================*/
Formula Type: Compensation Person Selection
The Compensation Person Selection formula determines whether a person is selected for an associated workforce
compensation plan.
You select the formula when you run the Start Workforce Compensation Cycle process.
Contexts
The following contexts are available to formulas of this type:
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PAYROLL_ASSIGNMENT_ID
Database Items
Database items are not available to formulas of this type.
Input Variables
The following input variables are available to formulas of this type.
Input Data Type Required Description
CMP_IV_PLAN_ID Number Y Plan ID
CMP_IV_ASSIGNMENT_ID Number Y Assignment ID
Return Values
Use predefined names for return variables. The following return variables are available to formulas of this type.
Return Value Data Type Required Description
L_SELECTED Char N Y or N
Sample Formula
This sample formula determines if a person is selected for a plan based on their assignment_id.
/*******************************************************************
FORMULA NAME: Compensation Selection Formula
FORMULA TYPE: Compensation Person Selection
DESCRIPTION: Assignment_id based selection fast formula
*******************************************************************/
/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/
INPUTS ARE CMP_IV_ASSIGNMENT_ID (number), CMP_IV_PLAN_ID (number)
/*=========== INPUT VALUES DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/
DEFAULT FOR CMP_IV_ASSIGNMENT_ID IS 0
l_selected = 'Y'
/* 100000008154095 - Ariel.Aimar@oracle.com - GBI data*/
If (CMP_IV_ASSIGNMENT_ID = 100000008154095) THEN
(
l_selected = 'N'
)
else
(
l_selected = 'Y'
)
RETURN l_selected
/*================ FORMULA SECTION END =======================*/
FAQs for Manage Fast Formulas
What's the difference between a formula compilation error and an execution error?
Compilation errors occur in the Manage Fast Formulas page when you compile the formula. An error message
explains the nature of the error. Common compilation errors are syntax errors resulting from typing mistakes.
Execution errors occur when a problem arises while a formula is running. The usual cause is a data problem, either
in the formula or in the application database.
When do I run the Compile Formula process?
If you need to compile many fast formulas at the same time, you can run the Compile Formula process on the
Submit a Process or Report page. Also, if you make any changes to a function after you have compiled a formula
that uses it, you need to recompile the formula for the changes to take effect.