A.C.M.U : MVS to UNIX/Linux Batch Converter  
ACMU   Introduction   Typical JCL   Shell output   COBOL prog.   Try your JCL !   Feedback   Mainframe Migration   Extranet   

A sample JOB to be converted

You will find below an MVS JOB including some typical JCL statements that can be processes by the tool.

It does not have any significance in terms of logical Application.

But the resulting Shell Script runs perfectly under UNIX !

You are invited to "cut and paste", modify as you want, and submit it to our conversion utility.

You will notice that we call the SORT program on UNIX using exactly the same IBM DFSORT statements. Actually, we use our XSM utility to do it.


//JOBTST10 JOB (HHNTST),'HHNS1',CLASS=J,MSGCLASS=B,MSGLEVEL=(1,1),
//             REGION=6M,NOTIFY=OPERATOR
//********************************************************************
//*    THIS JOB CREATES AND SORTS A FILE FROM SCRATCH.
//*    AT ENTRY : NOTHING INTERESTING
//*    AT EXIT  : FILE 'REAL.TEST10HH.FILE.SAVED'IS CATALOGUED.
//*         <ANY OTHER COMMENT ...>
//********************************************************************
//       JCLLIB ORDER=(OPERATE.PROD9.PROCLIB,OPERATE.PROD8.PROCLIB)
//       INCLUDE MEMBER=MARCEL
//*
//JOBLIB DD DSN=OPERATE.PROD1.LOADLIB,DISP=SHR
//       DD DSN=OPERATE.PROD2.LOADLIB,DISP=SHR
//       DD DSN=OPERATE.PROD3.LOADLIB,DISP=SHR
//********************************************************************
//*    STEP T10S05 : PROGRAM IEFBR14
//*      REMOVES SOME OLD FILES, IF ANY
//********************************************************************
//STPS05   EXEC  PGM=IEFBR14
//F1     DD  DSN=F1,DISP=(OLD,DELETE)
//F2     DD  DSN=F2,DISP=(OLD,DELETE)
//F3     DD  DSN=F3,DISP=(OLD,DELETE)
//F4     INCLUDE MEMBER=DDF6            
//********************************************************************
//*    STEP T10S10 : PROGRAM IDCAMS
//*      REMOVES OLD VERSION OF FILE 'REAL.TEST10.FILE.SORTED', IF ANY
//********************************************************************
//STPS10   EXEC  PGM=IDCAMS
//SYSPRINT DD    SYSOUT=*
//SYSIN    DD    *
 DELETE REAL.TEST10HH.FILE.SAVED
 IF MAXCC = 8 THEN SET MAXCC = 0
 END
/*
//********************************************************************
//*    STEP T10S20 : PROGRAM TEST10HH
//*       ACCEPTS 3 PARAMETERS
//*       READS A LINE FROM SYSIN
//*       CREATES FILE 'REAL.TEST10HH.FILE', NEXT GDG
//*       USES A WORKFILE '&&WRK'
//*       USES SOME FILE WITH '$' EMBEDDED
//********************************************************************
//STPS20   EXEC  PGM=TEST10HH,COND=(4,LE),
//             PARM=(1515,'L''ELEVE BAT DE L''AILE DANS L''ILE D''OLEROX
//             N',1000)
//SYSTSPRT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=D
//WRKFILE1 DD DSN=&&WRK,DISP=(NEW,PASS)
//SAMPLE$  DD DSN=$TEST.SAMPLE$.DOLLAR,DISP=SHR
//TST10F   DD DSN=REAL.TEST10HH.FILE(+1),DISP=(NEW,KEEP)
//SYSIN    DD *
THESE ARE THE PARAMETERS FOR TEST10HH THAT ARE MORE THAN SEVENTY-ONE CH*
ARACTERS LONG.
/*
//STEPLIB  DD DSN=TEST10H.PROD1.LOADLIB,DISP=SHR
//         DD DSN=TEST10H.PROD2.LOADLIB,DISP=SHR
//*
//********************************************************************
//*    STEP T10S30 : PROGRAM SORT   <USES : HHNS EXTENDED SORT/MERGE>
//*      SORTS THE PREVOUS FILE IN REVERSE ORDER, COLS 1-3
//*                             IN ASCEND. ORDER, COLS 4-9
//*      RESULT IS 'REAL.TEST10HH.FILE.SORTED'
//********************************************************************
//STPS30   EXEC  PGM=SORT,COND=(4,LE)
//SYSOUT   DD    SYSOUT=*
//SORTIN   DD    DSN=REAL.TEST10HH.FILE(+0),DISP=(OLD)
//SORTOUT  DD    DSN=REAL.TEST10HH.FILE.SORTED,DISP=(NEW,KEEP)
//SYSIN    DD    *
  SORT     FIELDS=(1,3,D,4,6,A),FORMAT=BI
/*
//DEMO40   IF (STS20.RC EQ 0) THEN
//********************************************************************
//*    STEP T10S40 : PROGRAM IEBGENER
//*      COPIES 'REAL.TEST10HH.FILE.SORTED' TO 'REAL.TEST10.FILE.SAVED'
//********************************************************************
//STPS40   EXEC  PGM=IEBGENER
//SYSUT1   DD DSN=*.STPS30.SORTOUT,DISP=OLD
//SYSUT2   DD DSN=REAL.TEST10HH.FILE.SAVED(+1),DISP=(NEW,CATALG)
//SYSPRINT DD SYSOUT=*
//DEMO40   ENDIF
//
//********************************************************************
//*    ALL THAT STUFF SHOUD BE IGNORED
//*    DUE TO empty '//' ABOVE ...
//********************************************************************
//STPS40   EXEC  PGM=ANY,(4,LE,STPS40)
//SYSUT1   DD DSN=*.STPS30.SORTOUT,DISP=OLD
//SYSPRINT DD SYSOUT=*



See the Shell Script produced by A.C.M.U. tool.

See the COBOL Program that creates the file to be sorted.

Submit another JOB.