この演習の目標は、入力ファイルを読み取ってテーブルに保存し、入力内の特定のフィールドを検証してエラー レコードを出力することです。ファイル全体ではなく、一度にテーブルに格納されるレコードが 5 つだけになるように、各ポリシー グループを読み取って格納する必要があります。
したがって、5 つのレコードであるポリシー グループを読み込み、処理を行ってから、ファイルの最後まで次の 5 つのレコードを読み込む必要があります。
This is the input file.
10A 011111 2005062520060625
20A 011111000861038
32A 011111 79372
60A 0111112020 6 4
94A 011111 080 1
10A 02222 2005082520060825
20A 022221000187062
32A 022221 05038
60A 0222212003 6 4
94A 022221 090 1
....
テーブルをOCCUR 5 TIMESにすることで、最初の5つのレコードをテーブルにロードできましたが、それをどのように続けるかわかりません。私のコードは以下です。(正しく動作するかどうかを確認するために書きましたが、ヘッダー行には最初の 5 レコードだけでなく、最初の 4 レコードが出力されます) 01 TABLES.
05 T1-RECORD-TABLE.
10 T1-ENTRY OCCURS 5 TIMES
INDEXED BY T1-INDEX.
15 RECORD-TYPE-10 PIC X(80).
15 RECORD-TYPE-20 PIC X(80).
15 RECORD-TYPE-32 PIC X(80).
15 RECORD-TYPE-60 PIC X(80).
15 RECORD-TYPE-94 PIC X(80).
copy trnrec10.
COPY TRNREC20.
COPY TRNREC32.
COPY TRNREC60.
COPY TRNREC94.
.....
Z200-READ-FILES.
READ DISK-IN INTO T1-ENTRY(T1-INDEX)
AT END MOVE 'YES' TO END-OF-FILE-SW.
WRITE PRINT-RECORD FROM T1-ENTRY(T1-INDEX).
私はこれを段階的に行いたくありません (それはいいことですが :P) bc 何をする必要があるかはわかっていますが、それを行う方法がわかりません bc 私の教科書とコースノートは私には役に立ちません。私はしばらくこれで立ち往生しており、何も試してもうまくいきません。