個人選択
このFormulaタイプは、ほとんどの福利厚生バッチ・プロセスで使用して、バッチ・プロセスで処理する対象を決定できます。
コンテキスト
このタイプのFormulaでは、次のようなコンテキストを利用できます。
- BUSINESS_GROUP_ID ( ENTERPRISE_ID)
- EFFECTIVE_DATE
- HR_ASSIGNMENT_ID
- PERSON_ID
- LER_ID
データベース・アイテム
このタイプのFormulaで使用可能な次のデータベース・アイテムのみを使用します。
- 表の属性列を除くすべての列: ben_ler_f
- 個人のアサイメントに基づくデータベース・アイテム- HR_ASSIGNMENT_IDおよびPERSON_ID
入力変数
このタイプのFormulaでは入力変数を使用できません。
入力 | データ型 | 必須 | 摘要 |
---|---|---|---|
BEN_IV_PERSON_ID | 文字 | 任意 | Person IDは入力値として渡されます |
戻り変数
戻り変数には事前定義の名前を使用します。このタイプのFormulaでは、次のような戻り変数を利用できます。
戻り値 | データ型 | 必須 | 摘要 |
---|---|---|---|
L_OUTPUT | 文字 | 必須 | YまたはNを返します |
エラー
他の出力値が返された場合、加入プロセスはBEN_91329_FORMULA_RETURNでエラーになります。
サンプルFormula 1:
Formula名: BEN_PER_SEL_RULE
Formulaタイプ: 個人選択
説明: Formulaでは、婚姻区分、職務、および在宅勤務のステータスに基づいて従業員が選択されます。
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for PER_PER_MARITAL_STATUS IS 'S'
DEFAULT for PER_ASG_JOB_NAME IS 'Temp'
DEFAULT for PER_ASG_WORK_AT_HOME IS 'N'
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_output = 'N'
l_mar_status = PER_PER_MARITAL_STATUS
l_job_name = PER_ASG_JOB_NAME
l_wrk_home = PER_ASG_WORK_AT_HOME
if ( l_mar_status = 'M'
and ( l_job_name = 'Manager' or l_job_name = 'Consultant' )
and l_wrk_home = 'Y' )
then
( l_output = 'Y' )
return l_output
/*================ FORMULA SECTION END =======================*/
サンプルFormula 2:
Formula名: BEN_PER_SEL_RULE2
Formulaタイプ: 個人選択
説明: Formulaは個人番号に基づいて従業員を選択します。
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for PER_ASG_PERSON_NUMBER IS '-1'
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_output = 'N'
l_per_number = PER_ASG_PERSON_NUMBER
if ( l_per_number = '1138' OR l_per_number = '1139' OR l_per_number = '1140' OR l_per_number = '1141' OR l_per_number = '100023' ) then
( l_output = 'Y' )
return l_output
/*================ FORMULA SECTION END =======================*/
サンプルFormula 3:
Formula名: CLOSE_PER_SELECTION_1
Formulaタイプ: 個人選択
説明: 30日登録ウィンドウとDFLTを福利厚生関係名として想定したFormulaコード。これらは、顧客の設定に基づいて適切な値に置き換える必要があります。
l_return='N'
l_eff_date = '1951/01/01 00:00:00'(date)
l_eff_date = GET_CONTEXT(EFFECTIVE_DATE,to_date('1951/01/01 00:00:00') ) l_end_date_char='NA'
l_end_date = '1951/01/01 00:00:00'(date)
l_name ='NA'
l_end_date_char = ben_fn_get_char_value(
'BEN_PER_IN_LER'
,'LF_EVT_OCRD_DT'
,' '
,' '
,'BENEFIT_RELATION_NAME'
,'DFLT'
)
l_name = ben_fn_get_char_value(
'BEN_PER_IN_LER'
,'NAME'
,' '
,' '
,'BENEFIT_RELATION_NAME'
,'DFLT'
)
/* conversion */
if (l_end_date_char <> 'NA' and l_end_date_char <> 'NO_DATA_FOUND') then
(
l_end_date=TO_DATE(l_end_date_char)
)
if ( l_name = 'Conversion' or l_name = 'Admin Maintenance')
then
(
if (l_eff_date > add_days(l_end_date,30)) then
(l_return='Y')
else
(l_return='N')
)
if ( l_name = 'Dependent Age Out' or l_name = 'Change in Day Care')
then
(
if (l_eff_date >= l_end_date) then
(l_return='Y')
else
(l_return='N')
)
return l_return