14.22.5 特別なテンプレート変数に関する注意点

アプリケーション・テンプレートには、特別な変数を記述することができます。これらの特別な変数は、アプリケーション・テンプレート・コマンドおよびRDMLコマンドで使用され、対応する値で置き換えられます。これらの値は、他のアプリケーション・テンプレート・コマンドの結果として導き出すこともできます。例えば、@@QUESTIONは、後で@@IFコマンドまたは@@COMMENTコマンドで使用可能な変数@@CANSnnnまたは@@NANSnnnを作成します。また、@@GET_FILSはファイル変数を作成し、@@MAK_LSTSはリスト変数を作成します。

一部のRDMLコマンドは、これらの特別な変数が指定されていると、IBM CL構文検査で受け入れられないことに注意してください。このようなコマンドが強制的に受け入れられるようにする必要があります。また、SEUエディターにより、エラーのある状態で強制的に更新されるようにすることも必要です。以下に例を示します。

GROUP_BY NAME(#PANELDATA) FIELDS(@@LST03)

 

このRDMLコマンドを含むアプリケーション・テンプレートを実行した場合、選択されたフィールドがリスト番号3に保持されているとすると、以下のようなRDMLコマンドが生成されます。

GROUP_BY NAME(#PANELDATA) FIELDS((#EMPNO *OUTPUT) #SURNAME +

         #ADDRESS1 #ADDRESS2)

 

上記の例は有効です。

以下の例のように、アプリケーション・テンプレート内に元のRDMLコマンドをコーディングしないよう注意してください。

GROUP_BY NAME(#PANELDATA) FIELDS((#@@LST03))

 

上記のようにコーディングすると、無効なRDMLコマンドが生成されます。

アプリケーション・テンプレートで特別な変数を含むRDMLコマンドを使用する場合は、必ず十分な検査を行い、そのアプリケーション・テンプレートによって適切なRDMLコマンドが生成されることを確認することが不可欠です。