扶養家族適格

このFormulaタイプを使用して、担当者が報酬オブジェクトの扶養家族として補償される資格があるかどうかを判断できます。

コンテキスト

このタイプのFormulaでは、次のようなコンテキストを利用できます。

  • BUSINESS_GROUP_ID ( ENTERPRISE_ID)
  • EFFECTIVE_DATE
  • HR_ASSIGNMENT_ID
  • PERSON_ID
  • LER_ID
  • ORGANIZATION_ID
  • JURISDICTION_CODE
  • PGM_ID
  • PL_ID
  • PL_TYP_ID
  • OPT_ID
  • LER_ID

データベース・アイテム

このタイプのFormulaで使用可能な次のデータベース・アイテムのみを使用します。

  • 表の属性列を除くすべての列: ben_ler_f、ben_pgm_f、ben_pl_f、ben_opt_f、ben_pl_typ_f
  • 個人のアサイメントに基づくデータベース・アイテム- HR_ASSIGNMENT_IDおよびPERSON_ID

入力変数

このタイプのFormulaでは、入力変数を使用できます。

入力変数表

入力 データ型 必須 摘要
CON_PERSON_ID 数値 連絡先Person ID

戻り変数

戻り変数には事前定義の名前を使用します。このタイプのFormulaでは、次のような戻り変数を利用できます。

戻り変数表

戻り値 データ型 必須 摘要
L_output 文字 必須 YまたはN

エラー

他の出力値が返された場合、加入プロセスはBEN_91329_FORMULA_RETURNでエラーになります。

サンプルFormula 1:

Formula名: BEN_DPNT_ELIG

Formulaタイプ: 扶養家族適格

説明: 1人の息子または娘が対象です。このFormulaは、福利厚生シード済Formula関数(ben_fn_get_char_value)に依存します。

default for l_sons is 0
default for l_daughters is 0
l_output = 'N'
l_sons_t = ben_fn_get_char_value(
' PER_CONTACT_RELSHIPS_F' ,'SON_COUNT'
,' ' ,' '
,'LEGISLATION_CODE' ,'US'
)
l_sons = to_num(l_sons_t)
l_daughters_t = ben_fn_get_char_value(
'PER_CONTACT_RELSHIPS_F'
,'DAUGHTER_COUNT'
,' '
,' '
,'LEGISLATION_CODE'
,'US'
)
l_daughters = to_num(l_daughters_t)
if ( l_sons <= 1 and l_daughters = 1 ) then
(l_output = 'Y')
if (l_sons= 1 and l_daughters <= 1) then
(l_output = 'Y' )
return l_output

サンプルFormula 2:

Formula名: BEN_DPNT_ELIG2

Formulaタイプ: 扶養家族適格

説明: 60歳以上の人の扶養家族は不適格です。

DEFAULT for PER_PER_DATE_OF_BIRTH is '01-JAN-1951' (date)
l_output = 'N'
l_dob = PER_PER_DATE_OF_BIRTH
l_eff_date = GET_CONTEXT(EFFECTIVE_DATE,to_date('01-JAN-2012'))
if ( add_months (l_dob,720) > l_eff_date ) then
(l_output = 'N')
else
(l_output = 'Y' )
return l_output

サンプルFormula 3:

Formula名: BEN_DPNT_ELIG2

Formulaタイプ: 扶養家族適格

説明: 年齢および住所、関係に基づく個人の扶養家族。

DEFAULT_DATA_VALUE for PER_EXT_CONT_CONTACT_TYPE is 'NA'
DEFAULT_DATA_VALUE FOR PER_EXT_CONT_DATE_OF_BIRTH IS '1951-01-01' (DATE)
DEFAULT_DATA_VALUE FOR PER_EXT_CONT_PER_PERSON_ID IS 0 DEFAULT FOR PER_ASG_ADD_REGION2 IS 'NA'
INPUTS ARE CON_PERSON_ID
ELIGIBLE = 'N'
l_lf_evt_dt_char = ben_fn_get_char_value('BEN_PER_IN_LER','LF_EVT_OCRD_DT'
,' '
,' '
,'BENEFIT_RELATION_NAME'
,'DFLT')
l_lf_evt_ocrd_dt = TO_DATE(l_lf_evt_dt_char)
i=1
WHILE PER_EXT_CONT_CONTACT_TYPE.exists(i)
LOOP
(
IF (PER_EXT_CONT_PER_PERSON_ID[i] = CON_PERSON_ID) AND
(PER_EXT_CONT_CONTACT_TYPE[i]='SAME_SEX_DOMESTIC_PARTNER_CHIL' OR
PER_EXT_CONT_CONTACT_TYPE[i]='C' OR
PER_EXT_CONT_CONTACT_TYPE[i]='O' OR
PER_EXT_CONT_CONTACT_TYPE[i]='A' OR
PER_EXT_CONT_CONTACT_TYPE[i]='T') AND
(PER_ASG_ADD_REGION2 = 'OH' or upper(PER_ASG_ADD_REGION2) = 'OHIO') AND
(MONTHS_BETWEEN(l_lf_evt_ocrd_dt, PER_EXT_CONT_DATE_OF_BIRTH[i])) < 336 THEN
(
ELIGIBLE = 'Y'
)
i=i+1
)
RETURN ELIGIBLE