7/22/2019 OAB Fast formula user guide
1/184
OAB FASTFORMULA
REFERENCE GUIDE
Prepared by
Authors: Prasad Bodla
Vikas Sethi
Nagaraj Hunur
Trevor Mathers
Ty Hayden
Creation Date: 21 - Feb - 2002
Last Updated: 22 - Aug - 2006
Status:
Version: 1.3
Copyright (C) 2005 Oracle CorporationAll Rights Reserved
7/22/2019 OAB Fast formula user guide
2/184
Change History of this Document
Date Section No. Author Remarks/Changes
25-NOV2003
Chapter 2 PrasadBodla
Added entries for 2 new formula types: Person Change Causes LifeEvent and Rate Value Calculation
17-MAR-05
PrasadBodla
Added entries for 3 new formula types for FP J: Range ofScheduled Hours, Manager Hierarchy, Rate Periodization
11-MAY-05
PrasadBodla
Added entries for 2 new formulat types for FP K: Eligibility AccessCalculation Rule and Election Value Range Rule
29-Nov-05
PrasadBodla
New list of product data base items added
10-Feb-06
NagarajHunur
Corrected the sample code for the Fast Formula: BEN_AGE_CALC
10-Feb -06
NagarajHunur
Updated the content for the Mandatory Determination Fast Formula
04May06
NagarajHunur
Updated the default to assign pending action fast formula.
22-Aug_2006
NagarajHunur
Added the Compensation Item rule formula type.
7/22/2019 OAB Fast formula user guide
3/184
Chapter 1 : Introduction
FastFormula is a way to customize the existing functionality in Oracle Standardand Advanced Benefits (OAB). Formulas in OAB are pieces of code which canreceive information from calling program (packages), access databaseinformation and return values to the calling program. The calling program canuse this information to modify the process functionality.
Examples: An employee becomes eligible for a Stock Option plan if his or herperformance rating is above 4.The normal rate for an Aetna Dental plan is $25 per month. If the person alsoenrolls in Aetna Medical, he or she receives a 10% discount.
There are 100+ seeded formula types in OAB.
The FastFormula language is simple and hides the complexity of accessing thetables and column.
Formula Usage in Benefits
Although there are 100+ formula types in OAB, there are certain types whichappear more frequently.
Person selection and Compensation object selection rules filter out persons orcompensation objects to be processed in batch processes.
Computation rules replace calculated values, these rules include value calculationrules, and partial month proration rules.
Eligibility rules.
Messaging rules Popup messages.
You select a formula you have written either on the list of values on the Submit
Requests window or else on the applicable plan design window.
Return statements for BEN formulas: A formula can return more than one valueto a calling package. In Benefits, different packages which call the formulaexpect outputs to be returned differently. Based on the formula type, the number
7/22/2019 OAB Fast formula user guide
4/184
and data types of values to be returned are predefined. Some packages expect thepredefined names for output variables; the location of a variable in the returnstatement does not matter. Some packages expect the return variables to bereturned 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 usethe expected names, the process will error out at run time.
See: Using Oracle FastFormula (A73295-04) for more information
Chapter 2 : OAB FastFormulas
This section provides information on each seeded formula type, database items, seeded contexts for aformula type, and available input values. A formula of a given formula type is expected to returnvalues in a certain format and data type and with a predefined name in certain cases.
A given formula type can be attached at different places in the product. For example, you can use thePerson Selection formula type in several concurrent programs. All the above information isprovided below for each formula type.
Formula Type: Eligibility Access Calculation Rule
1. Functional Usage: This rule will be used in setting up the user-defined criteria. It will beevaluated in the eligibility determination process.
2. Navigation Path: Total Compensation > Eligibility Profiles > Participant Eligibility > Userdefined criteria :
3. Contexts: Business_Group_Id, Assignment Id, Date_Earned (life event occurred date or effectivedate), Organization_Id, pgm_id, pl_id, opt_id, ler_id, pl_typ_id
4. Overloaded Contexts: No
5. Database items available: All columns except attribute columns from tables ben_ler_f,ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on personsassignment_id.
6. Input values available: No Input values are available.
7. Constraints using Database items: Database items other than the ones mentioned above cannotbe used.
8. Formula output or return values: Formula can return two values. First value is mandatory.Values are returned in character format, but the process will convert returned values based on datatypes.
Out Variable name Data Type Value RemarksCRIT_COL1_VALUE
(ANY NAME CAN BE
USED)
Varchar2 Mandatory out variable. Value passed back willbe converted based on date type specified in
7/22/2019 OAB Fast formula user guide
5/184
CRIT_COL1_DATATYPE.
IF RETURNED VALUE IS DATE THE DATA
SHOULD BE RETURNED BACK IN CANONICAL
FORM (YYYY/MM/DD HH24:MI:SS).
CRIT_COL2_VALUE
(ANY NAME CAN BE
USED)
Varchar2 Mandatory only if second criteria is added ongeneric criteria row. Value passed back will be
converted based on date type specified inCRIT_COL2_DATATYPE. IF RETURNED VALUE ISDATE THE DATA SHOULD BE RETURNED BACK
IN CANONICAL FORM (YYYY/MM/DD
HH24:MI:SS).
1. Erroring: If any other output value is passed back then process errors out byraising BEN_91329_FORMULA_RETURN.
2. Remarks: None
3. Sample Formula:
4. Formula functions used in the sample formula: None
13. Unit test script: N.A
Formula Type: Election Value Range Rule
1. Functional Usage: This rule will be used if the user wants to return the min-max values for the
standard rates when the rate is enterable at enrollment. This rule will currently be enabled only for
Activity Type as CWB Worksheet Amount and CWB Recommended Amount.
2. Navigation Path: Total Compensation > Rate/Coverage Definitions > Standard Rates
3. Contexts: Business_Group_Id, Assignment Id, Date_Earned, Organization_Id, Jurisdiction_Code,
pgm_id, pl_id, opt_id, ler_id, pl_typ_id
4. Overloaded Contexts: No
5. Database items available: All columns except attribute columns from tables ben_ler_f,ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on persons
assignment_id.
6. Input values available: PERSON_ID Input value is available.
7. Constraints using Database items: Database items other than the ones mentioned above cannotbe used.
8. Formula output or return values: Formula should use pre defined names for return variables
Out Variable name Data Type Value Remarks
L_MN_ELCN_VAL Number mandatory out variableL_MX_ELCN_VAL Number mandatory out variable
7/22/2019 OAB Fast formula user guide
6/184
L_INCRMT_VAL Number mandatory out variable
L_DFLT_VAL Number mandatory out variable
1. Erroring: If any other output value is passed back then process errors out byraising BEN_92311_FORMULA_VAL_PARAM.
2. Remarks: None
3. Sample Formula:
/**********************************************************************FORMULA NAME: BEN_CWB_MIN_MAX_RLFORMULA TYPE : Oracle Advanced BenefitsDESCRIPTION :***********************************************************************Change History:Name Date Description
-----------------------------------------------------------------------Nagaraj Hunur 22-Jan-2004 Initial Version
***********************************************************************FORMULA TEXT: Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/DEFAULT for ASG_JOB is ','/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/l_job = ASG_JOBif not ASG_JOB was defaulted then(
if l_job = 'Finance Manager' then(L_MN_ELCN_VAL = 100
L_MX_ELCN_VAL = 10000L_INCRMT_VAL = 100
L_DFLT_VAL = 100)else(L_MN_ELCN_VAL = 150L_MX_ELCN_VAL = 15000L_INCRMT_VAL = 10
L_DFLT_VAL = 150))
7/22/2019 OAB Fast formula user guide
7/184
return L_MN_ELCN_VAL, L_MX_ELCN_VAL, L_INCRMT_VAL, L_DFLT_VAL
/*================ FORMULA SECTION END =======================*/
4. Formula functions used in the sample formula: None
13. Unit test script: N.A
Formula Type: Range of scheduled Hours
1. Functional Usage: Range of scheduled hours eligibility criteria can be used createdusing a rule. If customer wants to use complex logic to decide on the number ofscheduled hours, this formula can be used.
2. Navigation Path:Total Compensation > General Definitions > Eligibility Profiles > Participant> Employment Tab > Range of scheduled hours criterion.
3. Contexts: DATE_EARNED (p_effective_date), ASSIGNMENT_ID,ORGANIZATION_ID, BUSINESS_GROUP_ID, PGM_ID, PL_TYP_ID, PL_ID,
OPT_ID, JURISDICTION_CODE.4. OverloadedContexts: No
5. Database items available: All columns except attribute columns from tables ben_ler_f,ben_pl_f, ben_pgm_f, ben_opt_f and database items based on persons assignment_id.
6. Input values available:
Name Data Type Remarks
BEN_IV_RT_STRT_DT Char Rate Start Date passed in formatYYYY/MM/DD HH24:MI:SS
BEN_IV_CVG_STRT_DT Char Coverage Start Date passed informat YYYY/MM/DDHH24:MI:SS
1. Constraints using Database items: Database items other than the ones mentionedabove cant be used.
2. Formula output or return values:
Out Variable name Data Type Value Remarks
MIN_HOURS (mandatory outvariable, any name can be used)
Number Either MIN_HOURS orMAX_HOURS or both needs tobe specified.
MAX_HOURS Number
FREQUENCY Char Based on lookup FREQUENCY
1. Erroring: If wrong values are passed back from the formula does it gracefully exit or iferrors what kind of error is raised. : If any other output value is passed back then processerrors (BEN_91329_FORMULA_RETURN).If FREQUENCY is not returned then the following error will be returned'BEN_92310_FORMULA_RET_PARAM_.
2. Remarks: None
3. Sample Formula:/**********************************************************************FORMULA NAME: BEN_RNG_SCHED_HRS_RL
7/22/2019 OAB Fast formula user guide
8/184
FORMULA TYPE : Oracle Advanced BenefitsDESCRIPTION : Range of scheduled hours***********************************************************************Change History:Name Date Description-----------------------------------------------------------------------
Nagaraj Hunur 22-Dec-2004 Initial Version
***********************************************************************FORMULA TEXT: Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/Default for ASG_JOB is ' '/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*//*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/
l_job = ASG_JOBif l_job = 'Manager' then(MIN_HOURS = 25MAX_HOURS = 40FREQUENCY = H )else
(MIN_HOURS = 20MAX_HOURS = 35FREQUENCY = H)
return MIN_HOURS, MAX_HOURS, FREQUENCY/*================ FORMULA SECTION END =======================*/
4. Formula functions used in the sample formula: None
5. Unit test script: N.A
Formula Type: Manager Hierarchy
1. Functional Usage: If customer wants to use complex logic to decide on which managerneeds to be providing approvals in the organization hierarchy, this formula can be used.
2. Navigation Path:Total Compensation > Programs and Plans > Plan Enrollment Requirements.
3. Contexts: DATE_EARNED (p_effective_date), ASSIGNMENT_ID,ORGANIZATION_ID, BUSINESS_GROUP_ID, GROUP_PL_ID, LER_ID
4. OverloadedContexts: No
7/22/2019 OAB Fast formula user guide
9/184
5. Database items available: All columns except attribute columns from tables ben_ler_f,ben_pl_f and database items based on persons assignment_id.
6. Input values available:
Name Data Type Remarks
BEN_IV_PERSON_ID Number Person ID
BEN_IV_ACCESS_CD Char Plan Access code
BEN_IV_END_DT Char End Date passed in formatYYYY/MM/DD HH24:MI:SS
BEN_IV_AUTO_DISTR_FLAG Char Auto Distribute flag Y/N
BEN_IV_WS_UPD_STRT_DT Char Worksheet update start date passedin format YYYY/MM/DDHH24:MI:SS
BEN_IV_WS_UPD_END_DT Char Worksheet update end date passedin format YYYY/MM/DDHH24:MI:SS
BEN_IV_USES_BDGT_FLAG Char Uses budget flag. Values - Y/N
1. Constraints using Database items: Database items other than the ones mentionedabove cant be used.
2. Formula output or return values:
Out Variable name Data Type Value Remarks
l_manager_id (mandatory outvariable, any name can be used)
Number
1. Erroring: None
2. Remarks: Sample formula which returns a manager ID based on persons organization.
3. Sample Formula:
/**********************************************************************FORMULA NAME: BEN_MGR_HRCHY_RLFORMULA TYPE : Oracle Advanced BenefitsDESCRIPTION :***********************************************************************Change History:Name Date Description-----------------------------------------------------------------------Nagaraj Hunur 22-Dec-2004 Initial Version
***********************************************************************FORMULA TEXT: Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/DEFAULT for ASG_ORG is ','/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*//*============== INPUT VALUES DEFAUT ENDS ======================*/
7/22/2019 OAB Fast formula user guide
10/184
/*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/
l_org = ASG_ORGif not ASG_ORG was defaulted then(
if l_org = 'Finance Department' then( l_manager_id = 100)else(l_manager_id = 101)
)return l_manager_id
/*================ FORMULA SECTION END =======================*/
4. Formula functions used in the sample formula: None13. Unit test script: N.A
Formula Type: Rate Periodization
1. Functional Usage: This formula gives complete control to the users to periodize therates. User can define their one rule using the contexts and input values available todistribute the rates among defined amount, annual amount and communicated amounts.
2. Navigation Path:Total Compensation > Rate /Coverage Definitions > Standard Rates.
3. Contexts: DATE_EARNED (p_effective_date), ASSIGNMENT_ID,
BUSINESS_GROUP_ID4. OverloadedContexts: No
5. Database items available: Database items based on persons assignment_id.
6. Input values available:
Name Data Type Remarks
BEN_IV_CONVERT_FROM Char Possible values are DEFINED, CMCDand ANNUAL.If BEN_IV_CONVERT_FROM isDEFINED rules needs to compute theannual and communicated values usingthe input valueBEN_IV_CONVERT_FROM_VAL.
If BEN_IV_CONVERT_FROM isANNUAL rules needs to compute thedefined and communicated values usingthe input valueBEN_IV_CONVERT_FROM_VAL.
7/22/2019 OAB Fast formula user guide
11/184
If BEN_IV_CONVERT_FROM isCMCD rules needs to compute thedefined and annual values using theinput valueBEN_IV_CONVERT_FROM_VAL.
BEN_IV_CONVERT_FROM_VAL Number Value passed in to the formula
BEN_ABR_IV_ACTY_BASE_RT_ID Number Activity base rate ID
BEN_EPE_IV_ELIG_PER_ELCTBL_CHC_ID
Number Electable choice ID
BEN_ECR_IV_ENRT_RT_ID Number This input value is NOT available aspart of Participation process. But thiswill be available in the enrollmentprocess.
1. Constraints using Database items: Database items other than the ones mentionedabove cant be used.
2. Formula output or return values:
Out Variable name Data Type Value RemarksDFND_VAL Number mandatory out variable
ANN_VAL Number mandatory out variable
CMCD_VAL Number mandatory out variable
1. Erroring: If all the three values are not returned by the formula, the process throws anappropriate error message.
2. Remarks:
3. Sample Formula:
/**********************************************************************
FORMULA NAME: BEN_RT_PERIODIZE_RLFORMULA TYPE : Oracle Advanced BenefitsDESCRIPTION :***********************************************************************Change History:Name Date Description-----------------------------------------------------------------------Nagaraj Hunur 22-Dec-2004 Initial Version
***********************************************************************FORMULA TEXT: Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*//*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*//*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*/INPUTS ARE BEN_IV_CONVERT_FROM (text),
7/22/2019 OAB Fast formula user guide
12/184
BEN_IV_CONVERT_FROM_VAL,BEN_ABR_IV_ACTY_BASE_RT_ID,BEN_EPE_IV_ELIG_PER_ELCTBL_CHC_ID,BEN_ECR_IV_ENRT_RT_ID
/*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/IF BEN_IV_CONVERT_FROM = 'DEFINED' THEN(
DFND_VAL = BEN_IV_CONVERT_FROM_VALANN_VAL = DFND_VAL * 12CMCD_VAL = ANN_VAL / 24
)ELSE
(IF BEN_IV_CONVERT_FROM = 'ANNUAL' THEN(
ANN_VAL = BEN_IV_CONVERT_FROM_VALDFND_VAL = ANN_VAL / 12
CMCD_VAL = ANN_VAL / 24)ELSE /* COMMUNICATED AMOUNT */(CMCD_VAL = BEN_IV_CONVERT_FROM_VALDFND_VAL = CMCD_VAL * 24 /12ANN_VAL = CMCD_VAL * 24
)
)
Return DFND_VAL, ANN_VAL, CMCD_VAL
/*================ FORMULA SECTION END =======================*/
4. Formula functions used in the sample formula: None
13. Unit test script: N.A
Formula Type: Person change causes Life event
Functional Usage: Life events are triggered based on person changes attached to the life event. If
customers need to write code to decide whether data change happened or not even if columnchange occurs, a rule can be attached. Output of rule and column change must be satisfied totrigger life event.
Navigation Path:Person Changes > Define Person Change > "Person Changes Window" (Rule field)Person Changes > Define Related Person Change > "Related Person Changes Window" (Rulefield)
Contexts: Business_Group_Id, DATE_EARNED (p_effective_date), Assignment Id
7/22/2019 OAB Fast formula user guide
13/184
Note: For any formula types, under contexts selection, if p_effective_date is indicatedthen this context is same as DATE_EARNED
OverloadedContexts: No
Database items available:Data base items based on persons assignment_id.
Input values available:
Based on the table on which Person changes are defined, different set ofinput values are available for use in a formula. Input values NEW_VAL,
OLD_VAL, COLUMN, PK_ID are available irrespective of table on whichdata changes are defined. Below given example explains what values theseinput variables contain.
Ex., Assume data changes are defined on table PER_ALL_PEOPLE_F and ColumnMARITAL_STAUS
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. it's value is S.
PK_VAL input value is set with person_id (Primary key of the row being
modified.)
Following table describes the input values available for each table.
Table on which person changes are defined
Available input values
PER_ABSENCE_ATTENDANCES PK_VAL contains ABSENCE_ATTENDANCE_IDBEN_ABA_IN_PERSON_ID, BEN_ABA_IN_PERSON_ID,
BEN_ABA_IO_PERSON_ID,BEN_ABA_IN_DATE_START,
BEN_ABA_IO_DATE_START, BEN_ABA_IN_DATE_END,BEN_ABA_IO_DATE_END,
BEN_ABA_IN_ABSENCE_ATTENDANCE_TYPE_ID,BEN_ABA_IO_ABSENCE_ATTENDANCE_TYPE_ID,
BEN_ABA_IN_ABS_ATTENDANCE_REASON_ID,BEN_ABA_IO_ABS_ATTENDANCE_REASON_ID,
BEN_ABA_IN_SICKNESS_START_DATE,
BEN_ABA_IO_SICKNESS_START_DATE,BEN_ABA_IN_SICKNESS_END_DATE,
BEN_ABA_IO_SICKNESS_END_DATE,BEN_ABA_IN_ABSENCE_DAYS,
BEN_ABA_IO_ABSENCE_DAYS,BEN_ABA_IN_ABSENCE_HOURS,
BEN_ABA_IO_ABSENCE_HOURS,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,
7/22/2019 OAB Fast formula user guide
14/184
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
PER_ASSIGNMENT_BUDGET_VALUES_F PK_VAL contains ASSIGNMENT_BUDGET_VALUES_IDBEN_ABV_IN_EFFECTIVE_START_DATE,
BEN_ABV_IO_EFFECTIVE_START_DATE,BEN_ABV_IN_EFFECTIVE_END_DATE,
BEN_ABV_IO_EFFECTIVE_END_DATE
PER_ADDRESSES PK_VAL contains address_idBEN_ADR_IN_DATE_FROM, BEN_ADR_IN_DATE_TO,
BEN_ADR_IN_PRIMARY_FLAG,
BEN_ADR_IN_POSTAL_CODE,
7/22/2019 OAB Fast formula user guide
15/184
BEN_ADR_IN_REGION_2,BEN_ADR_IN_ADDRESS_TYPE,
BEN_ADR_IO_POSTAL_CODE,BEN_ADR_IO_DATE_FROM, BEN_ADR_IO_DATE_TO,
BEN_ADR_IO_PRIMARY_FLAG, BEN_ADR_IO_REGION_2,BEN_ADR_IO_ADDRESS_TYPE,
BEN_ADR_IN_PERSON_ID, BEN_ADR_IO_PERSON_IDPER_ALL_ASSIGNMENTS_F PK_VAL contains ASSIGNMENT_ID
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_PAYROLL_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_HOURSPER_COMPETENCE_ELEMENTS PK_VAL contains COMPETENCE_ELEMENT_IDBEN_CEL_IN_EFFECTIVE_DATE_FROM,BEN_CEL_IO_EFFECTIVE_DATE_FROM,
BEN_CEL_IN_EFFECTIVE_DATE_TO,BEN_CEL_IO_EFFECTIVE_DATE_TO,
BEN_CEL_IN_COMPETENCE_ID,BEN_CEL_IO_COMPETENCE_ID,
BEN_CEL_IN_PROFICIENCY_LEVEL_ID,BEN_CEL_IO_PROFICIENCY_LEVEL_ID,
BEN_CEL_IN_ATTRIBUTE1, BEN_CEL_IO_ATTRIBUTE1,BEN_CEL_IN_ATTRIBUTE2,
BEN_CEL_IO_ATTRIBUTE2, BEN_CEL_IN_ATTRIBUTE3,
BEN_CEL_IO_ATTRIBUTE3,BEN_CEL_IN_ATTRIBUTE4, BEN_CEL_IO_ATTRIBUTE4,BEN_CEL_IN_ATTRIBUTE5,
BEN_CEL_IO_ATTRIBUTE5, BEN_CEL_IN_ATTRIBUTE6,
BEN_CEL_IO_ATTRIBUTE6,BEN_CEL_IN_ATTRIBUTE7, BEN_CEL_IO_ATTRIBUTE7,
BEN_CEL_IN_ATTRIBUTE8,BEN_CEL_IO_ATTRIBUTE8, BEN_CEL_IN_ATTRIBUTE9,
BEN_CEL_IO_ATTRIBUTE9,
BEN_CEL_IN_ATTRIBUTE10, BEN_CEL_IO_ATTRIBUTE10,
7/22/2019 OAB Fast formula user guide
16/184
BEN_CEL_IN_ATTRIBUTE11,BEN_CEL_IO_ATTRIBUTE11
PER_CONTACT_RELATIONSHIPS PK_VAL contains CONTACT_RELATIONSHIP_ID
BEN_CON_IN_PERSON_ID, BEN_CON_IO_PERSON_ID,BEN_CON_IN_CONTACT_PERSON_ID,
BEN_CON_IO_CONTACT_PERSON_ID,
BEN_CON_IN_DATE_START, BEN_CON_IO_DATE_START,BEN_CON_IN_DATE_END, BEN_CON_IO_DATE_END,
BEN_CON_IN_CONTACT_TYPE,BEN_CON_IO_CONTACT_TYPE,
BEN_CON_IN_PERSONAL_FLAG,BEN_CON_IO_PERSONAL_FLAG,
BEN_CON_IN_START_LIFE_REASON_ID,BEN_CON_IO_START_LIFE_REASON_ID,
BEN_CON_IN_END_LIFE_REASON_ID,BEN_CON_IO_END_LIFE_REASON_ID,
BEN_CON_IN_RLTD_PER_RSDS_W_DSGNTR_FLAG,BEN_CON_IO_RLTD_PER_RSDS_W_DSGNTR_FLAG
BEN_CRT_ORDR PK_VAL contains CRT_ORDR_ID
BEN_CRT_IN_APLS_PERD_STRTG_DT,BEN_CRT_IO_APLS_PERD_STRTG_DT,
BEN_CRT_IN_APLS_PERD_ENDG_DT,
BEN_CRT_IO_APLS_PERD_ENDG_DT,BEN_CRT_IN_CRT_ORDR_TYP_CD,
BEN_CRT_IO_CRT_ORDR_TYP_CD,BEN_CRT_IN_RCVD_DT, BEN_CRT_IO_RCVD_DT,
BEN_CRT_IN_PL_ID, BEN_CRT_IO_PL_ID,BEN_CRT_IN_PL_TYP_ID, BEN_CRT_IO_PL_TYP_ID,BEN_CRT_IN_PERSON_ID, BEN_CRT_IO_PERSON_ID
BEN_ELIG_CVRD_DPNT_F PK_VAL contains ELIG_CVRD_DPNT_IDBEN_PDP_IN_PRTT_ENRT_RSLT_ID,BEN_PDP_IO_PRTT_ENRT_RSLT_ID,
BEN_PDP_IN_EFFECTIVE_START_DATE,BEN_PDP_IO_EFFECTIVE_START_DATE,
BEN_PDP_IN_EFFECTIVE_END_DATE,BEN_PDP_IO_EFFECTIVE_END_DATE,
BEN_PDP_IN_CVG_STRT_DT,
BEN_PDP_IO_CVG_STRT_DT, BEN_PDP_IN_CVG_THRU_DT,BEN_PDP_IO_CVG_THRU_DT,
BEN_PDP_IN_OVRDN_FLAG, BEN_PDP_IO_OVRDN_FLAG,BEN_PDP_IN_OVRDN_THRU_DT,
BEN_PDP_IO_OVRDN_THRU_DT
PAY_ELEMENT_ENTRY_VALUES_F None
BEN_ELIG_DPNT PK_VAL contains ELIG_DPNT_ID
BEN_EGD_IN_DPNT_PERSON_ID,
BEN_EGD_IO_DPNT_PERSON_ID,BEN_EGD_IN_ELIG_STRT_DT,
BEN_EGD_IO_ELIG_STRT_DT, BEN_EGD_IN_ELIG_THRU_DT,
BEN_EGD_IO_ELIG_THRU_DT,BEN_EGD_IN_DPNT_INELIG_FLAG,BEN_EGD_IO_DPNT_INELIG_FLAG,
BEN_EGD_IN_INELG_RSN_CD,BEN_EGD_IO_INELG_RSN_CD,
BEN_EGD_IN_ELIG_PER_ELCTBL_CHC_ID,
7/22/2019 OAB Fast formula user guide
17/184
BEN_EGD_IO_ELIG_PER_ELCTBL_CHC_ID,BEN_EGD_IN_PER_IN_LER_ID,
BEN_EGD_IO_PER_IN_LER_ID,BEN_EGD_IN_ELIG_PER_ID, BEN_EGD_IO_ELIG_PER_ID,
BEN_EGD_IN_ELIG_PER_OPT_ID,BEN_EGD_IO_ELIG_PER_OPT_ID,
BEN_EGD_IN_ELIG_CVRD_DPNT_ID,BEN_EGD_IO_ELIG_CVRD_DPNT_ID
BEN_PER_BNFTS_BAL_F PK_VAL contains PER_BNFTS_BAL_IDBEN_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_PRTT_ENRT_RSLT_F PK_VAL contains PRTT_ENRT_RSLT_IDBEN_PEN_IN_ENRT_CVG_STRT_DT,
BEN_PEN_IO_ENRT_CVG_STRT_DT,BEN_PEN_IN_ENRT_CVG_THRU_DT,
BEN_PEN_IO_ENRT_CVG_THRU_DT,
BEN_PEN_IN_EFFECTIVE_START_DATE,BEN_PEN_IO_EFFECTIVE_START_DATE,
BEN_PEN_IN_EFFECTIVE_END_DATE,BEN_PEN_IO_EFFECTIVE_END_DATE
PER_ALL_PEOPLE_F PK_VAL contains PERSON_IDBEN_PPF_IN_EFFECTIVE_START_DATE,
BEN_PPF_IO_EFFECTIVE_START_DATE,BEN_PPF_IN_EFFECTIVE_END_DATE,
BEN_PPF_IO_EFFECTIVE_END_DATE,BEN_PPF_IN_DATE_OF_BIRTH,
BEN_PPF_IO_DATE_OF_BIRTH,BEN_PPF_IN_DATE_OF_DEATH,
BEN_PPF_IO_DATE_OF_DEATH,BEN_PPF_IN_MARITAL_STATUS,
BEN_PPF_IO_MARITAL_STATUS,
BEN_PPF_IN_STUDENT_STATUS,BEN_PPF_IO_STUDENT_STATUS,
BEN_PPF_IN_BENEFIT_GROUP_ID,BEN_PPF_IO_BENEFIT_GROUP_ID,
BEN_PPF_IN_ORIGINAL_DATE_OF_HIRE,BEN_PPF_IO_ORIGINAL_DATE_OF_HIRE
PER_PERFORMANCE_REVIEWS PK_VAL contains PERFORMANCE_REVIEW_IDBEN_PPR_IN_PERFORMANCE_RATING,
BEN_PPR_IO_PERFORMANCE_RATING,BEN_PPR_IN_EVENT_ID, BEN_PPR_IO_EVENT_ID,
BEN_PPR_IN_REVIEW_DATE,BEN_PPR_IO_REVIEW_DATE,
BEN_PPR_IN_ATTRIBUTE1,BEN_PPR_IO_ATTRIBUTE1,
BEN_PPR_IN_ATTRIBUTE2,BEN_PPR_IO_ATTRIBUTE2,
BEN_PPR_IN_ATTRIBUTE3,
7/22/2019 OAB Fast formula user guide
18/184
BEN_PPR_IO_ATTRIBUTE3,BEN_PPR_IN_ATTRIBUTE4,
BEN_PPR_IO_ATTRIBUTE4,BEN_PPR_IN_ATTRIBUTE5,
BEN_PPR_IO_ATTRIBUTE5,BEN_PPR_IN_ATTRIBUTE6,
BEN_PPR_IO_ATTRIBUTE6,BEN_PPR_IN_ATTRIBUTE7,BEN_PPR_IO_ATTRIBUTE7,
BEN_PPR_IN_ATTRIBUTE8,BEN_PPR_IO_ATTRIBUTE8,
BEN_PPR_IN_ATTRIBUTE9,BEN_PPR_IO_ATTRIBUTE9,
BEN_PPR_IN_ATTRIBUTE10,BEN_PPR_IO_ATTRIBUTE10,
BEN_PPR_IN_ATTRIBUTE11,BEN_PPR_IO_ATTRIBUTE11,
BEN_PPR_IN_ATTRIBUTE12,BEN_PPR_IO_ATTRIBUTE12
PER_PAY_PROPOSALS PK_VAL contains PAY_PROPOSAL_IDBEN_PRO_IN_CHANGE_DATE, BEN_PRO_IO_CHANGE_DATE,
BEN_PRO_IN_LAST_CHANGE_DATE,BEN_PRO_IO_LAST_CHANGE_DATE,
BEN_PRO_IN_NEXT_PERF_REVIEW_DATE,BEN_PRO_IO_NEXT_PERF_REVIEW_DATE,
BEN_PRO_IN_NEXT_SAL_REVIEW_DATE,BEN_PRO_IO_NEXT_SAL_REVIEW_DATE,
BEN_PRO_IN_PERFORMANCE_RATING,BEN_PRO_IO_PERFORMANCE_RATING,
BEN_PRO_IN_PROPOSAL_REASON,
BEN_PRO_IO_PROPOSAL_REASON,BEN_PRO_IN_PROPOSED_SALARY_N,
BEN_PRO_IO_PROPOSED_SALARY_N,BEN_PRO_IN_REVIEW_DATE,
BEN_PRO_IO_REVIEW_DATE,BEN_PRO_IN_APPROVED,
BEN_PRO_IO_APPROVED,BEN_PRO_IN_MULTIPLE_COMPONENTS,
BEN_PRO_IO_MULTIPLE_COMPONENTS,
BEN_PRO_IN_FORCED_RANKING,BEN_PRO_IO_FORCED_RANKING,
BEN_PRO_IN_PERFORMANCE_REVIEW_ID,BEN_PRO_IO_PERFORMANCE_REVIEW_ID,
BEN_PRO_IN_EVENT_ID,BEN_PRO_IO_EVENT_ID,
BEN_PRO_IN_PROPOSED_SALARY,BEN_PRO_IO_PROPOSED_SALARY,BEN_PRO_IN_ATTRIBUTE1,
BEN_PRO_IO_ATTRIBUTE1
BEN_PRTT_RT_VAL PK_VAL contains PRTT_RT_VAL_IDBEN_PRV_IN_PRTT_ENRT_RSLT_ID,BEN_PRV_IO_PRTT_ENRT_RSLT_ID,
BEN_PRV_IN_RT_STRT_DT,BEN_PRV_IO_RT_STRT_DT, BEN_PRV_IN_RT_END_DT,
BEN_PRV_IO_RT_END_DT, BEN_PRV_IN_RT_VAL,
7/22/2019 OAB Fast formula user guide
19/184
BEN_PRV_IO_RT_VAL,BEN_PRV_IN_TX_TYP_CD, BEN_PRV_IO_TX_TYP_CD,
BEN_PRV_IN_ACTY_TYP_CD,BEN_PRV_IO_ACTY_TYP_CD,
BEN_PRV_IN_PER_IN_LER_ID, BEN_PRV_IO_PER_IN_LER_ID,BEN_PRV_IN_ACTY_BASE_RT_ID,
BEN_PRV_IO_ACTY_BASE_RT_ID,BEN_PRV_IN_PRTT_RT_VAL_STAT_CD,BEN_PRV_IO_PRTT_RT_VAL_STAT_CD
PER_PERIODS_OF_SERVICE None
PER_PERSON_TYPE_USAGES_F PK_VAL contains PERSON_TYPE_USAGE_IDBEN_PTU_IN_PERSON_TYPE_USAGE_ID,BEN_PTU_IO_PERSON_TYPE_USAGE_ID,
BEN_PTU_IN_EFFECTIVE_START_DATE,BEN_PTU_IO_EFFECTIVE_START_DATE,
BEN_PTU_IN_EFFECTIVE_END_DATE,BEN_PTU_IO_EFFECTIVE_END_DATE,
BEN_PTU_IN_PERSON_ID, BEN_PTU_IO_PERSON_ID
PER_QUALIFICATIONS PK_VAL contains QUALIFICATION_ID
BEN_QUA_IN_QUALIFICATION_TYPE_ID,BEN_QUA_IO_QUALIFICATION_TYPE_ID,
BEN_QUA_IN_TITLE, BEN_QUA_IO_TITLE,BEN_QUA_IN_START_DATE,
BEN_QUA_IO_START_DATE,BEN_QUA_IN_END_DATE, BEN_QUA_IO_END_DATE,BEN_QUA_IN_ATTRIBUTE1,
BEN_QUA_IO_ATTRIBUTE1,BEN_QUA_IN_ATTRIBUTE2,
BEN_QUA_IO_ATTRIBUTE2,BEN_QUA_IN_ATTRIBUTE3,
BEN_QUA_IO_ATTRIBUTE3,BEN_QUA_IN_ATTRIBUTE4,
BEN_QUA_IO_ATTRIBUTE4,BEN_QUA_IN_ATTRIBUTE5,
BEN_QUA_IO_ATTRIBUTE5,BEN_QUA_IN_ATTRIBUTE6,
BEN_QUA_IO_ATTRIBUTE6,
BEN_QUA_IN_ATTRIBUTE7,BEN_QUA_IO_ATTRIBUTE7,
BEN_QUA_IN_ATTRIBUTE8,BEN_QUA_IO_ATTRIBUTE8,
BEN_QUA_IN_ATTRIBUTE9,BEN_QUA_IO_ATTRIBUTE9,
BEN_QUA_IN_ATTRIBUTE10,BEN_QUA_IO_ATTRIBUTE10,
BEN_QUA_IN_ATTRIBUTE11,BEN_QUA_IO_ATTRIBUTE11
PER_PERSON_ANALYSES PK_VAL contains PERSON_ANALYSIS_IDBEN_PAC_IN_SEGMENT1BEN_PAC_IO_SEGMENT1BEN_PAC_IN_SEGMENT2
BEN_PAC_IO_SEGMENT2BEN_PAC_IN_SEGMENT3BEN_PAC_IO_SEGMENT3
7/22/2019 OAB Fast formula user guide
20/184
BEN_PAC_IN_SEGMENT4BEN_PAC_IO_SEGMENT4
BEN_PAC_IN_SEGMENT5BEN_PAC_IO_SEGMENT5BEN_PAC_IN_SEGMENT6BEN_PAC_IO_SEGMENT6
BEN_PAC_IN_SEGMENT7BEN_PAC_IO_SEGMENT7BEN_PAC_IN_SEGMENT8BEN_PAC_IO_SEGMENT8BEN_PAC_IN_SEGMENT9
BEN_PAC_IO_SEGMENT9'BEN_PAC_IN_SEGMENT10BEN_PAC_IO_SEGMENT10BEN_PAC_IN_SEGMENT11
BEN_PAC_IO_SEGMENT11BEN_PAC_IN_SEGMENT12BEN_IV_LER_IDBEN_PAC_IN_DATE_FROM
BEN_PAC_IO_DATE_FROMBEN_PAC_IN_DATE_TOBEN_PAC_IO_DATE_TOBEN_PAC_IN_ANALYSIS_CRITERIA_IDBEN_PAC_IO_ANALYSIS_CRITERIA_ID
Naming convention for input values :Ex., BEN_PPF_IN_MARITAL_STATUS - First 3 letter stands for benefits, next 3letters(PPF) stands for the table short name.I - stands for Input valueN - Stands for New value; O Stands for Old value.
Remaining portion of the name stands for the column name.If this input value is used in the formula it will contain new value of marital status column of
the person row which being currently updated.
Constraints using Database items:Database items other than the ones mentioned above cannot be used.
Formula output or return values:No need to use predefined names for return variables.
Out Variable name
Data
Type
Value Remarks
L_RETURN(Any name can be used)
Varchar2 NY
Do not create the potentialIf data changes are satisfied createthe potential life event
Erroring: If wrong values are passed back from the formula value is assumed as Y.Remarks : In case the person changes causes is based on PER_PERSON_ANALYSES , theformula has to return 2 output variables as indicated below.
Out Variable name
Data Type Value Remarks
RETURN_FLAG Varchar2 NY
Do not create the potentialIf data changes are satisfied createthe potential life event.
7/22/2019 OAB Fast formula user guide
21/184
LE_OCCURED_DATE Varchar2 Life event occurred date, incanonical form. This variable is not
mandatory.
Sample Formula :/*****************************************************************
FORMULA NAME :FORMULA TYPE : Person Changes CausesDESCRIPTION : Formula to determine whether to trigger potential life event.
*****************************************************************Change History:Name Date Description-----------------------------------------------------------------------
Prasad Bodla 29-Aug-2003 Initial Version
******************************************************************FORMULA TEXT:*****************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
/*=========== DATABASE ITEM DEFAULTS ENDS======================*//*============ INPUT VALUES DEFAULT BEGIN ======================*/inputs are NEW_VAL(text), OLD_VAL(text), COLUMN(text), PK_ID(text),
BEN_PPF_IN_MARITAL_STATUS(text), BEN_PPF_IO_MARITAL_STATUS(text)default for BEN_PPF_IN_MARITAL_STATUS is 'AA'default for BEN_PPF_IO_MARITAL_STATUS is 'AA'
/*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*//*================ FORMULA SECTION BEGIN =======================*/
l_new_marital_status = BEN_PPF_IN_MARITAL_STATUS
l_old_marital_status = BEN_PPF_IO_MARITAL_STATUS
/* Create potential life event if person marital status is chaged fromSingle to married */
if l_new_marital_status = 'S' and l_old_marital_status = 'M' thenl_create_ptnl = 'Y'
else
l_create_ptnl = 'N'
return l_create_ptnl
/*================ FORMULA SECTION END =======================*/
Formula functions used in the sample formula :None
Unit test script :
Formula Type: Rate Value Calculation (When calculation method on standard rates
form is post enrollment calculation rule)
7/22/2019 OAB Fast formula user guide
22/184
Functional Usage: When a rate needs to be computed based on several other rates at the time ofparticipation process run and during the enrollments.
Navigation Path: Total Compensation > Rate/Coverage Definitions:Standard Rates > CalculationMethod : Post Enrollment Calculation RuleTotal Compensation > Rate/Coverage Definitions: Coverages > Calculation Method : PostEnrollment Calculation Rule
Contexts: Business_Group_Id, DATE_EARNED (p_effective_date), Assignment Id
Note: For any formula types, under contexts selection, if p_effective_date is indicatedthen this context is same as DATE_EARNED
OverloadedContexts: No
Database items available:Data base items based on persons assignment_id.
Input values available:
Constraints using Database items:Database items other than the ones mentioned above cannot be used.
Formula output or return values:No need to use predefined names for return variables.
Out Variable nameData Type Value Remarks
L_RETURN(Any name can be used)
Number NY
Value of rate
Erroring:
If the value passed back is not a number, error is raised..
Remarks : Formula cant use values of rates attached to same compensation object. If two ratesare defined with post enrollment calculation rule, they cant be referenced in each other.
Sample Formula :/*****************************************************************
FORMULA NAME : VALUE_RULEFORMULA TYPE : Rate Value Calculation
DESCRIPTION : Formula to return a value for rate.*****************************************************************Change History:Name Date Description-----------------------------------------------------------------------
Prasad Bodla 29-Aug-2003 Initial Version
******************************************************************FORMULA TEXT:
*****************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
/*=========== DATABASE ITEM DEFAULTS ENDS======================*//*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*============== INPUT VALUES DEFAUT ENDS ======================*//*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*//*================ FORMULA SECTION BEGIN =======================*/l_val = ilo_enrt_rt()
return l_val/*================ FORMULA SECTION END =======================*/
Formula functions used in the sample formula :
7/22/2019 OAB Fast formula user guide
23/184
Ilo_enrt_rt :create or replace function get_enrt_rt_val(
p_assignment_id in number,p_business_group_id in number,p_effective_date in date
) return number is
--l_ACTY_BASE_RT_ID number;cursor c_abr(cv_abr_name varchar2) is
select ACTY_BASE_RT_IDfrom ben_acty_base_rt_f abrwhere name = cv_abr_name
and abr.business_group_id = p_business_group_id;--
l_elig_per_elctbl_chc_id number;cursor c_epe is
select epe.elig_per_elctbl_chc_idfrom
ben_per_in_ler pil,
per_all_assignments_f asg,ben_elig_per_elctbl_chc epewhere
epe.business_group_id = p_business_group_id
and epe.pl_id = 22 and epe.oipl_id = 24and asg.person_id = pil.person_idand pil.per_in_ler_stat_cd = 'STRTD'-- Also need to filter out the non ben life events.
and pil.per_in_ler_id = epe.per_in_ler_idand asg.assignment_id = p_assignment_idand pil.lf_evt_ocrd_dt between asg.effective_start_date
and asg.effective_end_date;--
cursor c_enrt_rt(cv_abr_name varchar2) isselect ecr.valfrom ben_enrt_rt ecr,
ben_per_in_ler pil,
per_all_assignments_f asg,ben_acty_base_rt_f abr,ben_elig_per_elctbl_chc epe
where abr.name = cv_abr_nameand abr.business_group_id = p_business_group_id
and abr.ACTY_BASE_RT_ID = ecr.ACTY_BASE_RT_IDand epe.elig_per_elctbl_chc_id = ecr.elig_per_elctbl_chc_idand epe.pl_id = 22 and epe.oipl_id = 24and asg.person_id = pil.person_id
and pil.per_in_ler_stat_cd = 'STRTD'-- Also need to filter out the non ben life events.and pil.per_in_ler_id = epe.per_in_ler_idand asg.assignment_id = p_assignment_idand pil.lf_evt_ocrd_dt between asg.effective_start_date
and asg.effective_end_dateand pil.lf_evt_ocrd_dt between abr.effective_start_date
and abr.effective_end_date;--
--
7/22/2019 OAB Fast formula user guide
24/184
l_val number := 0;l_val1 number := 0;l_val2 number := 0;--
begin
--
-- Please note that this is sample code and it contains hard coded values.-- Some of the cursors defined are also used.-- If benefit amounts are defined for a comp objects then above cursors may not work.
--open c_enrt_rt('OAB Stay Health HMO - EE Only ER Contrib');fetch c_enrt_rt into l_val1;close c_enrt_rt;--
open c_enrt_rt('OAB Stay Health Detal EE Only ERContrib');fetch c_enrt_rt into l_val2;close c_enrt_rt;--
l_val := (l_val1 + l_val2)* 0.5;
return l_val;--end get_enrt_rt_val;/
Unit test script :
Formula Type : Evaluate Life Event
1. Functional Usage : A company may want to customize how a potential life event is to beevaluated. For example Return to Work Life event is created by the customer and if theemployee returns to the work, this life event is automatically created. Customer wants a logic tobe executed when this potential life event is evaluated and based on that logic potential life
events occured date have to be modified or this potential life event have to be voided.
2. Navigation Path : Total Compensation > General Definitions > Life Event Reasons : Evaluation Rule
3. Contexts : DATE_EARNED (p_effective_date), LER_ID, ASSIGNMENT_ID,ORGANIZATION_ID, BUSINESS_GROUP_ID
4. OverloadedContexts : No
5. Database items available : All columns from ben_ler_f and data base items based on persons
assignment_id.
6. Input values available:
Name Data
Type
Remarks
BEN_PPL_IV_PTNL_LER_FOR_PER_ID Char Primary key Potential Life
Event.BEN_PPL_IV_LF_EVT_OCRD_DT Char Life event Occured Date passed
in formatYYYY/MM/DD HH24:MI:SS
BEN_PPL_IV_PTNL_LER_FOR_PER_STAT_CD Char Potential Life event StatusCode
BEN_PPL_IV_NTFN_DT Char Notified Date in format
YYYY/MM/DD HH24:MI:SS
BEN_PPL_IV_DTCTD_DT Char Detected Date in format
7/22/2019 OAB Fast formula user guide
25/184
YYYY/MM/DD HH24:MI:SS
6. Constraints using Database items : Data base items other than the ones mentioned cant be
used.
7. Formula output or return values : Formula should use pre defined names for return variables.
Out Variable name Data
Type
Value Remarks
LIFE_EVENT_OCCURRED_DATE Char - Replaces the original life event occureddate. Format of return value :
YYYY/MM/DD HH24:MI:SS
LIFE_EVENT_HAPPENED
(manadatory out variable)
Char Y/N If any other value is assigned to this
variable process raises an error -BEN_92143_LIFE_EVENT_HAPPENED
LIFE_EVENT_REASON_ID
LIFE_EVENT_NOTIFICATION_DA
TELIFE_EVENT_DETECTED_DATE
LIFE_EVENT_VOIDED_DATE
LIFE_EVENT_MANUAL_DATE
LIFE_EVENT_STATUS_CODE
8. Erroring : If wrong values are passed back from the formula does it gracefully exit or if errorswhat kind of error is raised. : If any other output variables are used then processerrors(BEN_92310_FORMULA_RET_PARAM).
9. Remarks :
10. Sample Formula :/**********************************************************************FORMULA NAME: BEN_TEST_LE_EVAL_RLFORMULA TYPE : Oracle Advanced BenefitsDESCRIPTION : Formula evaluates the potential life event.
If a life event is notified after 30 days ignore thispotential life event.
***********************************************************************Change History:
Name Date Description-----------------------------------------------------------------------Prasad Bodla 22-Feb-2002 Initial Version
***********************************************************************FORMULA TEXT : Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
default for BEN_PPL_IV_LF_EVT_OCRD_DT is ' '
7/22/2019 OAB Fast formula user guide
26/184
default for BEN_PPL_IV_PTNL_LER_FOR_STAT_CD is ' 'default for BEN_PPL_IV_NTFN_DT is ' '
/*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*/
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)
/*================== INPUTS SECTION ENDS ========================*//*================ FORMULA SECTION BEGIN =======================*/
l_lf_evt_dt = to_date(BEN_PPL_IV_LF_EVT_OCRD_DT, 'YYYY/MM/DD HH24:MI:SS')l_ntfd_dt = to_date(BEN_PPL_IV_NTFN_DT, 'YYYY/MM/DD HH24:MI:SS')l_lf_evt_dt_30 = add_days(l_lf_evt_dt, 30)
if (l_ntfd_dt >l_lf_evt_dt_30) then
life_event_happened = 'N'return life_event_happened
11. Formula functions used in the sample formula : None
12. Unit test script :
Formula Type : Waiting Period Value and UOM
13. Functional Usage : Participant have to wait for certain time before getting the eligibility to a
compensation object. Sometimes employees have to wait for 6 months to get eligibility to acompensation object. A waiting period value rule have to be used if the waiting period variesfrom employee to employee based on their organization or varies for rehired employees.
14. Navigation Path : Total Compensation > Programs and Plans > Plans : Plan Eligibility : Waiting Period Rule
1. Contexts: DATE_EARNED (p_effective_date), LER_ID, ASSIGNMENT_ID,ORGANIZATION_ID, BUSINESS_GROUP_ID, PGM_ID, PL_ID, PL_TYP_ID.
2. OverloadedContexts: No
3. Database items available : All columns except attribute columns from tables ben_ler_f,ben_pl_f, ben_pl_typ_f, ben_opt_f, and data base items based on persons assignment_id.
4. Input values available : No Input values are available.
5. Constraints using Database items : Data base items other than the ones mentioned above cant
be used.
6. Formula output or return values : Formula should use pre defined names for return variables.
Out Variable name Data
Type
Value Remarks
WAIT_PERD_VAL(manadatory outvariable)
Number -
WAIT_PERD_UOM (manadatory out Char One of the If this return value is not one of the
7/22/2019 OAB Fast formula user guide
27/184
variable) codes : DY,WK, MO,
QTR, YR
codes then WAIT_PERD_VALwill be used as it is.
1. Erroring : If wrong values are passed back from the formula does it gracefully exit or if errors
what kind of error is raised. : If any other output variables are used then processerrors(BEN_92310_FORMULA_RETURN).
2. Remarks : This rule will only get executed, if Waiting Period Value and Waiting Period UOMfields are null.
3. Sample Formula :
4. /**********************************************************************FORMULA NAME: BEN_TEST_WAIT_PERD_VAL_RLFORMULA TYPE : Oracle Advanced Benefits
DESCRIPTION : Formula returns the waiting period value.***********************************************************************Change History:Name Date Description
-----------------------------------------------------------------------Prasad Bodla 22-Feb-2002 Initial Version
***********************************************************************FORMULA TEXT : Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*//*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*/
/*================== INPUTS SECTION ENDS ========================*//*================ FORMULA SECTION BEGIN =======================*/
WAIT_PERD_VAL = 1WAIT_PERD_UOM = YRreturn WAIT_PERD_VAL, WAIT_PERD_UOM
5. Formula functions used in the sample formula : None
6. Unit test script :
Formula Type : Life Event Reason Timeliness (Timeliness Period Rule)
1. Functional Usage: Life events sometimes reported after certain number of days. In suchscenarios if customer wants to use complex logic to decide whether the potential life event
happened or not, this formula can be used.
2. Navigation Path: Total Compensation > General Definitions > Additional Setup > Life Event Reasons >
Timeliness Period Rule
3. Contexts: DATE_EARNED (p_effective_date), LER_ID, ASSIGNMENT_ID,ORGANIZATION_ID, BUSINESS_GROUP_ID.
7/22/2019 OAB Fast formula user guide
28/184
4. OverloadedContexts: No
5. Database items available: All columns except attribute columns from tables ben_ler_f and
database items based on persons assignment_id.
6. Input values available: No Input values are available.
7. Constraints using Database items: Database items other than the ones mentioned above cantbe used.
1. Formula output or return values: No need to use predefined names for return variables.
Out Variable name Data
Type
Value Remarks
L_LIFEEVENT_VOIDED
(manadatory out variable, any namecan be used)
Varchar2 Y/N Y means the potential life event
will be voided. N means potentiallife event will be evaluated further.
1. Erroring: If wrong values are passed back from the formula does it gracefully exit or if errorswhat kind of error is raised. : If any other output value is passed back then processerrors(BEN_91329_FORMULA_RETURN).
2. Remarks : None3. Sample Formula :/**********************************************************************
FORMULA NAME: BEN_TIMELINESS_PERD_RLFORMULA TYPE : Oracle Advanced BenefitsDESCRIPTION :***********************************************************************
Change History:Name Date Description-----------------------------------------------------------------------Prasad Bodla 22-Feb-2002 Initial Version
***********************************************************************
FORMULA TEXT : Logic in simple terms.
**********************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*//*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*/
/*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/l_life_event_voided = 'Y'return l_life_event_voided
4. Formula functions used in the sample formula : None
5. Unit test script :
7/22/2019 OAB Fast formula user guide
29/184
Formula Type: Family Member Determination
8 Functional Usage: A company may want to customize how the family memberdetermination rule works. For example a company might want that any employee havingmore than two children, should not be eligible for a certain plan. Customer may want thislogic to be executed when eligibility profile is determined and based on the logic eligibility
to the plan can be determined.9 Navigation Path: Total Compensation -> Programs and Plans-> Plans: Family MemberRule: Option-> Family Member Rule
10 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,ORGANIZATION_ID, JURISDICTION_CODE, PGM_ID, PL_ID, PL_TYP_ID, OPT_ID,LER_ID
11 Overloaded Contexts: No
12 Data base items available: All columns except attribute columns from ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and data base items based on personsassignment_id.
13 Input values available: No Input values are available.
14 Constraints using Data Base items: Database items other than the ones mentioned cant beused.
15 Formula output or return values: Formula should use pre-defined names for returnvariables.
Out Variable Name Data
Type
Value Remarks
L_FMLY_MMBR(Not a mandatory out variable)
Char Y/N If N is passed exceptionBEN_92321_FMM_INELIG is raised
8 Erroring: None
9 Sample Formula
/**********************************************************************
FORMULA NAME: BEN_TEST_FMLY_MMBRFORMULA TYPE: Family member DeterminationDESCRIPTION:
***********************************************************************
Change History:Name Date Description-----------------------------------------------------------------------Vikas Sethi 22-apr-2002 Initial Version
***********************************************************************FORMULA TEXT: Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*//*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
7/22/2019 OAB Fast formula user guide
30/184
/*================ FORMULA SECTION BEGIN =======================*/l_fmly_mmbr = FN_FMLY_MMBR_DETERMINATION()return l_fmly_mmbr
/*================ FORMULA SECTION ENDS =======================*/
10 Formula Functions used in the sample formula: Yes
/**********************************************************************FUNCTION NAME: BEN_TEST_FMLY_MMBRDATA TYPE : TextCLASS : External Function
ALIAS NAME :DESCRIPTION :DEFINITION : fn_fmly_mmbr_determinationCONTEXT : ASSIGNMENT_ID
BUSINESS_GROUP_ID
DATE_EARNEDPARAMTERS :
**********************************************************************/CREATE OR REPLACE FUNCTION FN_FMLY_MMBR_DETERMINATION
(p_asg_id IN number,p_business_group_id IN number,p_date_earned IN varchar2) RETURN varchar2 as
--l_rel_count number(2):= 0;
--cursor c_relationship isselect count(*)from per_all_assignments_f asg,
per_contact_relationships con,hr_lookups hlk
where asg.assignment_id = p_asg_idand asg.business_group_id = p_business_group_idand p_date_earned between asg.effective_start_date and
asg.effective_end_dateand con.person_id = asg.person_idand hlk.lookup_code = con.contact_typeand hlk.lookup_type = 'CONTACT'
and hlk.enabled_flag = 'Y'and p_date_earned between nvl(start_date_active, p_date_earned) and
nvl(end_date_active, p_date_earned)and hlk.lookup_code in (
A, -- Adopted Child
C, -- ChildOC ); -- Own Child
beginopen c_relationship;
fetch c_relationship into l_rel_count;close c_relationship;
If l_rel_count < 2 thenRETURN Y ;
ElseRETURN N;
7/22/2019 OAB Fast formula user guide
31/184
End if;End ;
11 Unit test script:
============================================================================
Formula Type: Maximum Waiting Period Date to Use
Functional Usage: The Maximum Waiting Period Date to Use formula can be used to determine
the date from which maximum waiting period for a person is to be calculated.
12 Navigation Path: Total Compensation -> Programs and Plans-> Option-> Family MemberRule
13 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,ORGANIZATION_ID, JURISDICTION_CODE, PGM_ID, PL_ID, PL_TYP_ID, OPT_ID,LER_ID
14 OverloadedContexts: No
15 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on personsassignment_id.
16 Input values available: No Input values are available.17 Constraints using Database items: Database items other than the ones mentioned abovecant be used.
18 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data
Type
Value Remarks
L_RET_DT(Not a mandatory out variable, anyname can be used)
Date
8 Erroring: If any other output value is passed back then process errors out by raising
BEN_91329_FORMULA_RETURN.9 Remarks: None
10 Sample Formula:/**********************************************************************
FORMULA NAME: BEN_MX_PER_TO_USEFORMULA TYPE : Maximum Waiting Period Date to UseDESCRIPTION : Formula evaluates the date from which the waiting period begins.
For managers the waiting period start date is the date of joining forOthers it is one year after the date of joining.
***********************************************************************Change History:Name Date Description-----------------------------------------------------------------------
Vikash Sethi 22-Feb-2002 Initial Version
***********************************************************************FORMULA TEXT: Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/Default for ACP_SERVICE_START_DATE is '01-JAN-0001' (date)Default for ASG_JOB is ' '
7/22/2019 OAB Fast formula user guide
32/184
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*/
/*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/l_ser_start_dt = ACP_SERVICE_START_DATEl_job = ASG_JOBif l_job = 'Manager' then
( l_ret_dt = l_ser_start_dt )else( l_ret_dt = add_months(l_ser_start_dt,12) )return l_ret_dt
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: None
12 Unit test script:
============================================================================
Formula Type: Participation Eligibility Start Date
13 Functional Usage: The Participation Eligibility Start Date formula can be used to determine thedate from which a person becomes eligible to participate in particular option in a plan.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan: Plan Eligibility:Participation Start Date -> Option Eligibility, Life Eligibility: Participation Start Date
15 Total Compensation -> Programs and Plan->Program-> Plan and Plan Types: Plans: Participation
16 Eligibility: Participation Start Date: Rule17 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,ORGANIZATION_ID, JURISDICTION_CODE, PGM_ID, PL_ID, PL_TYP_ID, OPT_ID,LER_ID
18 OverloadedContexts: No
19 Database items available: All columns except attribute columns from tables ben_ler_f,ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on persons
assignment_id.
20 Input values available: No Input values are available.
21 Constraints using Database items: Database items other than the ones mentioned above cant beused.
22 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data
Type
Value Remarks
L_PRTN_START_DT(Not a mandatory out variable,
any name can be used)
Date
8 Erroring: If any other output value is passed back then process errors out by raisingBEN_91329_FORMULA_RETURN.
9 Remarks: None
7/22/2019 OAB Fast formula user guide
33/184
10 Sample Formula:/**********************************************************************
FORMULA NAME: BEN_PRTN_ELIG_START_DT
FORMULA TYPE : Participation Eligibility Start DateDESCRIPTION : Formula to determine persons eligibility start date in a particular plan option. It
returns the effective date as the eligibility start date
***********************************************************************Change History:
Name Date Description-----------------------------------------------------------------------Vikash Sethi 25-Apr-2002 Initial Version
***********************************************************************FORMULA TEXT: Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*//*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/
l_prtn_start_dt = fn_effective_date()return l_prtn_start_dt
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE
12 Unit test script:
Formula Type: Participation Eligibility End Date
13 Functional Usage: The Participation Eligibility End Date formula can be used to determine thedate on which a person loses eligibility to participate in particular option in a plan.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan: Plan Eligibility:Participation End Date -> Option Eligibility, Life Eligibility: Participation End DateTotal Compensation -> Programs and Plan->Program-> Plan and Plan Types: Plans: ParticipationEligibility: Participation End Date: Rule
15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,ORGANIZATION_ID, JURISDICTION_CODE, PGM_ID, PL_ID, PL_TYP_ID, OPT_ID,LER_ID
16 OverloadedContexts: No17 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on personsassignment_id.
18 Input values available: No Input values are available.
19 Constraints using Database items: Database items other than the ones mentioned above cant beused.
20 Formula output or return values: No need to use predefined names for return variables.
7/22/2019 OAB Fast formula user guide
34/184
Out Variable NameData
Type
Value Remarks
L_PRTN_END_DT(Not a mandatory out variable,any name can be used)
Date
8 Erroring: If any other output value is passed back then process errors out by raisingBEN_91329_FORMULA_RETURN.
9 Remarks : None
10 Sample Formula:
/******************************************************************************FORMULA NAME: BEN_PRTN_ELIG_END_DTFORMULA TYPE : Participation Eligibility End DateDESCRIPTION : Formula to determine the participation eligibility end date for person in a
particular compensation object . It returns eligibility end date as two years from
the effective date.*******************************************************************************Change History:
Name Date Description-----------------------------------------------------------------------Vikash Sethi 25-Apr-2002 Initial Version
***********************************************************************FORMULA TEXT:
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*//*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*//*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/l_date_earned = fn_effective_date()l_prtn_end_dt = add_months(l_date_earned,24)
return l_prtn_end_dt/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE
12 Unit Test Script:
============================================================================
7/22/2019 OAB Fast formula user guide
35/184
Formula Type: Waive Certification Required
Functional Usage: The Waive Certification Required formula can be used to define a custom logic to
evaluate if a certificate is to be produced if a person decides to waive a particular compensationobject.
Navigation Path: Total Compensation -> Programs and Plans-> Plan: Waiving: Waive Certificate:
Certification Required When Rule
Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED, ORGANIZATION_ID,JURISDICTION_CODE, PGM_ID, PL_ID, PL_TYP_ID, OPT_ID, LER_ID, SOURCE_TEXT
Overloaded Contexts: ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID
Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f,ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on persons assignment_id.
Input values available:No Input values are available.
Constraints using Database items: Database items other than the ones mentioned above cant beused.
Formula output or return values: No need to use predefined names for return variables.
Out Variable NameData
Type
Value Remarks
L_CERT_REQD(Not a mandatory variable, anyname can be used)
Char Y/N
8 Erroring: None
9 Remarks:None
10 Sample Formula:
/******************************************************************************
FORMULA NAME: BEN_WAIV_CERT_REQD
FORMULA TYPE : Waive Certification RequiredDESCRIPTION : Formula to evaluate if a certificate is to be produced when a person decides towaive a plan enrollment. In case the person is aged above 35 then certificate is not required
*******************************************************************************
Change History:Name Date Description-----------------------------------------------------------------------Vikash Sethi 25-Apr-2002 Initial Version
***********************************************************************FORMULA TEXT: Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*//*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*============== INPUT VALUES DEFAUT ENDS ======================*//*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/l_dob = fn_date_of_birth()l_effective_date = fn_effective_Date()l_age = trunc(months_between(l_effective_date, l_dob)/12)if l_age > 35 then
7/22/2019 OAB Fast formula user guide
36/184
(l_cert_reqd = 'N')else(l_cert_reqd = 'Y')return l_cert_reqd
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE,
FN_DATE_OF_BIRTH
12 Unit test script:
============================================================================
Formula Type: Participation and Rate Eligibility
Functional Usage: The Participation And Rate Eligibility formula can be used to determine whether a
person is eligible for an associated compensation object.
Navigation Path: Total Compensation -> Programs and Plans-> Plan: Plan Eligibility: Eligibility:Rule: Eligibility Profile Rule
Total Compensation -> Programs and Plan->Program-> Plan and Plan Types: ParticipationEligibility: Eligibility: Rule: Eligibility Profile Rule
13 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED, PGM_ID, PL_ID,
OPT_ID, LER_ID
14 Overloaded Contexts:No
15 Database items available: All columns except attribute columns from tables ben_ler_f,ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on personsassignment_id.
16 Input values available:No Input values are available.
17 Constraints using Database items: Database items other than the ones mentioned above cant beused.
18 Formula output or return values: Formula should use pre defined names for return variables
Out Variable Name DataType Value Remarks
ELIGIBLE
(Not a mandatory out variable)
Char Y/N
8 Erroring: If any other output value is passed back then process errors out by raising
BEN_91329_FORMULA_RETURN.
9 Remarks : None
10 Sample Formula:/******************************************************************************FORMULA NAME: BEN_PRTN_AND_RT_ELIGFORMULA TYPE : Participation and Rate Eligibility
DESCRIPTION : The formula checks the gender to evaluate the eligibility of a person to a
particular compensation object. This rule makes only females eligible to a compensation object*******************************************************************************Change History:
Name Date Description-----------------------------------------------------------------------Vikash Sethi 25-Apr-2002 Initial Version
***********************************************************************
FORMULA TEXT: Logic in simple terms.
7/22/2019 OAB Fast formula user guide
37/184
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*//*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*============== INPUT VALUES DEFAUT ENDS ======================*//*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/l_gender = fn_gender()if l_gender = 'M' then( ELIGIBLE = 'N' )
else( ELIGIBLE = 'Y')return ELIGIBLE
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_GENDER
12 Unit test script:
============================================================================
Formula Type: Maximum Period of Enrollment Determination Date
Functional Usage: The Maximum Period of Enrollment Determination Date formula can be used todetermine the low date to be used when determining whether the person has been enrolled in a
plan or option in plan for the maximum period of time.
Navigation Path: Total Compensation -> Programs and Plans-> Plan: Plan Eligibility: MaximumEnrollment: Date Determination Rule
Total Compensation -> Programs and Plan->Program-> Plan and Plan Types: Plans: ParticipationEligibility: Maximum Enrollment: Date Determination Rule
Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED, ORGANIZATION_ID,
JURISDICTION_CODE, PGM_ID, LER_ID, PER_PAY_METHOD_IDOverloaded Contexts: PER_PAY_METHOD_ID is overloaded with REGN_ID
Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_fand database items based on persons assignment_id.
Input values available:No Input values are available.
Constraints using Database items: Database items other than the ones mentioned above cant beused.
Formulas output or return values: No need to use predefined names for return variables.
Out Variable Name Data
Type
Value Remarks
L_POE_DET_DT
(Not a mandatory out variable,
any name can be used)
Date
8 Erroring:None
9 Remarks:None
10 Sample Formula:
/**********************************************************************
FORMULA NAME: BEN_MX_POE_DET_DTFORMULA TYPE : Maximum Period of Enrollment Determination DateDESCRIPTION : The formula returns the effective date***********************************************************************
7/22/2019 OAB Fast formula user guide
38/184
Change History:Name Date Description-----------------------------------------------------------------------Vikash Sethi 25-Apr-2002 Initial Version
***********************************************************************
FORMULA TEXT: Logic in simple terms.
**********************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*//*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*//*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/
l_poe_det_dt = fn_effective_date()return l_poe_det_dt/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE
12 Unit test script:
===========================================================================
=
Formula Type: Maximum Period of Enrollment
13 Functional Usage: The Maximum Period of Enrollment formula is used to determine the
maximum length of time for a person to be enrolled in a plan or in a option in plan.14 Navigation Path: Total Compensation -> Programs and Plans-> Plan: Plan Eligibility: MaximumEnrollment: Rule
Total Compensation -> Programs and Plan->Program-> Plan and Plan Types:Plans: Participation Eligibility: Maximum Enrollment: Rule
15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,ORGANIZATION_ID, JURISDICTION_CODE, PGM_ID, PL_TYP_ID, LER_ID,
PER_PAY_METHOD_ID
16 OverloadedContexts: PER_PAY_METHOD_ID is overloaded with REGN_ID
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pl_f,ben_pgm_f and database items based on persons assignment_id.
18 Input values available: No Input values are available.
19 Constraints using Database items: Database items other than the ones mentioned above cant be
used.20 Formula output or return values: No need to use predefined names for return variables.
Out Variable NameData
Type
Value Remarks
L_MX_POE
(Not a mandatory out variable,any name can be used)
Date
7/22/2019 OAB Fast formula user guide
39/184
8 Erroring: If any other output value is passed back then process errors out by raisingBEN_91329_FORMULA_RETURN.
9 Remarks:None
10 Sample Formula:
/******************************************************************************
FORMULA NAME: BEN_MX_POE
FORMULA TYPE : Maximum Period of EnrollmentDESCRIPTION : Formula to determine the maximum period of enrollment for person.It returns eligibility end date as two years from the effective date.
*******************************************************************************Change History:Name Date Description
-----------------------------------------------------------------------Vikash Sethi 25-Apr-2002 Initial Version
***********************************************************************
FORMULA TEXT: Logic in simple terms.
**********************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*//*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*//*============== INPUT VALUES DEFAUT ENDS ======================*//*================= INPUTS SECTION BEGIN ========================*/
/*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/l_date_earned = fn_effective_date()l_mx_poe = add_months(l_date_earned,24)
return l_mx_poe/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE12 Unit test script:
Formula Type: Enrollment Coverage Start Date
13 Functional Usage: The Enrollment Coverage Start Date formula can be used to determine the
date from which the enrollment coverage starts for a compensation object.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements:General: Plan: Coverage: Enrollment Coverage Start Date Rule
15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,ORGANIZATION_ID, JURISDICTION_CODE, PGM_ID, PL_ID, PL_TYP_ID, OPT_ID,LER_ID, PAYROLL_ACTION_ID
16 OverloadedContexts: PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID,ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f,ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on personsassignment_id.
18 Input values available: No Input values are available.
19 Constraints using Database items: Database items other than the ones mentioned above cant beused.
20 Formula output or return values: No need to use predefined names for return variables.
7/22/2019 OAB Fast formula user guide
40/184
Out Variable Name Data
Type
Value Remarks
L _START_DT(Not a mandatory out variable,any name can be used)
Date
8 Erroring: None
9 Remarks: None
10 Sample Formula:/**********************************************************************
FORMULA NAME: BEN_ENRT_COV_START_DTFORMULA TYPE : Enrollment Coverage Start DateDESCRIPTION : Formula to determine persons enrollment coverage start date. The coverage
start date is calculated as the day on which the person turns 21.
***********************************************************************Change History:Name Date Description-----------------------------------------------------------------------
Vikash Sethi 25-Apr-2002 Initial Version
***********************************************************************FORMULA TEXT:
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date)/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*//*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/l_dob = PER_DATE_OF_BIRTH (date)if PER_DATE_OF_BIRTH was defaulted then
(l_min_age = 12*21l_start_dt = add_months(l_dob,l_min_age)
)
else(
l_start_dt = '01-jan-3000' (date)
)return l_start_dt
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: None
12 Unit test script:
7/22/2019 OAB Fast formula user guide
41/184
Formula Type: Enrollment End
13 Functional Usage: The Enrollment End formula can be used to determine the date on which a
person loses coverage for a particular compensation object.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements:
General: Plan: Coverage: Enrollment Coverage Start Date Rule15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,ORGANIZATION_ID, JURISDICTION_CODE, PGM_ID, PL_ID, PL_TYP_ID, OPT_ID,LER_ID, PAYROLL_ACTION_ID
16 OverloadedContexts: PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID,ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f,ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on personsassignment_id.
18 Input values available: No Input values are available.
19 Constraints using Database items: Database items other than the ones mentioned above cant beused.
20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name
Data
Type
Value Remarks
L_END_DT(Not a mandatory out variable,any name can be used)
Date
8 Erroring: None.
9 Remarks: None
10 Sample Formula:/******************************************************************************
FORMULA NAME: BEN_ENRT_ENDFORMULA TYPE : Enrollment EndDESCRIPTION : Formula to determine the enrollment coverage end date for person in a
Compensation object. It returns end date as the date on which the person
turns 25.*******************************************************************************
Change History:Name Date Description
-----------------------------------------------------------------------Vikash Sethi 25-Apr-2002 Initial Version
***********************************************************************
FORMULA TEXT: Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date)
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*//*============== INPUT VALUES DEFAUT ENDS ======================*/
7/22/2019 OAB Fast formula user guide
42/184
/*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/l_dob = PER_DATE_OF_BIRTH (date)
if not PER_DATE_OF_BIRTH was defaulted then
( l_min_age = 12*25l_end_dt = add_months(l_dob,l_min_age)
l_end_dt = add_days(l_end_dt, -1))else(
l_end_dt = l_dob
)return l_end_dt
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: None
12 Unit test script: None
Formula Type: Rate Start Date
13 Functional Usage: The Rate Start Date formula can be used to determine the date on which therate for enrollment result starts for a participant.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements:General: Plan: Rate: Rate Start Date Rule
15 Contexts: BUSINESS_GROUP_ID, PAYROLL_ACTION_ID, ASSIGNMENT_ID,DATE_EARNED, ORGANIZATION_ID, JURISDICTION_CODE, PGM_ID, PL_ID,PL_TYP_ID, OPT_ID, LER_ID
16 OverloadedContexts: ORGANIZATION_ID is overloaded with
ELIG_PER_ELCTBL_CHC_ID, PAYROLL_ACTION_ID is overloaded withACTIVITY_BASE_RT_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f,ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on personsassignment_id.
18 Input values available: No Input values are available.
19 Constraints using Database items: Database items other than the ones mentioned above cant beused.
20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data
Type
Value Remarks
L _START_DT(Not a mandatory out variable,any name can be used)
Date
8 Erroring:None
9 Remarks: None
10 Sample Formula:/**********************************************************************
FORMULA NAME: BEN_RT_START_DT
7/22/2019 OAB Fast formula user guide
43/184
FORMULA TYPE : Rate Start DateDESCRIPTION : Formula to determine participants rate start date for an enrollment result. Therate start date is calculated as the day on which the person turns 21.***********************************************************************Change History:
Name Date Description
-----------------------------------------------------------------------Vikash Sethi 25-Apr-2002 Initial Version
***********************************************************************FORMULA TEXT: Logic in simple terms.
**********************************************************************//*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date)/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*//*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/l_dob = PER_DATE_OF_BIRTH (date)if not PER_DATE_OF_BIRTH was defaulted then(
l_min_age = 12*21 /* age in months */l_start_dt = add_months(l_dob,l_min_age)
)else(
l_start_dt = '31-Dec-4712' (date) /* end of time */)return l_start_dt/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: None
12 Unit test script:
Formula Type: Rate End Date
13 Functional Usage: The Rate End Date formula can be used to determine the date on which therate for enrollment result ends for a participant.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements:
General: Plan: Rate: Rate Start Date Rule15 Contexts: BUSINESS_GROUP_ID, PAYROLL_ACTION_ID, ASSIGNMENT_ID,
DATE_EARNED, ORGA