Archives par mot-clé : IEHPROGM

JCL – IEHPROGM

Les exemples suivants illustrent certaines des utilisations de IEHPROGM.
Le tableau 1 peut être utilisé comme guide de référence rapide pour les exemples IEHPROGM.
Les nombres dans la colonne Exemple pointent vers les exemples qui suivent.

Tableau 1. Répertoire d’exemples IEHPROGM

OpérationDispositifCommentairesExemple
SCRATCHDisqueLe DSCB des jeux de données est rayé.Exemple 1 : Scratch des ensembles de données système temporaires
SCRATCH, UNCATLGDisqueDeux ensembles de données sont rayés et leurs entrées supprimées du catalogue.Exemple 2 : Scratch et Uncatalog Two Data Sets
RENAME, UNCATLG, CATLGDisqueUn ensemble de données est renommé sur deux appareils montables ; l’ancien nom de l’ensemble de données est supprimé. Le jeu de données est catalogué sous son nouveau nom.Exemple 3 : Renommer un catalogue d’ensembles de données multi-volumes
UNCATLGDisqueLes structures d’index pour les ensembles de données de trois générations sont supprimées du catalogue.Exemple 4 : Décataloguer trois ensembles de données
RENAME, DELETEP, ADDDisqueUn ensemble de données est renommé. Les anciens mots de passe sont supprimés et de nouveaux mots de passe sont attribués.Exemple 5 : Renommer un ensemble de données et définir de nouveaux mots de passe
LIST, REPLACEDisqueUne entrée de mot de passe est répertoriée. Le mode et l’état de la protection sont modifiés et des données utilisateur sont ajoutées.Exemple 6 : répertorier et remplacer les informations de mot de passe
RENAMEDisqueUn membre d’un ensemble de données partitionné est renommé.Exemple 7 : renommer un membre d’ensemble de données partitionné

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

Exemples

Exemple 1 : Jeux de données système temporaires Scratch

Dans cet exemple, tous les ensembles de données système temporaires sont rayés de la table des matières du volume.

//SCRVTOC  JOB  ...
//STEP1    EXEC PGM=IEHPROGM
//SYSPRINT DD  SYSOUT=A
//DD2      DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//SYSIN    DD  *
      SCRATCH  VTOC,VOL=disk=222222,SYS
