加入およびレートの適格
このFormulaタイプを使用して、個人が関連する報酬オブジェクトに適格かどうかを決定できます。適格プロファイルの定義時に、Formulaを基準として選択します。
コンテキスト
このタイプのFormulaでは、次のようなコンテキストを利用できます。
- BUSINESS_GROUP_ID ( ENTERPRISE_ID)
- EFFECTIVE_DATE
- HR_ASSIGNMENT_ID
- LER_ID
- OPT_ID
- ORGANIZATION_ID
- PGM_ID
- PL_ID
- PL_TYP_ID
- PERSON_ID
データベース・アイテム
このタイプのFormulaで使用可能な次のデータベース・アイテムのみを使用します。
- 表の属性列を除くすべての列:
- EN_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では入力変数を使用できません。
戻り変数
戻り変数には事前定義の名前を使用します。このタイプのFormulaでは、次のような戻り変数を利用できます。
戻り値 | データ型 | 必須 | 摘要 |
---|---|---|---|
ELIGIBLE | 文字 | 任意 | YまたはNを返します |
Erros
他の出力値が返された場合、次に示すように、加入プロセスはBEN_91329_FORMULA_RETURNでエラーになります。
Formula BEN_PRTT_FTE_ELIGが無効な値を戻しました。 |
サンプルFormula 1:
Formula名: BEN_PRTT_FTE_ELIG
Formulaタイプ: 加入およびレートの適格
説明: このサンプルFormulaは、アサイメントのFTEに基づいて、個人が報酬オブジェクトに適格かどうかを決定します。
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
Default for PER_ASG_FTE is 0
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/
l_fte = PER_ASG_FTE
ELIGIBLE = ‘N’
IF l_fte = 1 THEN
(ELIGIBLE = ‘Y’)
return ELIGIBLE
/*================ FORMULA SECTION END =======================*/
サンプルFormula 2:
Formula名: BEN_PRTT_ASG_ELIG
Formulaタイプ: 加入およびレートの適格
説明: このサンプルFormulaは、個人が居住国に基づいて報酬オブジェクトに適格かどうかを決定します。ノート: 動作するには、PERSON_IDコンテキストが必要です。
Default for PER_PER_ADD_COUNTRY is 'X'
l_cntry = PER_PER_ADD_COUNTRY
ELIGIBLE = 'N'
IF (l_cntry = 'US') THEN
(ELIGIBLE = 'Y')
return ELIGIBLE
サンプルFormula 3:
Formulaタイプ: 加入およびレートの適格
目的: (システム内にカスタム・ユーザー・ロールが構成されている場合に) DBI項目を使用して、年齢が26歳未満の扶養家族(子)が参加者に存在する場合に適格を返します。
DEFAULT_DATA_VALUE FOR PER_PER_CONT_REL_CONTACT_PERSON_ID is 0
DEFAULT_DATA_VALUE FOR PER_PER_CONT_REL_CONTACT_TYPE is 'NA'
DEFAULT FOR PER_PER_DATE_OF_BIRTH is '1951/01/01 00:00:00' (date)
l_eff_date = GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 00:00:00'))
ELIGIBLE='N'
i=1
WHILE PER_PER_CONT_REL_CONTACT_PERSON_ID.EXISTS(i)
loop
(
if ( PER_PER_CONT_REL_CONTACT_TYPE[i]='C' ) then
(
CHANGE_CONTEXTS(PERSON_ID=PER_PER_CONT_REL_CONTACT_PERSON_ID[i])
(
l_dob = PER_PER_DATE_OF_BIRTH
if ( months_between(l_eff_date,l_dob) < 312 ) then
(
/* there is a child whose age is less than 26 years */
ELIGIBLE='Y'
EXIT
)
) /* end change_contexts */
) /* end contact_type = C */
i=i+1
) /* end loop on contacts */
return ELIGIBLE
サンプルFormula 4:
Formula名: BEN_TOB_USE_DEP_ELIG_FF
Formulaタイプ: 加入およびレートの適格
説明: 扶養家族のタバコ使用状況の詳細を検証しています。
BEN_PHB_TOBACCO_TYPE_USAGEのDEFAULTは'xyz'です
PER_EXT_CONT_PER_PERSON_IDのDEFAULT_DATA_VALUEは0です
/************FORMULA SECTION BEGIN*************/
ELIGIBLE= 'N'
i = 1
/*Checking for the TOBACCO_USER lookup code as 'Y' corresponding to the meaning as 'ANY'*/
while PER_EXT_CONT_PER_PERSON_ID.exists(i) loop
(
CHANGE_CONTEXTS(PERSON_ID = PER_EXT_CONT_PER_PERSON_ID[i])
(
If BEN_PHB_TOBACCO_TYPE_USAGE = 'Y' THEN
(ELIGIBLE = 'Y' )
i = i + 1
)
)
Return ELIGIBLE