#dli ディレクティブを使用して、EGL が I/O キーワードから生成するデフォルトの DL/I 呼び出しを変更します。
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 呼び出しでのホスト変数 (ホスト EGL プログラムでは定義されているが、DL/I データベースでは定義されていない変数) を受け入れます。 上記のコード例では、ホスト変数はコロン (:) で始まっています。 これらの生の素材は、生成時に、EGL により、適切にフォーマット設定した DL/I 呼び出しに変換されます。
myOrderArray OrderRecordPart[] {maxsize = 20}; //オーダーの配列
get myOrderArray with #dli{
GU STSCCST STSCLOC STPCORD
GN STPCORD };
//次の 20 オーダーを取得する
get next myOrderArray;