HH&S product

XSMeXtended Sort Merge

Porting MVS JCL SORT steps to UNIX, Linux and Windows.

Porting MVS JCL SORT steps to UNIX/Linux/Windows with XSM

Challenges

  • You need to rehost legacy z/OS SORT/MERGE batch workloads on Open systems.
  • You need to determine how MVS JCL sort steps will run in a UNIX shell or Windows command-line environment.
  • You require functional equivalence, equal or better sorting performance, and lower operating costs.

Solution

XSM uses IBM-style syntax and keywords, making it suitable for MVS-to-Open batch migrations.

When the original JCL is converted with our MVS to UNIX batch converter, sort steps work without any syntax conversion.

The following example shows an equivalent SORT FIELDS statement using the original DFSORT SYSIN unchanged.

Typical MVS JCL Sort/Merge step

IBM Mainframe//**********************************************************************
//* STEP      : SORT MERGE INF712 INF713                               *
//**********************************************************************
//INP1234  EXEC PGM=SORT
//SYSOUT   DD SYSOUT=*
//* Two input files, MVS Catalog will find out RECFM and LRECL:
//SORTIN   DD DSN=PRD123.CLIENT.INF712,DISP=SHR
//         DD DSN=PRD123.CLIENT.INF713,DISP=SHR
//* One output file, we specify RECFM,LRECL:
//SORTOUT  DD DSN=PRD123.CLIENT.INF714,DISP=(,CATLG,DELETE),
//         UNIT=SYSDV,SPACE=(CYL,(3,3),RLSE),VOL=SER=B80WKC,
//         DCB=(RECFM=FB,LRECL=205,BLKSIZE=0)
//* Sort keys:
//SYSIN    DD *
SORT FIELDS=(15,1,CH,A,
              5,5,CH,A,
             10,5,CH,A,
            201,4,PD,A)
EXCLUDE COND=(30,2,CH,EQ,C'L1',AND,
              32,1,CH,EQ,C'1',
              OR,
              30,2,CH,EQ,C'L2',AND,
              32,1,CH,EQ,C'2')
/*

Equivalent XSM parameter file for UNIX/Linux/Windows

Linux* Two input files:
INPFIL    PRD123.CLIENT.INF712
INPFIL    PRD123.CLIENT.INF713
* One output file:
OUTFIL    PRD123.CLIENT.INF714
* There is no Catalog on UNIX/Windows, so input RECFM and LRECL must be specified:
RECORD    RECFM=F,LRECL=205
* Sort keys, using the SYSIN unchanged:
SORT FIELDS=(15,1,CH,A,
              5,5,CH,A,
             10,5,CH,A,
            201,4,PD,A)
EXCLUDE COND=(30,2,CH,EQ,C'L1',AND,
              32,1,CH,EQ,C'1',
              OR,
              30,2,CH,EQ,C'L2',AND,
              32,1,CH,EQ,C'2')

Et voilà!

XSM handles binary and Packed Decimal data in fixed- or variable-length records (see Features).

See the complete XSM syntax.

Then download XSM and evaluate it.