概念 

商用オブジェクトに加える変更を変更文書に記録するには、その商用オブジェクトを変更文書オブジェクトとして定義する必要があります。 変更文書オブジェクトの定義には、商用オブジェクトを表すテーブルが含まれています。この定義で、それぞれの項目の削除を文書化するかどうかを指定することもできます。テーブルに、値が単位および通貨の項目を参照するフィールドが含まれている場合は、その単位および通貨の項目を含む関連テーブルも指定できます。

商用オブジェクトに含まれるレコードが1つだけ(単一ケース)か、複数(複数ケース)か を指定する必要があります。たとえば、1つの注文に注文ヘッダおよび複数の注文品目が含まれていることもあります。通常、注文ヘッダおよび複数の注文品目のレコードは、注文が変更されると変更文書登録に送られます。

変更文書オブジェクトは、オブジェクトクラスという名前で登録されます。

“購買依頼”という変更文書オブジェクトについて、オブジェクトクラス BANFが定義された場合、この変更文書オブジェクトは、テーブル EBAN (購買依頼)および EBKN (購買依頼勘定割当)によって構成されます。

この商用オブジェクトに加える変更は、このあと、この変更文書オブジェクトのオブジェクト値、すなわち オブジェクト ID および変更文書番号にもとづいて保存することができます。オブジェクト ID とは、オブジェクト値へのキー、すなわち、特定の変更文書オブジェクトに属するものと定義されたすべてのレコードのことです。

商用オブジェクトに加えられる変更はすべて、このキーによってオブジェクト値を構成します。たとえば、注文に対する注文番号、または、番号範囲オブジェクトに対する番号範囲オブジェクト名がこのキーにあたります。注文番号または番号範囲オブジェクトへの変更はすべて、この方法でアクセスすることができます。

オブジェクト ID 3000000000 ”を持つオブジェクト値 BANF は、注文番号 3000000000 ”を持つテーブル EBAN および EBKN のレコードによって構成されます。

 

変更が実行されていないが予定されている場合、この変更予定は 変更予定として記録されます。変更の予定日は、指定することができます。変更予定は、分析およびテーブルへのコピーが可能です。このコピーは自分でプログラムしなければなりません。

記録機能はすべて、 SAP 汎用モジュールによってサポートされています。アプリケーション開発には、確実な INCLUDE プログラムが必要です。変更前および変更後のステータスは、変更文書登録に送られます。組み込まれた汎用モジュールは、ディクショナリで変更関連というフラグをつけられた、すべてのテーブル項目への変更を設定します。

変更文書

変更文書は、商用オブジェクトに対する変更を記録します。登録された変更文書は、実際のデータベースの変更とは関係ありません。変更文書の構造は以下のとおりです。

変更文書ヘッダ
特定のオブジェクトクラスのオブジェクト ID に加えられた変更のヘッダデータは、変更文書ヘッダに格納されます。変更文書番号は、自動的に発行されます。

変更文書項目
変更文書項目には、特定の変更についての項目の変更前の値と変更後の値、および変更フラグが含まれます。
変更フラグには、以下の値を使用することができます。

U (更新)
変更されたデータ(ディクショナリで“変更文書関連”というフラグをつけられた各変更項目の記録エントリ)

I (挿入)
挿入されたデータ
変更: 全テーブルレコードの記録エントリ
変更予定: 各テーブルレコード項目の記録エントリ

D (削除)
削除されたデータ(全テーブルレコードの記録エントリ)

I (個々の項目の文書)
項目文書を持つテーブルレコードの削除
削除されたテーブルエントリ項目ごとに 1 記録エントリ。削除されたテキストは保存されます。

変更文書番号
変更文書番号が発行されるのは、変更が記録される場合、すなわち、変更文書登録汎用モジュール(機能グループ SCD0 )によって変更文書ヘッダが登録される場合です。

変更番号は、変更文書番号と同じではありません。変更文書番号は、変更文書オブジェクトに対して変更文書が登録された場合に、機能グループ SCD0 の汎用モジュールによって自動的に発行されます。 変更番号は、変更が予定されている場合に、ユーザによって割り当てられます。複数の変更文書オブジェクトについて、同じ変更番号を使用することができます。

内部処理

指定されたオブジェクトの更新が呼び出されると、その指定されたオブジェクトの変更文書登録が呼び出されます。指定されたオブジェクトの変更文書ヘッダが、変更文書番号とともに書き込まれます。オブジェクト定義の各テーブルについて記録される項目が、ディクショナリで検索されます。次に、それらの項目の記録レコードが、オブジェクト定義に応じて、変更文書項目として登録されます。