CPYLIB
Copier une bibliothèque
En bref
La commande CPYLIB (Copier bibliothèque) permet de copier le contenu d'une bibliothèque dans une nouvelle bibliothèque.
CPYLIB se lit CPY
(Copier) + LIB.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CPYLIB FROMLIB(…) TOLIB(…)
Paramètres
-
FROMLIBBibliothèque existante obligatoire -
TOLIBNouvelle bibliothèque obligatoire -
CRTLIBCréer bibliothèque -
DATADuplication des données -
CSTDupliquer des contraintes -
TRGDupliquer des déclencheurs -
FILEIDID de fichiers en double -
ACCCTLContrôle d'accès en double
Astuce : dans une session 5250, tapez CPYLIB puis F4 pour
l'invite de saisie, et F1 sur un paramètre pour son aide.
Aide IBM i de la commande
Texte du F1, IBM i 7.5 en français
(bibliothèque QSYS)
Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non
La commande CPYLIB (Copier bibliothèque) permet de copier le contenu d'une bibliothèque dans une nouvelle bibliothèque. Si cette dernière n'existe pas, la commande la crée en option avant la copie.
Tous les objets copiés sont créés dans le même pool de mémoire secondaire (ASP) que la nouvelle bibliothèque. Les objets existant déjà dans la nouvelle bibliothèque sont conservés après la copie des nouveaux objets.
Remarque: Si la nouvelle bibliothèque est créée par cette commande :
- La nouvelle bibliothèque est créée dans le même ASP que la bibliothèque existante.
- Le type de bibliothèque, le droit de création et les valeurs d'audit des objets créés de la bibliothèque existante sont copiés dans la nouvelle bibliothèque.
- Les droits publics de la nouvelle bibliothèque sont les mêmes que le droit de création pour la bibliothèque QSYS. Vous pouvez afficher le droit de création pour la bibliothèque QSYS à l'aide de la commande DSPLIBD (Afficher une description de bibliothèque). Si ce droit est modifié à l'aide de la commande CHGLIB (Modifier bibliothèque) après la création de la nouvelle bibliothèque, le nouveau droit n'aura aucune incidence sur les droits publics de la nouvelle bibliothèque.
- Les droits privés relatifs à la bibliothèque existante ne sont pas copiés dans la nouvelle bibliothèque.
- Vous pouvez utiliser la commande GRTOBJAUT en indiquant la bibliothèque existante en regard du paramètre Objet de référence (REFOBJ) pour copier les droits de la bibliothèque existante dans la nouvelle bibliothèque.
- Le propriétaire de la nouvelle bibliothèque est soit le profil de l'utilisateur qui émet la commande, soit le profil de groupe si le profil de l'utilisateur émettant la commande est un profil d'utilisateur membre spécifiant que le profil de groupe doit être le propriétaire.
- La nouvelle bibliothèque n'est pas sécurisée par une liste d'autorisation même si la bibliothèque existante l'a été.
- Les règles d'héritage de journal pour la bibliothèque existante ne sont pas copiées dans la nouvelle bibliothèque.
Utilisez la commande DSPLIBD (Afficher la description de la bibliothèque) pour afficher les informations journalisées sur la bibliothèque. Pour plus d'informations sur le lancement de la journalisation d'une bibliothèque, reportez-vous à la commande (STRJRNLIB) .
Restrictions :
- Seuls les types d'objet pris en charge par la commande CRTDUPOBJ (Créer un objet dupliqué) sont copiés. Les restrictions relatives à la commande CRTDUPOBJ s'appliquent aussi à cette commande.
- Si cette commande est interrompue avant la fin, les résultats sont imprévisibles.
- Si un autre travail traite un objet quelconque de la bibliothèque spécifiée en regard du paramètre Bibliothèque existante (FROMLIB), les résultats peuvent être imprévisibles. Par exemple :
- Les objets créés dans la bibliothèque existante après le début de la copie ne sont pas copiés.
- Si des objets sont supprimés de la bibliothèque existante après le début de la copie, l'utilisateur de cette commande reçoit un message d'erreur.
- Si des objets de la bibliothèque existante sont utilisés ou verrouillés par un autre travail, la copie peut échouer.
- Les autres travaux ne doivent pas tenter d'utiliser les objets de la bibliothèque spécifiée en regard du paramètre Nouvelle bibliothèque (TOLIB) tant que la copie n'est pas terminée.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| FROMLIB | Bibliothèque existante | Nom | Obligatoire, positionnel 1 |
| TOLIB | Nouvelle bibliothèque | Nom | Obligatoire, positionnel 2 |
| CRTLIB | Créer bibliothèque | *YES, *NO | Facultatif |
| DATA | Duplication des données | *YES, *NO | Facultatif |
| CST | Dupliquer des contraintes | *YES, *NO | Facultatif |
| TRG | Dupliquer des déclencheurs | *YES, *NO | Facultatif |
| FILEID | ID de fichiers en double | *NO, *YES | Facultatif |
| ACCCTL | Contrôle d'accès en double | *ALL, *ROW, *COL, *NONE | Facultatif |
Bibliothèque existante (FROMLIB)
Indique la bibliothèque à copier.
Ce paramètre est obligatoire.
- nom
- Indiquez le nom de la bibliothèque à copier.
Nouvelle bibliothèque (TOLIB)
Indique la nouvelle bibliothèque dans laquelle les objets sont copiés à partir de la bibliothèque existante.
Ce paramètre est obligatoire.
- nom
- Indiquez le nom de la bibliothèque dans laquelle les objets sont copiés.
Créer bibliothèque (CRTLIB)
Indique si la nouvelle bibliothèque doit être créée.
- *YES
- Cette commande permet de créer la bibliothèque avant que le contenu de la bibliothèque existante n'y soit copié. Si la nouvelle bibliothèque existe déjà, un message d'erreur est émis.
- *NO
- La nouvelle bibliothèque ne doit pas être créée. Si la nouvelle bibliothèque n'existe pas, un message d'erreur est émis.
Duplication des données (DATA)
Indique si les enregistrements de données des fichiers physiques base de données ou des fichiers sauvegarde de la bibliothèque existante sont copiés de l'objet nouvellement créé dans la nouvelle bibliothèque. Les membres des fichiers physiques sont copiés, que les données qu'ils contiennent soient copiées ou non. La valeur spécifiée n'est pas utilisée pour les objets qui ne sont pas des fichiers physiques base de données ou des fichiers sauvegarde.
- *YES
- Les enregistrements de données des membres des fichiers physiques base de données ou des fichiers sauvegarde de la bibliothèque existante sont copiés dans le nouvel objet de la nouvelle bibliothèque.
Remarque :Les numéros relatifs d'enregistrement du nouveau fichier sont identiques à ceux du fichier d'origine.
- *NO
- Les enregistrements de données des membres des fichiers physiques base de données ou des fichiers sauvegarde de la bibliothèque existante ne sont pas copiés dans le nouvel objet de la nouvelle bibliothèque.
Dupliquer des contraintes (CST)
Indique si les éventuelles contraintes associées aux fichiers physiques base de données de la bibliothèque existante sont copiées dans les fichiers nouvellement créés de la nouvelle bibliothèque. La valeur spécifiée n'est pas utilisée pour les objets qui ne sont pas des fichiers physiques base de données.
- *YES
- Les contraintes associées à un fichier physique base de données de la bibliothèque existante sont copiées dans le fichier nouvellement créé de la nouvelle bibliothèque.
- *NO
- Les contraintes associées à un fichier physique base de données de la bibliothèque existante ne sont pas copiées dans le fichier nouvellement créé de la nouvelle bibliothèque.
Dupliquer des déclencheurs (TRG)
Indique si les éventuels déclencheurs associés aux fichiers base de données de la bibliothèque existante sont copiés dans les fichiers nouvellement créés de la nouvelle bibliothèque. La valeur indiquée n'est pas utilisée pour les objets qui ne sont pas des fichiers base de données.
Remarque :Il existe des considérations spéciales concernant la duplication des déclencheurs. Par exemple, la duplication sera différente selon que le programme de déclenchement associé au fichier existant figurait dans la même bibliothèque que celui-ci. Pour en savoir plus, reportez-vous au manuel Rubrique Base de données de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
- *YES
- Les déclencheurs associés à un fichier base de données de la bibliothèque existante sont copiés dans le fichier nouvellement créé de la nouvelle bibliothèque.
- *NO
- Les déclencheurs associés à un fichier base de données de la bibliothèque existante ne sont pas copiés dans le fichier nouvellement créé de la nouvelle bibliothèque.
ID de fichiers en double (FILEID)
Indique si les identificateurs de niveau fichier et de niveau membre associés à un fichier base de données de la bibliothèque existante seront utilisés pour le fichier nouvellement créé de la nouvelle bibliothèque. La valeur spécifiée n'est pas utilisée pour les objets qui ne sont pas des fichiers base de données.
- *NO
- Les identificateurs de niveau fichier et de niveau membre associés à un fichier base de données de la bibliothèque existante ne seront pas utilisés pour le fichier nouvellement créé de la nouvelle bibliothèque. Les identificateurs de niveau fichier et de niveau membre associés au fichier nouvellement créé seront générés par le système ; par exemple, 1070224092922.
- *YES
- Les identificateurs de niveau fichier et de niveau membre associés à un fichier base de données de la bibliothèque existante seront utilisés pour le fichier nouvellement créé de la nouvelle bibliothèque. La présence de deux fichiers base de données possédant des identificateurs de niveau fichier et de niveau membre identiques peut avoir une incidence sur les opérations de base de données. Cette valeur est utilisable uniquement lorsqu'un fichier base de données en double exact est attendu.
Contrôle d'accès en double (ACCCTL)
Indique si les contrôles d'accès de ligne ou de colonne associés aux fichiers physiques base de données existants sont copiés dans les fichiers nouvellement créés dans la nouvelle bibliothèque. La valeur spécifiée n'est pas utilisée pour les objets qui ne sont pas des fichiers physiques base de données. La duplication d'un fichier avec des contrôles d'accès ne modifie pas le nom de la bibliothèque des fichiers référencés par les contrôles d'accès de ligne ou de colonne.
- *ALL
- Tous les contrôles d'accès de ligne et de colonne associés à un fichier physique base de données existant sont copiées dans le fichier nouvellement créé dans la nouvelle bibliothèque. Si le fichier base de données en cours de copie comporte un droit ou des masques actifs et que le paramètre DATA(*YES) est spécifié, les contrôles d'accès de colonne et les contrôles d'accès de ligne doivent être copiés.
- *ROW
- Les contrôles d'accès de ligne associés à un fichier physique base de données existant sont copiées dans le fichier nouvellement créé dans la nouvelle bibliothèque. Si le fichier base de données en cours de copie comporte des masques actifs et que le paramètre DATA(*YES) est spécifié, les contrôles d'accès de colonne doivent être copiés.
- *COL
- Les contrôles d'accès de colonne associés à un fichier physique base de données existant sont copiées dans le fichier nouvellement créé dans la nouvelle bibliothèque. Si le fichier base de données en cours de copie comporte des droits actifs et que le paramètre DATA(*YES) est spécifié, les contrôles d'accès de colonne doivent être copiés.
- *NONE
- Aucun des contrôles d'accès de ligne ou de colonne associés à un fichier physique base de données existant n'est copié dans le fichier nouvellement créé dans la nouvelle bibliothèque. Si le fichier base de données en cours de copie comporte des droits ou des masques actifs, le paramètre DATA(*NO) doit être spécifié.
Exemples
Exemple 1 : Copie du contenu d'une bibliothèque dans une nouvelle bibliothèque après la création de cette dernière
CPYLIB FROMLIB(MYLIB) TOLIB(NEWLIB)
Cette commande permet de copier le contenu de la bibliothèque MYLIB dans la bibliothèque NEWLIB après la création de la bibliothèque NEWLIB. Les enregistrements de données, les contraintes et les déclencheurs associés à un fichier physique base de données de la bibliothèque MYLIB sont copiés dans le fichier physique base de données créé dans la bibliothèque NEWLIB. Les nouveaux identificateurs de niveau de fichier et de niveau membre sont générés pour chaque fichier base de données créé dans la bibliothèque NEWLIB. Cela signifie que les identificateurs de niveau fichier et de niveau membre d'un fichier base de données créé dans la bibliothèque NEWLIB ne sont pas les mêmes que ceux du fichier base de données de la bibliothèque MYLIB d'où il a été copié.
Exemple 2 : Copie du contenu d'une bibliothèque dans une bibliothèque existante
CPYLIB FROMLIB(MYLIBA) TOLIB(MYLIBB) CRTLIB(*NO) +
DATA(*YES) CST(*NO) TRG(*NO) FILEID(*YES)
MONMSG MSGID(CPF2358)
Cette commande permet de copier le contenu de la bibliothèque MYLIBA dans une bibliothèque existante MYLIBB. Tous les objets copiés sont créés dans le même pool de mémoire secondaire (ASP) que la bibliothèque MYLIBB. Tous les objets de la bibliothèque MYLIBB ne sont pas copiés à partir de la bibliothèque MYLIBA et sont conservés dans la bibliothèque MYLIBB après la copie des autres nouveaux objets. Les enregistrements de données d'un fichier physique base de données dans la bibliothèque MYLIBA sont copiés dans le fichier physique base de données créé dans la bibliothèque MYLIBB. Les contraintes et les déclencheurs associés à un fichier base de données de la bibliothèque MYLIBA ne sont pas copiés dans le fichier base de données créé dans la bibliothèque MYLIBB. Les identificateurs de niveau fichier et de niveau membre de chaque fichier base de données créé dans la bibliothèque MYLIBB sont les mêmes que ceux du fichier base de données de la bibliothèque MYLIBA d'où il a été copié.
La commande MONMSG permet d'ignorer le message d'arrêt programme CPF2358 qui peut s'afficher si tous les objets de la bibliothèque MYLIBA ne peuvent pas être copiés dans la bibliothèque MYLIBB. L'une des raisons pour lesquelles un objet ne peut pas être copié est qu'il existe déjà dans la bibliothèque MYLIBB.
Messages d'erreur
Messages *ESCAPE
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.