DL/I データベース・サポート
EGL は、COBOL 環境用の階層データベース・マネージャーである DL/I (Data Language/I) をサポートしています。
- CICS® for z/OS®
- IMS™ BMP
- IMS/VS
- z/OS バッチ
- 出力 COBOL コード内に DL/I ステートメントを生成する、add、get、replace などの EGL I/O キーワードを使用できます。 EGL が EGL キーワードから生成するデフォルトの DL/I ステートメントは、暗黙的な DL/I ステートメントと呼ばれます。(これらのステートメントはカスタマイズできます。)
- 明示的な DL/I ステートメントを独自にコーディングできます。明示的なステートメントを以下の 2 つの方法でコーディングできます。
- #dli 構文を通じて EGL I/O キーワード・ステートメントをカスタマイズする。 詳しくは、#dli ディレクティブを参照してください。
- ライブラリー関数 dliLib.AIBTDLI、dliLib.EGLTDLI、または vgLib.VGTDLI を使用して、DL/I 呼び出しをコーディングする。AIBTDLI()、EGLTDLI()、およびVGTDLI()を参照してください。
暗黙的および明示的な DL/I コードは、実際の DL/I コードとはわずかに異なる、強力な疑似 DL/I 構文を使用するため、注意してください。詳しくは、#dli ディレクティブを参照してください。
DL/I に精通していない場合は、「EGL プログラマー・ガイド」のDL/I データを参照してください。
標準の DL/I 処理
DL/I データベースから読み取るそれぞれのセグメント・タイプごとに、DLISegment ステレオタイプを持つレコードを作成する必要があります (DLISegment ステレオタイプを参照)。
また、PSBRecord ステレオタイプを持つレコードも作成して (PSBRecord ステレオタイプ を参照) そのデータベースについて EGL に説明する必要もあります。PSBRecord には、EGL が DL/I データベースのプログラム仕様ブロック (PSB) との対話を行うために必要な情報が含まれています。 PSB はデータベースのマップのようなもので、さまざまなセグメントとその階層をリストします。
EGL I/O ステートメント (get など) を使用して、データベース内のデータにアクセスします。DL/I は、セグメント検索引数 (SSA) を使用して、 個々のセグメント (レコードと同等のもの) をデータベース内に配置します。 非修飾 SSA はセグメント・タイプのみを指定し、修飾 SSA は特定尾セグメントを識別します。 EGL は、生成する暗黙的コードの一部として SSA を作成します。 また、ユーザーが明示的コードの一部として、#dli ディレクティブ内に SSA を書き込むことも可能です。