000015 FD CUSTOMER-FILE-IN RECORDING MODE F.
000016 01 CUSTOMER-RECORD PIC X(80).
000017
000018 FD MASTER-FILE-OUT RECORDING MODE F.
000018==> IGYGR0096-S A "RECORDING MODE" clause was found for a file that did not have physical
"SEQUENTIAL" organization. The "RECORDING MODE" clause was discarded.
000016 01 CUSTOMER-RECORD PIC X(80).
000017
000018 FD MASTER-FILE-OUT RECORDING MODE F.
000018==> IGYGR0096-S A "RECORDING MODE" clause was found for a file that did not have physical
"SEQUENTIAL" organization. The "RECORDING MODE" clause was discarded.
My complete code is
//STEP01 EXEC PGM=IDCAMS,REGION=4096K
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DELETE (XXXXXXXX.YYYYYYYY.ZZZZZZZZ)
/*
//STEP02 EXEC PGM=IDCAMS,REGION=4096K
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DEFINE CLUSTER(NAME(XXXXXXXX.YYYYYYYY.ZZZZZZZZ)-
RECORDSIZE(80 80)-
KEYS(5 0)-
FREESPACE(20 10)-
SHAREOPTIONS(2 3))-
DATA(NAME(XXXXXXXX.YYYYYYYY.ZZZZZZZZ.DATA)-
CYLINDERS(20 10)-
CISZ(4096))-
INDEX(NAME(XXXXXXXX.YYYYYYYY.ZZZZZZZZ.INDEX))
/*
//STEP3 EXEC IGYWCLG,REGION=50M
//COBOL.SYSIN DD *
IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FILE-IN ASSIGN TO INDD.
SELECT FILE-OUT ASSIGN TO OUTDD
ORGANIZATION IS INDEXED
ACCESS IS SEQUENTIAL
RECORD KEY IS ACCT-OUT.
DATA DIVISION.
FILE SECTION.
FD FILE-IN RECORDING MODE F.
01 CUSTOMER-RECORD PIC X(80).
FD FILE-OUT RECORDING MODE F.
01RECORD-OUT.
02 ACCT-OUT PIC X(5).
02 NAME-OUT PIC X(20).
02 ADDR-OUT PIC X(40).
02 BAL-OUT PIC 9(5)V99.
02 CREDIT PIC X(8).
WORKING-STORAGE SECTION.
01 RECORD-IN.
02 NUM PIC X(5).
02 NAME PIC X(20).
02 ADDR PIC X(40).
02 BALANCE PIC 9(5)V99.
02 CREDITED PIC X(8).
01 EOF PIC X(3) VALUE "NO".
PROCEDURE DIVISION.
OPEN INPUT FILE-IN OUTPUT FILE-OUT.
PERFORM UNTIL EOF = "YES"
READ FILE-IN INTO RECORD-IN
AT END MOVE "YES" TO EOF
NOT AT END PERFORM CREATE-INDEX-FILE
END-READ
END-PERFORM.
CLOSE FILE-IN, FILE-OUT.
STOP RUN.
CREATE-INDEX-FILE.
WRITE RECORD-OUT FROM RECORD-IN
INVALID KEY DISPLAY "INVALID RECORD: "
RECORD-IN.
//INDD DD *
10001KKKKKKKKKK XXXXXXXXXXXXXXXXXX 9999900AAAAAAAA
10005MMMMMM YYYYYYYYYYYYYYYYYY 1111100BBBBBBBB
10010LLLLLLLLLLLL ZZZZZZZZZZZZZZZZZZ 4444444CCCCCCCC
/*
//GO.SYSOUT DD SYSOUT=*
//GO.SYSUDUMP DD SYSOUT=A
//GO.OUTDD DD DSN=xxxxxxxx.yyyyyyyy.zzzzzzzz,DISP=OLD
//
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DELETE (XXXXXXXX.YYYYYYYY.ZZZZZZZZ)
/*
//STEP02 EXEC PGM=IDCAMS,REGION=4096K
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DEFINE CLUSTER(NAME(XXXXXXXX.YYYYYYYY.ZZZZZZZZ)-
RECORDSIZE(80 80)-
KEYS(5 0)-
FREESPACE(20 10)-
SHAREOPTIONS(2 3))-
DATA(NAME(XXXXXXXX.YYYYYYYY.ZZZZZZZZ.DATA)-
CYLINDERS(20 10)-
CISZ(4096))-
INDEX(NAME(XXXXXXXX.YYYYYYYY.ZZZZZZZZ.INDEX))
/*
//STEP3 EXEC IGYWCLG,REGION=50M
//COBOL.SYSIN DD *
IDENTIFICATION DIVISION.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FILE-IN ASSIGN TO INDD.
SELECT FILE-OUT ASSIGN TO OUTDD
ORGANIZATION IS INDEXED
ACCESS IS SEQUENTIAL
RECORD KEY IS ACCT-OUT.
DATA DIVISION.
FILE SECTION.
FD FILE-IN RECORDING MODE F.
01 CUSTOMER-RECORD PIC X(80).
FD FILE-OUT RECORDING MODE F.
01RECORD-OUT.
02 ACCT-OUT PIC X(5).
02 NAME-OUT PIC X(20).
02 ADDR-OUT PIC X(40).
02 BAL-OUT PIC 9(5)V99.
02 CREDIT PIC X(8).
WORKING-STORAGE SECTION.
01 RECORD-IN.
02 NUM PIC X(5).
02 NAME PIC X(20).
02 ADDR PIC X(40).
02 BALANCE PIC 9(5)V99.
02 CREDITED PIC X(8).
01 EOF PIC X(3) VALUE "NO".
PROCEDURE DIVISION.
OPEN INPUT FILE-IN OUTPUT FILE-OUT.
PERFORM UNTIL EOF = "YES"
READ FILE-IN INTO RECORD-IN
AT END MOVE "YES" TO EOF
NOT AT END PERFORM CREATE-INDEX-FILE
END-READ
END-PERFORM.
CLOSE FILE-IN, FILE-OUT.
STOP RUN.
CREATE-INDEX-FILE.
WRITE RECORD-OUT FROM RECORD-IN
INVALID KEY DISPLAY "INVALID RECORD: "
RECORD-IN.
//INDD DD *
10001KKKKKKKKKK XXXXXXXXXXXXXXXXXX 9999900AAAAAAAA
10005MMMMMM YYYYYYYYYYYYYYYYYY 1111100BBBBBBBB
10010LLLLLLLLLLLL ZZZZZZZZZZZZZZZZZZ 4444444CCCCCCCC
/*
//GO.SYSOUT DD SYSOUT=*
//GO.SYSUDUMP DD SYSOUT=A
//GO.OUTDD DD DSN=xxxxxxxx.yyyyyyyy.zzzzzzzz,DISP=OLD
//