■  テーブル処理サンプル1


テーブル処理をするにはINDEX句を使います。

EX)
//FILEA    DD *                         ←INPUTデータ
AAAAABBBBBCCCCCTEST1DDDDD
AAAAATEST2
//SYSLIN   DD *
LIST OFF
FILE FILEA
REC           1  80 A
ID            1   5 A OCCURS 5 INDEX(IDX1)
*
WKTBL         W  30 A
WKTBA   WKTBL     5 A OCCURS 6 INDEX(IDX2)
WKTB1   WKTBL     5 A VALUE 'TEST1'      ←WKTBLの再定義(1)
WKTB2   WKTBL +5  5 A VALUE 'TEST2'      ←WKTBLの再定義(2)
WKTB3   WKTBL +10 5 A VALUE 'TEST3'      ←WKTBLの再定義(3)
WKTB4   WKTBL +15 5 A VALUE 'TEST4'      ←WKTBLの再定義(4)
WKTB5   WKTBL +20 5 A VALUE 'TEST5'      ←WKTBLの再定義(5)
WKTB6   WKTBL +25 5 A VALUE 'TEST6'      ←WKTBLの再定義(6)
*
WKFLG         W   1 P
JOB  INPUT  FILEA
     IDX1 = 1
     DO WHILE (IDX1 < 6)
       IDX2 = 1
       WKFLG = 0
       DO WHILE (IDX2 < 7) AND (WKFLG = 0)
          IF ID(IDX1) = WKTBA(IDX2)
             DISPLAY 'FOUND!!  ID=' ID(IDX1) ' WKTBL=' WKTBA(IDX2)
             DISPLAY '       IDX1=' IDX1  ' IDX2=' IDX2
             WKFLG = 1
          END-IF
          IDX2 = IDX2 + 1
       END-DO
       IDX1 = IDX1 + 1
     END-DO
/*

 

※これはINPUTデータにテーブルで定義した文字列があるかどうかをチェックするロジックです。


BEFORE PAGE

TOP PAGE