セクションについて

このトピックでは、次について説明します。

  • セクション タイプ。

  • 標準セクション。

  • ポジティブ入力作成セクション。

  • 受給者セクション。

  • サブプロセス セクション。

  • 休暇取得セクション。

セクションは、規模の大きいプロセス リストを扱いやすい大きさに分割することによって、各エレメント グループの処理順序を管理します。各セクションには、1 つまたは複数のエレメントが含まれます。1 つのセクションに複数のエレメント グループを追加することはできず、通常はセクションにセクションを含めることもできません。

セクションを使うことにより、作業単位を再利用できます。たとえば、ある一連の支給コードのセットが複数のプロセスで使われている場合、支給セクションを 1 つ作成して、それを複数のプロセス リストに関連付けることができます。

セクションは有効日で管理されています。給与計算の実行時には、カレンダー期間終了日に基づいて、プロセス リストに関連付けられたセクションが検索されます。

5 つのタイプのセクションを定義して、以下について決定します。

  • 給与計算または休暇欠勤実行におけるセクション エレメントの処理方法。

  • 支給エレメント、休暇取得エレメント、およびサポートエレメントなど、各セクションに追加できるエレメントタイプ。

  • セクションが休暇欠勤処理、給与計算、またはその両方に使えるかどうか。

次の表で、セクション タイプ、処理タイプ、および用途について簡単に説明します。

セクション タイプ

処理タイプ

用途

標準

休暇欠勤、給与計算、またはその両方

通常処理、あるいは休暇付与処理や休暇取得処理の定義に使います。

ポジティブ入力作成

休暇欠勤または給与計算

別のカレンダー用のポジティブ入力 (支給または控除) の作成に使います。例: 食事手当て。

受給者

休暇欠勤、給与計算、またはその両方

受給者レベルで、処理エレメントと処理順序の指定に使います。例: 裁判所命令。

サブプロセス

給与計算

純額計算、控除優先順位による純支給額確認、あるいはその他の反復処理を行います。特定のエレメントを変換するかどうかを決定するループと条件式を含めることができます。例: 転居費用、賞与の支給。

休暇取得

休暇欠勤

休暇欠勤開始日に基づく日付順の休暇取得エレメントの変換に使います。

プロセス リストのセクションはほとんどが標準セクションです。給与計算または休暇欠勤処理の実行中、プロセス リスト マネージャが標準セクションを処理する際は、指定した順序でセクション内のエレメントが読み取られ変換されます。

ポジティブ入力作成セクションによって、ポジティブ入力の作成が開始されます。ポジティブ入力とは、食事手当てや出張手当てなど、単一の支給期間のみに適用され、受給者ごとに異なる支給データや控除データの入力のことです。ポジティブ入力は給与計算実行時に作成され、別の給与計算実行時に変換されます。プロセス リスト マネージャによるソース カレンダーの処理中にポジティブ入力作成セクションが見つかると、ポジティブ入力の行が作成されます。作成された行は、ターゲット カレンダーと呼ばれる別のカレンダーのプロセスで処理され、支給が行われます。ソース カレンダーおよびターゲット カレンダーは、同一または異なる支給期間あるいはカレンダー グループ ID に関連付けられます。

組織が、1 日に 4 時間以上勤務する受給者に食事手当てを支給すると仮定します。ポジティブ入力ページで費用を手動で入力する代わりに、定義済みの計算式に基づいてポジティブ入力を作成できます。

注: ポジティブ入力は手動で入力を行ったり、他のアプリケーションから入力されることもあります。

ポジティブ入力作成セクションに関するルール

