JCL – IEHMOVE

Ces exemples illustrent certaines des utilisations de IEHMOVE.
Vous pouvez utiliser le tableau 1 comme guide de référence rapide pour les exemples IEHMOVE.

Tableau 1. Répertoire d’exemples IEHMOVE

OpérationOrganisation de l’ensemble de
données
DispositifCommentairesExemple
MOVEGroupe d’ensembles de donnéesDisqueLe groupe d’ensembles de données est déplacé.Exemple 1 : Déplacer des ensembles de données séquentiels d’un volume de disque vers des volumes distincts
MOVEpartitionnéDisqueUn ensemble de données partitionné est déplacé ; un membre d’un autre ensemble de données partitionné est fusionné avec lui.Exemple 2 : Déplacer l’ensemble de données partitionnées vers le volume de disque et fusionner
MOVEVolumeDisqueUn volume d’ensembles de données est déplacé vers un volume de disque.Exemple 3 : Déplacer le volume des ensembles de données vers le volume du disque
MOVEpartitionnéDisqueUn ensemble de données est déplacé vers un volume sur lequel de l’espace a été précédemment alloué.Exemple 4 : Déplacer l’ensemble de données partitionné vers l’espace alloué
MOVEpartitionnéDisqueTrois ensembles de données sont déplacés et déchargés vers un volume sur lequel de l’espace a été précédemment alloué.Exemple 5 : déplacer et décharger le volume d’ensembles de données partitionnés
MOVESéquentielDisque et bandeUn ensemble de données séquentielles est déchargé sur un volume de bande à 9 pistes sans étiquette.Exemple 6 : Décharger un jeu de données séquentiel sur un volume de bande sans étiquette
MOVESéquentielDisque et bandeLes ensembles de données déchargés sont chargés à partir d’un seul volume.Exemple 7 : charger des ensembles de données séquentielles déchargées à partir d’une bande étiquetée
MOVESéquentielDisqueLe volume source est démonté une fois la tâche terminée. Deux disques montables.Exemple 8 : Déplacer un groupe d’ensembles de données catalogués

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 : Déplacer des ensembles de données séquentiels d’un volume de disque vers des volumes distincts

Dans cet exemple, trois ensembles de données séquentiels (SEQSET1, SEQSET2 et SEQSET3) sont déplacés d’un volume de disque vers trois volumes de disque distincts.
Chacun des trois volumes de réception est monté lorsque requis par IEHMOVE.
Les ensembles de données source ne sont pas catalogués. L’espace est alloué par IEHMOVE.

//MOVEDS   JOB  ...
//STEP1    EXEC PGM=IEHMOVE
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  UNIT=disk,VOLUME=SER=333333,DISP=OLD
//DD1      DD  UNIT=(disk,,DEFER),DISP=OLD,
//             VOLUME=(PRIVATE,,SER=(222222))
//DD2      DD  UNIT=(disk,,DEFER),DISP=OLD,
//             VOLUME=(PRIVATE,,SER=(222333))
//DD3      DD  UNIT=(disk,,DEFER),DISP=OLD,
//             VOLUME=(PRIVATE,,SER=(222444))
//DD4      DD  VOLUME=(PRIVATE,RETAIN,SER=(444444)),
//             UNIT=disk,DISP=OLD
//SYSIN    DD  *
     MOVE   DSNAME=SEQSET1,TO=disk=222222,FROM=disk=444444
     MOVE   DSNAME=SEQSET2,TO=disk=222333,FROM=disk=444444
     MOVE   DSNAME=SEQSET3,TO=disk=222444,FROM=disk=444444
