We have two PS files,want to compare those files and put
the duplicate records in one file.
Input file 1 contains(1,2,4,9,10)
Input file 2 contains (1,4,5,11,12,14,16).
Help me with jcl.
Answers were Sorted based on User's Feedback
Answer / shriram supalwar, dharmabad
//jobcard
//step1 exec pgm=iebgener
//sysprint dd sysout=*
//sysut1 dd dsn=proj.test.file1,disp=shr
// dd dsn=proj.test.file2,disp=shr
//sysut2 dd dsn=proj.output,disp=shr
//sysin dd dummy
//if (step1.rc eq 0) then
//step2 exec pgm=sort
//sysprint dd sysout=*
//sortin dd dsn=proj.output,disp=shr
//sortout dd dsn=proj.sortout,disp=shr
//sortxsum dd dsn=proj.duplicate,disp=shr
//sysin dd *
sort fields=(1,5,ch,a)
sum fields=none,xsum
/*
Now, all these records are copied to proj.output
and out of those records the duplicate records are copied to
proj.duplicate
Correct me if i am wrong
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / aditi
hi,
I have also faced the same question.
as we have the two seperate input files.
Nitika, U have taken only one input file so how we sort it
using only one file?
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / nitika
Use SORTXSUM utility in JCL to get the output.
//JOB1 JOB ,, CLASS = A
//STEP1 EXEC PGM=SORT
//SORTIN DD DSN=TEST.PS.INPUT
//SORTOUT DD DSN=TEST.PS.OUTPUT
//SORTXSUM DD DSN=TEST.PS.OUTPUT
//SYSIN DD *
SORT FIELDS = (1,1,CH,A)
SUM FIELDS = (NONE,XSUM)
/*
Now SUM FIELDS = NONE means no duplicates in the output file
(TEST.PS.OUTPUT)and XSUM means duplicates, in the two files
being matched, should be sent to the file mentioned in
SORTXSUM ddname.
So, output file will have 1,4.
| Is This Answer Correct ? | 3 Yes | 3 No |
Answer / karthik
@aditi n nikita
i think we can use ibm utility iebcompare
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / mdv
@Shriram Supalwar, Dharmabad
You don't need the IEBGENER STEP.
Your second step sort can have both the files concatenated
as one and given as Input.
Thanks
| Is This Answer Correct ? | 0 Yes | 0 No |
Use join keys
//STEP01 EXEC PGM=SORT
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTJNF1 DD DSN=INPUT.FILE.ONE,DISP=SHR
//SORTJNF2 DD DSN=INPUT.FILE.TWO,DISP=SHR
//SORTOUT DD DSN=OUTPUT.FILE,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(100,200),RLSE),
// DCB=(RECFM=FB,BLKSIZE=0,LRECL=80)
//SYSIN DD *
SORT FIELDS=COPY
JOINKEYS FILES=F1,FIELDS=(1,10,A)
JOINKEYS FILES=F2,FIELDS=(1,10,A)
REFORMAT FIELDS=(F1:1,71,F2:1,9)
/*
| Is This Answer Correct ? | 0 Yes | 0 No |
At what stage, operator can change the class and priority of a submitted job?
after submiting the jcl.how do you know that the job has been completed.
How to override a dsn that is contained in a proc called by another proc? I need to do the override in the calling jcl?
if we give TIME=0 how many sec that job/step
Hi, can we call catalog( say myproc } proc n times in jcl if so how please explain Thanks in advance
what is the COND=EVEN ? Can anyone give me an example to explain the usage.
how many members can be created inside a single pds?
Where can program checkpoints be stored for use in a restart?
What is the use of the utility DFSRRC00 in the JCL?
what JCL Procedures?
How to search strings in multiple dataset with conditions 'string1 & string2'?
How to identify where file is empty or not? How many ways are there to identifying?