ポジティブ入力作成セクションに関するルールは、以下のとおりです。

  • ポジティブ入力は、次のいずれかの計算ルールで定義された支給エレメントおよび控除エレメントに対してだけ作成できます。

    ベース × パーセント

    ユニット × レート

    ユニット × レート × パーセント

  • ポジティブ入力を作成する前に、支給または控除エレメントの少なくとも 1 つの自動割り当てコンポーネント (ベース、パーセント、レート、またはユニット) が変換されている必要があります。

    プロセス リスト マネージャにより、バッチ処理中にポジティブ入力作成セクションが見つかると、最初のエレメント用にポジティブ入力作成プログラムが呼び出され、このエレメントのいずれかのコンポーネントにデータがロードされているかどうかが判断されます。ロードされている場合、ターゲット カレンダー用にポジティブ入力の行が作成されます。1 つもロードされていない場合は、プロセス リスト マネージャはセクションの次のエレメントへ移ります。

  • ポジティブ入力はソース カレンダーの処理中に作成され、ターゲット カレンダーの処理中に変換されるため、ソース カレンダーを使って給与計算または休暇欠勤プロセスを実行する前に、ソース カレンダーターゲット カレンダーの両方を作成しておく必要があります。

  • エレメントの資格が検証されるのは、ターゲット カレンダーの処理中です。ポジティブ入力が作成されるソース カレンダーの処理中ではありません。

    エレメントの資格を検証する際に、以下の項目についても検証されます。

    • エレメントが有資格グループを通して受給者に割り当てられていること

    • エレメントがカレンダー - 除外エレメント ページの [除外エレメント] グリッドにないこと

    • エレメントがポジティブ入力ページと PI - カレンダー別ページで [処理しない] に指定されていないこと。

  • ジェネレーション コントロールおよび有資格グループに変更を加えると、ポジティブ入力の変換に影響が出る場合があります。

    6 月の給与計算で受給者のポジティブ入力を作成すると仮定します。ターゲット カレンダーが 7 月で、受給者が 7 月の時点で資格がなくなっていた場合は、支給元設定の [ポジティブ入力による資格の上書きを許可] チェック ボックスの設定に基づいてポジティブ入力が変換されるかどうかが決まります。

  • 期間分割が発生する場合、ターゲット カレンダーではなく、ソース カレンダーの開始日および終了日に基づいて、ポジティブ入力作成セクションが分割されます。

    ソース カレンダーが分割されると、プロセス リスト マネージャにより、各セグメントに対し 1 度だけ、ポジティブ入力作成プログラムが呼び出されます。作成されたポジティブ入力は、ターゲット カレンダーの終了日に基づいて、ターゲット カレンダーに指定されます。

  • エレメントの分割が発生する場合、各スライスごとにポジティブ入力のインスタンスが別々に作成されます。

    各スライスに関連付けられた指定日のレートは、セグメント終了日ではなくスライス終了日に対応しています。

ポジティブ入力作成セクションの例

1 日の労働時間が 4 時間以上である従業員に対して食事手当てが毎日支給される場合に、ユニット × レートの計算ルールで Meal_Allow_Earn という支給エレメントを作成したとします。

画像: プロセス リストとポジティブ入力作成セクションの関係の例

この場合、プロセス リストはここに示す例のようになります。ポジティブ入力作成セクションは、プロセス リストの最後にあります。

プロセス リストとポジティブ入力作成セクションの関係の例

まず、セクション 1 のフォーミュラ エレメントが変換されます。これにより、期間中、受給者が 1 日 4 時間以上勤務する日数で、Meal_Allow_Earn のユニット コンポーネントが初期化されます。次に、セクション 2 に進み、休暇取得エレメントが変換されます。これにより受給者が 4 時間以上勤務する予定であった日を欠勤した日数分だけ、食事手当てのユニット数が削減されます。予定勤務時間が 5 時間で、実際に受給者が 5 時間勤務した場合に、ユニット数が 1 日に変換されると仮定します。最後に、食事手当ての支給エレメントを含むセクション 3 のポジティブ入力作成セクションに進みます。支給エレメントのユニット コンポーネントがセクション 1 およびセクション 2 でロードされているので、次の表にあるようなポジティブ入力の行が作成されます。

エレメント

レート コンポーネント (Meal_Allow_Earn_Rate)

ユニット コンポーネント (Meal_Allow_Earn_Unit)

Meal_Allow_Earn

10

1

ターゲット カレンダーに対して給与計算プロセスを実行するまでは、データ行は何も変更されません。その後、資格が確認され、受給者に食事手当ての資格がまだあるとして、10 × 1 の計算によってポジティブ入力が解決されます。

受給者セクションを使うと、受給者ごとに変換対象のエレメントを指定し、その処理順序を設定することができます。裁判所命令、受給者が退職プランへの積立て金を拠出する財形貯蓄、および受給者レベルに応じた特別な指示が必要な場合などに、受給者セクションを使用します。

受給者セクションを作成し終えたら、受給者セクション ページを使って特定の受給者用の変換対象エレメントを定義します。プロセス リスト内に受給者セクションが見つかると、その受給者用の適切な受給者セクションが検索され、セクション内のエレメントが 1 つずつ処理されます。

プロセス リストには複数の受給者セクションを含めることができます。サブプロセス セクションの中に受給者セクションを含めることができます。

