
この
FORM ルーチンの名前は、アーカイブクラスの名前で始まり、“ _INIT_WRITE ”で終わります。タスク
この
FORM ルーチンは、データをアーカイブするためのアーカイブクラスを初期化します。ARCHIVE_HANDLE
のためにアーカイブメソッドを提供する必要があることが、このルーチンによってアーカイブクラスに知らされます。アーカイブクラスは、内部テーブルによってアーカイブにデータパケットを渡すことができます。アーカイブクラスは、アーカイブが class_INIT_READ ルーチンによって読み込まれたときに、このデータパケットを取り戻すことが可能です。この内部テーブルは、汎用モジュール TABLE_COMPRESS によって圧縮しておくか、空にしておく必要があります。1つのアーカイブクラスについて、複数のアーカイブを開いておくことが可能です。アーカイブクラスは、開かれた各アーカイブについて、固有の
ARCHIVE_HANDLE を受け取ることができます。呼び出し
このルーチンは、新しいアーカイブファイルが書き込みのため開かれる際に、アーカイブによって常に呼び出されます。1つのアーカイブセッションにおいて、複数のアーカイブファイルが登録できるように、このルーチンは各アーカイブファイルごとに呼び出されます。
ARCHIVE_HANDLE は同じです。インタフェース
FORM class_INIT_WRITE TABLES INIT_TAB
パラメータ
パラメータ
INIT_TAB は、アーカイブクラスがデータを保存するテーブルを指示します。このパラメータは、アーカイブクラスがアーカイブを読み込むときに、初期化のため必要となり、アーカイブファイルのすべてのデータオブジェクトに対して有効である必要があります。たとえば、制御データをこのパラメータに格納することが可能で、これによってその後アーカイブを分析するときに、分析時のカレント値ではなく、適切な制御データが使用されることになります。パラメータ
HANDLE には、初期化を実行する必要がある ARCHIVE_HANDLE が含まれます。アーカイブクラス汎用モジュールは、このハンドルによって可能な操作は書き込み操作だけであることを認識し、その他の呼び出しはすべて、例外 WRONG_ACCESS_TO_ARCHIVE によって拒否する必要があります。汎用モジュール
TABLE_COMPRESS による圧縮の結果は、パラメータ LEN によってアーカイブに渡されます。この汎用モジュールパラメータは、 COMPRESSED_SIZE と呼ばれます。このルーチンでは、このアーカイブクラスで使用する他のアーカイブクラスを登録することが可能です(
ARCHIVE_REGISTER_CLASS )。