レコード・タイプが (17 桁目の E によって指示される) 例外レコードであっ た場合には、レコード行のこれらの桁に名前を入れることができます。 出力され るレコードのグループに割り当てられる名前は、EXCEPT 命令で指定することがで きます。この名前は EXCEPT 名と呼ばれます。 EXCEPT 名は、記号名の使用に関する規則に従っていなければなりません。 任意の数の出力レコードによるグループに同じ EXCEPT 名を使用することができ ますが、それらのレコードが連続したレコードである必要はありません。
EXCEPT 名を指定せずに EXCEPT 命令を指定した場合には、EXCEPT 名のない例 外レコードだけが検査されて、条件付け標識が満たされた場合に書き出されます。
EXCEPT 命令で EXCEPT 名を指定した場合には、その名前を持つ例外レコード だけが検査されて、条件付け標識が満たされた場合に書き出されます。
EXCEPT 名は主要レコード行に指定され、すべての AND/OR 行に適用されます。
EXCEPT 名を持つ例外レコードがオーバーフロー標識によって条件付けされて いる場合には、RPG IV サイクルのオーバーフロー部分またはフェッチ・オーバーフロー・ルーチンの間だけそのレコードが書き出されます。 EXCEPT 命令の処理時にはレコードは書き出されません。
フィールドのない EXCEPT 命令を使用して、ファイル中のレコード・ロックを 解放することができます。UNLOCK 命令もこの目的で使用することができます。図 145 では、ファイル RCDA のレコード・ロックが EXCEPT 命令によって解放されます。詳細について は、ILE Application Development Example を参照してください。
*...1....+....2....+....3....+....4....+....5....+....6....+....7... CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq.. C* C KEY CHAIN RCDA C EXCEPT RELEASE ORcdname+++D...N01N02N03Excnam++++....................................... O O* ORCDA E RELEASE O* (no fields)
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.