サブプロセス セクションは、以下の状況で特に有効です。

  • 既知の純額に基づいた総額の算出。

    たとえば、受給者が特定の金額の賞与の支給を受けたとします。この場合、反復計算を使用するサブプロセス セクションを作成して、税金および税金徴収後の総支給額を計算し、必要な純額を求めることができます。

  • 相対的な優先順位に基づいた控除の取得。

    優先順位による純支給額確認を有効にしたサブプロセス セクションを作成できます。控除が純支給額または定義した純支給額下限を超えた場合、反復処理により各控除の相対的優先順位に基づいて控除額が調整されます。

サブプロセスには、特定のエレメントを変換するかどうか、およびループ アクションを行うかどうかを定義する条件式を含めることができます。

純支給額の確認と延滞処理について」を参照してください。

サブプロセス セクションの使用に関するルール

サブプロセス セクションの使用に関するルールは、以下のとおりです。

  • サブプロセス セクションの全てのエレメントおよびサポート エレメントは、サブプロセスの実行中に再計算されます。

    このルールの例外は、優先順位による純支給額確認を有効にしたサブセクションです。これらのセクションについては、エレメントを再計算するかどうかを選択できます。デフォルトでは、再計算しません。

  • サブプロセスでの反復処理のたび、繰り越し調整が対象として考慮されます。

  • サブプロセスの処理中に、通常のエレメント資格およびジェネレーション コントロールが適用されます。

  • サブプロセス セクションの中に標準セクションと受給者セクションを含めることができます。

  • 反復処理中に使われる累計は自動修正されるため、リセットする必要はありません。

    反復処理中、必要に応じて古い値が削除され、新しい値が加算または減算されます。累計の [累計のタイミング] オプションが [計算後] に設定されている場合、処理が終了するまでその値は更新されません。

    優先順位による純支給額確認を有効にしたサブセクションでは、このルールは反復処理中に計算されたエレメントにのみ適用されます。累計は、控除用に実際に取得できた金額に応じて更新されます。

  • エレメント変換チェーンによりサブプロセスが検証されます。

    検証チェーンの結果は反復して書き込まれます。つまり、ループは反復番号付きで記録されます。

    エレメント変換チェーンの表示」を参照してください。

  • 優先順位による純支給額確認機能を使用すると、純支給額がゼロ (定義した純支給額下限) を下回ったことを検出した時点で純支給額確認処理が実行されます。

複数のサブプロセス セクションのプロセス リストへの追加

1 つのプロセス リストに複数のサブプロセス セクションを組み込むためのガイドラインを以下に示します。

  • 複数のサブプロセス セクションを作成する代わりに、同じサブプロセスの中で複数のエレメントの総額算出ができます。

    純額が全て入力された後、控除の前に総額が算出されます。エレメントまたはエレメント グループの総額を算出したときに、その総額を保持するための別の支給エレメントを作成してください。既存のエレメント内の純額は変わりません。ポジティブ入力による入力の場合でも、結果テーブルにある純額は、入力された実際のポジティブ入力と同じになります。全額をレポートするには、純額と総額の両方を含む累計を作成します。

  • 総額を計算するエレメントの数を減らすには、類似エレメントのグループ (たとえば、同一の税措置を受けるエレメントなど) の総額を保持する累計を作成します。

    該当する累計にこの総額エレメントを加算できます。

  • 優先順位による純支給額確認を使用する場合は、対象となる全ての控除を同じサブプロセス ループに入れる必要があります。

    純支給額確認は、純支給額確認のサブプロセス ループの外にある全ての控除の処理順序に従って行われます。

サブプロセス セクションで使用される純支給額確認のロジックを定義するガイドライン

