レコード・タイプが (17 桁目の E によって指示される) 例外レコードであっ た場合には、レコード行のこれらの桁に名前を入れることができます。 出力され るレコードのグループに割り当てられる名前は、EXCEPT 命令で指定することがで きます。この名前は EXCEPT 名と呼ばれます。 EXCEPT 名は、XXX の使用に関する規則に従うものでなければなりません。 任意の数の出力レコードによるグループに同じ EXCEPT 名を使用することができ ますが、それらのレコードが連続したレコードである必要はありません。
EXCEPT 名を指定せずに EXCEPT 命令を指定した場合には、EXCEPT 名のない例 外レコードだけが検査されて、条件付け標識が満たされた場合に書き出されます。
EXCEPT 命令で EXCEPT 名を指定した場合には、その名前を持つ例外レコード だけが検査されて、条件付け標識が満たされた場合に書き出されます。
EXCEPT 名は主要レコード行に指定され、すべての AND/OR 行に適用されます。
EXCEPT 名を持つ例外レコードがオーバーフロー標識によって条件付けされて いる場合には、RPG IV サイクルのオーバーフロー部分またはフェッチ・オーバーフロー・ルーチンの間だけそのレコードが書き出されます。 EXCEPT 命令の処理時にはレコードは書き出されません。
フィールドのない EXCEPT 命令を使用して、ファイル中のレコード・ロックを 解放することができます。UNLOCK 命令もこの目的で使用することができます。図 1 では、ファイル RCDA のレコード・ロックが EXCEPT 命令によって解放されます。詳しくは、「ILE Application Development Example」(SC41-5602) を参照してください。
*...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)