File1 has 100 records and file2 has 200 records i want to
copy 50 records which r in both file into file3
Answers were Sorted based on User's Feedback
Answer / harsha
Give both input files in concatenation to SORTIN.
SORT FIELDS=NONE,XSUM
This will copy all duplicate records from both files to
SORTXSUM dataset.
| Is This Answer Correct ? | 5 Yes | 1 No |
Answer / madhavi chava
This can be coded as given below
//SORT1 EXEC PGM=SORT
//SORTJNF1 DD *
00000111111 000001234567 LOCAL =====
00000333333 000003456789 LOCAL =====
00000555555 000005678901 EXTRN =====
00000666666 000006789012 EXTRN =====
00000777777 000007890123 LOCAL =====
//SORTJNF2 DD *
00000222222 000002345678 ===== BCDEF
00000444444 000004567890 =====
DEFGH
00000666666 000006789012 ===== FGHIJ
00000888888 000008901234 ===== HIJKL
00000999999 000009012345 ===== JKLMN
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
JOINKEYS FILES=F1,FIELDS=(1,11,A,13,12,A)
JOINKEYS FILES=F2,FIELDS=(1,11,A,13,12,A)
REFORMAT FIELDS=(F1:1,31,F2:32,5)
SORT FIELDS=COPY
output of the file3
00000666666 000006789012 EXTRN FGHIJ
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / harsha
correction to the above.
it is SUM FIELDS=NONE instead of SORT FIELDS
| Is This Answer Correct ? | 3 Yes | 2 No |
Answer / mani
First need to sort both files
READ FILE1
READ FILE2
PERFORM UNTIL EOF = 'Y'
IF FILE1-ID > FILE2-ID THEN
READ FILE2 AT END MOVE 'Y' TO EOF
ELSE IF FILE1-ID < FILE2-ID
READ FILE1 AT END MOVE 'Y' TO EOF
ELSE IF FILE1-ID = FILE2-ID
WRITE FILE3
READ FILE1 AT END MOVE 'Y' TO EOF
READ FILE2 AT END MOVE 'Y' TO EOF
END-PERFORM
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / kamaldeep
We can't use SUM FIELDS=NONE,XSUM as mentioned by Harsha.
if we merge 2 files then it may be the case that input file already has duplicate records, so it will not give required output.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / ayusman
First you have to join the two files with help of JOJNKEYS
in jcl sort . after that copy first 50 records by using
sort utility
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / muttaiah
Hi Ayusman,
I hope u didn't get the question properly.
Question.
file1: (3 records assumption)
100 ayusman
200 muttaiah
300 allinterview
File 2: (3 records
400 google
500 yahoo
100 ayusman
File3:
100 ayusman
This is what the question is, they want all the duplicates
in both file1 & file2 in file3(first 50 records).
| Is This Answer Correct ? | 0 Yes | 1 No |
We have an output dataset in job with disp parameter as SHR. Can we write data in that file dataset?
What are s0c1, s0c4, s0c5, s0c7 and socb?
What is the purpose of the PARM keyword in the EXEC statement?
Explain about SYSVAR
what is DD statement is used in JCL?
a set statement is used to define commonly used symbolic across job steps or procedures. It initializes the previous values in the symbolic names. It has to be defined before the first use of the symbolic names in the jcl. State whether true or false?
Explain about File Tailoring
What are hierarchy levels in jcl?
how can you check if a file is empty using jcl?
what are the options in file-aid to edit vsam dataset and to compare data sets.
What are the parameter in the job card wihtout which job won't run........
i am trying to copy a PS file into VSAM file in step2 by using PGM=IDCAMS,COND=(0,LT) and the pS file is getting sorted in the step1. I got the return code 00 for step1 but step2 got flushed. can u please help on this. Below is My JCL. SEPP050 EXEC PGM=SORT,REGION=6144K SYSIN DD DSN=SYSCMN.PROD.CCLIB (F5910BNN), DISP=SHR SYSOUT DD SYSOUT=* SYSUDUMP DD SYSOUT=A SORTIN DD DSN=Z1225BT.F5910EPP.HISOUT, DISP=SHR SORTOUT DD DSN=Z1225BT.F5910EPP.HISOUT.SORTOUT5, DISP= (NEW,CATLG,DELETE),UNIT=DELQ, SPACE=(CYL, (500,500),RLSE), DCB= (RECFM=FB,LRECL=1606,BLKSIZE=16060,BUFNO=15) SORTWK01 DD UNIT=SYSDA,SPACE=(CYL, (1)) SORTWK02 DD UNIT=SYSDA,SPACE=(CYL, (1)) SORTWK03 DD UNIT=SYSDA,SPACE=(CYL, (1)) SORTWK04 DD UNIT=SYSDA,SPACE=(CYL, (1)) SYSIN1 DD UNIT=VIO,SPACE= (80,1) * SEPP060 EXEC PGM=IDCAMS,COND= (0,LT) SYSPRINT DD SYSOUT=* SYSOUT DD SYSOUT=* SYSLIST DD SYSOUT=* *** DD01 DD DSN=Z1225BT.F5910EPP.HISOUT.SORTOUT, // DISP=SHR //*** //DD01O DD DSN=Z1225BT.F5910PHS, // DISP=SHR, // AMP=(AMORG,'BUFND=12,BUFNI=5') //SYSIN DD DSN=SYSCMN.PROD.CCLIB(F5910BBB), // DISP=SHR Output RC for the two steps: SDCBPJ05 SEPP050 00 236 .00 .00 .0 SDCBPJ05 SEPP060 FLUSH 0 .00 .00 .0