優先順位による純支給額確認を行うには、以下のガイドラインに従います。

  • セクションを作成する際に、セクション - 定義ページで [優先順位による純支給額確認] チェック ボックスをオンにします。

    注: このチェック ボックスは、関連する国の国別設定の国ページに純支給額確認フォーミュラが含まれている場合にのみ表示されます。

  • 通常の処理順序でサブプロセス セクションに控除およびその他のエレメントをリストします。

    純支給額確認プロセス中に控除 - 延滞ページで控除に割り当てられた優先順位が参照されます。

  • ループ フォーミュラを、ループ アクションを開始するエレメントと関連付けます。最初のループ中に、フォーミュラが真 (1) を返すと、サブプロセス内の全てのエレメントが処理順序で計算されます。後続のループを実行する前に、フォーミュラは純支給額をチェックします。純支給額がゼロまたはプロセス リストに定義した純支給額下限より大きいことが検出された場合、フォーミュラは偽の値 (0) を返し、ループ プロセスを終了します。純支給額がゼロまたは定義した純支給額下限より小さい場合は、フォーミュラは真の値 (1) を返し、別のパスを開始します。(国別設定の国ページで選択した純支給額確認フォーミュラが自動的に呼び出され、最下位の優先順位を持つ控除が調整されます。)

    次の例は、FM ANOTHER PASS と呼ばれる条件式を使用してループを起動する方法を示しています。システム エレメント SUB PROCESS PASS を使用して、現行のループ番号が判別されます。このエレメントは、各パスの前に自動的に増分されます。GXVRNPVMIN は、純支給額下限を決定するプロセス リスト - 定義ページに入力されたエレメントを表します。

    If ac/NET1 >=var/GXVRNPVMIN and sy/SUB PROCESS PASS > 1 
    then 0  >> fm/FM ANOTHER PASS?
    Else
       1  >> fm/FM ANOTHER PASS?
    Endif

    SUB PROCESS PASS > 1 は、ループを最低でも 1 度処理し、エレメントを全て計算することを指示します。この指示がないと、サブプロセス セクションのエレメントは、控除を取得する前に純支給額が純支給額下限を超えるイベントで処理されません (通常のケース)。

  • ゼロ以外の純支給額下限を指定するには、プロセス リスト - 定義ページで純支給額下限エレメントを選択します。

純支給額確認フォーミュラを作成するためのガイドライン

国別設定の国ページを使用して純支給額確認フォーミュラを、優先順位による純支給額確認機能を使用する予定の各国に割り当てます。このフォーミュラの [常時再計算] オプションを有効にします。プロセス リスト マネージャ プログラムは、フォーミュラを 2 番目のループで始まるサブプロセス セクションに含まれる各控除につき 1 度変換します。

フォーミュラは、以下の 4 つの値のいずれかを返します。

  • 0 = 計算、および純支給額確認を実行。

    計算および純支給額確認が同じ反復処理中に発生する必要がある場合にこの値を返します。これは総額/純額サブプロセス セクションのデフォルト設定であり、通常はこのフォーミュラでは使用されません。

  • 1 = 計算。

    これは、ループの最初の反復処理のデフォルト値です。2 番目の反復処理で始まるフォーミュラが変換されます。

  • 2 = 純支給額確認を実行。

  • 3 = スキップ。

フォーミュラがその他の値を返した場合は、エラー メッセージが表示され、セグメントがエラーになります。また、控除がスキップされ、セクション内の次のエレメントから処理が続行されます。フォーミュラが存在しない場合は、エラー メッセージが表示され、セグメントがエラーになります。セグメントの計算は、デフォルト設定のゼロ (計算、および純支給額確認を実行) で続行されます。

以下にサンプルのフォーミュラを示します。

/* This formula controls the processing per deduction during a Net Pay 
Validation sub-process */

/*set to calculate*/
1 >> fm/FM CONTR NPV FLOW

/*if Net is greater than the defined minimum and deduction is not 
NPV completed we need to calculate*/
IF ac/NET >= var/MINIMUM NET and sy/NPV COMPLETED = 0
	 Exit
End-If

/*if element is NPV modified already don't use it again; set to skip*/
If sy/NPV COMPLETED = 1
 	2 >> fm/FM CONTROL NPV FLOW
 exit
end-if

/*if the element isn't of lowest priority, calculate*/
if sy/CURR PRIORITY NBR <> sy/LOW PRIORITY NBR then
 Exit
End-If

/*set formula to NPV processing*/
3 >> fm/FM CONTROL NPV FLOW

サブプロセスのフォーミュラでのシステム エレメントの使い方

優先順位による純支給額確認処理のフォーミュラを作成する際に、以下のシステム エレメントが役立ちます。

システム エレメント

説明

NET AVAILABLE

純額累計の現在値から現在処理中の控除を除く純支給額下限を引いた値を保持します。これは、エレメントの純支給額確認中に、支給と控除の変換モジュールによって設定されます。控除を部分的に計算する純支給額確認の部分フォーミュラは、このエレメントを参照することができます。

CURR PRIORITY NBR

現在処理中の控除の優先順位を保持します。純支給額確認フォーミュラを処理する前に控除プログラムで設定します。

LOW PRIORITY NBR

