Person Change Life Event Fast Formula
- Recently i had requirement of triggering life event in below cases.
(1) Change of working hours >= 30
(2) Change of working hours < 30
(3) Employees' termination or Death
(4) Salary Change
Below are the fast formulas that i have used to achieve the requirement.
(1)
/*****************************************************************************
FORMULA NAME: XX_CHG_WORKING_HOURS_GT_30
FORMULA TYPE: Person Life Changes
BEN_ASG_IN_NORMAL_HOURS = New Value
BEN_ASG_IO_NORMAL_HOURS = Old Value
*******************************************************************************/
INPUTS ARE BEN_ASG_IN_NORMAL_HOURS(text),BEN_ASG_IO_NORMAL_HOURS(text)
Default for BEN_ASG_IO_NORMAL_HOURS is '999'
Default for BEN_ASG_IN_NORMAL_HOURS is '999'
l_return = 'N'
IF (to_number(BEN_ASG_IO_NORMAL_HOURS) <> to_number(BEN_ASG_IN_NORMAL_HOURS) AND to_number(BEN_ASG_IO_NORMAL_HOURS)>= 30 AND to_number(BEN_ASG_IN_NORMAL_HOURS)< 30)
then
(l_return = 'Y')
else
(l_return = 'N')
return l_return
(2)
/*****************************************************************************
FORMULA NAME: XX_CHG_WORKING_HOURS_LT_30
FORMULA TYPE: Person Life Changes
*******************************************************************************/
INPUTS ARE BEN_ASG_IN_NORMAL_HOURS(text),BEN_ASG_IO_NORMAL_HOURS(text)
Default for BEN_ASG_IO_NORMAL_HOURS is '999'
Default for BEN_ASG_IN_NORMAL_HOURS is '999'
l_return = 'N'
IF (to_number(BEN_ASG_IO_NORMAL_HOURS) <> to_number(BEN_ASG_IN_NORMAL_HOURS) AND to_number(BEN_ASG_IO_NORMAL_HOURS)< 30 AND to_number(BEN_ASG_IN_NORMAL_HOURS)>= 30)
then
(l_return = 'Y')
else
(l_return = 'N')
return l_return
(3)
/*****************************************************************************
FORMULA NAME: XX_TERMINATION_LE
FORMULA TYPE: Person Life Changes
*******************************************************************************/
DEFAULT FOR PER_PER_ENTERPRISE_TERMINATION_ACTION_CODE is 'X'
L_RETURN='N'
IF (PER_PER_ENTERPRISE_TERMINATION_ACTION_CODE = 'TERMINATION' OR PER_PER_ENTERPRISE_TERMINATION_ACTION_CODE = 'RESIGNATION' OR PER_PER_ENTERPRISE_TERMINATION_ACTION_CODE ='DEATH' ) THEN
L_RETURN='Y'
RETURN L_RETURN
(4)
/*****************************************************************************
FORMULA NAME: XX_SALARY_CHG_LE
FORMULA TYPE: Person Life Changes
*******************************************************************************/
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 (TO_NUMBER(BEN_SAL_IO_SALARY_AMOUNT) <> TO_NUMBER(BEN_SAL_IN_SALARY_AMOUNT))
THEN
( l_create_ptnl = 'Y' )
ELSE
( l_create_ptnl = 'N' )
return l_create_ptnl