A.C.M.U : Automate de Conversion MVS UNIX/Linux  
ACMU   Présentation   Exemples   Convertissez votre JCL !   Feedback   Migration Mainframe   Extranet   

Exemple de JOB type à convertir

Ci-dessous, un JOB MVS comportant quelques tournures de JCL que l'Automate peut convertir.

Dans la réalité, sous MVS, ce job ne fonctionnerait pas.

Mais le script Shell obtenu par l'Automate fonctionne parfaitement sous UNIX !

Vous pouvez "copier/coller" ce Job, le modifier à votre gré et le soumettre à notre automate.

Vous noterez que l'appel au program SORT sous UNIX utilise exactement les commandes de tri du DFSORT IBM. En fait, nous utilisons notre utilitaire XSM pour ce faire.


//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=DDF4               
//********************************************************************
//*    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=*



Voir le Script Shell obtenu aprés conversion par l'Automate.

Voir le Programme COBOL qui crée le fichier à trier.

Revenir à la Soumission d'un Job.