#dli ディレクティブ

#dli ディレクティブによって、I/O キーワードから EGL が生成するデフォルトの DL/I 呼び出しを変更できます。 以下の例にあるように、このディレクティブを、変更する EGL コードと同じ行に置き、必要に応じて余分の行に続けます。
get myLocation with #dli{
	GU STSCCST (STQCCNO = :myCustomer.customerNo) 
	   STSCLOC (STQCLNO = :myLocation.locationNo) };

お気付きかもしれませんが、上の例の構文は DL/I での場合と厳密に同じというわけではありません。 EGL は、ユーザーに代わって DL/I フォーマットの負担を負う強力な擬似 DL/I 構文をサポートします。 例えば、EGL はすべての名前を大文字に変換し、必要に応じてそれらを 8 文字にするために名前にスペースを追加し、 また、「!=」のような EGL 比較演算子を DL/I の同等のものに変換します。 さらに、EGL では、擬似 DL/I 呼び出しでホスト変数 (DL/I データベース内ではなく、ホスト EGL プログラムに定義される変数) を使用できます。 上記のサンプル・コードでは、ホスト変数はコロン (:) から開始されています。 EGL は生成時に、これらの未加工の素材すべてを、適切にフォーマットされた DL/I 呼び出しに変えます。

#dli ディレクティブを使用するという選択をユーザーが行う可能性があるのは、 以下のようなケースです。 このようなタスクに関する特定の指示は、『DL/I 固有のタスク』にあります。

関連概念
DL/I データベース・サポート
関連項目
get
get next

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.