Oracle Fusion HCM Benefits Benefits Fast Formula Reference Guide
Oracle Fusion HCM Benefits Benefits Fast Formula Reference Guide
Oracle Fusion HCM Benefits Benefits Fast Formula Reference Guide
2. Person Change Causes Life Event ................................................................................................... 4
3. Participation and Rate Eligibility ..................................................................................................... 6
4. Rounding ......................................................................................................................................... 8
5. Age Calculation ............................................................................................................................. 10
6. Person Selection............................................................................................................................ 12
7. Life Event Reason Timeliness ........................................................................................................ 14
8. Coverage Amount Calculation ...................................................................................................... 16
9. Rate Value Calculation .................................................................................................................. 18
10. Dependent Eligibility ................................................................................................................. 21
11. Age Determination Date ........................................................................................................... 23
12. Enrollment Opportunity ............................................................................................................ 25
13. Beneficiary Certification Required ............................................................................................ 27
14. Compensation Calculation ........................................................................................................ 29
15. Post Election Edit ...................................................................................................................... 31
16. Enrollment Period Start Date .................................................................................................... 34
17. Default Enrollment .................................................................................................................... 36
18. Evaluate Life Event .................................................................................................................... 38
19. Waiting Period Value and UOM ................................................................................................ 41
20. Coverage Amount Limit ............................................................................................................ 43
21. Rate Periodization ..................................................................................................................... 45
22. Appendix 1: Contexts ................................................................................................................ 47
23. Appendix 2: Input Values .......................................................................................................... 62
24. Appendix 3: Formula Function and Array db items .................................................................. 71
1. Introduction
Oracle Fast Formula is an easy way to customize the existing functionality in Oracle Fusion Benefits.
Formulas are pieces of code that 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. The Fast Formula language hides the complexity of
accessing the tables and column.
A formula can return more than one value to a calling package. In Benefits, different packages that
call the formula expect outputs to be returned differently. Based on the formula type, the number
and data types of values to be returned are predefined. Some packages expect the predefined
names for output variables; the location of a variable in the return statement does not matter. Some
packages expect the return variables to be returned by location; in this case the name of output
variable does not matter. If predefined names are expected to be used and the formula does not use
the expected names, the process would error out at run time.
This document provides samples for some of the most frequently used benefits formula types.
2. Person Change Causes Life Event
This formula type can be used to determine whether to trigger a person life event or not.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• LER_ID
• OPT_ID
• ORGANIZATION_ID
• PGM_ID
• PL_ID
• PL_TYP_ID
• PERSON_ID ( available Post RUP3 only)
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from the following tables:
O BEN_CVG_AMT_CALC_MTHD_F
O BEN_LER_F
O BEN_OIPL_F
O BEN_OPT_F
O BEN_PGM_F
O BEN_PLIP_F
O BEN_PL_F
O BEN_PL_TYP_F
O BEN_PTIP_F
o BEN_YR_PERD
Input Variables
Input variables are available to formulas of this type. Refer to Appendix 2 for list of input values.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
L_RETURN Char N Returns Y or N
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/*******************************************************************
FORMULA NAME: BEN_TRIGGER_ASG_EVENT
FORMULA TYPE: Person Changes Causes Life Event
DESCRIPTION: When a person’s assignment type changes from one specific value to another, the
event should get triggered.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/
Inputs are BEN_ASG_IN_ASSIGNMENT_TYPE (text), BEN_ASG_IO_ASSIGNMENT_TYPE (text)
return l_return
/*================ FORMULA SECTION END =======================*/
Sample Formula 2:
/*******************************************************************
FORMULA NAME: BEN_ADDRESS_CHG_EVENT
FORMULA TYPE: Person Changes Causes Life Event
DESCRIPTION: Life event should trigger only for persons based in US or CA. Note: Needs
PERSON_ID context to work.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
Default for PER_PER_ADD_COUNTRY is ‘AA’
l_country = PER_PER_ADD_COUNTRY
l_return = ‘N’
return l_return
3. Participation and Rate Eligibility
This formula type can be used to determine whether a person is eligible for an associated
compensation object. You select the formula as criteria while defining Eligibility Profiles.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• LER_ID
• OPT_ID
• ORGANIZATION_ID
• PGM_ID
• PL_ID
• PL_TYP_ID
• PERSON_ID ( available Post RUP3 only)
Database Items
Use only the following database items that are available to formulas of this type:
• All columns except attribute columns from tables:
O BEN_CVG_AMT_CALC_MTHD_F
O BEN_LER_F
O BEN_OIPL_F
O BEN_OPT_F
O BEN_PGM_F
O BEN_PLIP_F
O BEN_PL_F
O BEN_PL_TYP_F
O BEN_PTIP_F
o BEN_YR_PERD
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
ELIGIBLE Char N Returns Y or N
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/*******************************************************************
FORMULA NAME: BEN_PRTT_FTE_ELIG
FORMULA TYPE: Participation and Rate Eligibility
DESCRIPTION: This sample formula determines if a person is eligible for a compensation object
based on the FTE on the assignment.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
Default for PER_ASG_FTE is 0
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
IF l_fte = 1 THEN
(ELIGIBLE = ‘Y’)
return ELIGIBLE
/*================ FORMULA SECTION END =======================*/
Sample Formula 2:
/*******************************************************************
FORMULA NAME: BEN_PRTT_ASG_ELIG
FORMULA TYPE: Participation and Rate Eligibility
DESCRIPTION: This sample formula determines if a person is eligible for a compensation object
based his country of residence. Note: Needs PERSON_ID context to work.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
*********************************************************************************/
Default for PER_PER_ADD_COUNTRY is 'X'
l_cntry = PER_PER_ADD_COUNTRY
ELIGIBLE = 'N'
return ELIGIBLE
4. Rounding
This formula type can be used to round coverage or rate values.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
Database Items
Use only the following database items that are available to formulas of this type:
Input Variables
Input variables are not available to formulas of this type.
Input Data Required Description
Type
VALUE Y Value to be rounded
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
L_OUTPUT Char N Returns rounded value
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/******************************************************************************
FORMULA NAME: BEN_ROUNDING
FORMULA TYPE: Rounding
DESCRIPTION: Round up value to 2 decimal places. Ex - (123.17792,2) WOULD result in 123.18
*********************************************************************************************************
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
INPUTS are VALUE
DEFAULT FOR VALUE IS 0
l_input_val = VALUE
l_output = ROUNDUP(l_input_val,2)
return l_output
Sample Formula 2:
/******************************************************************************
FORMULA NAME: BEN_ROUNDING_UP
FORMULA TYPE: Rounding
DESCRIPTION: Round value
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
INPUTS are VALUE
DEFAULT FOR VALUE IS 0
l_input_val = VALUE
l_output = ROUND(l_input_val,2)
return l_output
5. Age Calculation
This formula type can be used to determine age 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
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
• PERSON_ID ( post RUP3)
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_pl_typ_f, ben_opt_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID
Input Variables
Input Data Required Description
Type
PERSON_ID NUMBER Person id is passed 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 Required Description
Type
L_OUTPUT Date Y Returns date
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/*************************************************************************************************
FORMULA NAME: BEN_AGE_CALC
FORMULA TYPE: Age Calculation
DESCRIPTION: The formula returns the age of the person as of END OF YEAR.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
DEFAULT for PER_PER_DATE_OF_BIRTH is '2013/01/01 12:00:00' (date)
l_output = 0
l_date = '2011/01/01 12:00:00'
l_start_date = PER_PER_DATE_OF_BIRTH
l_effective_date = to_date('2013/01/01 12:00:00')
return l_date
6. Person Selection
This formula type can be used in most benefits batch processes to determine who should be
processed by the batch process.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• 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
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID.
Input Variables
Input variables are not available to formulas of this type.
Input Data Required Description
Type
BEN_IV_PERSON_ID Char N Person id is passed 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 Required Description
Type
L_OUTPUT Char Y Returns Y or N
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/*************************************************************************************************
FORMULA NAME: BEN_PER_SEL_RULE
FORMULA TYPE: Person Selection
DESCRIPTION: The formula selects employees based on marital status, job,
and work from home status.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_PER_MARITAL_STATUS IS 'S'
DEFAULT for PER_ASG_JOB_NAME IS 'Temp'
DEFAULT for PER_ASG_WORK_AT_HOME IS 'N'
l_mar_status = PER_PER_MARITAL_STATUS
l_job_name = PER_ASG_JOB_NAME
l_wrk_home = PER_ASG_WORK_AT_HOME
if ( l_mar_status = 'M'
and ( l_job_name = 'Manager' or l_job_name = 'Consultant' )
and l_wrk_home = 'Y' )
then
( l_output = 'Y' )
return l_output
/*================ FORMULA SECTION END =======================*/
Sample Formula 2:
/*************************************************************************************************
FORMULA NAME: BEN_PER_SEL_RULE2
FORMULA TYPE: Person Selection
DESCRIPTION: The formula selects employees based on person numbers.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_ASG_PERSON_NUMBER IS '-1'
l_per_number = PER_ASG_PERSON_NUMBER
return l_output
/*================ FORMULA SECTION END =======================*/
7. Life Event Reason Timeliness
This formula type can be used to determine whether a potential life event should be processed or not.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• 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
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID.
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
L_LIFEEVENT_VOIDED Char Y Returns Y or N
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/*************************************************************************************************
FORMULA NAME: BEN_LF_EVT_TMLNS
FORMULA TYPE: Life Event Timeliness
DESCRIPTION: The formula voids specific events where notified date is more than 30 days after
event occurred date.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
DEFAULT for BEN_LER_NAME is 'xyz '
DEFAULT for BEN_PIL_LF_EVT_OCRD_DT is '01-JAN-1951' (date)
DEFAULT for BEN_PIL_NTFN_DT is '01-JAN-1951' (date)
l_event_name = BEN_LER_NAME
L_LIFEEVENT_VOIDED = ‘N’
Sample Formula 2:
/*************************************************************************************************
FORMULA NAME: BEN_LF_EVT_TMLNS2
FORMULA TYPE: Life Event Timeliness
DESCRIPTION: The formula voids all events where notified date is more than 90 days after event
occurred date. This is to avoid back out of future dated processed events.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
DEFAULT for BEN_PPL_LF_EVT_OCRD_DT is '1951/01/01 00:00:00'(date)
DEFAULT for BEN_PPL_NTFN_DT is '1951/01/01 00:00:00'(date)
L_LIFEEVENT_VOIDED = 'N'
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• 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 not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
L_CVG Number Y Coverage value
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/*****************************************************************************************
FORMULA NAME: BEN_CVG_CALC
FORMULA TYPE: Coverage Amount Calculation
DESCRIPTION: Coverage amount is determined based on persons DOB.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
*****************************************************************************************/
DEFAULT for PER_PER_DATE_OF_BIRTH is '01-Jan-1951' (date)
l_start_date = PER_PER_DATE_OF_BIRTH
l_cvg = 0
return l_cvg
Sample Formula 2:
/*************************************************************************************************
FORMULA NAME: BEN_CVG_CALC2
FORMULA TYPE: Coverage Amount Calculation
DESCRIPTION: Formula derives coverage as factor of person’s age.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
Default for PER_PER_DATE_OF_BIRTH is '01-JAN-1901' (date)
l_dob = PER_PER_DATE_OF_BIRTH
l_effective_date = GET_CONTEXT(EFFECTIVE_DATE,to_date('01-JAN-2012'))
return l_cvg
9. Rate Value Calculation
This formula type can be used to calculate the rate for a benefits object.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• 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 not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
L_RATE Number Y Return rate value
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/*************************************************************************************************
FORMULA NAME: BEN_RT_CALC
FORMULA TYPE: Rate Value Calculation
DESCRIPTION: Rate amount is determined based on number of sons & daughters, and spouse.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
default for l_sons is 0
default for l_spouse is 0
default for l_daughters is 0
l_rate = 0
l_sons = ben_fn_get_char_value(
' PER_CONTACT_RELSHIPS_F'
, 'SON_COUNT'
,NULL
,NULL
, 'LEGISLATION_CODE'
,'US'
)
l_daughters = ben_fn_get_char_value(
' PER_CONTACT_RELSHIPS_F'
, 'DAUGHTER_COUNT'
,NULL
,NULL
, 'LEGISLATION_CODE'
,'US'
)
l_spouse = ben_fn_get_char_value(
' PER_CONTACT_RELSHIPS_F'
, 'SPOUSE_COUNT'
,NULL
,NULL
, 'LEGISLATION_CODE'
,'US'
)
return l_rate
Sample Formula 2:
/*************************************************************************************************
FORMULA NAME: BEN_RT_CALC2
FORMULA TYPE: Rate Value Calculation
DESCRIPTION: Formula derives rate based on plan design.
Change History:
Name Date Comments
-------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
Default for BEN_PLN_NAME is 'ABC'
Default for BEN_OPT_NAME is 'ABC'
l_pl_name = BEN_PLN_NAME
l_opt_name = BEN_OPT_NAME
l_rate = 0
return l_rate
10. Dependent Eligibility
This formula type can be used to determine whether a contact is eligible to be covered as a
dependent in a compensation object.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• 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 not available to formulas of this type.
Input Data Required Description
Type
CON_PERSON_ID Number Contacts person_id
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
L_output Char Y Y or N
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/*************************************************************************************************
FORMULA NAME: BEN_DPNT_ELIG
FORMULA TYPE: Dependent Eligibility
DESCRIPTION: One son or daughter are eligible. This formula relies upon benefits seeded formula
function - ben_fn_get_char_value. This feature is available only after RUP3.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
default for l_sons is 0
default for l_daughters is 0
l_output = 'N'
l_sons_t = ben_fn_get_char_value(
' PER_CONTACT_RELSHIPS_F'
,'SON_COUNT'
,' '
,' '
,'LEGISLATION_CODE'
,'US'
)
l_sons = to_num(l_sons_t)
l_daughters_t = ben_fn_get_char_value(
'PER_CONTACT_RELSHIPS_F'
,'DAUGHTER_COUNT'
,' '
,' '
,'LEGISLATION_CODE'
,'US'
)
l_daughters = to_num(l_daughters_t)
return l_output
Sample Formula 2:
/*************************************************************************************************
FORMULA NAME: BEN_DPNT_ELIG2
FORMULA TYPE: Dependent Eligibility
DESCRIPTION: Dependents of persons above 60 yrs are ineligible.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
DEFAULT for PER_PER_DATE_OF_BIRTH is '01-JAN-1951' (date)
l_output = 'N'
l_dob = PER_PER_DATE_OF_BIRTH
l_eff_date = GET_CONTEXT(EFFECTIVE_DATE,to_date('01-JAN-2012'))
if ( add_months (l_dob,720) > l_eff_date ) then
(l_output = 'N')
else
(l_output = 'Y' )
return l_output
11. Age Determination Date
This formula type can be used to determine the date from which age will be calculated for a person.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• 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 not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
l_output Char 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_AGE_DET_DT
FORMULA TYPE: Age Determination Date
DESCRIPTION: The Age determination date is the start date of next month.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
l_effective_date = GET_CONTEXT(EFFECTIVE_DATE, TO_DATE(’01-JAN-2012’))
l_last_day = last_day(l_effective_date)
l_output = add_days(l_last_day,1)
return l_output
Sample Formula 2:
/*************************************************************************************************
FORMULA NAME: BEN_AGE_DET_DT
FORMULA TYPE: Age Determination Date
DESCRIPTION: The Age determination date is based on person’s job.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
DEFAULT for PER_ASG_JOB_NAME is 'XYZ'
l_job = PER_ASG_JOB_NAME
l_effective_date = GET_CONTEXT(EFFECTIVE_DATE, TO_DATE('01-JAN-2012'))
l_output = last_day(add_months(l_effective_date,-1))
return l_output
12. Enrollment Opportunity
This formula type can be used to determine whether a benefits object should be an electable choice
for the person.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• 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 not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
L_ENRT_OPP Char Y Y – Yes
N – No
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/******************************************************************************
FORMULA NAME: BEN_ENRT_OPTY
FORMULA TYPE: Enrollment Opportunity
DESCRIPTION: Formula to determine whether a compensation object should be an electable choice
for the person
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
DEFAULT for BEN_LER_NAME is 'ABC'
DEFAULT for BEN_PLN_NAME is 'XYZ'
DEFAULT for BEN_OPT_NAME is 'XYZ'
l_enrt_opp = 'A'
l_ler_name = BEN_LER_NAME
l_pl_name = BEN_PLN_NAME
l_opt_name = BEN_OPT_NAME
Return l_enrt_opp
13. Beneficiary Certification Required
This formula type can be used to determine the conditions under which a person must provide
certification for his or her designated beneficiaries.
.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• 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 not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
L_OUTPUT Char Y Y or N
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/******************************************************************************
FORMULA NAME: BEN_BNFCR_CERT_REQD
FORMULA TYPE: Beneficiary Certification Required
DESCRIPTION: A Single person need to provide certificates for beneficiary.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
DEFAULT for PER_PER_MARITAL_STATUS is ‘X’
l_output = ‘N’
l_mar_status = PER_PER_MARITAL_STATUS
if (l_mar_status = ‘S’)
then
(l_output = ‘Y’)
else
(l_output = ‘N’)
Return l_output
Sample Formula 2:
/******************************************************************************
FORMULA NAME: BEN_BNFCR_CERT_REQD
FORMULA TYPE: Beneficiary Certification Required
DESCRIPTION: Person needs to provide certificates for plans which allow minors/trustees and
organizations as beneficiaries.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
DEFAULT for BEN_PLN_BNF_DSGE_MNR_TTEE_RQD_FLAG is 'X'
DEFAULT for BEN_PLN_BNF_MAY_DSGT_ORG_FLAG is 'X'
l_output = 'N'
l_minor_tte = BEN_PLN_BNF_DSGE_MNR_TTEE_RQD_FLAG
l_org_bnf = BEN_PLN_BNF_MAY_DSGT_ORG_FLAG
Return l_output
14. 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 (available post RUP3)
• 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 not available to formulas of this type.
Input Data Required Description
Type
PERSON_ID Number Y 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 Required Description
Type
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.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
DEFAULT for CMP_ASSIGNMENT_SALARY_AMOUNT is 0
l_output = 0
l_sal = CMP_ASSIGNMENT_SALARY_AMOUNT
l_ann_fctr = CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR
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.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
DEFAULT for CMP_ASSIGNMENT_SALARY_AMOUNT is 0
l_output = 0
l_sal = CMP_ASSIGNMENT_SALARY_AMOUNT
l_ann_fctr = CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR
l_unit = PER_ASG_BARGAINING_UNIT_CODE
Return l_output
15. Post Election Edit
This formula type can be used to enforce rules while making enrollments. Example: Enroll in basic life
plan when you enrol in spousal or child life plans.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_ID
• LER_ID
(opt_id is not available if the edit rule is attached at plan or plan type level and no options exists for
corresponding compensation object)
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 not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
SUCCESSFUL Char Y Y or N
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/******************************************************************************
FORMULA NAME: BEN_POST_ELEC_EDIT
FORMULA TYPE: Post Election
DESCRIPTION: When a person makes an election to Spousal supplemental, validate the person is
also enrolled in plan Basic Life. This formula relies upon benefits seeded formula function -
ben_fn_get_char_value. This feature is available only after RUP3.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
default for l_enrld is 'Y'
default for l_dpnt_enrld1 is 'Y'
default for l_dpnt_enrld2 is 'Y'
SUCCESSFUL = 'Y'
ERROR_MESSAGE=' '
l_enrld = ben_fn_get_char_value(
'BEN_PRTT_ENRT_RSLT'
,'ENROLLED'
,'Spousal Supplemental'
,'NA'
)
l_dpnt_enrld1 = ben_fn_get_char_value(
'BEN_PRTT_ENRT_RSLT'
,'ENROLLED'
,'Basic_Life'
,'Lifex1'
)
l_dpnt_enrld2 = ben_fn_get_char_value(
'BEN_PRTT_ENRT_RSLT'
,'ENROLLED'
,'Basic_Life'
,'Lifex2'
)
return SUCCESSFUL,ERROR_MESSAGE
Sample Formula 2:
/**********************************************************************
FORMULA NAME: POSTELECTIONEDIT_GREEN_COMPANY
FORMULA TYPE: Postelection Edit using db array items
DESCRIPTION : When a person makes an election to plan name PPO (Out of Area), validate the
person is also enrolled in plan Aetna PPO . If yes, return ‘Y’ to the post enrollment save edit. If not,
return ‘N’ (error condition).
***********************************************************************
Change History:
Name Date Description
-----------------------------------------------------------------------
gkatada 01-Mar-2012 Initial Version
***********************************************************************/
DEFAULT_DATA_VALUE for BEN_PEN_PL_NAME_TN is 'My-Default'
default for l_enrolled is 'N'
default for l_dpnt_enrolled is 'N'
default for i is 1
default for SUCCESSFUL is 'Y'
default for ERROR_MESSAGE is ' '
/*---------------------------------*/
SUCCESSFUL='Y'
ERROR_MESSAGE=' '
i=1
l_enrolled='N'
l_dpnt_enrolled='N'
while BEN_PEN_PL_NAME_TN.exists(i) loop
(
if BEN_PEN_PL_NAME_TN[i]='PPO (Out of Area)' then
(l_enrolled='Y')
if BEN_PEN_PL_NAME_TN[i]='Aetna PPO' then
(l_dpnt_enrolled='Y')
i=i+1
)
if l_enrolled='Y' and l_dpnt_enrolled='N' then
(SUCCESSFUL='N'
ERROR_MESSAGE='Election to PPO (Out of Area) requires enrt in Aetna PPO.'
)
return SUCCESSFUL,ERROR_MESSAGE
16. Enrollment Period Start Date
This formula type can be used to determine the date from which the enrollment period starts.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• 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 not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
L_start_dt Date 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_ENRT_PERD_START
FORMULA TYPE: Enrollment Period start date
DESCRIPTION: Enrollment period starts MID of next month of marital status change date.
Change History:
Name Date Comments
-------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************/
default for PER_ASG_MARITAL_STATUS_DATE is '01-JAN-1951'(date)
L_OCRD_DT = PER_ASG_MARITAL_STATUS_DATE
L_EFF_DATE = GET_CONTEXT(EFFECTIVE_DATE, to_date('01-JAN-2012'))
l_start_dt = L_EFF_DATE
return l_start_dt
L_OCRD_DT = PER_PER_MARITAL_STATUS_DATE
L_EFF_DATE = GET_CONTEXT(EFFECTIVE_DATE, TO_DATE('1951/01/01
00:00:00','YYYY/MM/DD HH:MI:SS'))
l_start_dt = L_EFF_DATE
return l_start_dt
17. Default Enrollment
This formula type can be used to determine whether an option in plan should be assigned to a person
as part of the default enrollment process.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_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 not available to formulas of this type.
Input Data Required Description
Type
NUM_ELIG_DPNT Number Number of eligible dependents
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
AUTO_DFLT_VAL Char Y Y or N
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/******************************************************************************
FORMULA NAME: BEN_DFLT_ENRT
FORMULA TYPE: Default Enrollment
DESCRIPTION: Formula to determine whether a compensation object should be an defaulted for the
person.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
INPUTS are NUM_ELIG_DPNT
l_pln_name = BEN_PLN_NAME
l_opt_name = BEN_OPT_NAME
l_num_elig_dpnt = NUM_ELIG_DPNT
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• ORGANIZATION_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
• 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 Required Description
Type
BEN_PPL_IV_LF_EVT_OCRD_DT Date Life event Occurred Date
passed in format
YYYY/MM/DD HH24:MI:SS
BEN_PPL_IV_PTNL_LER_FOR_PER_STAT_CD Char Potential Life event Status
Code
BEN_PPL_IV_NTFN_DT Date Notified Date in format
YYYY/MM/DD HH24:MI:SS
BEN_PPL_IV_DTCTD_DT Date Detected Date in format
YYYY/MM/DD HH24:MI:SS
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
LIFE_EVENT_OCCURRED_DATE Date Replaces the original life event occurred
date. Format of return value:
YYYY/MM/DD HH24:MI:SS
LIFE_EVENT_HAPPENED Char Y Y or N. If any other value is assigned to
this variable, the process raises an error
-
BEN_92143_LIFE_EVENT_HAPPENED
LIFE_EVENT_DETECTED_DATE Date
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 1:
/******************************************************************************
FORMULA NAME: BEN_EVAL_EVENT
FORMULA TYPE: Evaluate Life Event
DESCRIPTION: If a life event is notified after 30 days ignore this potential life event.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
Inputs are BEN_PPL_IV_LF_EVT_OCRD_DT (TEXT),BEN_PPL_IV_PTNL_LER_FOR_STAT_CD
(TEXT),BEN_PPL_IV_NTFN_DT (TEXT)
life_event_happened = 'Y'
return life_event_happened
Sample Formula 2:
/******************************************************************************
FORMULA NAME: BEN_EVAL_EVENT2
FORMULA TYPE: Evaluate Life Event
DESCRIPTION: If a life event is notified after 90 days for a set of people, ignore them.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
Inputs are BEN_PPL_IV_LF_EVT_OCRD_DT (TEXT),
BEN_PPL_IV_PTNL_LER_FOR_PER_STAT_CD (TEXT),
BEN_PPL_IV_NTFN_DT (TEXT)
return life_event_happened
19. Waiting Period Value and UOM
Participants need to complete a waiting period before they can gain eligibility to a benefits object.
Sometimes employees have to wait for six months to get eligibility to a benefits object. Use the
waiting period value formula type if the waiting period varies from employee to employee based on
their organization or for rehired employees.
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID (available post RUP3)
• LER_ID
• ORGANIZATION_ID
• JURISDICTION_CODE
• PGM_ID
• PL_ID
• PL_TYP_ID
• OPT_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_pl_f,
ben_pgm_f,ben_pl_typ_f
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID.
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
WAIT_PERD_VAL Number Y Waiting period value
Errors
If any other output value is returned then the participation process errors with
BEN_91329_FORMULA_RETURN.
Sample Formula 2:
/******************************************************************************
FORMULA NAME: BEN_WAIT_VAL_UOM
FORMULA TYPE: Waiting period value and UOM
DESCRIPTION: Determine waiting periods based on org and country of birth.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Jan-2012 Initial Version
********************************************************************************************************/
default for PER_ASG_COUNTRY_OF_BIRTH is 'XX'
default for PER_ASG_JOB_NAME is 'ABC'
l_cntry = PER_ASG_COUNTRY_OF_BIRTH
l_job = PER_ASG_JOB_NAME
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
Database Items
Use only the following database items that are available to formulas of this type:
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID.
Input Variables
Input variables are not available to formulas of this type.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of
this type.
Return Value Data Required Description
Type
L_MN_CVG_RQD_AMT, Number Y Minimum coverage amount
L_MX_CVG_ALWD_AMT, Maximum coverage amount
L_MX_CVG_WCFN_AMT, Maximum with certification
L_MX_CVG_INCR_ALWD_AMT, amount
L_MX_CVG_INCR_WCF_ALWD_AMT Maximum coverage
increment
Maximum coverage
increment with certification
Errors
If any other output value is returned then the Evaluate life event process errors with
BEN_91329_FORMULA_RETURN.
/******************************************************************************
FORMULA NAME: Coverage_Amount_Limit
FORMULA TYPE: Coverage Amount Limit
DESCRIPTION: Determine coverage amount limit values.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-May-2012 Initial Version
********************************************************************************************************/
DEFAULT FOR CMP_ASSIGNMENT_SALARY_AMOUNT IS 0
DEFAULT FOR CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR IS 0
L_MN_CVG_RQD_AMT = 0
L_MX_CVG_ALWD_AMT = 0
L_MX_CVG_WCFN_AMT = 300000
L_MX_CVG_INCR_ALWD_AMT = 10000
L_MX_CVG_INCR_WCF_ALWD_AMT = 10000
IF ( 3 * CMP_ASSIGNMENT_SALARY_AMOUNT *
CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR ) > 200000
THEN
( L_MX_CVG_ALWD_AMT = 200000 )
ELSE
( L_MX_CVG_ALWD_AMT = 3 * CMP_ASSIGNMENT_SALARY_AMOUNT *
CMP_ASSIGNMENT_SALARY_ANNUALIZATION_FACTOR )
Contexts
The following contexts are available to formulas of this type:
• BUSINESS_GROUP_ID ( ENTERPRISE_ID)
• EFFECTIVE_DATE
• HR_ASSIGNMENT_ID
• PERSON_ID
Database Items
Use only the following database items that are available to formulas of this type:
• Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID.
Input Variables
Name Data Type Description
BEN_IV_CONVERT_FROM Char Possible values are DEFINED, CMCD and ANNUAL.
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
DFND_VAL Number Y Defined value
Errors
If any other output value is returned then the Evaluate life event process errors with
BEN_91329_FORMULA_RETURN.
/******************************************************************************
FORMULA NAME: Rate periodization rule
FORMULA TYPE: Rate periodization
DESCRIPTION: Determine rate amount values based on remaining no. of pay periods and benefit
amount.
Change History:
Name Date Comments
--------------------------------------------------------------------------------------------------------------------------
Nagaraj Hunur 22-Oct-2012 Initial Version
********************************************************************************************************/
DEFAULT FOR l_orgnl_enrt_dt is '2012/03/01 00:00:00'(date)
DEFAULT FOR l_return_value is -9
DEFAULT FOR pay_periods_per_period is 999
l_bnft_amt_number = 0
l_orgnl_enrt_dt_char = 'N'
l_orgnl_enrt_dt_char =
ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ORGNL_ENRT_DT','Health Care FSA', 'Annual
Goal Amount')
l_pay_periods = months_between(to_date('12/31/2012','MM/DD/YYYY'),l_orgnl_enrt_dt)
l_remain_pay_periods = (l_pay_periods * 2)
DFND_VAL = CMCD_VAL * 2
ANN_VAL = CMCD_VAL * 24
RETURN DFND_VAL,ANN_VAL,CMCD_VAL
22. Appendix 1: Contexts
The following table describes the different formula types available in Oracle Fusion Benefits, where
they can be located in UI, and the various contexts available for each formula type. Please note that
many of the formula types that are available at the plan level would also be available at other levels
like program, plan in program etc.
Compensation Object Selection Evaluation and Reporting work area > BUSINESS_GROUP_ID (
Processes tab > Evaluate Life Event ENTERPRISE_ID)
Participation > Compensation Object EFFECTIVE_DATE
Selection parameter LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Dependent Coverage End Date Plan Configuration> Manage Benefit Plan BUSINESS_GROUP_ID (
Details > Designation Requirements Step ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
BUSINESS_GROUP_ID (
ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Element Type and Input Value Plan Configuration> Manage Rates ACTY_BASE_RT_ID
Determination
BUSINESS_GROUP_ID (
ENTERPRISE_ID)
EFFECTIVE_DATE
ELIG_PER_ELCTBL_CHC_ID
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Enrollment Coverage Start Date Plan Configuration> Manage Benefit Plan BUSINESS_GROUP_ID (
Details > Enrollment Step ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Enrollment Period End Date Plan Configuration> Manage Benefit Plan BUSINESS_GROUP_ID (
Details > Enrollment Step ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Enrollment Period Start Date Plan Configuration> Manage Benefit Plan BUSINESS_GROUP_ID (
Details > Enrollment Step ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Life Event Reason Timeliness Plan Configuration> Manage Life events BUSINESS_GROUP_ID (
ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
ORGANIZATION_ID
PERSON_ID
Maximum Waiting Period Date Plan Configuration> Manage Benefit Plan BUSINESS_GROUP_ID (
to Use Details > Eligibility Step ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Participation Eligibility End Date Plan Configuration> Manage Benefit Plan BUSINESS_GROUP_ID (
Details > Eligibility Step ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Person Change Causes Life Plan Configuration> Manage Life Events BUSINESS_GROUP_ID (
Event ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
ORGANIZATION_ID
PERSON_ID
Related Person Change Causes Plan Configuration> Manage Life Events BUSINESS_GROUP_ID (
Life Event ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
ORGANIZATION_ID
PERSON_ID
Waiting Period Value and UOM Plan Configuration> Manage Benefit Plan BUSINESS_GROUP_ID (
Details > Additional Details Step ENTERPRISE_ID)
EFFECTIVE_DATE
HR_ASSIGNMENT_ID
LER_ID
OPT_ID
ORGANIZATION_ID
PERSON_ID
PGM_ID
PL_ID
PL_TYP_ID
Based on the table on which Person changes are defined, different set of input values are available for use in the
formula. Input values NEW_VAL, OLD_VAL, COLUMN, PK_ID are available irrespective of table on which data
changes are defined. Below given example explains what values these input variables contain.
Ex. Assume data changes are defined on table PER_PEOPLE_LEGISLATIVE_F and Column
MARITAL_STATUS
A person's marital status is changed from S (single) to M (Married) COLUMN input value is set with column name
i.e., MARITAL_SATUS. NEW_VAL input value is set with new value for column marital_status.
For the current person record it's value is M. OLD_VAL input value is set with old value for column marital_status
for the current person record. Its value will be set to S.
BEN_PER_BNFTS_BAL_F BEN_PBB_IN_PERSON_ID,
BEN_PBB_IO_PERSON_ID,
BEN_PBB_IN_EFFECTIVE_START_DATE,
BEN_PBB_IO_EFFECTIVE_START_DATE,
BEN_PBB_IN_EFFECTIVE_END_DATE,
BEN_PBB_IO_EFFECTIVE_END_DATE,
BEN_PBB_IN_VAL,
BEN_PBB_IO_VAL,
BEN_PBB_IN_BNFTS_BAL_ID,
BEN_PBB_IO_BNFTS_BAL_ID,
BEN_IV_LER_ID,
PER_PERSON_ADDR_USAGES_F BEN_ADD_IN_ADDRESS_ID,
BEN_ADD_IO_ADDRESS_ID,
BEN_ADD_IN_ADDRESS_TYPE,
BEN_ADD_IO_ADDRESS_TYPE,
BEN_ADD_IN_BUSINESS_GROUP_ID,
BEN_ADD_IO_BUSINESS_GROUP_ID,
BEN_ADD_IN_CREATED_BY,
BEN_ADD_IO_CREATED_BY,
BEN_ADD_IN_EFFECTIVE_END_DATE,
BEN_ADD_IO_EFFECTIVE_END_DATE,
BEN_ADD_IN_EFFECTIVE_START_DATE,
BEN_ADD_IO_EFFECTIVE_START_DATE,
BEN_ADD_IN_LAST_UPDATED_BY,
BEN_ADD_IO_LAST_UPDATED_BY,
BEN_ADD_IN_LAST_UPDATE_LOGIN,
BEN_ADD_IO_LAST_UPDATE_LOGIN,
BEN_ADD_IN_OBJECT_VERSION_NUMBER,
BEN_ADD_IO_OBJECT_VERSION_NUMBER,
BEN_ADD_IN_PERSON_ADDR_USAGE_ID,
BEN_ADD_IO_PERSON_ADDR_USAGE_ID,
BEN_ADD_IN_PERSON_ID,
BEN_ADD_IO_PERSON_ID,
BEN_PER_LE_HABITS_COV_F BEN_LEH_IN_PERSON_ID,
BEN_LEH_IO_PERSON_ID,
BEN_LEH_IN_EFFECTIVE_START_DATE,
BEN_LEH_IO_EFFECTIVE_START_DATE,
BEN_LEH_IN_EFFECTIVE_END_DATE,
BEN_LEH_IO_EFFECTIVE_END_DATE,
BEN_LEH_IN_LE_HABITS_COV_ID,
BEN_LEH_IO_LE_HABITS_COV_ID,
BEN_LEH_IN_LEGISLATIVE_DATA_GROUP_ID,
BEN_LEH_IO_LEGISLATIVE_DATA_GROUP_ID,
BEN_IV_LER_ID,
PER_CONTACT_RELATIONSHIPS BEN_CON_IN_BENEFICIARY_FLAG,
BEN_CON_IO_BENEFICIARY_FLAG,
BEN_CON_IN_CONTACT_PERSON_ID,
BEN_CON_IO_CONTACT_PERSON_ID,
BEN_CON_IN_CONTACT_TYPE,
BEN_CON_IO_CONTACT_TYPE,
BEN_CON_IN_DEPENDENT_FLAG,
BEN_CON_IO_DEPENDENT_FLAG,
BEN_CON_IN_EFFECTIVE_END_DATE,
BEN_CON_IO_EFFECTIVE_END_DATE,
BEN_CON_IN_EFFECTIVE_START_DATE,
BEN_CON_IO_EFFECTIVE_START_DATE,
BEN_CON_IN_EMERGENCY_CONTACT_FLAG,
BEN_CON_IO_EMERGENCY_CONTACT_FLAG,
BEN_CON_IN_END_LIFE_REASON_ID,
BEN_CON_IO_END_LIFE_REASON_ID,
BEN_CON_IN_PERSONAL_FLAG,
BEN_CON_IO_PERSONAL_FLAG,
BEN_CON_IN_PERSON_ID,
BEN_CON_IO_PERSON_ID,
BEN_CON_IN_PRIMARY_CONTACT_FLAG,
BEN_CON_IO_PRIMARY_CONTACT_FLAG,
BEN_CON_IN_RLTD_PER_RSDS_W_DSGNTR_FLAG,
BEN_CON_IO_RLTD_PER_RSDS_W_DSGNTR_FLAG,
BEN_CON_IN_START_LIFE_REASON_ID,
BEN_CON_IO_START_LIFE_REASON_ID,
BEN_CON_IN_THIRD_PARTY_PAY_FLAG,
BEN_CON_IO_THIRD_PARTY_PAY_FLAG,
BEN_BENEFIT_RELATIONS_F BEN_BRE_IN_PERSON_ID,
BEN_BRE_IO_PERSON_ID,
BEN_BRE_IN_EFFECTIVE_START_DATE,
BEN_BRE_IO_EFFECTIVE_START_DATE,
BEN_BRE_IN_EFFECTIVE_END_DATE,
BEN_BRE_IO_EFFECTIVE_END_DATE,
BEN_BRE_IN_BENEFIT_RELATION_ID,
BEN_BRE_IO_BENEFIT_RELATION_ID,
BEN_BRE_IN_LEGAL_ENTITY_ID,
BEN_BRE_IO_LEGAL_ENTITY_ID,
BEN_IV_LER_ID,
BEN_IN_UPDATED_SOURCE,
BEN_IO_UPDATED_SOURCE,
BEN_IN_ORIGINAL_SOURCE,
BEN_IO_ORIGINAL_SOURCE,
BEN_PER_BENEFIT_GROUP_F BEN_BBG_IN_PERSON_ID,
BEN_BBG_IO_PERSON_ID,
BEN_bbg_IN_EFFECTIVE_START_DATE,
BEN_bbg_IO_EFFECTIVE_START_DATE,
BEN_bbg_IN_EFFECTIVE_END_DATE,
BEN_bbg_IO_EFFECTIVE_END_DATE,
BEN_bbg_IN_LE_BENEFIT_GROUP_ID,
BEN_bbg_IO_BENEFIT_GROUP_ID,
BEN_bbg_IN_LEGISLATIVE_DATA_GROUP_ID,
BEN_bbg_IO_LEGISLATIVE_DATA_GROUP_ID,
BEN_IV_LER_ID,
PER_ASSIGN_WORK_MEASURES_F BEN_AWM_IN_PERSON_ID,
BEN_AWM_IO_PERSON_ID,
BEN_AWM_IN_ACTION_OCCURRENCE_ID,
BEN_AWM_IO_ACTION_OCCURRENCE_ID,
BEN_AWM_IN_ADDS_TO_BUDGET,
BEN_AWM_IO_ADDS_TO_BUDGET,
BEN_AWM_IN_ASSIGNMENT_ID,
BEN_AWM_IO_ASSIGNMENT_ID,
BEN_AWM_IN_ASSIGN_WORK_MEASURE_ID,
BEN_AWM_IO_ASSIGN_WORK_MEASURE_ID,
BEN_AWM_IN_BUSINESS_GROUP_ID,
BEN_AWM_IO_BUSINESS_GROUP_ID,
BEN_AWM_IN_EFFECTIVE_END_DATE,
BEN_AWM_IO_EFFECTIVE_END_DATE,
BEN_AWM_IN_EFFECTIVE_START_DATE,
BEN_AWM_IO_EFFECTIVE_START_DATE,
BEN_AWM_IN_UNIT,
BEN_AWM_IO_UNIT,
BEN_AWM_IN_VALUE,
BEN_AWM_IO_VALUE,
PER_ALL_ASSIGNMENTS_M BEN_ASG_IN_EFFECTIVE_START_DATE,
BEN_ASG_IO_EFFECTIVE_START_DATE,
BEN_ASG_IN_EFFECTIVE_END_DATE,
BEN_ASG_IO_EFFECTIVE_END_DATE,
BEN_ASG_IN_ORGANIZATION_ID,
BEN_ASG_IO_ORGANIZATION_ID,
BEN_ASG_IN_GRADE_ID,
BEN_ASG_IO_GRADE_ID,
BEN_ASG_IN_JOB_ID,
BEN_ASG_IO_JOB_ID,
BEN_ASG_IN_WORK_TERMS_ASSIGNMENT_ID,
BEN_ASG_IO_WORK_TERMS_ASSIGNMENT_ID,
BEN_ASG_IN_LOCATION_ID,
BEN_ASG_IO_LOCATION_ID,
BEN_ASG_IN_ASSIGNMENT_STATUS_TYPE_ID,
BEN_ASG_IO_ASSIGNMENT_STATUS_TYPE_ID,
BEN_ASG_IN_ASSIGNMENT_TYPE,
BEN_ASG_IO_ASSIGNMENT_TYPE,
BEN_ASG_IN_PRIMARY_FLAG,
BEN_ASG_IO_PRIMARY_FLAG,
BEN_ASG_IN_EMPLOYMENT_CATEGORY,
BEN_ASG_IO_EMPLOYMENT_CATEGORY,
BEN_ASG_IN_BARGAINING_UNIT_CODE,
BEN_ASG_IO_BARGAINING_UNIT_CODE,
BEN_ASG_IN_HOURLY_SALARIED_CODE,
BEN_ASG_IO_HOURLY_SALARIED_CODE,
BEN_ASG_IN_NORMAL_HOURS,
BEN_ASG_IO_NORMAL_HOURS,
BEN_IV_LER_ID,
PER_ADDRESSES_F BEN_ADD_IN_ADDRESS_ID,
BEN_ADD_IO_ADDRESS_ID,
BEN_ADD_IN_BUSINESS_GROUP_ID,
BEN_ADD_IO_BUSINESS_GROUP_ID,
BEN_ADD_IN_EFFECTIVE_END_DATE,
BEN_ADD_IO_EFFECTIVE_END_DATE,
BEN_ADD_IN_EFFECTIVE_START_DATE,
BEN_ADD_IO_EFFECTIVE_START_DATE,
PER_ABSENCE_ATTENDANCES BEN_ABA_IN_SICKNESS_START_DATE
BEN_ABA_IN_SICKNESS_END_DATE
BEN_ABA_IN_DATE_NOTIFICATION
BEN_ABA_IO_DATE_NOTIFICATION
BEN_ABA_IN_DATE_PROJECTED_END
BEN_ABA_IO_DATE_PROJECTED_END
BEN_ABA_IN_DATE_PROJECTED_START
BEN_ABA_IO_DATE_PROJECTED_START
BEN_ABA_IN_TIME_END
BEN_ABA_IO_TIME_END
BEN_ABA_IN_TIME_PROJECTED_END
BEN_ABA_IO_TIME_PROJECTED_END
BEN_ABA_IN_TIME_PROJECTED_START
BEN_ABA_IO_TIME_PROJECTED_START
BEN_LER_ID
BEN_ABA_IN_ABS_INFORMATION_CATEGORY
BEN_ABA_IN_ABS_INFORMATION1
BEN_ABA_IN_ABS_INFORMATION2
BEN_ABA_IN_ABS_INFORMATION3
BEN_ABA_IN_ABS_INFORMATION4
BEN_ABA_IN_ABS_INFORMATION5
BEN_ABA_IN_ABS_INFORMATION6
BEN_ABA_IN_ABS_INFORMATION7
BEN_ABA_IN_ABS_INFORMATION8
BEN_ABA_IN_ABS_INFORMATION9
BEN_ABA_IN_ABS_INFORMATION10
BEN_ABA_IN_ABS_INFORMATION11
BEN_ABA_IN_ABS_INFORMATION12
BEN_ABA_IN_ABS_INFORMATION13
BEN_ABA_IN_ABS_INFORMATION14
BEN_ABA_IN_ABS_INFORMATION15
BEN_ABA_IN_ABS_INFORMATION16
BEN_ABA_IN_ABS_INFORMATION17
BEN_ABA_IN_ABS_INFORMATION18
BEN_ABA_IN_ABS_INFORMATION19
BEN_ABA_IN_ABS_INFORMATION20
BEN_ABA_IN_ABS_INFORMATION21
BEN_ABA_IN_ABS_INFORMATION22
BEN_ABA_IN_ABS_INFORMATION23
BEN_ABA_IN_ABS_INFORMATION24
BEN_ABA_IN_ABS_INFORMATION25
BEN_ABA_IN_ABS_INFORMATION26
BEN_ABA_IN_ABS_INFORMATION27
BEN_ABA_IN_ABS_INFORMATION28
BEN_ABA_IN_ABS_INFORMATION29
BEN_ABA_IN_ABS_INFORMATION30
BEN_ABA_IN_ATTRIBUTE_CATEGORY
BEN_ABA_IN_ATTRIBUTE1
BEN_ABA_IN_ATTRIBUTE2
BEN_ABA_IN_ATTRIBUTE3
BEN_ABA_IN_ATTRIBUTE4
BEN_ABA_IN_ATTRIBUTE5
BEN_ABA_IN_ATTRIBUTE6
BEN_ABA_IN_ATTRIBUTE7
BEN_ABA_IN_ATTRIBUTE8
BEN_ABA_IN_ATTRIBUTE9
BEN_ABA_IN_ATTRIBUTE10
BEN_ABA_IN_ATTRIBUTE11
BEN_ABA_IN_ATTRIBUTE12
BEN_ABA_IN_ATTRIBUTE13
BEN_ABA_IN_ATTRIBUTE14
BEN_ABA_IN_ATTRIBUTE15
BEN_ABA_IN_ATTRIBUTE16
BEN_ABA_IN_ATTRIBUTE17
BEN_ABA_IN_ATTRIBUTE18
BEN_ABA_IN_ATTRIBUTE19
BEN_ABA_IN_ATTRIBUTE20
BEN_ABA_IO_ABS_INFORMATION_CATEGORY
BEN_ABA_IO_ABS_INFORMATION1
BEN_ABA_IO_ABS_INFORMATION2
BEN_ABA_IO_ABS_INFORMATION3
BEN_ABA_IO_ABS_INFORMATION4
BEN_ABA_IO_ABS_INFORMATION5
BEN_ABA_IO_ABS_INFORMATION6
BEN_ABA_IO_ABS_INFORMATION7
BEN_ABA_IO_ABS_INFORMATION8
BEN_ABA_IO_ABS_INFORMATION9
BEN_ABA_IO_ABS_INFORMATION10
BEN_ABA_IO_ABS_INFORMATION11
BEN_ABA_IO_ABS_INFORMATION12
BEN_ABA_IO_ABS_INFORMATION13
BEN_ABA_IO_ABS_INFORMATION14
BEN_ABA_IO_ABS_INFORMATION15
BEN_ABA_IO_ABS_INFORMATION16
BEN_ABA_IO_ABS_INFORMATION17
BEN_ABA_IO_ABS_INFORMATION18
BEN_ABA_IO_ABS_INFORMATION19
BEN_ABA_IO_ABS_INFORMATION20
BEN_ABA_IO_ABS_INFORMATION21
BEN_ABA_IO_ABS_INFORMATION22
BEN_ABA_IO_ABS_INFORMATION23
BEN_ABA_IO_ABS_INFORMATION24
BEN_ABA_IO_ABS_INFORMATION25
BEN_ABA_IO_ABS_INFORMATION26
BEN_ABA_IO_ABS_INFORMATION27
BEN_ABA_IO_ABS_INFORMATION28
BEN_ABA_IO_ABS_INFORMATION29
BEN_ABA_IO_ABS_INFORMATION30
BEN_ABA_IO_ATTRIBUTE_CATEGORY
BEN_ABA_IO_ATTRIBUTE1
BEN_ABA_IO_ATTRIBUTE2
BEN_ABA_IO_ATTRIBUTE3
BEN_ABA_IO_ATTRIBUTE4
BEN_ABA_IO_ATTRIBUTE5
BEN_ABA_IO_ATTRIBUTE6
BEN_ABA_IO_ATTRIBUTE7
BEN_ABA_IO_ATTRIBUTE8
BEN_ABA_IO_ATTRIBUTE9
BEN_ABA_IO_ATTRIBUTE10
BEN_ABA_IO_ATTRIBUTE11
BEN_ABA_IO_ATTRIBUTE12
BEN_ABA_IO_ATTRIBUTE13
BEN_ABA_IO_ATTRIBUTE14
BEN_ABA_IO_ATTRIBUTE15
BEN_ABA_IO_ATTRIBUTE16
BEN_ABA_IO_ATTRIBUTE17
BEN_ABA_IO_ATTRIBUTE18
BEN_ABA_IO_ATTRIBUTE19
BEN_ABA_IO_ATTRIBUTE20
24. Appendix 3: Formula Function and Array db items
Benefits formula functions available post RUP1
'ADMIN_CATEGORY_CD'
'BNFT_AMT' then
'BNFT_NNMNTRY_UOM'
'BNFT_TYP_CD'
'COMP_LVL_CD'
'ENROLLED'
'ENRT_CVG_STRT_DT'
'ENRT_CVG_THRU_DT'
'IMPTD_INCM_CALC_CD'
'PRTT_ENRT_RSLT_ID'
'RPLCS_SSPNDD_RSLT_ID'
'SS_CATEGORY_CD'
'SSPNDD_FLAG'
'SVNGS_PLN_FLAG'
'UOM'