/*

Les instructions de contrôle sont décrites comme suit :

  • L’instruction DD2 définit un volume.
    Étant donné que le volume de résidence du système n’est pas référencé, une instruction DD est nécessaire pour le définir.
  • L’instruction SCRATCH, avec SYS spécifié, indique que tous les ensembles de données système temporaires dont les dates d’expiration ont expiré sont supprimés du volume spécifié.

Exemple 2 : Scratch et Uncatalog deux ensembles de données

Dans cet exemple, deux ensembles de données sont effacés : SET1 et ABCDE sont effacés du volume 222222.
Les deux ensembles de données ne sont pas catalogués.

//SCRDSETS JOB  ...
//STEP1    EXEC PGM=IEHPROGM
//SYSPRINT DD  SYSOUT=A
//DD1      DD  UNIT=disk,VOLUME=SER=111111,DISP=OLD
//DD2      DD  UNIT=disk,DISP=OLD,VOLUME=SER=222222
//SYSIN    DD  *
      SCRATCH  DSNAME=SET1,VOL=disk=222222
      UNCATLG  DSNAME=SET1
      SCRATCH  DSNAME=A.B.C.D.E,VOL=disk=222222
      UNCATLG  DSNAME=A.B.C.D.E
/*

Les déclarations de contrôle d’utilité sont discutées comme suit :

  • La première instruction SCRATCH spécifie que SET1, qui réside sur le volume 222222, est rayé.
  • La première instruction UNCATLG spécifie que SET1 n’est pas catalogué.
  • La deuxième instruction SCRATCH spécifie que ABCDE, qui réside sur le volume 222222, est rayé.
  • La deuxième instruction UNCATLG spécifie que ABCDE n’est pas catalogué.

Exemple 3 : Renommer un catalogue de jeux de données multi-volumes

Dans cet exemple, le nom d’un ensemble de données est modifié sur deux volumes montables.
L’ancien nom d’ensemble de données est supprimé et l’ensemble de données est catalogué sous son nouveau nom d’ensemble de données.

//RENAMEDS JOB  ...
//STEP1    EXEC PGM=IEHPROGM
//SYSPRINT DD  SYSOUT=A
//DD1      DD  VOLUME=SER=111111,UNIT=disk,DISP=OLD
//DD2      DD  UNIT=(disk,,DEFER),DISP=OLD,
//             VOLUME=(PRIVATE,SER=(222222,333333))
//SYSIN    DD  *
  RENAME   DSNAME=A.B.C,NEWNAME=NEWSET,VOL=disk=(222222,333333)
  UNCATLG  DSNAME=A.B.C
  CATLG    DSNAME=NEWSET,VOL=disk=(222222,333333)
/*

Les instructions de contrôle sont décrites comme suit :

  • RENAME spécifie que l’ensemble de données ABC, qui réside sur les volumes 222222 et 333333, doit être renommé NEWSET.
  • UNCATLG spécifie que l’ensemble de données ABC n’est pas catalogué.
  • CATLG spécifie que NEWSET, qui réside sur les volumes 222222 et 333333, est catalogué.

Exemple 4 : Décataloguer trois jeux de données

Dans cet exemple, trois ensembles de données, ABCDEFSET1, ABCGHSET2 et ABIJKSET3, ne sont pas catalogués.

//DLTSTRUC JOB  ...
//STEP1    EXEC PGM=IEHPROGM
//SYSPRINT DD  SYSOUT=A
//DD1      DD  UNIT=disk,VOLUME=SER=111111,DISP=OLD
//SYSIN    DD  *
      UNCATLG   DSNAME=A.B.C.D.E.F.SET1
      UNCATLG   DSNAME=A.B.C.G.H.SET2
      UNCATLG   DSNAME=A.B.I.J.K.SET3
/*

Les instructions de contrôle sont discutées comme suit :

Les instructions UNCATLG spécifient que les ensembles de données ABCDEFSET1, ABCGHSET2 et ABIJKSET3 ne sont pas catalogués.

Exemple 5 : Renommer un ensemble de données et définir de nouveaux mots de passe

Dans cet exemple, un ensemble de données est renommé.
Les mots de passe d’ensemble de données attribués à l’ancien nom d’ensemble de données sont supprimés.
Ensuite, deux mots de passe sont attribués au nouveau nom de l’ensemble de données.
Si l’ensemble de données n’est pas catalogué, un message est émis indiquant que la macro-instruction LOCATE s’est terminée sans succès.

//ADDPASS  JOB  ...
//STEP1    EXEC PGM=IEHPROGM,PARM='NOPRINT'
//SYSPRINT DD  SYSOUT=A
//DD1      DD  VOLUME=SER=222222,DISP=OLD,
//             UNIT=disk
//SYSIN    DD  *
   RENAME DSNAME=OLD,VOL=disk=222222,NEWNAME=NEW
  DELETEP DSNAME=OLD,PASWORD1=KEY
      ADD DSNAME=NEW,PASWORD2=KEY,TYPE=1,                              X
               DATA='SECONDARY IS READ'
      ADD DSNAME=NEW,PASWORD2=READ,CPASWORD=KEY,TYPE=2,                X
               DATA='ASSIGNED TO J. DOE'
/*

Les déclarations de contrôle d’utilité sont discutées comme suit :

  • RENAME spécifie que l’ensemble de données appelé OLD est renommé NEW.
    L’opérateur doit fournir un mot de passe pour renommer l’ancien ensemble de données.
  • DELETEP spécifie que l’entrée pour le mot de passe KEY est supprimée.
    Étant donné que KEY est un mot de passe de contrôle dans cet exemple, toutes les entrées de mot de passe pour le nom de l’ensemble de données sont supprimées.
    Le paramètre VOL n’est pas nécessaire car l’état de protection de l’ensemble de données tel qu’il est défini dans le DSCB ne doit pas être modifié ; la protection en lecture/écriture est actuellement définie dans le DSCB, et la protection en lecture/écriture est souhaitée lorsque les mots de passe sont réattribués sous le nouveau nom d’ensemble de données.
  • Les instructions ADD spécifient que des entrées sont ajoutées pour les mots de passe KEY et READ. KEY devient le mot de passe de contrôle et permet à la fois l’accès en lecture et en écriture à l’ensemble de données.
    READ devient un mot de passe secondaire et n’autorise qu’un accès en lecture à l’ensemble de données.
    Le paramètre VOL n’est pas nécessaire, car l’état de protection de l’ensemble de données est toujours défini dans le DSCB.

Exemple 6 : Répertorier et remplacer les informations de mot de passe

Dans cet exemple, les informations d’une entrée de mot de passe sont répertoriées.
Ensuite, le mode de protection du mot de passe, l’état de protection de l’ensemble de données et les données utilisateur sont modifiés.

//REPLPASS JOB  ...
//STEP1    EXEC PGM=IEHPROGM,PARM='NOPRINT'
//SYSPRINT DD  SYSOUT=A
//DD1      DD  UNIT=disk,VOLUME=SER=111111,DISP=OLD
//DD2      DD  VOLUME=(PRIVATE,SER=(222222,333333)),
//             UNIT=(disk,,DEFER),DISP=OLD
//SYSIN    DD  *
     LIST   DSNAME=A.B.C,PASWORD1=ABLE
  REPLACE   DSNAME=A.B.C,PASWORD1=ABLE,PASWORD2=ABLE,TYPE=3,            X
             VOL=disk=(222222,333333),                                  X
             DATA='NO SECONDARIES; ASSIGNED TO DEPT 31'
/*

Les déclarations de contrôle d’utilité sont discutées comme suit :

  • LIST spécifie que le compteur d’accès, le mode de protection et les données utilisateur de l’entrée pour le mot de passe ABLE sont répertoriés.
    Le fait de lister l’entrée permet d’enregistrer le contenu du compteur d’accès avant que le compteur ne soit remis à zéro par l’instruction REPLACE.
  • REPLACE spécifie que le mode de protection du mot de passe ABLE doit être modifié pour autoriser à la fois l’accès en lecture et en écriture et que l’état de protection de l’ensemble de données est modifié en protection en écriture seule.
    Le paramètre VOL est obligatoire car l’état de protection du jeu de données est modifié et le jeu de données, dans cet exemple, n’est pas catalogué.
    Comme il s’agit d’un mot de passe de contrôle, le paramètre CPASWORD n’est pas requis.

Exemple 7 : Renommer un membre d’ensemble de données partitionné

Dans cet exemple, un membre d’un ensemble de données partitionnées est renommé.

//REN      JOB  ...
//STEP1    EXEC PGM=IEHPROGM
//SYSPRINT DD  SYSOUT=A
//DD1      DD  VOL=SER=222222,DISP=OLD,UNIT=disk
//SYSIN    DD  *
   RENAME VOL=disk=222222,DSNAME=DATASET,NEWNAME=BC,MEMBER=ABC
/*

Les instructions de contrôle sont discutées comme suit :

  • DD1 DD définit un volume monté en permanence.
  • SYSIN DD définit l’ensemble de données d’entrée, qui suit dans le flux d’entrée.
  • RENAME spécifie que le membre ABC dans l’ensemble de données partitionnées DATASET, qui réside sur un volume de disque, est renommé BC.