+----------------------------------IBM 拡張----------------------------------+
ACCEPT ステートメントは、FOR 句で指定されるデータ域から情報を検索します。
ACCEPT ステートメント - 形式 9 - データ域 >>-ACCEPT--ID-1--FROM--簡略名--FOR--+-ID-2-------+--------------> '-リテラル-1-' >--+---------------------------------+--+----------------+------> '-+----+--LIBRARY--+-ID-3-------+-' '-AT--+-ID-4---+-' '-IN-' '-リテラル-2-' '-整数-1-' >--+-----------+------------------------------------------------> '-WITH LOCK-' >--+------------------------------------------+-----------------> '-+----+--EXCEPTION--命令ステートメント -1-' '-ON-' >--+-----------------------------------------------+------------> '-NOT--+----+--EXCEPTION--命令ステートメント -2-' '-ON-' >--+------------+---------------------------------------------->< '-END-ACCEPT-'
ID-1 のクラスは、英数字、数字、DBCS または国別のどれでもかまいません。
ID-1 の説明に TYPE 文節が含まれる場合は、その文節で参照されるタイプ名は基本項目でなければなりません。
FROM 句は、SPECIAL-NAMES 段落中の DATA-AREA の環境名に関連付けなければならない簡略名を指定します。
情報を検索するためのオペレーティング・システムのデータ域を識別します。 指定されたデータ域が実行時に見つからない場合は、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 が想定されます。
ACCEPT ステートメントが、情報を検索して ID-1 に入れている間、データ域は、変更されないように LSRD ロック (読み取りのための共用ロック) でロックされます。 ID-1 が情報を受け入れた後、WITH LOCK 句は LEAR ロック (排他ロック読み取り可) をデータ域に設置します。 ロックをデータ域に設置できない場合、例外条件が発生します。
データの転送後もロックをデータ域に保存するためには、この句を指定してください。 このステートメント以前にデータ域にロックが存在し、ステートメントに WITH LOCK 句が含まれていない場合、そのロックは解放されます。
データ域にアクセスしている間にエラーが発生すると、ON EXCEPTION 句で指定された任意の命令ステートメントが処理されます。 ON EXCEPTION 句がない場合は、実行時メッセージが発行されます。 データ域が正常にアクセスされると、NOT ON EXCEPTION 句で指定された任意の命令ステートメントが処理されます。
明示範囲終了符号 END-ACCEPT は、ACCEPT ステートメントの有効範囲を区切る働きをします。 END-ACCEPT を使うと、条件 ACCEPT ステートメントを別の条件ステートメント内でネストさせることができます。 END-ACCEPT は命令 ACCEPT ステートメントとともに使用することもできます。 詳細は 範囲区切りステートメントのセクションを参照してください。
+------------------------------End of IBM 拡張-------------------------------+