先日付レコードがある有効日オブジェクトを更新するためのオプション

有効日オブジェクトを更新すると、変更がその既存の複数の有効日レコードに影響する場合があります。また、影響を受ける一部のレコードの有効開始日が、更新の有効開始日より後の場合もあります。

このようなレコードは、先日付レコードと呼ばれます。このトピックでは、それぞれのメンテナンス・モードで先日付レコードの更新がどのように処理されるかについて説明します。また、メンテナンス・モードの設定方法についても説明します。

次の表は、ジョブ・オブジェクトの有効日履歴を示しています。

有効開始日

有効終了日

ジョブ・コード

ジョブ名

正社員臨時

フル/パートタイム

アクティブ・ステータス

2010/06/08

2012/01/09

ACC1

会計担当者

T

PART_TIME

A

2012/01/10

2012/03/03

ACC1

会計担当者

T

FULL_TIME

A

2012/03/04

4712/12/31

ACC1

会計管理者

T

FULL_TIME

A

有効開始日が2011/01/01と指定されたオブジェクトを更新すると、新しい有効日レコードは2011/01/01に対して生成されます。この更新により、有効終了日が2010/06/08のレコードが変更されます。また、2012/01/10と2012/03/04の両方のレコードにも影響します。これらの既存の先日付レコードへの影響は、次によって異なります。

  • メンテナンス・モード(保持または「置換」)

  • 有効終了日の値(指定した場合)

保持モードまたは「置換」モード

次の表では、メンテナンス・モードと既存の先日付レコードの有効終了日を組み合せた影響を説明しています。

モード

有効終了日の値

摘要

保持

#RETAIN

先日付レコードの既存の属性値が保持されます。これらの値は更新の影響を受けません。既存のすべてのレコードが保持されます。

保持

#ALL

変更された属性値は、終了時間まですべての先日付レコードに繰り越されます。既存のすべてのレコードが保持されます。

ヒント: 有効終了日を空白にするか、4712/12/31に設定すると、#ALLトークンを指定した場合と同じ結果になります。ただし、特定の終了日が設定されたオブジェクトの変更を繰り越すには、#ALLトークンを使用する必要があります。

保持

4712/12/31以外の特定の日付

変更された属性値は、指定された終了日まで先日付レコードに繰り越されます。既存のすべてのレコードが保持されます。

置換

特定の日付または空白

単一レコードにより、更新で指定された日付範囲の既存の有効日レコードが置き換えられます。

既存のレコードに増分更新を適用している場合は、保持モードをお薦めします。「置換」モード(デフォルトのモード)は、レコードに完全なデータをアップロードしている場合は、データの移行中に役立ちます。

ノート: レコードに完全ではないデータをアップロードする場合は、「置換」モードにより予期しない結果が発生する可能性があります。

どちらのモードでも、次のようになります。

  • 有効日レコードが現在存在しない有効開始日または有効終了日を指定すると、オブジェクトに対して新しい有効日レコードが生成されます。

  • 値を指定した属性のみが更新されます。

メンテナンス・モードの設定

有効日オブジェクトにメンテナンス・モードを設定するには、SETコマンドを使用します。次の表は、データ・ファイルに含めるSETコマンドを示しています。

モード

SETコマンド

保持

SET PURGE_FUTURE_CHANGES N

置換

SET PURGE_FUTURE_CHANGES Y

データ・ファイルにこれらのSETコマンドのいずれも含めない場合、デフォルトのモードは「置換」です。企業のデフォルト・モードを上書きするには、「有効日更新モード」構成パラメータを使用します。