個人変更連携ライフ・イベント

この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