Compensation Calculation
This formula type can be used to determine a total compensation amount to be used for eligibility, coverage or benefit, and rate calculations.
Contexts
The following contexts are available to formulas of this type:
- BUSINESS_GROUP_ID ( ENTERPRISE_ID)
- EFFECTIVE_DATE
- HR_ASSIGNMENT_ID
- PERSON_ID
- LER_ID
- ORGANIZATION_ID
- JURISDICTION_CODE
- PGM_ID
- PL_ID
- PL_TYP_ID
- OPT_ID
- LER_ID
Database Items
Use only the following database items that are available to formulas of this type:
- All columns except attribute columns from tables: ben_ler_f, ben_pgm_f, ben_pl_f, ben_opt_f, ben_pl_typ_f
- Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID.
Input Variables
Input variables are available to formulas of this type.
Input | Data Type | Required | Description |
---|---|---|---|
PERSON_ID | Number | Person ID as input value |
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
Return Value | Data Type | Required | Description |
---|---|---|---|
L_OUTPUT | Number | Y | Return variable |
Errors
If any other output value is returned then the participation process errors with BEN_91329_FORMULA_RETURN.
Sample Formula 1:
FORMULA NAME: BEN_COMP_CALC
FORMULA TYPE: Compensation calculation
DESCRIPTION: Calculate gross annual salary.
DEFAULT for CMP_ASSIGNMENT_SALARY_AMOUNT is 0
DEFAULT for CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR is 0
l_output = 0
l_sal = CMP_ASSIGNMENT_SALARY_AMOUNT
l_ann_fctr = CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR
l_output = l_sal * l_ann_fctr
Return l_output
Sample Formula 2:
FORMULA NAME: BEN_COMP_CALC_BAR_UNIT
FORMULA TYPE: Compensation calculation
DESCRIPTION: Calculate gross annual compensation based on bargaining unit.
DEFAULT for CMP_ASSIGNMENT_SALARY_AMOUNT is 0
DEFAULT for CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR is 0 DEFAULT for PER_ASG_BARGAINING_UNIT_CODE is ‘xyz’
l_output = 0
l_sal = CMP_ASSIGNMENT_SALARY_AMOUNT
l_ann_fctr = CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR l_unit = PER_ASG_BARGAINING_UNIT_CODE
if (l_unit = ‘Technical Unit’ or l_unit = ‘Service Unit’) then l_output = (l_sal * l_ann_fctr ) * 1.1 else
l_output = (l_sal * l_ann_fctr ) * 1.05
Return l_output
Sample Formula 3:
FORMULA TYPE: Compensation Calculation
DEFAULT FOR PER_ASG_FTE_VALUE IS 0
DEFAULT FOR CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR IS 0
DEFAULT FOR CMP_ASSIGNMENT_SALARY_AMOUNT IS 0
l_cmp_amt = CMP_ASSIGNMENT_SALARY_AMOUNT
l_ann_sal= 0
l_ann_fctr = CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR
l_fte = PER_ASG_FTE_VALUE
IF (l_ann_fctr > 1) THEN
(
l_ann_sal=(l_cmp_amt * l_fte * l_ann_fctr)
)
ELSE
(
l_ann_sal=(l_cmp_amt * l_ann_fctr)
)
RETURN l_ann_sal
Sample Formula 4:
FORMULA TYPE: Compensation Calculation
Description: For executives pick the compensation from the benefits balance if already defined.
DEFAULT FOR CMP_ASSIGNMENT_SALARY_ANNUAL_AMOUNT IS 0
DEFAULT_DATA_VALUE FOR BEN_PBB_BNFTS_BAL_NAME_TN IS 'NA'
DEFAULT_DATA_VALUE FOR BEN_PBB_VAL_NN IS 0
DEFAULT FOR BEN_PIL_LF_EVT_OCRD_DT IS '1951/01/01 00:00:00' (date)
l_ann_sal = CMP_ASSIGNMENT_SALARY_ANNUAL_AMOUNT
l_lf_evt_ocrd_dt = BEN_PIL_LF_EVT_OCRD_DT
i=1
l_bal = 0
l_val = 0
while BEN_PBB_BNFTS_BAL_NAME_TN.exists(i)
loop
(
IF BEN_PBB_BNFTS_BAL_NAME_TN[i] = 'Executive Salary' THEN
(
l_bal = BEN_PBB_VAL_NN[i]
exit
)
i=i+1
) /* end while */
l_val = l_bal/12
IF l_val = 0 THEN
( l_val = l_ann_sal/12)
RETURN l_val