発効日のプロパティ
PeopleSoft Enterprise には、Effective Date (省略表記 EFFDT) と呼ばれる特殊なプロパティを使用して、計画済み項目のスケジュール作成と追跡を行う機能があります。 計画済み項目は、日付が PeopleSoft の現在の日付よりも前か後かによって、既に有効になっている項目であるか、単に計画されているだけの項目であるかが決定します。
コンポーネント インターフェイスのプロパティに、発効日が指定された項目 (つまり、EFFDT という名前のフィールド) が含まれている場合、呼び出し元はアダプターを介して、値の完全なセットを取得するか、まだ有効になっていない (まだ変更可能な) 値だけを取得できます。
有効な日付を含むプロパティを持つコンポーネント インターフェイスの場合、アダプターは Get 操作に という名前 getHistoryItems
の追加パラメーターを提供します。 このパラメーターはブール値型であり、True に設定されています (つまり、発効日が指定されたすべての項目が返されます)。 返されるのは、過去、現在、および将来の発効日が指定されたすべての項目です。
パラメーターが getHistoryItems
False に設定されている場合は、現在および将来有効な日付のアイテムのみが返されます。 そのような項目を追加または変更する場合に、False を選択します (過去の項目は変更できません)。
また、複数の項目に同じ発効日が指定されている場合があります。 この場合は、追加のプロパティとして Effective Sequence (EFFSEQ) も指定する必要があります。 同じ発効日を持つ複数の項目を区別するために、EFFSEQ の値は一意である必要があります。 詳細については、PeopleSoft のドキュメントを参照してください。
UpdateEx メソッドと DeleteOnly メソッドの両方の引数はcorrectionMode
、過去の有効な日付アイテムを変更できるかどうかを制御します。 true に設定されている場合は、すべての項目を変更できます。 それ以外の場合、過去の発効日が指定された項目を変更すると例外が生成されます。
有効な日付のアイテムを含むコンポーネント インターフェイスで非推奨 Update
のメソッドを呼び出す場合は、PeopleSoft の現在の有効日より前の値の有効な日付を含めないように注意する必要があります。または、呼び出しが例外で失敗します。 ただし、発効日として現在の日付が指定された項目は、プロパティ設定時にバイパスされるので、含めてかまいません。 Effective Sequence が設定されている場合、発効日として現在の日付が指定された項目のうち、サーバーの Effective Sequence に一致するすべての項目が、プロパティ設定時にスキップされます。