フィールドとレコードの関連標識

フィールドとレコードの関連標識は、入力仕様書の 67 から 68 桁目に指定されます。 有効なフィールドとレコードの関連標識は次のとおりです。

外部記述ファイルに対しては、フィールドとレコードの関連標識を指定すること はできません。

フィールドとレコードの関連標識は、特定のレコード・タイプが OR 関係にある いくつかのレコード・タイプの 1 つである場合に、フィールドをそのレコード・ タイプと関連付けるために使用します。 仕様行に記述されたフィールドは、フィ ールドとレコードの関連記入項目に指定された標識がオンであるか、または記入 項目がブランクの場合にだけ入力に使用することができます。 記入項目がブラン クの場合には、フィールドは OR 関係によって定義されたすべてのレコード・タ イプに共用です。

フィールドとレコードの関連標識の割り当て

67 から 68 桁目にレコード識別標識 (01 から 99) を使用して、フィールドを特定の レコード・タイプに関連付けることができます。 複数のレコード・タイプが OR 関係で 指定されている場合には、67 から 68 桁目にフィールドとレコードの関連標識のない すべてのフィールドが、OR 関係にあるすべてのレコード・タイプと 関連付けられます。フィールドを 1 つのレコード・タイ プにだけ関連付けるためには、そのレコード・タイプに割り当てられているレコ ード識別標識を 67 から 68 桁目に記入します (図 17 を参照)。

入力域から入力フィールドへのフィールドの転送を条件付けするために、レコー ド識別標識でない標識 (01 から 99) を 67 から 68 桁目に使用することもできます。

フィールドとレコードの関連標識が指定されている場合には、 入力仕様書の 63 から 64 桁目の L1 から L9 標識で定義した制御フィールド、および 入力仕様書の 65 から 66 桁目の突き合わせ値 (M1 から M9) で指定した突き合わせフィールド も、OR 関係にある特定の レコード・タイプに関連付けることができます。 OR 関係にあって、フィールドと レコードの関連標識のない制御フィールドまたは 突き合わせフィールドは、OR 関係にあるすべてのレコード・タイプで使用されます。

2 つの制御フィールドが同じ制御レベル標識を持っているか、2 つの突き合わせフ ィールドが同じ突き合わせレベルの値を持っている場合には、それらの突き合わせフィー ルドの 1 つにだけフィールドとレコードの関連標識を割り当ていることができます 。 この場合には、その標識がオンである時に、フィールドとレコードの関連標識 を持つフィールドだけが使用されます。 その制御フィールドまたは突き合わせフィールドについてオンになっているフィール ドとレコードの関連標識がない場合には、フィールドとレコードの関連標識のな いフィールドが使用されます。 制御フィールドおよび突き合わせフィールドに可能な 記入項目は、67 から 68 桁目の 01 から 99 または H1 から H9 だけです。

67 から 68 桁目を使用して、一定の条件が起こった (例えば、レコードが一致 する、制御の切れ目が起こる、または外部標識がオンである) 時にだけ、プログ ラムが特定のフィールドからデータを受け入れて使用することを指定することが できます。 67 から 68 桁目に標識 L1 から L9、MR、または U1 から U8 を指定することによ って、プログラムがフィールドからデータを受け入れる条件を指示することがで きます。 標識を指定することによって、プログラムがフィールドからデータを受け入れ る条件を指示することができます。49 から 62 桁目で指定したフィールドのデー タが受け入れられるのはフィールドとレコードの関連標識がオンの場合だけで す。

外部標識は、ファイル仕様書のEXTIND(*INUx)キーワードによ ってファイルの条件付けが指定される場合に主に使用されます。 しかし、ファイルの条件付けを指定しない場合でも、外部標識を使用すること は できます。 しかし、ファイルの条件付けを指定しない場合であっても、外部標識を使用する ことはできます。

67 から 68 桁目の停止標識 (H1 から H9) は、OR 関係にあり、かつ 21 から 22 桁目に停 止標識が指定されたレコードにフィールドを関連付けます。

フィールドとレコードの関連標識を使用する場合には、以下の点に留意してく ださい。

図 17. フィールド・レコード 関係
*...1....+....2....+....3....+....4....+....5....+....6....+....7...
IFilename++SqNORiPos1+NCCPos2+NCCPos3+NCC................................
I........................Fmt+SPFrom+To+++DcField+++++++++L1M1FrPlMnZr....
IREPORT    AA  14    1 C5
I        OR    16    1 C6
I                                 20   30  FLDB
I                                  2   10  FLDA              07
 *
 *  Indicator 07 was specified elsewhere in the program.
 *
I                                 40   50  FLDC              14
I                                 60   70  FLDD              16

このファイルには 2 つの異なるレコード・タイプが入っており、その 1 つは 1 桁目 の 5 によって識別され、もう 1 つは 1 桁目の 6 によって識別されま す。FLDC フィールドは、レコード識別標識 14 によって、1 桁目の 5 によって 識別されるレコード・タイプと関連付けられています。 FLDD フィールドは、レコード識別 標識 16 によって、1 桁目に 6 を持つレコード・タイプと関連付けられて います。 これは、FLDC が 1 つのタイプのレコード (1 桁目の 5 によって識別される) にだ けあり、FLDD はもう 1 つのタイプのレコードにだけあることを意味します。 FLDA は、プログラムの別の個所ですでに定義されている標識 07 によって条件付 けされています。 FLDB は、レコード識別標識によってどちらのタイプにも関連付 けられていないので、両方のレコード・タイプに入っています。