IMSDBU 出口

IMS データベース ユーティリティ (IMSDBU) 出口は Micro Focus COBOL 開発システムのみで利用できます。この出口によりデータベース機能を実行できます。出口には以下が含まれています。

データベース セグメント出口
セグメント出口を使用すると、ユーザー記述プログラムでセグメント選択を制御し、ロードおよびアンロード処理中にセグメント データを変更できます。出口プログラムは、データベース セグメントごとに呼び出されます。出口プログラムでは、セグメントを削除したり、セグメント データを変更したり、セグメント データを未変更のまま渡したりできます。セグメントを削除すると、そのセグメントの子セグメントも自動的にすべて削除されます。
データベース圧縮出口
圧縮出口は、Load への入力ファイルおよび Unload の出力ファイルに使用されます。圧縮出口により、入力ファイルまたは出力ファイルのセグメント圧縮または暗号化 (あるいはその両方) が可能になります。圧縮出口は、MFIMS データベースに格納されたデータには使用されません。入力ファイルの圧縮解除および出力ファイルの圧縮を行うために、CBLDCIMS という標準ルーチンが用意されています。ユーザー記述プログラムでは、別のセグメント エンコーディングを実行できます。
データベース進捗出口
データベース機能の実行中に進捗をレポートする頻度を制御します。
呼び出し
IMSDBU 出口は、以下の指令を指定することで、IMSDBU の Load 関数と Unload 関数の実行時に呼び出されます。
  • SEGEXIT - データベース セグメント出口を実行します。
  • COMPRESS - データベース圧縮出口を実行します。
    注: 出口名を指定しないと、Enterprise Server はデフォルトの圧縮ルーチン CBLDCIMS を実行します。
  • PROGRESS - データベース進捗出口を実行します。
Enterprise Developer にはサンプルのファイル DBUPARMS.cpy があり、3 つの IMSDBU 出口すべてが含まれています。DBUPARMS.cpy はデフォルトで %PUBLIC%\Documents\Micro Focus\Enterprise Developer\Samples\Mainframe\IMS\Classic\Examples (Windows) または $COBDIR/demo/ims/examples(UNIX) ディレクトリにあります。
データベース ユーザー プログラム出口
このユーザー出口 (USERDB) には 2 つの目的があります。
DB カタログのデータベースの値を設定する
USERDB は、データベースまたは設定 (あるいはその両方) の一部またはすべてを制御するために使用します。これは、IMS の実行中に DB カタログのデータベース タイプの値やその他のカタログ設定を設定するための代替メカニズムとして機能します。[IMS System Properties] の [DB Catalog defaults] ページやカタログ メンテナンス用の呼び出し可能な IMS86GIO インターフェイスで定義された設定を置換または拡張できます。
DL/I 呼び出しの処理を置き換える
USERDB は、IMS での DL/I 呼び出しの処理を独自のプログラムに置き換える目的にも使用できます。たとえば、この出口で DL/I 呼び出しを SQL クエリに変換したり、索引ファイルを読み取ったり、呼び出しをパッケージ化して別のシステムに送信したりできます。呼び出しの処理後、出口は DL/I 呼び出しが行われたかのように PCB および入出力領域を設定します。これは、処理する DL/I 呼び出しとデータベース構造の複雑さによっては、複雑な作業になる可能性があります。処理するデータベースを選択し、他の処理については Enterprise Developer IMS のサポート機能で実行できます。

USERDB 出口の詳細については、サンプル ファイルの userdb.txtuserdb.cbl を参照してください。これらのファイルは、デフォルトでは %PUBLIC%\Documents\Micro Focus\Enterprise Developer\Samples\Mainframe\IMS\Classic\Examples にあります。