登録証明要
このFormulaタイプは、登録に証明が必要かどうかを決定するために使用されます。
コンテキスト
次のコンテキストを使用できます。
- BUSINESS_GROUP_ID ( ENTERPRISE_ID)
- EFFECTIVE_DATE
- HR_ASSIGNMENT_ID
- PGM_ID
- PL_ID
- PER_IN_LER_ID
- LER_ID
- BENEFIT_RELATION_ID
- PL_TYP_ID
- OPT_ID
- ORGANIZATION_ID
- ELIG_PER_ELCTBL_CHC_ID
- ENRT_CTFN_TYP_CD
データベース・アイテム
このタイプのFormulaで使用可能な次のデータベース・アイテムのみを使用します。
- 個人のアサイメントに基づくデータベース・アイテム: HR_ASSIGNMENT_IDおよびPERSON_ID
入力変数
このタイプのFormulaでは入力変数を使用できません。
戻り変数
このタイプのFormulaでは、次のような戻り変数を利用できます。 任意の名前を戻り変数に使用できます。
出力変数名 | データ型 | 備考 |
---|---|---|
L_OUTPUT | Varchar | Y/N |
サンプルFormula 1:
Formulaタイプ: 登録証明要
説明: 自己割当ライフ・イベントの証明をトリガーします。
DEFAULT FOR BEN_PLN_NAME IS 'X'
DEFAULT FOR BEN_OPT_NAME IS 'X'
DEFAULT FOR BEN_LER_NAME is 'XXX'
l_return='Y'
l_emp_enrd='N'
l_lf_evt_ocrd_dt = GET_CONTEXT(EFFECTIVE_DATE,to_date('1951/01/01 00:00:00') )
l_self_assign_event = 'N'
l_first_event = 'N'
l_ler_name = BEN_LER_NAME
l_pl_name = BEN_PLN_NAME
l_opt_name = BEN_OPT_NAME
IF
(
l_ler_name = 'Marriage' OR
l_ler_name = 'Birth' OR
l_ler_name = 'Adoption' OR
l_ler_name = 'Divorce' OR
l_ler_name = 'Change Beneficiary' OR
l_ler_name = 'Death of a Dependent'
) THEN (l_self_assign_event = 'Y')
l_day_before = add_days(l_lf_evt_ocrd_dt,-1)
change_contexts(EFFECTIVE_DATE=l_day_before)
(
l_emp_enrd = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED',l_pl_name,l_opt_name)
)
if ( (l_emp_enrd = 'Y')
or (l_ler_name like '%System Implementation%')
or (l_self_assign_event = 'N' )
) then
(
l_return = 'N'
)
return l_return
サンプルFormula 2:
Formulaタイプ: 登録証明要
説明: 参加者が補償範囲の削減を選択したときに、従業員生命保険の認定をトリガーしないでください。
DEFAULT FOR BEN_OPT_NAME is 'ABC'
DEFAULT_DATA_VALUE FOR BEN_PIL_LF_EVT_OCRD_DT_TN IS '1951/01/01 00:00:00'(date)
DEFAULT_DATA_VALUE FOR BEN_PIL_PER_IN_LER_STAT_CD_TN IS 'NA'
l_opt_name = BEN_OPT_NAME
i=1
l_cert_reqd ='Y'
l_eff_date = GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 00:00:00') )
/* get the life date for the started event */
WHILE BEN_PIL_LF_EVT_OCRD_DT_TN.exists(i) LOOP
( IF (BEN_PIL_PER_IN_LER_STAT_CD_TN[i] ='STRTD') THEN
(
l_eff_date = BEN_PIL_LF_EVT_OCRD_DT_TN[i]
EXIT
)
i=i+1
) /* end while */
/* get the enrolled option in the past life event*/
CHANGE_CONTEXTS(EFFECTIVE_DATE=add_days(l_eff_date,-1))
(
l_opt1_prev = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Supplemental Employee Life','1X Annual Salary')
l_opt2_prev = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Supplemental Employee Life','2X Annual Salary')
l_opt3_prev = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Supplemental Employee Life','3X Annual Salary')
l_opt4_prev = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Supplemental Employee Life','4X Annual Salary')
l_opt5_prev = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT','ENROLLED','Supplemental Employee Life','5X Annual Salary')
) /* end change contexts*/
if (l_opt_name = 'Waive') then
(
l_cert_reqd='N'
)
else if ( l_opt_name = '5X Annual Salary'
and l_opt5_prev = 'Y'
) then
(
l_cert_reqd='N'
)
else if ( l_opt_name = '4X Annual Salary'
and ( l_opt5_prev = 'Y'
OR l_opt4_prev = 'Y'
)
) then
(
l_cert_reqd='N'
)
else if ( l_opt_name = '3X Annual Salary'
and ( l_opt5_prev = 'Y'
OR l_opt4_prev = 'Y'
OR l_opt3_prev = 'Y'
)
) then
(
l_cert_reqd='N'
)
else if ( l_opt_name = '2X Annual Salary'
and ( l_opt5_prev = 'Y'
OR l_opt4_prev = 'Y'
OR l_opt3_prev = 'Y'
OR l_opt2_prev = 'Y'
)
) then
(
l_cert_reqd='N'
)
else if ( l_opt_name = '1X Annual Salary'
and ( l_opt5_prev = 'Y'
OR l_opt4_prev = 'Y'
OR l_opt3_prev = 'Y'
OR l_opt2_prev = 'Y'
OR l_opt1_prev = 'Y'
)
) then
(
l_cert_reqd='N'
)
RETURN l_cert_reqd