MERGE FIELDS
MERGE FIELDS Example
Scenario1 - Merge two files and write into single output file.
Input1 - MATEPK.SORTDATA.INPUT01
----+----1----+----2----+---3----+---4---+----5---+----6----+---7---+----8 00001 PAWAN KUMAR Y 0000010000 00002 KAMAL K S 0000040000 00003 SRIDHAR R G 0000030000 00004 SRINIVASA RAO C 0000020000 00005 VENKAT R Y 0000060000 00006 RAJESH KUMAR Y 0000050000
Input2 - MATEPK.SORTDATA.INPUT02
----+----1----+----2----+---3---+----4---+----5---+----6---+----7---+----8 00007 GURU R N 0000070000 00008 KUMAR K S 0000060000 00009 RAO A C 0000020000 00010 VENU K P 0000030000
JCL -
---+----1----+----2---+---3---+----4---+----5---+---6----+---7--
//MATEPKD JOB (123),'MTH',NOTIFY=&SYSUID
//*
//STEP10 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN01 DD DSN=MATEPK.SORTDATA.INPUT01,DISP=SHR
//SORTIN02 DD DSN=MATEPK.SORTDATA.INPUT02,DISP=SHR
//SORTOUT DD DSN=MATEPK.MERGE.OUTPUT,
// DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// SPACE=(CYL,(1,4),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SYSIN DD *
MERGE FIELDS=(1,5,A,40,10,A),FORMAT=CH
/*
Output -
---+---1---+---2----+---3---+----4---+---5---+---6----+---7---+----8 00001 PAWAN KUMAR Y 0000010000 00002 KAMAL K S 0000040000 00003 SRIDHAR R G 0000030000 00004 SRINIVASA RAO C 0000020000 00005 VENKAT R Y 0000060000 00006 RAJESH KUMAR Y 0000050000 00007 GURU R N 0000070000 00008 KUMAR K S 0000060000 00009 RAO A C 0000020000 00010 VENU K P 0000030000
Explaining Example -
- MERGE FIELDS=(1,5,A,40,10,A),FORMAT=CH is equal to MERGE FIELDS=(1,5,CH,A,40,10,CH,A)
- MERGE FIELDS=(1,5,CH,A,...) - Performs merge on the data in 1 to 5 positions to produce the merge result in ascending order.
- MERGE FIELDS=(...,40,10,CH,A) - Performs merge on the result of the above step. Merge performed on the data in 40 to 50 positions to produce the result in ascending order.