アーカイブクラスにどのサービスを提供するかを、指定します。書き込み汎用モジュールは、常に提供されなければなりません。読み込み汎用モジュールを提供することも、分析プログラムに役立ちます。
データの再ロードは、例外的な場合にのみ必要となります。したがって、再ロード汎用モジュールの提供が必要なのは、特殊な場合だけです。
グローバルデータの宣言
まず、必要なデータおよび構造を、
INCLUDE LxxxxTOP に記述します。アーカイブクラスは、複数のプログラムによって同時に呼び出すことが可能であるため、インスタンスの管理が可能でなければなりません。インスタンスは、識別番号(アーカイブハンドル) およびオブジェクトキーによって識別されます。汎用モジュール
class_ARCHIVE_OBJECTこの汎用モジュールは、命名規則のオブジェクトです。命名規則では“
class ”とは、オブジェクト定義のアーカイブクラス名のことです。この汎用モジュールは、インタフェースでアーカイブするデータのアーカイブハンドルおよびキーを受け取る必要があります。クラスがどのようにデータを“記憶”するかについては、ユーザが決定します。最初はデータキーだけを“記憶”することをお奨めします。このキーは、たとえば、メインプログラムに定義された内部テーブルに保存することができます。
FORM ルーチン class_GET_DATA を、 ADK 汎用モジュール ARCHIVE_SAVE_OBJECT によって呼び出すときに必要なのは、データをデータオブジェクトに提供することだけです。この作業には、配列操作を使用することをお奨めします。クラスは、
ADK 汎用モジュールで FORM ルーチン class_FREE_DATA ( ARCHIVE_CLOSE_FILE によって)または class_RENEW_DATA ( ARCHIVE_NEW_OBJECT によって)が呼び出されるまで、データを“記憶”する必要があります。読み込み汎用モジュール
この汎用モジュールは、命名規則のオブジェクトではありません。すなわち、この汎用モジュールは(
ADK ではなく)直接、プログラムによって呼び出されます。すでにデータベース読み込み汎用モジュールを開発していた場合、ここでその汎用モジュールを使用することができます。必要な作業は、データをデータベース、またはアーカイブから読み込むかの指定に使用する1つのパラメータを使って、その汎用モジュールを拡張することだけです。通常のアプリケーションの場合、データベース中のアーカイブクラスのデータを読み込むための汎用モジュールはすでに存在します。したがって、必ずしも新しい汎用モジュールを登録する必要はなく、既存の汎用モジュールを拡張して使用することができます。この拡張には、ハンドルを渡すためのパラメータが含まれます。このパラメータは、必ず
ARCHIVE_HANDLE という名前でなければなりません。ハンドルは、汎用モジュールを通常のデータベース読み込みに使用するのか、アーカイブのために使用するのかを指定します。ハンドルに初期値“ 0 ”が渡されると、汎用モジュールは直接データベースを読み込みに行きます。“ 0 ”以外の値が渡されると、汎用モジュールはそのローカルメモリのデータパケットからデータを取り出します。