DFSORT 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 -

  1. MERGE FIELDS=(1,5,A,40,10,A),FORMAT=CH is equal to MERGE FIELDS=(1,5,CH,A,40,10,CH,A)
  2. MERGE FIELDS=(1,5,CH,A,...) - Performs merge on the data in 1 to 5 positions to produce the merge result in ascending order.
  3. 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.

Previous Example
SORT FIELDS
Next Example
INCLUDE Records