23 から 46 桁目の記入項目は、入力ファイルの各レコード・タイプを識別します。 各 仕様行に入れることができるのは 1 から 3 個のレコード識別コードです。 4 つ以上 のレコード識別コードは、追加の行に AND/OR 関係を使用して指定することがで きます。 ファイルに 1 つのレコード・タイプしか入っていない場合には、識別コードをブ ランクのままにしておくことができますが、レコード識別項目 (21 から 22 桁目) お よび順序 (17 から 18 桁目) は指定しなければなりません。
23 から 46 桁目には、23 から 30 桁目、31 から 38 桁目、および 39 から 46 桁目の 3 組の指定 をすることができます。各組は、桁、否定、コード部分、および文字の 4 つのグループに分けられます。
以下の表は、各組のどのカテゴリーでどの桁が使用されるかを示しています。
カテゴリー | 23 から 30 | 31 から 38 | 39 から 46 |
---|---|---|---|
桁 | 23 から 27 | 31 から 35 | 39 から 43 |
否定 | 28 | 36 | 44 |
コード部分 | 29 | 37 | 45 |
文字 | 30 | 38 | 46 |
これらの組の指定は一定の順序である必要はありません。 例えば、 23 から 30 桁目に指定する必要がなくとも、31 から 38 桁目に指定することができます。 ファイル内の入力レコードが同じタイプであった場合には、レコード識別コード 記入項目は必要ありません。 レコード識別コードが含まれていない入力仕様書では 、ファイルの最終レコード・タイプが定義されるので、未定義のレコード・タイ プも処理できるようになります。 レコード識別コードが満たされない場合には、RPG IV 例外/エラー処理ルーチンに 制御が渡されます。
これらの桁には、各レコードの中でレコード識別コードが入っている位置を記 入してください。 コードが入っている位置は、ファイルについて指定されたレコ ード長の範囲内になければなりません。 この指定は右寄せしなければなりませんが、先行ゼロは省略することができます。
指定したレコードの位置に記述したコードがあってはならない場合には、この 桁に N を記入してください。
この記入項目では、レコード識別コードの中でテストされる文字の部分を指定 します。
C の指定は、文字の完全な構造 (ゾーンおよび数字) がテストされることを指 示します。
Z の指定は、文字のゾーン部分がテストされることを指示します。 ゾーンの指 定によって、「文字」記入項目の上位 4 ビットが「位置」記入項目に指定された レコード位置の文字のゾーン部分と比較されます。 しかし、以下の 3 つの特殊な場合は例外です。
D の指定は、文字の数字部分がテストされることを指示します。 その文字の下 位 4 ビットが「位置」記入項目に指定された文字と比較されます。
この桁には、入力レコードの中で指定した位置の文字と比較される識別文字を記 入します。
レコード・タイプの検査は、常に最初に指定されたレコード・タイプから始ま ります。 レコード内のデータが 2 組以上のレコード識別コードと満たしている場 合には、満たしている最初のレコード・タイプによってレコード・タイプが決定されます。
ファイルに複数のレコード・タイプを指定する場合には、各入力レコードごと に固有の識別コードの組になるようにレコード識別コードをコーディングしなけ ればいけません。
AND 関係は、4 つ以上のレコード識別コードによってレコードが識別される場 合に使用されます。
AND 関係を使用するためには、最初の行に少なくとも 1 つのレコード識別コー ドを入れ、残りのレコード識別コードはその後の行に続けて入れますが、使用す る各追加行の 16 から 18 桁目に AND をコーディングしてください。 16 から 18 桁目に AND が入っている各行の 7 から 15、19 から 20、および 46 から 80 桁目はブランクでなけ ればなりません。 順序およびレコード識別標識は、グループの最初の行に指定さ れ、追加の行に指定することはできません。
入力仕様書で使用できる AND/OR 行の数に制限はありません。
OR 関係は、2 つ以上のレコード・タイプに共通のフィールドがある場合に使 用されます。
OR 関係を使用するためには、16 から 17 桁目に OR を入れてください。 7 から 15、18 から 20、および 46 から 80 桁目はブランクでなければなりません。 レコード識別標識は 21 から 22 桁目に記入することができます。 標識の指定があり、OR 行にコーディングされたレコード識別コードが満たされた 場合には、その行の 21 から 22 桁目に指定された標識がオンに設定されます。 標識が指定されていなければ、前の行の標識がオンに設定されます。
入力仕様書で使用できる AND/OR 行の数に制限はありません。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.