アーカイブされたデータの削除 

この FORM ルーチンの名前は、アーカイブクラスの名前で始まり、“ _DELETE_ARCHIVE_OBJ ”で終わります。

機能

アーカイブクラスによって実行されるサービスの中に、あるアーカイブクラスのデータベース内のアーカイブデータを削除する FORM ルーチンがあります。アーカイブクラスは、これらのデータを実際に削除するか、不整合を避けるため参照データだけを削除するかを決めます。

アーカイブクラスには、どのデータが削除されたかが自動的に知らされるため、この情報を提供する必要はありません。汎用モジュール ARCHIVE_GET_NEXT_OBJECT によって最後に読み込まれ、アーカイブが書き込まれたときに削除フラグをつけられたデータが、自動的に削除されます。

クラスは、アーカイブによる FORM ルーチン class_PUT_DATA の呼び出しによって、削除するデータを受け取ります。データ形式は、アーカイブのときに FORM ルーチン class_GET_DATA によってアーカイブに渡された形式に、完全に対応しています。

呼び出し

この FORM ルーチンは、汎用モジュール ARCHIVE_DELETE_OBJECT_DATA によって自動的に呼び出されます。この汎用モジュールが呼び出されるのは、 ARCHIVE_GET_NEXT_OBJECT によって呼び出される各データについて一度だけです。

インタフェース

FORM class_DELETE_ARCHIVE_OBJ

USING HANDLE

パラメータ

この FORM ルーチンのインタフェースは、パラメータ ARCHIVE_HANDLE によってのみ構成され、関連づけられたアーカイブオブジェクトを指定します。

この FORMルーチンは、グローバルテーブルに削除されるデータを保存し、 PERFORM ON COMMIT によって FORMルーチンを呼び出す必要があります。呼び出された FORMルーチンは、削除プログラムが COMMIT WORK を呼び出すときに、R/3システムによって処理されます。したがって、実際の削除操作は、この FORMルーチンでデータベースに渡す必要があります。

R/3 システムがこの FORM ルーチンを処理するのは、この PERFORM ON COMMIT が何回呼び出されても、各 COMMIT WORK について一度だけです。汎用モジュール ARCHIVE_ROLLBACK_WORK によって ROLLBACK WORK が呼び出される場合は、 PERFORM ON COMMIT は呼び出されません。