デュレーション エレメントの定義
デュレーション エレメントを定義するには、デュレーション コンポーネント (GP_DURATION) を使用します。
ページ名 |
定義名 |
用途 |
---|---|---|
GP_PIN |
エレメント名を付け、基本パラメータを定義します。 |
|
GP_DURATION |
2 つの日付の間の日数、月数、年数を定義します。 |
|
GP_DUR_STAT_SEC |
HR ステータス コードに従って、デュレーション計算の対象にしたり、除外したりする期間を指定します。 |
デュレーション エレメントは、ある日付を別の日付から減算することで、2 つの日付の間の時間を計算します。たとえば、支給期間終了日における年齢は、支給期間終了日から生年月日を引いて算出されます。その結果の値がデュレーションになります。
デュレーション エレメントは、常に数値に変換されます。デュレーションの戻り値は、年数、月数、または日数で定義します。日数でデュレーションを定義する場合は、PeopleSoft HR ステータス コードに基づいて、特定の期間を対象にしたり、対象から除外したりすることができます。また、グローバル ペイロールで入力された休暇欠勤日数も、対象にしたり除外したりすることができます。
休暇欠勤の対象/除外
休暇欠勤の対象/除外機能は主に、デュレーションから休暇欠勤日数を除外する際に使われます。たとえば、勤続期間デュレーションの計算に病欠を含めたくないとします。日次休暇欠勤フォーミュラは、デュレーションの開始日から終了日まで、日次の休暇欠勤の計算のために変換されます。このフォーミュラでは、病欠の場合はその都度 1 が、それ以外の場合は 0 が戻されます。デュレーション プログラムでは、各日の値が合計されます。受給者のこの期間内の病欠が 15 日で、[休暇欠勤日数を含む] チェック ボックスがオフの場合、この期間のカレンダー日数の合計から 15 が引かれます。
フォーミュラでは、休暇欠勤デュレーション用に特別に設計されたシステム エレメントを呼び出すことができます。これらのエレメント名は、休暇欠勤の日次データの生成に使用するエレメント名と同じですが、サフィックス DU が付加されています。たとえば、ABS END DATE DU というシステム エレメントを使用して、特定の休暇欠勤の休暇欠勤終了日を取得することができます。
例 1: 端数処理
デュレーションの定義ページで、そのデュレーションに小数を含めるかどうか、およびデュレーションの端数処理をどうするかを定義します。このトピックでは、小数のデュレーションに対してどのように端数処理が行われるかを説明します。
端数処理を行う前の結果は、2 年と 5 か月と 20 日で、端数処理をせずに月数で結果を返したいとします。計算式は以下のとおりです。
29 か月 (= (2 年×12) + 5 か月) + 20/30 = 29.666667
[小数でデュレーションを返す] チェック ボックスがオフの場合、値は 29 になります。
[小数でデュレーションを返す] チェック ボックスと [月単位に端数切上げ/日数 >=] チェック ボックスをオンにして、日数を 15 にすると、結果は次のようになります。
(2 年×12) + 5 か月 + 1 か月 (日数 > 15 であるため) = 30
デュレーションの変換をシステム全体で使用する場合は、結果のわずかな差異が大きな違いをもたらす可能性があるので注意してください。
例 2: 端数処理
この例では、以下のような設定があるとします。
デュレーションの開始日は 1999 年 1 月 1 日、デュレーションの終了日は 2001 年 1 月 31 日。
次の表は、さまざまなオプションの組み合わせによって、デュレーション エレメントから戻される値がどのように変化するかを表しています。システムで標準のフィールド サイズは整数 12 桁小数 6 桁なので、値は全て小数 6 桁で表示してあります。
デュレーションの戻り値の単位 |
端数処理 年単位に端数切上げ/月数 >= |
端数処理 月単位に端数切上げ/日数 >= |
小数でデュレーションを返す |
値 |
---|---|---|---|---|
年 |
オフ |
オフ |
オン |
2.083333 |
年 |
オフ |
オフ |
オフ |
2.000000 |
年 |
オン、1 |
オフ |
オフ |
2.000000 |
月 |
オフ |
オフ |
オン |
25.000000 |
月 |
オフ |
オン、15 |
オフ |
25.000000 |
日 |
|
|
オン |
実行不可能です。オンライン エラー メッセージが表示されます。 |
日 |
オフ |
オフ |
オフ、開始日/終了日を含む = オフ |
761.000000 |
日 |
オフ |
オフ |
オフ、開始日/終了日を含む = オン |
762.000000 |
注: デュレーション プログラムでは、PeopleTools ユーティリティ PTPDTWRK を使用して、2 つの日付の差を取得します。GP デュレーション オプションが値を年で返すように指定されている場合、PTPDTWRK は AGE オプションで呼び出され、結果を年数、月数、および日数で返します。たとえば、日付が 2003 年 4 月 1 日から 2004 年 4 月 1 日のときは、PTPDTWRK は 1 年と 0 か月と 0 日を返します。終了日が 2004 年 3 月 31 日のときは、PTPDTWRK は 0 年と 11 か月と 30 日を返します。2 つの日付の小数形式の差は、364/365 = 0.99726 で計算されるように思われますが、実際はそうではありません。PTPDTWRK では日付の差を日数で返すことができますが、その値を年数に変換するには、うるう年の回数を計算する必要があります。
期間を対象、または除外にする HR ステータス
日次 HR ステータス条件の設定ページで、HR ステータス コードに基づいて、該当ステータスの期間をデュレーション計算の対象としたり、対象から除外することができます。
従業員ステータスによる [対象] または [除外] の条件がデュレーション定義の一部として定義される場合、以下のルールが適用されます。
デュレーション開始日は、PS_JOB 行の最も古い有効日よりも前の日付にすることはできません。
デュレーション開始日が PS_JOB 行の最も古い有効日よりも前の日付の場合、デュレーション計算では、この従業員 ID/雇用レコード番号の組み合わせを持つ PS_JOB 行の中で最も古い有効日が、デフォルトのデュレーション開始日として使用されます。デュレーション計算では、その他のフィールドに基づいてデュレーション開始日が限定されることはありません。
デュレーション終了日は、カレンダー期間終了日よりも後の日付にすることはできません。
デュレーション終了日がカレンダー期間終了日よりも後の日付の場合、デュレーション計算では、カレンダー期間終了日がデフォルトのデュレーション終了日として使用されます。
PS_JOB 行の中で同一有効日連番が最も大きい行だけが計算の対象として考慮されます。それ以外の同一有効日連番の PS_JOB 行のステータスは無効と見なされるためです。
デュレーション開始日またはデュレーション終了日が、上記の状況で PS_JOB 行の最も古い有効日またはカレンダー期間終了日に修正されても、警告またはエラーは発行されません。
たとえば、PS_JOB 行の最も古い有効日が 1995 年 1 月 7 日で、デュレーションの開始日が 1995 年 1 月 1 日の場合、デュレーションの開始日として PS_JOB 行の最も古い有効日より前の日付を使用することはできないので、1995 年 1 月 7 日が使用されます。
注: 支給キーは、ステータス コントロールの [対象] または [除外] の計算では無視されます。
例 1: 期間を対象、または除外にする HR ステータス
この例では、以下のように設定されているとします。
開始日: 2000 年 1 月 1 日
終了日: 2000 年 1 月 31 日
戻り値の単位: 日
開始日/終了日を含む: オン
従業員ステータス: 休職 (有効日: 2000 年 1 月 22 日)
アクティブな日数: 21、非アクティブな日数: 10、日次休暇欠勤フォーミュラの結果: 5
次の表は、さまざまな対象/除外オプションの設定に基づいて、デュレーションの値がどのように変換されるかを表しています。
HR ステータス |
日次休暇欠勤フォーミュラ |
デュレーションの日数 (開始日/終了日を含む = オン) |
デュレーションの日数 (開始日/終了日を含む = オフ) |
異動理由 |
---|---|---|---|---|
対象 - アクティブ |
空欄 |
21 日間 |
21 日間 |
アクティブな日数のみ |
対象 - 非アクティブ |
空欄 |
10 日間 |
9 日間 |
休職の日数のみ |
対象 - アクティブ |
対象 |
26 日間 |
26 日間 |
アクティブな日数 + フォーミュラの日数 |
対象 - 非アクティブ |
対象 |
15 日間 |
14 日間 |
休職の日数 + フォーミュラの日数 |
対象 - アクティブ |
除外 |
16 日間 |
16 日間 |
アクティブな日数 - フォーミュラの日数 |
対象 - 非アクティブ |
除外 |
5 日間 |
4 日間 |
休職の日数 - フォーミュラの日数 |
空欄 |
対象 |
5 日間 |
5 日間 |
フォーミュラの日数のみ |
空欄 |
除外 |
26 日間 |
25 日間 |
合計日数 - フォーミュラの日数 |
空欄 |
空欄 |
31 日間 |
30 日間 |
合計日数 |
除外 - アクティブ |
空欄 |
10 日間 |
9 日間 |
休職の日数のみ |
除外 - 非アクティブ |
空欄 |
21 日間 |
21 日間 |
アクティブな日数のみ |
除外 - アクティブ |
対象 |
15 日間 |
14 日間 |
休職の日数 + フォーミュラの日数 |
除外 - 非アクティブ |
対象 |
26 日間 |
26 日間 |
アクティブな日数 + フォーミュラの日数 |
除外 - アクティブ |
除外 |
5 日間 |
4 日間 |
休職の日数 - フォーミュラの日数 |
除外 - 非アクティブ |
除外 |
16 日間 |
16 日間 |
アクティブな日数 - フォーミュラの日数 |
例 2: 期間を対象、または除外にする HR ステータス
デュレーションが次のように設定されているとします。
開始日: 1999 年 6 月 23 日。
終了日: 1999 年 9 月 23 日。
サブ期間が次のように定義されているとします。
HR ステータスが [アクティブ] の場合、対象とする。
サブ期間 > 5 日間。
次の表は、ある受給者の PS_JOB 行のリストです。
ステータス |
有効日 |
---|---|
アクティブ |
1999 年 6 月 23 日 |
停職 |
1999 年 7 月 1 日 |
アクティブ |
1999 年 8 月 1 日 |
雇用終了 |
1999 年 8 月 10 日 |
デュレーションは、8 日 (最初のアクティブの日数) + 9 日 (2 番目のアクティブの日数) で合計 17 日に変換されます。どちらのアクティブの期間も 5 日を超えるため対象になります。
注: HR ステータス以外のフィールドおよび支給キーは、ステータスの計算の対象/除外には考慮されません。
有効日が期間終了日より前か同じ PS_JOB 行だけが考慮されます。デュレーション開始日およびデュレーション終了日は、それぞれ PS_JOB 行の最も古い有効日および期間終了日に修正される可能性があります。これは、デュレーション開始日を PS_JOB の最も古い有効日より前にすることはできない、また、デュレーション終了日を期間終了日より後にすることはできない、というシステム ルールがあるためです。
デュレーション モジュールは、次のような手順でデュレーション エレメントを変換します。
必要に応じて、開始日および終了日を変換します。
ステータスが入力されている場合は、開始日が PS_JOB 行の最も古い有効日よりも前でないこと、および終了日が期間終了日よりも後でないことを確認します。
開始日と終了日の間のデュレーション (年数、月数、または日数) を計算します。
HR ステータス条件が入力されている場合は、その処理を行います。
必要に応じて、休暇欠勤日数を計算対象に入れたり、除外したりします。
端数処理を適用します。
[小数でデュレーションを返す] チェック ボックスがオフの場合、小数を切り捨てます。
デュレーションの定義ページで、値を年で返すように指定して、[年単位に端数切上げ/月数 >=] と [月単位に端数切上げ/日数 >=] の両方のチェック ボックスをオンにした場合は、[月単位に端数切上げ/日数 >=] オプションが先に処理されます。その後、[年単位に端数切上げ/月数 >=] オプションが処理され、適用されます。
デュレーション名ページ (GP_PIN) を使用して、エレメントに名前を付け、基本パラメータを定義します。
ナビゲーション
全てのエレメントについて、エレメント名共通ページでその名称と基本パラメータを定義してください。グローバル ペイロールでは、全てのエレメントのコンポーネントに、エレメント名共通ページ (GP_PIN) という共通ページが含まれています。
デュレーション - 定義ページ (GP_DURATION) を使用して、2 つの日付の間の日数、月数、年数を定義します。
ナビゲーション
画像: デュレーション - 定義ページ
次の例では、デュレーション - 定義ページのフィールドおよびコントロールを説明します。

