グローバル休暇欠勤年間有給休暇付与限度
グローバル休暇欠勤年間有給休暇付与限度FastFormulaを使用して、カスタム基準に基づいて各就業者(各登録)の年間有給休暇限度を指定します。
組織には、通常、有給休暇プランの就業者が最大30日を計上できる年間有給休暇限度ルールを設定できます。ただし、特定の部門の従業員は、勤務の性質上、さらに5日を計上します。このような場合、このロジックをFastFormulaに組み込んで、有給休暇プロセスが年間有給休暇限度を決定すると、アプリケーションは部門に応じて異なる限度を異なる就業者に動的に割り当てることができます。
HCM Cloudの構成ポイント
このFormulaを作成した場合は、このFormulaを休暇欠勤プラン定義に関連付けることができます。
ナビゲーション
- 「休暇欠勤管理」作業領域で、「休暇欠勤プラン」をクリックして「休暇欠勤プラン」ページを開きます。
- 「検索結果」セクションのツールバーで、「作成」をクリックして「休暇欠勤プランの作成」ダイアログ・ボックスを開きます。
- 「プラン・タイプ」フィールドで、「有給休暇」を選択します。
- 「続行」をクリックします。
- 「休暇欠勤プランの編集」ページの「有給休暇」タブの「プラン制限」セクションで、「年間有給休暇限度ルール」フィールドの「Formula」を選択します。
- 「限度Formula」フィールドから定義済のFormulaを選択します。
コンテキスト
このFormulaタイプでは、次のコンテキストを使用できます。
| コンテキスト名 | データ型 |
|---|---|
| ABSENCE_ENTRY_ID | 数値 |
| ABSENCE_TYPE_ID | 数値 |
| ACCRUAL_PLAN_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_ACCRUAL | 数値 | 有給休暇マトリックスから受け取った有給休暇値。 |
| IV_CARRYOVER | 数値 | 有給休暇マトリックスから受け取った繰越限度。 |
| IV_CEILING | 数値 | 有給休暇マトリックスから受け取った上限。 |
| IV_ACCRUAL_CEILING | 数値 | 有給休暇マトリックスから受け取った年間有給休暇限度 |
| IV_ACCRUALPERIODSTARTDATE | 日付 | 有給休暇期間の開始日。 |
| IV_ACCRUALPERIODENDDATE | 日付 | 有給休暇期間の終了日。 |
| IV_CALEDARSTARTDATE | 日付 | 有給休暇カレンダ年の開始日。 |
| IV_CALEDARENDDATE | 日付 | 有給休暇カレンダ年の終了日。 |
| IV_PLANENROLLMENTSTARTDATE | 日付 | 登録の開始日。 |
| IV_PLANENROLLMENTENDDATE | 日付 | 登録の終了日。 |
戻り変数
| 変数名 | データ型 | 摘要 |
|---|---|---|
| ACCRUALCEILING | 数値 | 就業者が年間累積できる最大時間。 |
サンプルFormula
要件: 組織には年間有給休暇限度ルールがあり、これにより、就業者は年間最大30日を累積できます。ただし、ビジネス・ユニット'OBU1'に属する就業者は、年間最大40日を計上します。
解決策: 次のようなグローバル休暇欠勤年間有給休暇限度Formulaを使用できます。
Formula名: ANC_ANNUALCEIL
Formulaタイプ: グローバル休暇欠勤年間有給休暇付与限度
説明: このFormulaは、休暇プランに登録された就業者の年間有給休暇限度を、ビジネス・ユニットに基づいて区別して返します
DEFAULT FOR PER_ASG_BUSINESS_UNIT_NAME IS ' '
accrualceiling = 30
IF (PER_ASG_BUSINESS_UNIT_NAME = 'OBU1')
THEN
(ACCRUALCEILING = 40)
RETURN accrualceiling