レコード識別標識の割り当てに関する規則

プログラム記述ファイル中のレコードにレコード識別標識を割り当てる場合には、 以下の点に留意してください。
  • すべてのレコード・タイプに対して同じ命令を処理する場合には、2 つ以上 の異なるレコード・タイプに同じ標識を割り当てることができます。 そのためには、21 から 22 桁目にレコード識別標識を指定し、各種のレコード・タイ プのレコード識別コードを OR 関係で指定します。
  • レコード識別標識を AND 関係で関連付けることができますが、そのレコード 識別標識はグループの最初の行に指定しなければなりません。 AND 行にレコード識別標識を 指定することはできません。
  • 不定形式レコード (プログラム記述ファイル中のレコードで、23 から 46 桁目に レコード識別コードで記述されていないもの) は、プログラムの停止の原因とな ります。
  • 1 つのレコード識別標識を、別のレコード・タイプのレコード識別標識とし て、フィールド標識として、または結果の標識として指定することができます。 診断メッセージは出されませんが、こうした標識の使用法は、間違った結果の原 因となることがあります。
外部記述ファイル中のレコードにレコード識別標識を割り当ている場合には、以 下の点に留意してください。
  • AND/OR 関係をレコード様式名と一緒に使用することはできませんが、同 じレコード識別標識を複数のレコードに割り当てることはできます。
  • 7 から 16 桁目には、ファイル名でなく、レコード様式名を指定しなければなり ません。

レコード識別標識の例については、図 1 を参照してください。

図 1. レコード識別標識の例
*...1....+....2....+....3....+....4....+....5....+....6....+....7...
IFilename++SqNORiPos1+NCCPos2+NCCPos3+NCC................................
I........................Fmt+SPFrom+To+++DcField+++++++++L1M1FrPlMnZr....
 *
I*Record identifying indicator 01 is set on if the record read
I*contains an S in position 1 or an A in position 1.
IINPUT1    NS  01    1 CS
I         OR         1 CA
I                                  1   25  FLD1
 * Record identifying indicator 02 is set on if the record read
 * contains XYZA in positions 1 through 4.
I          NS  02    1 CX    2 CY    3 CZ
I         AND        4 CA
I                                  1   15  FLDA
I                                 16   20  FLDB
 * Record identifying indicator 95 is set on if any record read
 * does not meet the requirements for record identifying indicators
 * 01 or 02.
I          NS  95
*...1....+....2....+....3....+....4....+....5....+....6....+....7...
IRcdname+++....Ri........................................................
 *
 * For an externally described file, record identifying indicator 10
 * is set on if the ITMREC record is read and record identifying
 * indicator 20 is set on if the SLSREC or COMREC records are read.
IITMREC        10
ISLSREC        20
ICOMREC        20