アーカイブプログラムは、データをアーカイブファイルのアーカイブオブジェクトに書き込みます。アーカイブプログラムは、必要に応じて調整することができます。アーカイブするデータオブジェクトは、アーカイブプログラムで直接取り出すか、論理データベースによって取り出すことが可能です。
すべてのアーカイブプログラムには、共通点が一つあります。すなわち、
ADK 汎用モジュール(機能グループ ARCH )を使用して、オブジェクトのデータをアーカイブファイルに保存します。この汎用モジュール群は、すべてのアーカイブファイルのアクセスメソッドをカバーします( 標準アーカイブプログラムも参照してください)。したがって、アーカイブクラスを定義すれば、アーカイブプログラムの開発にとって有利です。アーカイブクラスには、データベースおよびデータコンテナ間の転送のプログラムロジックが含まれています(
アーカイブクラスを使用するアーカイブも参照してください)。アーカイブクラスが存在しない場合は、アーカイブプログラムはデータベースからデータを取り出す必要があります。それらのデータは、 ADK 標準クラスによってデータコンテナに渡されます。ガイドライン
・ データセキュリティのため、アーカイブプログラム自体は、データベース内のいかなるデータも削除することはできません。(削除は、別の削除プログラムによって実行されます)
・ ただし、アーカイブプログラムは、アーカイブフラグを設定することなどのデータベースの変更はできます。どのような変更も、データベースの負荷を大きくし、アーカイブの実行時間を長くすることになるので、こうした変更はどうしても必要な場合にのみ行ってください。
・ アーカイブプログラムがオンラインモードで稼働することができるように、データの選択を注意深く行い、システムの負荷を最小限に抑えるようにしてください。

すべての ADK汎用モジュール(機能グループ
1.
ツール → ABAP/4 Workbench と選択して 、汎用ライブラリのプッシュボタンを選択します。2.
汎用モジュールの名前を入力します。3.
オプション 文書をマークして、照会を選択します。汎用モジュール文書を照会するには、プッシュボタン 汎用モジュール文書を選択します。パラメータ文書または例外を照会するには、該当する行をダブルクリックします。
汎用モジュールの呼び出し順序
1.
アーカイブを開く - ARCHIVE_OPEN_FOR_WRITE− アーカイブファイルを作成するかどうかのチェック
− 削除プログラムをテストモードで呼び出すかどうかのチェック
− アーカイブ管理へのヘッダエントリの書き込み
− 静的アーカイブクラスのインクルード
− 最初のアーカイブファイルのオープン
− 最初のアーカイブファイルへのヘッダエントリ、たとえば、関連するディクショナリ(
2.
アーカイブクラスの動的なインクルード - ARCHIVE_REGISTER_CLASS− アーカイブファイルへの情報の書き込み
(以下のプログラムを使用するため)

ARCHIVE_OPEN_FOR_WRITE
の直後に呼び出してください。以下のステップ(
3 - 5 )は、アーカイブするデータオブジェクトすべてについて、ループで呼び出す必要があります。3.
新規データオブジェクトの取得 - ARCHIVE_NEW_OBJECT− データコンテナの初期化
− アーカイブクラス初期化ルーチンの呼び出し
−

汎用モジュール
4.
データオブジェクトの構築渡されたデータを、削除プログラムによって削除するかしないかを決める必要があります。この判断のため、アーカイブクラス汎用モジュールによって、パラメータ

アーカイブしたくないデータをすでに渡してしまった場合には、汎用モジュール
5.
アーカイブファイルへのデータオブジェクトの保存 - ARCHIVE_SAVE_OBJECT− アーカイブクラスデータパケットの取得
− 標準クラスデータの圧縮
− 静的データの収集
− アーカイブ管理レコードの更新
− アーカイブファイルへのデータオブジェクトの書き込み(アーカイブクラスおよび標準クラスによってデータが保存されたデータコンテナから)
− 満杯になったアーカイブファイルのクローズ、および新しいアーカイブファイルのオープン
− アーカイブファイルを閉じた後の、削除プログラムの呼び出し
− データコンテナのクローズ。これによりデータオブジェクトがアーカイブファイルに書き込まれた後、データコンテナにそれ以上データが書き込めなくなります。
ループ終了(ステップ
5 )6.
アーカイブ終了 I - ARCHIVE_WRITE_STATISTICS− アーカイブ手順を文書化した一覧の生成
7.
アーカイブ終了 II - ARCHIVE_CLOSE_FILE
この呼び出しを忘れると、最後に処理された(物理)アーカイブファイルが失われ、アーカイブは完了しないことになります。
− アーカイブ管理レコードの更新
− 現在アーカイブファイルのクローズ
− インクルードされたアーカイブクラスの解放
− 現在ハンドルの破棄
− アーカイブ削除プログラムの呼び出し(自動削除が必要な場合)