JCL – IEBEDIT

Ces exemples montrent certaines des utilisations d’IEBEDIT.
Vous pouvez utiliser le tableau 1 comme guide de référence rapide.

Tableau 1. Répertoire d’exemple IEBEDIT

OpérationPériphériqueCommentairesExemple
EDITBandeCopiez un job dans le jeu de données de sortie.Exemple 1 : copie d’un travail
EDITBandeCopie sélectivement les steps de job de chacun des trois jobs.Exemple 2 : copie d’étapes à partir de trois Jobs
EDITDisque et bandeInclut un step de job et exclut step de job d’un autre job.Exemple 3 : Inclure un step de job, exclure un step d’un autre
EDITDisqueCopiez l’instruction JOB pour JOBA, le step de job STEPF et tous les steps qui suivent.Exemple 4 : Copier l’instruction pour JOBA et JOB STEPF
EDITBandeCopie l’intégralité de l’ensemble de données d’entrée. L’enregistrement ..* est converti en une instruction /* dans l’ensemble de données de sortie.Exemple 5 : Copier l’intégralité de l’ensemble de données d’entrée
EDITBandeCopie l’intégralité de l’ensemble de données d’entrée, y compris les instructions de contrôle JES2.Exemple 6 : copier l’ensemble de données pour inclure un nouveau délimiteur

Les exemples qui utilisent un disque ou une bande à la place des numéros de périphérique réels doivent être modifiés avant utilisation.
Les numéros de périphérique réels dépendent de la manière dont votre installation a défini les périphériques sur votre système.

EXEMPLE

Exemple 1 : Copier un job

Dans cet exemple, un job (JOBA), y compris toutes ses steps, est copié dans l’ensemble de données de sortie.
L’ensemble de données d’entrée contient trois jobs : JOBA, JOBB et JOBC.

//EDIT1    JOB  ...
//STEP1    EXEC PGM=IEBEDIT
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  DSNAME=INJOBS,UNIT=tape,
//             DISP=(OLD,KEEP),VOL=SER=001234
//SYSUT2   DD  DSNAME=OUTTAPE,UNIT=tape,DISP=(NEW,KEEP),
//             VOL=SER=001235,DCB=(RECFM=FB,LRECL=80,BLKSIZE=80),
//SYSIN    DD  *
         EDIT  START=JOBA
/*

Les instructions de contrôle sont les suivantes :

  • SYSUT1 DD définit le jeu de données d’entrée, INJOBS.
    L’ensemble de données réside sur un volume de bande étiqueté standard (001234).
  • SYSUT2 DD définit le jeu de données de sortie, appelé OUTTAPE.
    L’ensemble de données doit résider en tant que premier ensemble de données sur un volume de bande étiqueté standard (001235).
    Le système sélectionnera une taille de bloc optimale.
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • EDIT indique que JOBA doit être copié dans son intégralité.

Exemple 2 : Copier les étapes de trois jobs

Cet exemple copie les step de job de chacun des trois jobs.
L’ensemble de données d’entrée contient trois jobs : JOBA, qui comprend STEPA, STEPB, STEPC et STEPD ; JOBB, qui comprend STEPE, STEPF et STEPG ; et JOBC, qui comprend STEPH et STEPJ.

//EDIT2    JOB  ...
//STEP1    EXEC PGM=IEBEDIT
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  DSN=INJOBS,DISP=(OLD,KEEP),VOLUME=SER=001234,
//             UNIT=tape
//SYSUT2   DD  DSN=OUTSTRM,UNIT=tape,DISP=(NEW,KEEP),
//             DCB=(RECFM=F,LRECL=80,BLKSIZE=80),LABEL=(2,SL)
//SYSIN    DD  *
       EDIT   START=JOBA,TYPE=INCLUDE,STEPNAME=(STEPC,STEPD)
       EDIT   START=JOBB,TYPE=INCLUDE,STEPNAME=STEPE
       EDIT   START=JOBC,TYPE=INCLUDE,STEPNAME=STEPJ
/*

Les instructions de contrôle sont les suivantes :

  • SYSUT1 DD définit le jeu de données d’entrée, INJOBS.
    L’ensemble de données réside sur un volume de bande étiqueté standard (001234).
  • SYSUT2 DD définit le jeu de données de sortie, OUTSTRM.
    L’ensemble de données doit résider en tant que deuxième ensemble de données sur un volume de bande étiqueté standard (001235).
    La taille de bloc courte est très inefficace.
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • Les instructions EDIT copient les instructions JOB et les étapes de travail décrites comme suit :
    1. L’instruction JOB et les étapes STEPC et STEPD pour JOBA.
    2. L’instruction JOB et STEPE pour JOBB.
    3. L’instruction JOB et STEPJ pour JOBC.

Exemple 3 : inclure le step d’un job, exclure le step d’un autre

Cet exemple inclut une étape de travail d’un travail et exclut une étape de travail d’un autre travail.
L’ensemble de données d’entrée contient trois travaux : JOBA, qui comprend STEPA, STEPB, STEPC et STEPD ; JOBB, qui comprend STEPE, STEPF et STEPG ; et JOBC, qui comprend STEPH et STEPJ.

//EDIT3    JOB  ...
//STEP1    EXEC PGM=IEBEDIT
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  DSNAME=INSET,UNIT=disk,DISP=(OLD,KEEP),
//             VOLUME=SER=111111
//SYSUT2   DD  DSNAME=OUTTAPE,UNIT=tape,LABEL=(,NL),
//             DCB=(DEN=2,RECFM=FB,LRECL=80,BLKSIZE=8160),
//             DISP=(,KEEP)
//SYSIN    DD  *
       EDIT    START=JOBB,TYPE=INCLUDE,STEPNAME=(STEPF-STEPG)
       EDIT    START=JOBC,TYPE=EXCLUDE,STEPNAME=STEPJ
/*

Les instructions de contrôle sont les suivantes :

  • SYSUT1 DD définit le jeu de données d’entrée, INSET. L’ensemble de données réside sur un volume de disque (111111).
  • SYSUT2 DD définit le jeu de données de sortie, OUTTAPE.
    L’ensemble de données doit résider en tant que premier ou unique ensemble de données sur un volume de bande sans étiquette (800 bits par pouce).
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • Les instructions EDIT copient les instructions JOB et les étapes de travail comme suit :
    1. L’instruction JOB et les step STEPF et STEPG pour JOBB.
    2. L’instruction JOB et STEPH, à l’exception de STEPJ, pour JOBC.

Exemple 4 : Copier l’instruction pour JOBA et JOB STEPF

Cet exemple copie l’instruction JOB pour JOBA, le step de job STEPF et tous les steps qui la suivent.
L’ensemble de données d’entrée contient un job (JOBA), qui inclut STEPA à STEPL.
Les steps de job STEPA à STEPE ne sont pas incluses dans le jeu de données de sortie.

//EDIT4    JOB  ...
//STEP1    EXEC PGM=IEBEDIT
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  DSNAME=INSTREAM,UNIT=disk,
//             DISP=(OLD,KEEP),VOLUME=SER=111111
//SYSUT2   DD  DSNAME=OUTSTREM,UNIT=disk,
//             DISP=(,KEEP),VOLUME=SER=222222,SPACE=(TRK,2)
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=24000),
//SYSIN    DD  *
         EDIT  START=JOBA,TYPE=POSITION,STEPNAME=STEPF
/*

Les instructions de contrôle sont les suivantes :

  • SYSUT1 DD définit le jeu de données d’entrée, INSTREAM.
    L’ensemble de données réside sur un volume de disque (111111).
  • SYSUT2 DD définit le jeu de données de sortie, OUTSTREAM.
    L’ensemble de données doit résider sur un volume de disque (222222).
    Deux pistes sont affectées au jeu de données de sortie.
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • EDIT copie l’instruction JOB pour JOBA et les étapes de travail STEPF à STEPL.

Exemple 5 : Copier l’intégralité de l’ensemble de données d’entrée

Cet exemple copie l’intégralité du jeu de données d’entrée.
L’enregistrement contenant les caractères ..* dans les colonnes 1 à 3 est converti en une instruction /* dans le jeu de données de sortie.

//EDIT5    JOB  ...
//STEP1    EXEC PGM=IEBEDIT
//SYSPRINT DD  SYSOUT=A
//SYSUT2   DD  DSNAME=OUTTAPE,UNIT=tape,
//             VOLUME=SER=001234,DISP=(NEW,KEEP),
//             DCB=(RECFM=F,LRECL=80,BLKSIZE=80)
//SYSIN    DD  DUMMY
//SYSUT1   DD  DATA
//BLDGDGIX JOB ...
//         EXEC PGM=IEHPROGM
//SYSPRINT DD  SYSOUT=A
//DD1      DD  UNIT=disk,VOLUME=SER=111111,DISP=OLD
//SYSIN    DD  *
         BLDG   SCRATCH VTOC,VOL=3390=111111
..*
/*

Les instructions de contrôle sont les suivantes :

  • SYSUT2 DD définit le jeu de données de sortie, OUTTAPE.
    L’ensemble de données sera le premier ensemble de données sur un volume de bande (001234).
  • SYSIN DD définit un jeu de données de contrôle factice.
  • SYSUT1 DD définit le jeu de données d’entrée, qui suit dans le flux d’entrée.
    Le travail est arrêté lorsque l’instruction /* est rencontrée.
    (SYSUT1 inclut donc l’instruction DELETE JOB, l’instruction EXEC, les instructions SYSPRINT, DD1 et SYSIN DD.)

Exemple 6 : Copier l’intégralité de l’ensemble de données pour inclure un nouveau délimiteur

Cet exemple copie l’intégralité du jeu de données d’entrée, y compris l’instruction de contrôle JES2, car un nouveau délimiteur (JP) a été codé.
Sinon, le /* dans l’instruction de contrôle JES2 aurait arrêté l’entrée.

//EDIT6    JOB  ...
//STEP1    EXEC PGM=IEBEDIT
//SYSPRINT DD  SYSOUT=A
//SYSUT2   DD  DSN=TAPEOUT,UNIT=tape,
//             VOL=SER=001234,LABEL=(,SL),DISP=(NEW,KEEP)
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),
//SYSIN    DD  DUMMY
//SYSUT1   DD  DATA,DLM=JP
//LISTVTOC JOB ...
/*MESSAGE  JOB NEEDS VOLUME 338000
//FSTEP    EXEC PGM=IEHLIST
//SYSPRINT DD  SYSOUT=A
//DD2      DD  UNIT=disk,VOL=SER=338000,DISP=OLD
//SYSIN    DD  *
    LISTVTOC FORMAT,VOL=disk=338000
/*

Les instructions de contrôle sont les suivantes :

  • SYSUT2 DD définit le jeu de données de sortie, TAPEOUT.
    L’ensemble de données sera le premier ensemble de données sur un volume de bande d’étiquettes standard (001234).
  • SYSIN DD définit un jeu de données de contrôle factice.
  • SYSUT1 DD définit le jeu de données d’entrée, qui suit dans le flux d’entrée.
    Le paramètre DLM définit les caractères JP pour agir comme un délimiteur pour les données d’entrée.
  • IEBEDIT copie l’instruction JOB via l’instruction /* (y compris les instructions de travail LISTVTOC et MESSAGE, l’instruction FSTEP EXEC et les instructions SYSPRINT, DD2 et SYSIN DD).