Person Change Causes Life Event
This formula type can be used to determine whether to trigger a person life event or not.
Contexts
- HR_RELATIONSHIP_ID
- HR_TERM_ID
- PAYROLL_RELATIONSHIP_ID
- PAYROLL_TERM_ID
- LEGAL_EMPLOYER_ID
- DATE_EARNED
- HR_ASSIGNMENT_ID
- BUSINESS_GROUP_ID
- PERSON_ID
- JOB_ID
- EFFECTIVE_DATE
- PAYROLL_ASSIGNMENT_ID
- LEGISLATIVE_DATA_GROUP_ID
- ORGANIZATION_ID
- BENEFIT_RELATION_ID
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:
- BEN_CVG_AMT_CALC_MTHD_F
- BEN_LER_F
- BEN_OIPL_F
- BEN_OPT_F
- BEN_PGM_F
- BEN_PLIP_F
- BEN_PL_F
- BEN_PL_TYP_F
- BEN_PTIP_F
- BEN_YR_PERD
- Database items based on person’s assignment – HR_ASSIGNMENT_ID AND PERSON_ID.
Input Variables
Input variables are available to formulas of this type. Refer to Appendix 2 for list of input value.
Return Variables
Use predefined names for return variables. The following return variables are available to formulas of this type.
Return Value | Data Type | Required | Description |
---|---|---|---|
L_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.
/*=========== INPUT VALUES DEFAULTS BEGIN =====================*/
Inputs are BEN_ASG_IN_ASSIGNMENT_TYPE (text), BEN_ASG_IO_ASSIGNMENT_TYPE (text)
DEFAULT for BEN_ASG_IN_ASSIGNMENT_TYPE is ‘xyz’
DEFAULT for BEN_ASG_IO_ASSIGNMENT_TYPE is ‘abc’
/*=========== INPUT VALUES DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_return = ‘N’
IF ( BEN_ASG_IN_ASSIGNMENT_TYPE = ‘A’
and BEN_ASG_IO_ASSIGNMENT_TYPE= ‘B’ )
then
(l_return = ‘Y’)
else
(l_return = ‘N’)
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.
Default for PER_PER_ADD_COUNTRY is ‘AA’
l_country = PER_PER_ADD_COUNTRY
l_return = ‘N’
IF (l_country = ‘US’ or l_country = ‘CA’)
THEN
(l_return = ‘Y’)
return l_return
Sample Formula 3:
FORMULA NAME: TERM_YES_NO
DESCRIPTION: Formula to determine Termination life event
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_ASG_ACTION_CODE is ' '
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/
l_action_code = PER_ASG_ACTION_CODE
l_create_ptnl = 'N'
if NOT PER_ASG_ACTION_CODE was defaulted then (
if (l_action_code='RESIGNATION' or l_action_code='TERMINATION') then (l_create_ptnl = 'Y')
else
(l_create_ptnl = 'N')
)
return l_create_ptnl
Sample Formula 4:
FORMULA NAME : BEN_SAL_CHG_TRIG_FF
FORMULA TYPE : Person Changes Causes Life event
DESCRIPTION : Formula to determine when to trigger SAL CHANGE Life event.
inputs are BEN_SAL_IN_SALARY_AMOUNT(text), BEN_SAL_IO_SALARY_AMOUNT(text)
default for BEN_SAL_IN_SALARY_AMOUNT is '99999999' default for BEN_SAL_IO_SALARY_AMOUNT is '99999999'
l_create_ptnl = 'N'
If (BEN_SAL_IO_SALARY_AMOUNT = '99999999' or
BEN_SAL_IN_SALARY_AMOUNT = BEN_SAL_IO_SALARY_AMOUNT )
THEN
( l_create_ptnl = 'N' )
ELSE
( l_create_ptnl = 'Y' )
return l_create_ptnl
Sample Formula 5:
/***************************************************
FORMULA NAME : Legal Employer Transfer or New Hire
FORMULA TYPE : Person Changes Causes Life Event
****************************************************/
INPUTS are BEN_ASG_IN_ACTION_CODE(text), BEN_ASG_IO_ACTION_CODE(text)
DEFAULT for PER_ASG_ACTION_CODE is 'AA'
l_action_code='XX'
l_old_action_code='YY'
l_action_code = BEN_ASG_IN_ACTION_CODE
l_old_action_code =BEN_ASG_IO_ACTION_CODE
l_return = 'N'
if (l_action_code<>'XX') then
(
if ((l_action_code = 'HIRE' or l_action_code= 'GLB_TRANSFER') and
l_action_code <> l_old_action_code ) then
(
l_return = 'Y'
)
else
(
l_return = 'N'
)
)
return l_return
Sample Formula 6:
/*******************************************************
FORMULA NAME: BEN_POS_CHG_TRIGGER_FF
FORMULA TYPE: Person Change Causes Life Event
DESCRIPTION: FF to trigger 'Position Change' life event.
********************************************************/
INPUTS ARE NEW_VAL (text), OLD_VAL (text), COLUMN (text), PK_ID (text), BEN_ASG_IO_HOURLY_SALARIED_CODE (text), BEN_ASG_IN_HOURLY_SALARIED_CODE (text)
DEFAULT FOR OLD_VAL IS 'NONE'
DEFAULT FOR NEW_VAL IS 'NONE'
DEFAULT FOR BEN_ASG_IN_HOURLY_SALARIED_CODE IS 'NONE'
DEFAULT FOR BEN_ASG_IO_HOURLY_SALARIED_CODE IS 'NONE'
DEFAULT FOR PER_ASG_ACTION_CODE IS 'NONE'
DEFAULT for PER_ASG_HOURLY_SALARIED_CODE is 'NONE'
l_hourly_code = PER_ASG_HOURLY_SALARIED_CODE
l_action_code = PER_ASG_ACTION_CODE
l_return = 'N'
/* Check if Action is 'Position Change' OR 'Promotion' */
IF (((l_hourly_code = 'H') AND ((l_action_code = 'POSITION_CHANGE') OR (l_action_code = 'PROMOTION')) AND (OLD_VAL <> NEW_VAL))
OR ((l_action_code = 'PROMOTION') AND ((BEN_ASG_IO_HOURLY_SALARIED_CODE = 'H') AND (BEN_ASG_IN_HOURLY_SALARIED_CODE = 'S'))))
THEN
(
l_return = 'Y'
)
RETURN l_return
Sample Formula 7:
/****************************************************
FORMULA TYPE: Person Change Causes Life Event
*****************************************************/
INPUTS ARE NEW_VAL (text), OLD_VAL (text), COLUMN (text), PK_ID (text)
DEFAULT FOR OLD_VAL IS 'NONE'
DEFAULT FOR NEW_VAL IS 'NONE'
DEFAULT FOR PER_ASG_ACTION_CODE IS 'NONE'
DEFAULT for PER_ASG_HOURLY_SALARIED_CODE is 'NONE'
l_debug = 'Y'
l_hourly_code = PER_ASG_HOURLY_SALARIED_CODE
l_action_code = PER_ASG_ACTION_CODE
l_return = 'N'
IF ((l_hourly_code = 'H') AND (l_action_code = 'WORK_HOURS_CHANGE') AND (OLD_VAL <> NEW_VAL)) THEN
(
l_return = 'Y'
)
RETURN l_return
Sample Formula 8:
FORMULA NAME : New Hire
FORMULA TYPE : Person Changes Causes Life event
DESCRIPTION : Formula to check if there is any assignment change. If the action code is hire, rehire, or global transfer, it returns Yes and then triggers the life event.
INPUTS are NEW_VAL(text), OLD_VAL(text), COLUMN(text), PK_ID(text),
BEN_ASG_IN_ACTION_CODE(text), BEN_ASG_IO_ACTION_CODE(text) ,BEN_ASG_IN_ASSIGNMENT_TYPE(text)
default for NEW_VAL is 'XXX'
default for OLD_VAL is 'ZZZ'
default for BEN_ASG_IN_ACTION_CODE is 'XX'
default for BEN_ASG_IO_ACTION_CODE is 'XX'
l_create_ptnl = 'N'
lterm = 'XX'
l_old_term ='XX'
lterm = BEN_ASG_IN_ACTION_CODE
l_old_term =BEN_ASG_IO_ACTION_CODE
if (ISNULL(lterm)='N' ) then
(
lterm='XX'
)
if (ISNULL(l_old_term)='N' ) then
(
l_old_term='XX'
)
if (lterm<>'XX') then
(
if ((lterm='HIRE' or lterm='REHIRE' or lterm='GLB_TRANSFER' ) AND
(lterm <> l_old_term) and ,BEN_ASG_IN_ASSIGNMENT_TYPE='E') THEN
(l_create_ptnl = 'Y')
)
return l_create_ptnl