グローバル休暇欠勤タイプ期間
グローバル休暇欠勤タイプ期間のFastFormulaを使用して、休暇欠勤エントリ期間および有給休暇プラン使用を休暇欠勤エントリに対して決定するために使用するデフォルト計算ロジックを上書きできます。
就業者が「日数」で測定される休暇欠勤タイプの休暇欠勤エントリを作成した場合、その休暇欠勤日の就業者の予定勤務時間に基づいて合計期間を按分する必要がある場合があります。このような場合、アプリケーション内のデフォルトの期間計算ルールが置き換えられるように、期間タイプのFormulaを、按分された期間を計算するために必要なロジックで構成できます。
入力が1つのユニット(開始日と終了日の間)として処理されるとき、および開始日と終了日の間の各日について処理されるときに、同じFormulaで必要な期間を返す必要があります。
HCM Cloudの構成ポイント
このFormulaを作成した場合は、このFormulaを休暇欠勤タイプ定義に関連付けることができます。これは現在、UoMが時間または日数である休暇欠勤タイプでのみ使用できます。
ナビゲーション
- 「休暇欠勤管理」作業領域で、「休暇欠勤タイプ」をクリックして「休暇欠勤タイプ」ページを開きます。
- 「検索結果」セクションのツールバーで、「作成」をクリックして「休暇欠勤タイプの作成」ダイアログ・ボックスを開きます。
- 「続行」をクリックします。
- 「休暇欠勤タイプの作成」ページの「タイプ属性」タブの「一般属性」セクションで、「換算Formula」フィールドに定義済のFormulaを選択します。
コンテキスト
このFormulaタイプでは、次のコンテキストを使用できます。
コンテキスト名 | データ型 |
---|---|
ABSENCE_ENTRY_ID | 数値 |
ABSENCE_TYPE_ID | 数値 |
DATE_EARNED | 日付 |
EFFECTIVE_DATE | 日付 |
END_DATE | 日付 |
ENTERPRISE_ID | 数値 |
HR_ASSIGNMENT_ID | 数値 |
HR_RELATIONSHIP_ID | 数値 |
HR_TERM_ID | 数値 |
JOB_ID | 数値 |
LEGAL_EMPLOYER_ID | 数値 |
LEGISLATIVE_DATA_GROUP_ID | 数値 |
ORGANIZATION_ID | 数値 |
PAYROLL_ASSIGNMENT_ID | 数値 |
PAYROLL_ID | 数値 |
PAYROLL_RELATIONSHIP_ID | 数値 |
PAYROLL_TERM_ID | 数値 |
PERSON_ID | 数値 |
START_DATE | 日付 |
入力値
変数名 | データ型 | 摘要 |
---|---|---|
IV_START_DATE | 日付 | 休暇欠勤エントリの開始日 |
IV_END_DATE | 日付 | 休暇欠勤エントリの終了日 |
IV_START_DURATION | 数値 | 休暇欠勤エントリの開始日期間。休暇欠勤エントリが経過時間ベースの勤務スケジュールに対して記録されている場合に適用されます。 |
IV_END_DURATION | 数値 | 休暇欠勤エントリの終了日期間。休暇欠勤エントリが経過時間ベースの勤務スケジュールに対して記録されている場合に適用されます。 |
IV_START_TIME | テキスト | 休暇欠勤エントリの開始日における開始時間。時間ベースの勤務スケジュールに休暇欠勤エントリが記録されている場合に適用されます。経過勤務スケジュールの場合は、00:00となります。 |
IV_END_TIME | テキスト | 入力中の休暇欠勤の終了日時。時間ベースの勤務スケジュールに休暇欠勤エントリが記録されている場合に適用されます。経過勤務スケジュールの場合は23:59となります。 |
IV_UOM | テキスト | 単位 |
戻り変数
変数名 | データ型 | 摘要 |
---|---|---|
DURATION | 数値 | 休暇欠勤エントリの期間 |
サンプルFormula
要件: 組織では、部分日休暇欠勤記録が許可されておらず、期間が日数で測定される特定の休暇欠勤タイプについて、就業者の常勤換算値を乗算して合計期間を按分する必要があります。
解決策: 次のようなグローバル休暇欠勤タイプ期間Formulaを使用できます。
Formula名: ANC_DURCAL
Formulaタイプ: グローバル休暇欠勤タイプ期間Formula
説明: このFormulaは、FTEに基づいて休暇欠勤エントリの按分期間を返します
DEFAULT FOR IV_START_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_END_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_START_TIME IS '00:00'
DEFAULT FOR IV_END_TIME IS '23:59'
DEFAULT FOR PER_ASG_FTE_VALUE IS 1
INPUTS ARE IV_START_DATE (date), IV_END_DATE (date), IV_START_TIME(text),IV_END_TIME(text)
ln_entry_duration_d = 0
ln_unrounded_duration_d = 0
ld_period_start_date = to_date(to_char(IV_START_DATE,'DD/MM/RRRR')||' '||IV_START_TIME,'DD/MM/RRRR HH24:MI:SS')
ld_period_end_date = to_date(to_char(IV_END_DATE,'DD/MM/RRRR')||' '||IV_END_TIME,'DD/MM/RRRR HH24:MI:SS')
ln_entry_duration_d = GET_PAY_AVAILABILITY ('ASSIGN',
ld_period_start_date,
ld_period_end_date,
'Y',
'Y',
'Y',
'Y',
'D')
ln_unrounded_duration_d = ln_entry_duration_d * PER_ASG_FTE_VALUE
DURATION = ROUND(ln_unrounded_duration_d,2)
RETURN DURATION