サブプロセス セクション内で処理されている控除の相対的に最下位の優先順位を保持します。LOW PRIORITY NBR システム エレメントは、現在のサブプロセス反復処理で純支給額確認が処理されている優先順位を表します。控除が各サブプロセス ループの終了時に純支給額確認プロセスによってゼロに減らされると、このエレメントは次に最低位の優先順位 (一番高い優先順位番号) に設定されます。より高位の優先順位の控除が存在しない場合は、このエレメントがゼロに設定されます。

SUB PROCESS PASS

現在のループ反復処理の番号を保持します。この番号は、サブプロセス ループの開始時に設定されます。

NPV COMPLETED

(バイナリ: 1/0、10 進値の 1 または 0。)控除が純支給額確認プロセスの前のパスで修正済みでゼロに設定されている場合は、真 (ゼロ以外の値) に設定します。このエレメントを真に設定するには、控除の全てのインスタンスを処理してゼロにする必要があります。

PRIOR DED VAL

以前に計算された控除額を保持します。控除額は、純支給額確認で控除を処理している間に、純支給額確認サブプロセス内でのみ使用可能です。システム エレメントは、純支給額確認の部分フォーミュラ (純支給額確認サブプロセス セクション内のみ) で使用できます。

休暇取得セクションを使用すると、セクションで定義されている処理順序ではなく、休暇欠勤が発生した順序に基づいて休暇取得エレメントを処理できます。これらのセクションは、休暇取得エレメント間に依存関係があるとき、および支給対象の休暇欠勤を適切に判断するために日付順の処理が必要な場合に役立ちます。

休暇取得セクションの例

受給者が過去 1 年間に疾病や労働災害で休暇欠勤した日数分、疾病の休暇付与を減らす要件があるとします。受給者は 2 月に疾病で 7 日間、労働災害で 6 日間、疾病で 8 日間という順序で休暇欠勤しました。

SICK (疾病)、IND ACC (労働災害) という処理順序で休暇取得エレメントを含むセクションを作成します。以下の段落で説明するように、セクション タイプは、休暇取得の補償に使用できる休暇付与数に影響します。

  • セクション タイプが [標準] である場合は、IND ACC 休暇取得より先に 2 つの SICK 休暇取得が処理されます。

    このため、2 番目の SICK 休暇取得で利用可能な付与残数を決定する際、労働災害で取得された日数は考慮されません。

  • セクション タイプが [休暇取得] である場合は、休暇欠勤が発生順に処理されます。

    その結果、最後の SICK 休暇取得の付与残数は、過去 1 年間に労働災害と前の疾病で取得 (支給) された日数分減ります。

休暇取得セクションのルール

休暇取得セクションには以下のルールがあります。

  • 休暇取得セクションには、休暇取得エレメントのみ含めることができます。

  • 休暇取得には、休暇欠勤開始日に基づいて処理されます。

    最も古い開始日を持つ休暇欠勤イベントを検索する場合、休暇欠勤イベント レコード (GP_ABS_EVENT) が検索されます。

  • 複数の休暇欠勤が同じ日付を持つ場合、どの休暇取得を最初に処理するかを決定するため、セクションに定義された処理順序が参照されます。

    たとえば、休暇取得セクションに休暇取得 A と B がこの順序で設定されていて、6 月 2 日から 3 日 (休暇取得 B) と 6 月 3 日 (休暇取得 A) に休暇欠勤イベントがレポートされたとします。休暇欠勤日は以下の順序で処理されます。

    • 6 月 2 日、休暇取得 B (最も古い開始日を持つイベント)。

    • 6 月 3 日、休暇取得 A。

    • 6 月 3 日、休暇取得 B。

  • 休暇取得エレメント (親エレメント) が別の休暇取得エレメント (子エレメント) にマッピングされている場合は、以下のようになります。

    • 子エレメントは、その日の親エレメントの処理が終わりしだい処理されます。

      プロセス リストには親エレメントの後に子エレメントが表示されます。その日の全ての自動作成および手動入力された休暇取得エレメントが処理された後でのみ次の日に進みます。

    • 親エレメントが処理されているセクションに含まれていない子エレメントは、子エレメントを含むセクションが変換されるまで処理されません。

注: マッピングとは、休暇取得 - 日数計算フォーミュラ ページの [マップ先エレメント] フィールド、または休暇取得 - 超過取得ページの [他の休暇欠勤で取得] フィールドにエレメントを入力して、ある休暇取得から別の休暇取得へのリンク付けを行うことを意味します。

休暇取得 - 日数計算フォーミュラ ページ」を参照してください。

休暇取得 - 超過取得ページ」を参照してください。