フィールドまたはコントロール |
定義 |
---|---|
開始日タイプ、終了日タイプ |
[開始日] および [終了日] フィールドのエレメント タイプを選択します。有効値は、[変数]、[日付]、[カレンダー日]、[システム エレメント]、[フォーミュラ]、および [ブラケット] です。 |
開始日、終了日 |
デュレーション計算の対象となる最初と最後の日付を定義します。 日付を返すエレメント名を選択します。 [開始日] の日付が [終了日] の日付と同じか後の日付の場合、デュレーション エレメントはゼロに変換されます。 |
デュレーションの単位 |
デュレーションの戻り値の単位を選択します。有効値は以下のとおりです。
|
小数でデュレーションを返す |
デュレーションの結果を小数形式で取得する場合は、このチェック ボックスをオンにします。 [小数でデュレーションを返す] チェック ボックスをオンにすると、デュレーションは、定義された端数処理ルールの適用後に小数値に変換されます。 [デュレーションの単位] の値によって、結果は以下のようになります。 [年]: 年数と、残りの月数および日数が小数形式で返されます。小数形式で計算するには、日数を 30 で割り、その結果を月数に加算します。次に、月数を 12 で割り、その結果を年数に加算します。たとえば、2 年と 1 か月のデュレーションは、2.08333 の値を返します。 [月]: 月数と、残りの日数 (1 か月に満たない日数) が小数形式で返されます。日数を 30 で割った数が、小数部分となります。 [日]: 無効です。 注: 1 か月は、ある月の最初の日から次の月の最初の日までの期間と定義されています。たとえば、2006 年 1 月 1 日から 2006 年 1 月 31 日までは、1 か月ではなく 30 日です。1 か月にするには、[小数でデュレーションを返す] をオンにします。これにより、30 日 (1 か月と同等) が返されます。[小数でデュレーションを返す] チェック ボックスをオンにしないで月数をカウントすると、結果はゼロになります。 |
端数処理する日数 |
このチェック ボックスをオンにすると、端数がその右のフィールドで指定した日数以上の場合に月数が切り上げられます。 |
端数処理する月数 |
このチェック ボックスをオンにすると、端数がその右のフィールドで指定した月数以上の場合に年数が切り上げられます。 |
これらのフィールドを使用して、デュレーションの計算結果に適用する端数処理ルールを指定します。これらのチェック ボックスが両方ともオフの場合、端数処理は行われません。
これらのチェック ボックスのいずれかをオンにすると、指定した値より月数または日数が多い場合には、それぞれ 1 年または 1 か月が加算されます。
たとえば、[デュレーションの単位] が [年] の場合、[端数処理する月数] を選択して「6」を入力すると、計算結果が 3 年 6 か月のデュレーションでは 4 年という値が返されます。
注: 指定した端数処理ルールは、デュレーションを小数に変換する前に適用されます。[小数でデュレーションを返す] チェック ボックスと端数処理オプションをオンにした場合、必要に応じて月数または年数が切り上げられ、小数値はゼロになります。
フィールドまたはコントロール |
定義 |
---|---|
開始日/終了日を含む |
このチェック ボックスをオンにすると、開始日と終了日が計算の対象になります。 |
休暇欠勤日数を含む |
このチェック ボックスをオフにすると、休暇欠勤日数は計算対象から除外されます。たとえば、このチェック ボックスをオフにすると、デュレーションの期間から病欠の日数を引いた値を計算することができます。 [休暇欠勤日数を含む] チェック ボックスをオンにすると、休暇欠勤日数はデュレーションの計算対象になります。 このチェック ボックスは、戻り値の単位として [日] を選択すると、使用可能になります。 注: [休暇欠勤日数を含む] がオフで、[日次休暇欠勤フォーミュラ] が指定されている場合、休暇欠勤日数は自動的に計算対象から除外されます。 |
日次休暇欠勤フォーミュラ |
このフィールドは、戻り値の単位として [日] を選択すると、使用可能になります。 受給者が欠勤した日数を計算対象に含めたり、除外したりするには、休暇欠勤日数を返すフォーミュラを選択します。受給者の休暇欠勤日数を計算対象に含めるには、[休暇欠勤日数を含む] チェック ボックスをオンにします。受給者の休暇欠勤日数を計算対象から除外するには、[休暇欠勤日数を含む] チェック ボックスをオフにします。そうすると、休暇欠勤日数がデュレーションの合計日数から差し引かれます。 このフォーミュラを変換して、開始日と終了日を含む、この期間の休暇欠勤の日次の履歴を取得します。対象となる欠勤日ごとに 1 が返されます。デュレーション プログラムでは、休暇取得プロセスによって出力される休暇欠勤日次データ (GP_RSLT_ABS) の各行に対するフォーミュラの値を累計し、休暇欠勤日が開始日と終了日の間にある全ての行に対するフォーミュラの結果を合計します。終了日は、[開始日/終了日を含む] チェック ボックスがオンの場合にのみ計算の対象となることに注意してください。 フォーミュラには、日数をカウントしたい休暇取得エレメントが指定されている必要があります。たとえば、IF ステートメントで休暇欠勤タイプを使うと、病欠だけを集計できます。 フォーミュラでは、休暇欠勤デュレーション用に特別に設計されたシステム エレメントを呼び出すことができます。これらのエレメント名は、休暇欠勤の日次データの生成に使用するエレメント名と同じですが、サフィックス DU が付加されています。たとえば、ABS END DATE DU というシステム エレメントを、特定の休暇欠勤の休暇欠勤終了日を検索するために使用できます。 |
日次 HR ステータス条件の設定 |
このフィールドは、戻り値の単位として [日] を選択すると、使用可能になります。 このリンクをクリックして日次 HR ステータス条件の設定ページにアクセスします。このページでは、HR ステータス コードに基づいて、該当ステータスの期間をデュレーション計算の対象としたり、対象から除外することができます。 |
[休暇欠勤日数を含む] チェック ボックスをオンにして、かつ、ステータス コードに基づいて該当する期間を対象にしたり除外したりする場合、2 つのカウントが別個に変換され、その結果が組み合わされます。たとえば、従業員ステータスがアクティブになっている日数を対象とし、休暇欠勤日数は除外する場合、受給者がアクティブな日数がカウントされ、受給者が欠勤した日数が差し引かれます。
警告 入力したこれら 2 つの指示によっては、日数が二重にカウントされる場合があります。たとえば、アクティブな日数と受給者が病欠の日数を含める場合、受給者がアクティブで病欠した日数は 2 度計算されます。
日次 HR ステータス条件の設定ページ (GP_DUR_STAT_SEC) を使用して、HR ステータス コードに従って、デュレーション計算の対象にしたり、除外する期間を指定します。
ナビゲーション
定義ページで戻り値の定義に [日] を選択するとアクティブになる、[日次 HR ステータス条件の設定] リンクをクリックします。
画像: 日次 HR ステータス条件の設定ページ
次の例では、日次 HR ステータス条件の設定ページのフィールドおよびコントロールを説明します。

