+----------------------------------IBM 拡張----------------------------------+
このステートメントは、FOR 句で指定されているデータ域にデータを転送するために使用されます。
DISPLAY ステートメント - 形式 5 - データ域 .----------------. V | >>-DISPLAY----+-ID-1-------+-+--UPON--簡略名--------------------> '-リテラル-1-' >--FOR-+-ID-2-------+--+---------------------------------+------> '-リテラル-2-' '-+----+--LIBRARY--+-ID-3-------+-' '-IN-' '-リテラル-3-' >--+----------------+--+-----------+----------------------------> '-AT--+-ID-4---+-' '-WITH LOCK-' '-整数-1-' >--+-----------------------------------------+------------------> '-+----+--EXCEPTION--命令ステートメント-1-' '-ON-' >--+----------------------------------------------+-------------> '-NOT--+----+--EXCEPTION--命令ステートメント-2-' '-ON-' >--+-------------+--------------------------------------------->< '-END-DISPLAY-'
この形式が適用できるのは、SPECIAL-NAMES 段落の中で簡略名が環境名 DATA-AREA と関連付けられている場合だけです。
DISPLAY ステートメントのリテラル・オペランド、または DISPLAY ステートメントの ID オペランドの内容は、CORRESPONDING 句がなく、しかも右側にスペースが埋めこまれていないグループ転送の場合の MOVE ステートメントの規則に従ってデータ域に書き込まれます。
SPECIAL-NAMES 段落中の簡略名は、環境名 DATA-AREA と関連付けられていなくてはなりません。
UPON 句を省略した場合には、DISPLAY ステートメントは REQUESTOR へ出力を送り出します。
情報を書き込むための、オペレーティング・システムのデータ域を識別します。 指定されたデータ域の位置が実行時に確認できないか、またはアクセスできない場合、ON EXCEPTION 条件が存在します。
データ域を検出するオペレーティング・システムのライブラリーの名前を指定するために使用されます。特殊値 *LIBL (ジョブのライブラリー・リストを使用する検索) または *CURLIB (現行ライブラリーを検索) を指定できます。 LIBRARY 句を省略すると、ジョブのライブラリー・リストを使用して、データ域を検索します。
ID-2、ID-3、リテラル-1、およびリテラル-2 は、*MONOPRC コンパイラー・オプションによって影響を受けません。これらには、オペレーティング・システムの引用符付き名を入れることができます (詳細については、Web サイト http://www.ibm.com/eserver/iseries/infocenter にある、iSeries Information Center の「プログラミング」カテゴリーの中の『CL および API』のセクション の『名前の指定の規則』を参照してください)。
AT 句は、テキストを書き込むデータ域中の開始位置を示します。
AT 句が指定されていない場合、開始位置 1 が想定されます。
FOR 句中の指定されたデータ域にデータが転送される前に、ロックを獲得しなければなりません。 ロックが得られない場合には、データは転送されず、ON EXCEPTION 条件が存在します。
データの転送後もロックをデータ域に保存するためには、この句を指定してください。 このステートメント以前にデータ域にロックが存在し、ステートメントに WITH LOCK 句が含まれていない場合、そのロックは解放されます。
データ域にアクセスしている間にエラーが発生すると、ON EXCEPTION 句で指定された任意の命令ステートメントが処理されます。 ON EXCEPTION 句がない場合は、実行時メッセージが発行されます。 データ域が正常にアクセスされると、NOT ON EXCEPTION 句で指定された任意の命令ステートメントが処理されます。
END-DISPLAY 明示範囲終了符号は、DISPLAY ステートメントの有効範囲を区切るのに役立ちます。 END-DISPLAY を使うと、条件 DISPLAY ステートメントを別の条件ステートメント内でネストさせることができます。 また、END-DISPLAY は命令 DISPLAY ステートメントでも使用できます。 詳細は 範囲区切りステートメントを参照してください。
+------------------------------End of IBM 拡張-------------------------------+