Wrete a JCL to compare two files and mached records move to
onc file & un mached rows wants to another file?
Answer Posted / seetha
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. COBS.
000300 ENVIRONMENT DIVISION.
000400 INPUT-OUTPUT SECTION.
000500 FILE-CONTROL.
000600 SELECT INP-FILE ASSIGN TO DD1
000700 ORGANIZATION IS SEQUENTIAL
000800 ACCESS SEQUENTIAL.
000900 SELECT INP1-FILE ASSIGN TO DD2
001000 ORGANIZATION IS SEQUENTIAL
001100 ACCESS SEQUENTIAL.
001110 SELECT INP2-FILE ASSIGN TO DD3.
001120 SELECT INP3-FILE ASSIGN TO DD4.
001200 DATA DIVISION.
001300 FILE SECTION.
001400 FD INP-FILE.
001500 01 INP-REC.
001600 02 INP-EC PIC 9(4).
001700 02 F PIC X(1).
001800 02 INP-EN PIC X(4).
001900 02 F PIC X(71).
002000 FD INP1-FILE.
002100 01 INP1-REC.
002200 02 INP1-EC PIC 9(4).
002300 02 F PIC X(76).
002310 FD INP2-FILE.
002320 01 INP2-REC.
002330 02 INP2-EC PIC 9(4).
002340 02 F PIC X(1).
002350 02 INP2-EN PIC X(4).
002360 02 F PIC X(71).
002370 FD INP3-FILE.
002380 01 INP3-REC.
002390 02 INP3-EC PIC 9(4).
002391 02 F PIC X(1).
002392 02 INP3-EN PIC X(4).
002393 02 F PIC X(71).
002400 WORKING-STORAGE SECTION.
002410 77 FLAG PIC X(1) VALUE 'N'.
002500 77 EC PIC 9(4).
002600 77 EN PIC X(4).
002700 77 EF PIC X(1) VALUE 'N'.
002800 77 EF1 PIC X(1) VALUE 'N'.
002900 01 WS-REC.
003000 02 WS-ARR OCCURS 5 TIMES.
003100 06 ARRC PIC X(4).
003200 06 ARRN PIC X(4).
003300 01 WS-REC2.
003400 02 WS-ARR2 OCCURS 10 TIMES.
003500 06 ARRC2 PIC X(4).
003600 77 I PIC 9(1) VALUE 1.
003700 77 K PIC 9(2) VALUE 01.
003800 PROCEDURE DIVISION.
003900 100-MAIN-1.
004000 OPEN INPUT INP-FILE.
004100 OPEN INPUT INP1-FILE.
004110 OPEN OUTPUT INP2-FILE.
004120 OPEN OUTPUT INP3-FILE.
004200 INITIALIZE INP-REC INP1-REC INP2-REC
INP3-REC.
004300 PERFORM 100-IP-1 UNTIL EF = 'Y'
004400 PERFORM 200-IP-2 UNTIL EF1 = 'Y'
004500 PERFORM 300-DUMMY
004600 PERFORM 400-PROCESS-RTN
004700 STOP RUN.
004800 100-IP-1.
004900 READ INP-FILE AT END MOVE 'Y' TO EF
005000 CLOSE INP-FILE
005100 NOT AT END
005200 MOVE INP-EC TO ARRC(I)
005300 MOVE INP-EN TO ARRN(I)
005400 ADD 1 TO I
005500 END-READ.
005600 200-IP-2.
005700 READ INP1-FILE AT END MOVE 'Y' TO EF1
005800 CLOSE INP1-FILE
005900 NOT AT END
006000 MOVE INP1-EC TO ARRC2(K)
006100 ADD 1 TO K
006200 END-READ.
006300 300-DUMMY.
006400 DISPLAY WS-REC.
006500 DISPLAY WS-REC2.
006600 400-PROCESS-RTN.
006700 MOVE 1 TO I.
006800 MOVE 1 TO K.
006900 PERFORM VARYING I FROM 1 BY 1 UNTIL I >
5
007000 PERFORM VARYING K FROM 1 BY 1 UNTIL K >
10 OR FLAG = 'Y'
007100 IF ARRC(I) = ARRC2(K)
007200 MOVE WS-ARR(I) TO INP2-REC
007201 DISPLAY "INP2"
007210 WRITE INP2-REC
007220 MOVE 'Y' TO FLAG
007500 END-IF
007600 END-PERFORM
007610 IF FLAG NOT = 'Y'
007620 MOVE WS-ARR(I) TO INP3-REC
007630 WRITE INP3-REC
007650 END-IF
007660 MOVE 'N' TO FLAG
007700 END-PERFORM.
| Is This Answer Correct ? | 9 Yes | 11 No |
Post New Answer View All Answers
What is jcl in mainframe, and how many types of jcl statements are there for a job?
Where & How Do You Code Identifier In Jcl?
Is automatic restart possible in jcl? If yes, how?
Is condition checking possible in jcl?
How to submit a jcl from cics?
What is the function of //jcllib statement?
What is the maximum length of a single line of jcl?
What do you understand by the term notcat 2 – gs?
can any one plzzzzzz tell the jcl code for creating ps using idcams
What is the use of disp parameter?
I want to JCL sort for Non-COMP and COMP-3 fields SORT FIELDS=(1,5,A,6,11,A,12,11,A,19,1,A,20,1,A),FORMAT=BI,EQUALS Length of comp bytes is 11 bytes which start at 6byte and 12 byte considering 11 bytes in comp-3 is 6 bytes. Can anyone tell if the above sort work SORT FIELDS=(1,5,A,6,6,A,12,6,A,19,1,A,20,1,A),FORMAT=BI,EQUALS does not works OK
I want to join to input files and write the matching fields on to an output file but i dont want the output file a sorted one
What is notcat 2 - gs?
What do you understand by the term job time – out and how can you overcome that?
What are steplib and joblib?