00000-MAIN.
PERFORM 10000-INITIALIZE-PARA THRU 10000-EXIT
PERFORM 20000-PROCESS-PARA THRU 20000-EXIT
PERFORM 30000-TERMINATE-PARA THRU 30000-EXIT
GOBACK.
00000-EXIT.
GOBACK.
10000-INITIALIZE-PARA.
DISPLAY '10000-INITIALIZATION'
OPEN INPUT INFILE1
INFILE2
OPEN OUTPUT OUT-FILE
INITIALIZE OUT-RECORD.
10000-EXIT.
EXIT.
20000-PROCESS-PARA.
DISPLAY ' 20000-PROCESS-PARA'
PERFORM 21000-READ-INFILE1 THRU 21000-EXIT
UNTIL EOF-FILE1 = 'Y' .
20000-EXIT.
EXIT.
21000-READ-INFILE1.
DISPLAY '21000-READ-FILE1'
MOVE 'N' TO EOF-FILE2
READ INFILE1 AT END
MOVE 'Y' TO EOF-FILE1
END-READ
ADD 1 TO FILE1-READ.
MOVE EMP-NO TO WS-EMPNO
PERFORM 21100-READ-INFILE2 THRU 21100-EXIT
UNTIL EOF-FILE2 = 'Y'.
21000-EXIT.
EXIT.
21100-READ-INFILE2.
DISPLAY '21100-READ-FILE2'
READ INFILE2 AT END
MOVE 'Y' TO EOF-FILE2
END-READ
ADD 1 TO FILE2-READ.
MOVE EMP-ID TO WS-EMPID
PERFORM 22000-MATCH-DATA THRU 22000-EXIT.
21100-EXIT.
EXIT.
22000-MATCH-DATA.
DISPLAY '22000-MATCH-DATA'
DISPLAY 'FILE1 RECS READ = ' FILE1-READ.
DISPLAY 'FILE2 RECS READ = ' FILE2-READ.
IF WS-EMPNO = WS-EMPID
PERFORM 22100-FILES-MATCH THRU 22100-EXIT.
22000-EXIT.
EXIT.
22100-FILES-MATCH.
DISPLAY '22100-FILES-MATCH'
INITIALIZE OUT-RECORD
MOVE EMP-NO TO OUT-EMP-NO
MOVE EMP-NAME TO OUT-EMP-NAME
MOVE EMP-SAL TO OUT-EMP-SAL
MOVE EMP-DEG TO OUT-EMP-DEG
WRITE OUT-RECORD.
22100-EXIT.
EXIT.
30000-TERMINATE-PARA.
DISPLAY '30000-TERMINATE-PARA'
CLOSE OUT-FILE
INFILE1
INFILE2 .
30000-EXIT. EXIT.
Iam getting the file status code as 46:
1) The file 1 first record is reading after that file 2 is redaing until the eof
2) the file 1 second record is reading that time 2 nd file as appeared the file status code 46. Can anyone tell me how to solve this issue