分析プログラムの開発(オプション) 

アーカイブデータを分析したい場合は、汎用モジュールによって、アーカイブを読み込む分析プログラムを開発することができます。

アーカイブクラスは、依然としてデータベースにあるかのように、アーカイブクラスのアーカイブ済データにアクセスできる汎用モジュールを提供します。制限が1つあります。1つのアーカイブファイル内のすべてのデータに、同時にアクセスすることはできません。アクセスできるのは、読み込まれる最後のデータオブジェクトだけです。したがって、アーカイブデータを使用する対話式レポートでは、特別の工夫が必要です。

以下の図は、読み込みプログラムまたは分析プログラムが、どのようにアーカイブデータにアクセスするかを示しています。

プログラムは、読み込みのためアーカイブファイルを開きます。エンティティテーブルの各レコードは、アーカイブファイルからデータコンテナにすべて読み込まれます。

プログラムは、レコードを、データコンテナからプログラムの内部テーブルに個別に読み込みます。

分析は、データオブジェクトがすべてアーカイブから読み込まれた後、実行されます。

アーカイブファイルは、再び閉じられます。

汎用モジュールの呼び出し順序

1. 読み込みのため、アーカイブを開く - ARCHIVE_OPEN_FOR_READ
この汎用モジュールは、読み込み操作のため、ハンドル ARCHIVE_READ_HANDLE を戻します。

この汎用モジュールは、以下のタスクを実行します。

− 読み込みのため、既存のアーカイブをオープン

− 既存のアーカイブのアーカイブクラスのインクルード

2つの汎用モジュールは、再ロードプログラムの開始時、一度だけ呼び出されます。

2. 次のデータオブジェクトの読み込み - ARCHIV_GET_NEXT_OBJECT
この汎用モジュールを、アーカイブファイル内のすべてのデータオブジェクトについて、ループ内で呼び出します。
この汎用モジュールによって、開かれたアーカイブファイルのデータオブジェクトを、順番にデータコンテナに読み込みます。

3. 次のデータオブジェクトレコードの読み込み

ARCHIVE_GET_NEXT_RECORD 標準クラス)
この汎用モジュールを、最後に読み込まれたデータオブジェクトのすべての標準クラスレコードについて、ループ中で呼び出します。

この汎用モジュールは、プログラムの次の処理のため、現在データオブジェクトの次のデータレコードをデータコンテナに読み込みます。データオブジェクトを最初に呼び出したときに、自動的に最初のレコードが読み込まれます。

アーカイブクラス汎用モジュール
(これらは命名規則のオブジェクトになっていないため、指定する必要があります)
この汎用モジュールによって、プログラムの次の処理のため、アーカイブクラスのデータを、データコンテナに読み込みます。

4. 分析終了 - ARCHIVE_CLOSE_FILE
この汎用モジュールによって分析を終了します。この汎用モジュールは、以下のタスクを実行します。

− アーカイブファイルのクローズ

− インクルードされたアーカイブクラスの解放

− 現在ハンドルの破棄