個人変更連携ライフ・イベント
このFormulaタイプは、個人ライフ・イベントをトリガーするかどうかを決定するために使用できます。
コンテキスト
このタイプのFormulaでは、次のようなコンテキストを利用できます。
- 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
データベース・アイテム
このタイプのFormulaで使用可能な次のデータベース・アイテムのみを使用します。
- 次の表の属性列を除くすべての列:
- 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
- 個人のアサイメントに基づくデータベース・アイテム- HR_ASSIGNMENT_IDおよびPERSON_ID。
入力変数
このタイプのFormulaでは、入力変数を使用できます。入力値のリストは付録2を参照してください。
戻り変数
戻り変数には事前定義の名前を使用します。このタイプのFormulaでは、次のような戻り変数を利用できます。
戻り値 | データ型 | 必須 | 摘要 |
---|---|---|---|
L_RETURN | 文字 | 任意 | YまたはNを返します |
エラー
他の出力値が返された場合、加入プロセスはBEN_91329_FORMULA_RETURNでエラーになります。
サンプルFormula 1:
Formula名: BEN_TRIGGER_ASG_EVENT FORMULA
タイプ: 個人変更連携ライフ・イベント
説明: 個人のアサイメント・タイプが特定の値から別の値に変更されると、イベントがトリガーされます。
/*=========== 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 =======================*/
サンプルFormula 2:
Formula名: BEN_ADDRESS_CHG_EVENT
Formulaタイプ: 個人変更連携ライフ・イベント
説明: ライフ・イベントは、米国またはCAに基づく個人に対してのみトリガーする必要があります。
ノート: 動作するには、PERSON_IDコンテキストが必要です。
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
サンプルFormula 3:
Formula名: TERM_YES_NO
説明: 退職ライフ・イベントを決定するFormula
/*=========== 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
サンプルFormula 4:
Formula名: BEN_SAL_CHG_TRIG_FF
Formulaタイプ: 個人変更連携ライフ・イベント
説明: SAL CHANGEライフ・イベントをトリガーするタイミングを決定するFormula。
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
サンプル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
サンプル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
サンプル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
サンプルFormula 8:
Formula名: 新規採用
Formulaタイプ: 個人変更連携ライフ・イベント
説明: 割当変更があるかどうかを確認するFormula。異動区分コードが採用、再雇用、またはグローバル異動の場合は、「はい」が返され、ライフ・イベントがトリガーされます。
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