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:
  • 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 variables table

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.

Note: Needs PERSON_ID context to work.
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 I_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