デュレーションの定義ページで、戻り値の単位を [日] にすると、HR ステータス コードに基づいて期間をデュレーションの対象に含めたり、除外したりすることができます。最低期間と最高期間を指定して、範囲を限定することもできます。
フィールドまたはコントロール |
定義 |
---|---|
リストしたステータスの処置 |
[対象] または [除外] を選択して、[HR ステータス リスト] グリッドで指定したステータスを計算対象にしたり、対象から除外したりします。ステータスを対象とするか除外するかによって、次のように処理が異なります。 [対象] を選択すると、指定されたステータスに該当する期間はデュレーション計算の対象になります。 [除外] を選択すると、指定されたステータスに該当する期間はデュレーション計算の対象から除外されます。 |
入力されたステータス コードの組み合わせは、グループとして対象または除外されます。つまり、特定のステータス コードを対象として指定すると、指定されなかったコードは自動的に除外になります。また、特定のコードを除外として指定すると、指定されなかったコードは自動的に対象になります。
指定される期間には、PS_JOB の有効日が含まれます。
サブ期間の定義
以下のフィールドを使用して、デュレーションの対象/除外とする期間をさらに細かく定義します。
フィールドまたはコントロール |
定義 |
---|---|
右の条件に一致するサブ期間 |
オンにすると、特定の長さのサブ期間がデュレーションの対象/除外とされます。サブ期間には、受給者のステータスが変更されずにいる連続日数を指定します。 複数のサブ期間をカウントに含めることができるかどうかは、それらのサブ期間が同じ期間内にあるかどうかで決まります。各サブ期間が個々に条件を満たしている場合は、全て一緒に加算されます。期間は 1 つずつ計算されます。期間ごとに、このページで定義した条件がチェックされます。条件に適合すると、その期間は対象または除外と見なされます。条件に適合しない場合、その期間は無視されます。 |
オペランド |
[<]、[<=]、[>]、および [>=] から選択して、その期間がデュレーション計算の対象または除外となるかどうかを決定します。[オペランド] は、[値] および [期間] フィールドと共に使用されます。 |
値 |
デュレーションの対象/除外となる年数、月数、日数です。オペランドと共に使用し、デュレーション計算の対象/除外となるステータスの期間の長さを指定します。 |
期間 |
前のフィールドで選択した値に対する期間の単位です。[日]、[月]、または [年] から選択します。 |