/*

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

  • SYSUT1 DD définit le périphérique de disque qui doit contenir l’ensemble de données de travail.
  • DD1, DD2 et DD3 DD définissent les volumes de réception.
  • DD4 DD définit un périphérique sur lequel le volume source est monté.
    Comme le sous-paramètre RETAIN est inclus, le volume reste monté jusqu’à ce que la tâche soit terminée.
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • MOVE déplace les ensembles de données source vers les volumes 222222, 222333 et 222444, respectivement.
    Les ensembles de données source sont rayés.

Exemple 2 : Déplacer l’ensemble de données partitionnées vers le volume de disque et fusionner

Dans cet exemple, un ensemble de données partitionné (PARTSET1) est déplacé vers un volume de disque.
De plus, un membre (PARMEM3) d’un autre ensemble de données partitionné (PARTSET2) est fusionné avec les membres source sur le volume de réception.
L’ensemble de données partitionnées source (PARTSET1) est rayé. L’espace est alloué par IEHMOVE.

//MOVEPDS  JOB  ...
//STEP1    EXEC PGM=IEHMOVE
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  UNIT=disk,VOLUME=SER=333000,DISP=OLD
//DD1      DD  UNIT=disk,VOLUME=SER=111111,DISP=OLD
//DD2      DD  UNIT=disk,VOLUME=SER=222111,DISP=OLD
//DD3      DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//DD4      DD  UNIT=disk,VOLUME=SER=222333,DISP=OLD
//SYSIN    DD  *
     MOVE   PDS=PARTSET1,TO=disk=222333,FROM=disk=222111
  INCLUDE   DSNAME=PARTSET2,MEMBER=PARMEM3,FROM=disk=222222
/*

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

  • SYSUT1 DD définit le volume de disque qui doit contenir l’ensemble de données de travail.
  • DD1 DD définit le dispositif de résidence du système.
  • Les instructions DD2, DD3 et DD4 DD définissent les périphériques qui doivent contenir les deux volumes source et le volume de réception.
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • MOVE définit l’ensemble de données partitionné source, le volume qui le contient et son volume de réception.
  • INCLUDE inclut un membre d’un deuxième ensemble de données partitionnées dans l’opération.

Exemple 3 : Déplacer le volume d’ensembles de données vers le volume de disque

Dans cet exemple, un volume d’ensembles de données est déplacé vers un volume de disque.
Tous les ensembles de données déplacés avec succès sont supprimés du volume source ;
cependant, les entrées de catalogue appartenant à ces ensembles de données ne sont pas modifiées.
L’espace est alloué par IEHMOVE.

//MOVEVOL  JOB  ...
//STEP1    EXEC PGM=IEHMOVE
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//DD1      DD  UNIT=disk,VOLUME=SER=111111,DISP=OLD
//DD2      DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//DD3      DD  UNIT=disk,VOLUME=SER=333333,DISP=OLD
//SYSIN    DD  *
         MOVE   VOLUME=disk=333333,TO=disk=222222,PASSWORD
/*

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

  • SYSUT1 DD définit l’appareil qui doit contenir le jeu de données de travail.
  • DD1 DD définit le dispositif de résidence du système.
  • DD2 DD définit le périphérique sur lequel le volume de réception est monté.
  • DD3 DD définit un périphérique sur lequel le volume source est monté.
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • MOVE spécifie une opération de déplacement pour un volume d’ensembles de données et définit les volumes source et récepteur.
    Cette déclaration indique également que des ensembles de données protégés par mot de passe sont inclus dans l’opération.

Exemple 4 : Déplacer l’ensemble de données partitionné vers l’espace alloué

Dans cet exemple, un ensemble de données partitionné est déplacé vers un volume de disque sur lequel de l’espace a été précédemment alloué pour l’ensemble de données.
L’ensemble de données source est barré.

//MOVEPDS  JOB  ...
//STEP1    EXEC PGM=IEHMOVE
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//DD1      DD  UNIT=disk,VOLUME=SER=111111,DISP=OLD
//DD2      DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//DD3      DD  UNIT=disk,VOLUME=SER=333333,DISP=OLD
//SYSIN    DD  *
         MOVE   PDS=PDSSET1,TO=disk=222222,FROM=disk=333333
/*

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

  • SYSUT1 DD définit l’appareil qui doit contenir le jeu de données de travail.
  • DD1 DD définit le dispositif de résidence du système.
  • DD2 DD définit l’appareil sur lequel le volume de réception doit être monté.
  • DD3 DD définit un périphérique sur lequel le volume source est monté.
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • MOVE spécifie une opération de déplacement pour l’ensemble de données partitionnées PDSSET1 et définit les volumes source et récepteur.

Exemple 5 : Déplacer et décharger un volume d’ensembles de données partitionnés

Dans cet exemple, trois ensembles de données partitionnés sont déplacés de trois volumes source distincts vers un volume de disque.
L’ensemble de données source PDSSET3 est déchargé.
La taille de l’enregistrement dépasse la capacité des pistes du volume de réception.

//MOVEPDS  JOB  ...
//STEP1    EXEC PGM=IEHMOVE
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//DD1      DD  UNIT=disk,VOLUME=SER=111111,DISP=OLD
//DD2      DD  UNIT=(disk,,DEFER),DISP=OLD,
//             VOLUME=(PRIVATE,,SER=(333333))
//DD3      DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//SYSIN    DD  *
    MOVE  PDS=PDSSET1,TO=disk=222222,FROM=disk=333333
    MOVE  PDS=PDSSET2,TO=disk=222222,FROM=disk=222222
    MOVE  PDS=PDSSET3,TO=disk=222222,FROM=disk=444444,UNLOAD
/*

PDSSET1, PDSSET2 et PDSSET3 sont déjà alloués sur le volume de réception.
PDSSET3 est alloué en tant qu’ensemble de données séquentiel ; PDSSET1 et PDSSET2 sont alloués en tant qu’ensembles de données partitionnés.
Étant donné que PDSSET3 est déplacé vers un ensemble de données séquentiel, il est déchargé.

Les attributs DCB de PDSSET3 sont :

DCB=(RECFM=U,BLKSIZE=5000)

Les attributs déchargés sont :

DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)

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

  • SYSUT1 DD définit l’appareil qui doit contenir le jeu de données de travail.
  • DD1 DD définit le dispositif de résidence du système.
  • DD2 DD définit un périphérique sur lequel les volumes source sont montés selon les besoins.
  • DD3 DD définit un périphérique sur lequel le volume de réception est monté.
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • MOVE spécifie les opérations de déplacement pour les ensembles de données partitionnés et définit les volumes source et récepteur pour chaque ensemble de données.

Exemple 6 : déchargement d’un jeu de données séquentiel sur un volume de bande sans étiquette

Dans cet exemple, un ensemble de données séquentielles est déchargé sur un volume de bande non étiqueté à 9 pistes (800 bits par pouce).

//UNLOAD   JOB  ...
//STEP1    EXEC PGM=IEHMOVE
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//DD1      DD  UNIT=disk,VOLUME=SER=111111,DISP=OLD
//DD2      DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//TAPEOUT  DD  UNIT=tape,VOLUME=SER=SCRCH2,DISP=OLD,
//             DCB=(DEN=2,RECFM=FB,LRECL=80,BLKSIZE=800),
//             LABEL=(,NL)
//SYSIN    DD  *
    MOVE DSNAME=SEQSET1,TO=tape=SCRCH2,
FROM=disk=222222,TODD=TAPEOUT
/*

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

  • SYSUT1 DD définit l’appareil qui doit contenir le jeu de données de travail.
  • DD1 DD définit le dispositif de résidence du système.
  • DD2 DD définit un périphérique sur lequel le volume source est monté.
  • TAPEOUT DD définit un périphérique sur lequel le volume de bande récepteur est monté.
    Cette instruction fournit également des informations sur l’étiquette et le mode.
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • MOVE déplace l’ensemble de données séquentielles SEQSET1 d’un volume de disque vers le volume de bande récepteur.
    L’ensemble de données est déchargé. Le paramètre TODD de cette instruction fait référence à l’instruction TAPEOUT DD pour les informations d’étiquette et de mode.

Exemple 7 : Chargement d’ensembles de données séquentiels déchargés à partir d’une bande étiquetée

Dans cet exemple, trois ensembles de données séquentielles déchargées sont chargées à partir d’un volume de bande étiqueté à 7 pistes (556 bits par pouce) vers un volume de disque.
L’espace est alloué par IEHMOVE.
L’exemple suppose que le volume de disque est capable de prendre en charge les ensembles de données dans leurs formes d’origine.

//LOAD     JOB  ...
//STEP1    EXEC PGM=IEHMOVE
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//DD1      DD  UNIT=disk,VOLUME=SER=111111,DISP=OLD
//DD2      DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//TAPESETS DD  UNIT=tape,VOLUME=SER=001234,DISP=OLD,
//             LABEL=(1,SL),DCB=(DEN=1,TRTCH=C)
//SYSIN    DD  *
         MOVE   DSNAME=UNLDSET1,T0=disk=222222,             X
               FROM=tape=(001234,1),FROMDD=TAPESETS
         MOVE   DSNAME=UNLDSET2,TO=disk=222222,             X
               FROM=tape=(001234,2),FROMDD=TAPESETS
         MOVE   DSNAME=UNLDSET3,TO=disk=222222,             X
               FROM=tape=(001234,3),FROMDD=TAPESETS
/*

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

  • SYSUT1 DD définit l’appareil qui doit contenir le jeu de données de travail.
  • DD1 DD définit le dispositif de résidence du système.
  • DD2 DD définit un périphérique sur lequel le volume de réception est monté.
  • TAPESETS DD définit un périphérique sur lequel le volume de bande source est monté.
    Les informations DCB sont fournies dans cette déclaration.
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • MOVE déplace les ensembles de données déchargés vers le volume de réception.
  • Pour déplacer un ensemble de données d’un volume de bande contenant plusieurs ensembles de données, vous devez spécifier le numéro de séquence de l’ensemble de données dans la zone de liste du paramètre FROM de l’instruction de contrôle de l’utilitaire.

Exemple 8 : Déplacer un groupe d’ensembles de données catalogués

Dans cet exemple, le groupe d’ensembles de données catalogués ABC, qui comprend les ensembles de données ABCX, ABCY et ABCZ, est déplacé de deux volumes de disque vers un troisième volume.
L’espace est alloué par IEHMOVE.
Le catalogue est mis à jour pour faire référence au volume de réception.
Les ensembles de données source sont rayés.

//MOVEDSG  JOB  ...
//STEP1    EXEC PGM=IEHMOVE
//SYSPRINT DD  SYSOUT=A
//SYSUT1   DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//DD1      DD  UNIT=disk,VOLUME=SER=111111,DISP=OLD
//DD2      DD  UNIT=disk,VOLUME=SER=222222,DISP=OLD
//DD3      DD  UNIT=disk,VOLUME=SER=333333,DISP=OLD
//DD4      DD  UNIT=disk,VOLUME=SER=444444,DISP=OLD
//SYSIN    DD  *
         MOVE   DSGROUP=A.B.C,TO=disk=222222
/*

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

  • SYSUT1 DD définit l’appareil qui doit contenir le jeu de données de travail.
  • DD1 DD définit le dispositif de résidence du système.
  • DD2 DD définit un périphérique sur lequel le volume de réception est monté.
  • DD3 DD définit un périphérique sur lequel l’un des volumes source est monté.
  • DD4 DD définit un périphérique sur lequel l’un des volumes source est monté.
  • SYSIN DD définit l’ensemble de données de contrôle, qui suit dans le flux d’entrée.
  • MOVE déplace les ensembles de données spécifiés vers le volume 222222.
  • Cet exemple peut être utilisé pour produire le même résultat sans l’utilisation de l’instruction DD4 DD, en utilisant un périphérique de disque montable de moins.
    Avec DD3 et DD4, les deux volumes source sont montés au début de la tâche.
    Avec DD3 uniquement, le volume 333333 est monté au début de la tâche.
    Une fois le volume 333333 traité, l’utilitaire demande à l’opérateur de monter le volume 444444.
    Dans ce cas, l’instruction DD3 est codée :
//DD3 DD UNIT=(disque,,DEFER),DISP=OLD, 
// VOLUME=(PRIVATE,,SER=(333333))