CPY
Copier un objet
En bref
La commande Copier un objet (CPY) permet de copier un objet isolé ou un groupe d'objets.
Syntaxe minimale
CPY OBJ(…)
Paramètres
-
OBJObjet obligatoire -
TODIRRépertoire de destination -
TOOBJObjet de destination -
SYMLNKLien symbolique -
FROMCCSIDCCSID d'origine -
TOCCSIDCCSID de destination -
DTAFMTFormat de données -
SUBTREEBranche du répertoire -
REPLACERemplacer objet -
OWNERPropriétaire -
AUTDroits -
FROMCODPAGPage de codes d'origine -
TOCODEPAGEPage de codes de destination
Astuce : dans une session 5250, tapez CPY 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 Copier un objet (CPY) permet de copier un objet isolé ou un groupe d'objets.
Par défaut, la copie de cet objet individuel échouera si l'objet cible existe déjà. Si le paramètre REPLACE(*YES) est indiqué, l'objet cible est écrasé. Le nouvel objet créé doit être renommé s'il est stocké dans le même répertoire que l'objet d'origine. S'il est stocké dans un autre répertoire, il peut conserver le nom de l'objet d'origine.
Vous pouvez utiliser un masque comme nom d'objet pour copier un groupe d'objets, sauf pour une copie d'un système de fichiers dans un autre, à moins que les noms sur le système source respectent les conventions d'appellation du système cible. Ainsi, un fichier appelé /OBJA dans QOpenSys ne peut pas être copié dans un répertoire /QSYS.LIB/MABIB.LIB/FICHA.FILE, parce que le nom d'un fichier écrit sur le système de fichiers QSYS.LIB doit se présenter sous la forme OBJA.MBR. Les fichiers dont les noms, trouvés dans le masque, ne satisfont pas à la règle nom.type-objet ne seront pas copiés.
La commande de copie permet également de copier une arborescence de répertoires au même emplacement que le répertoire indiqué, son contenu et le contenu de tous ses sous-répertoires. Si SUBTREE(*ALL) est précisé, la commande tente de copier un maximum d'objets de la sous-arborescence. Un message de diagnostic est émis pour chaque objet qui n'a pas pu être copié. Une fois l'opération tentée sur tous les objets, un message d'arrêt programme est envoyé en cas d'erreur. Si tous les objets ont été copiés sans erreur, un message d'achèvement est émis.
Lors de la copie d'une sous-arborescence, le système tentera de conserver autant que possible les attributs des objets d'origine, ce qui permettrait de migrer des données d'un système de fichiers vers un autre.
Si l'objet d'origine est un fichier en lecture seulement (attribut PC correspondant mis en fonction) et si SUBTREE(*NODIR) est indiqué, le nouvel objet n'est pas de type lecture seulement. Cela est dû aux conventions du système hiérarchique de fichiers (HFS) d'OS/2.
Remarque :Lorsque la valeur du paramètre Branche du répertoire (SUBTREE) est *NONE ou *ALL, l'indicateur d'attribut PC en lecture seulement sera copié.
Si le paramètre Répertoire de destination (TODIR) est indiqué dans la commande, l'objet est copié dans le répertoire désigné sans que son nom soit modifié. L'utilisateur qui a émis la commande est propriétaire de l'objet copié si la valeur *NEW est affectée au paramètre Propriétaire (OWNER). Les autres valeurs de droits pour l'objet copié dépendent de la valeur indiquée au paramètre Droits (AUT).
Lors de la copie d'un fichier pour lequel SUBTREE(*NODIR) est indiqué dans les systèmes de fichiers "racine" (/),QOpenSys, QDLS et UDFS, la date et l'heure de dernier accès et la date et l'heure de modification des données sont conservées dans le nouveau fichier, et la date et l'heure de modification d'attribut sont mises à jour en fonction de l'heure en cours. La date et l'heure de dernier accès du fichier d'origine sont également mises à jour en fonction de l'heure en cours. Dans le cas d'une copie vers un membre fichier base de données (*MBR) d'un système de fichiers QSYS.LIB ou QSYS.LIB d'ASP indépendant, la zone Date/heure modification données est mise à jour également.
Remarque :Si le paramètre SUBTREE(*NODIR) est indiqué, la date et l'heure de création sont également mises à jour en fonction de l'heure en cours.
Cette commande est équivalente à la commande suivante :
- COPY
Outre la commande CPY, vous pouvez utiliser les commandes Copier dans fichier STREAM (CPYTOSTMF) et Copier depuis fichier STREAM (CPYFRMSTMF) pour copier des objets entre les fichiers STREAM et les fichiers de membres de base de données ou les fichiers sauvegarde.
Pour plus d'informations sur les commandes du système de fichiers intégré, reportez-vous aux Rubriques Système de fichiers intégré de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Restrictions :
- La commande copie les droits publics et privés de l'objet à l'emplacement où ils sont pris en charge.
Remarque :Les droits requis pour cette commande sont complexes concernant les systèmes de fichiers, les types d'objet, les opérations demandées, etc. Pour toute information sur les droits requis pour cette commande, consultez le manuel IBM i Security Reference, SC41-5302
Particularités des systèmes de fichiers QSYS.LIB et QSYS.LIB d'ASP indépendant
- Si vous effectuez une copie vers un membre de fichier base de données à partir d'un type d'objet différent ou si vous effectuez une copie vers ou depuis un membre qui n'apparaît pas dans l'espace de nom de bibliothèque du travail en cours, certains attributs sont copiés. Pour plus de détails, voir Rubriques Système de fichiers intégré de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
- Lorsque vous copiez des attributs entre deux membres d'un même espace de nom de bibliothèque, les attributs sont gérés de la même façon qu'avec la commande Copier un fichier (CPYF), à condition que le paramètre Format de données (DTAFMT) soit *BINARY.
- Les autres types d'objets copiés sont gérés de la même façon que par la commande Créer un objet dupliqué (CRTDUPOBJ), à condition que le paramètre DTAFMT soit *BINARY.
- L'option REPLACE(*YES) est uniquement prise en charge dans les membres de fichiers, les espaces utilisateur et les fichiers sauvegarde lorsque l'objet cible existe. L'opération échoue pour tous les autres types d'objets lorsque l'objet cible existe déjà.
Particularité du système de fichiers QOPT
- Lorsque vous copiez un fichier dans le système de fichiers QOPT, la date/l'heure de création prennent toujours la valeur de l'heure en cours.
Particularité du système de fichiers QFileSvr.400
- Le paramètre OWNER(*KEEP) n'est pas pris en charge lorsque vous copiez un objet sur le système de fichiers QFileSvr.400. La copie n'aboutit pas et le message d'erreur CPFA0AD apparaît.
- Les attributs liés au scannage ne sont pas copiés.
Particularités du système de gestion de fichiers en réseau (NFS)
- Le paramètre OWNER(*KEEP) n'est pas pris en charge lors de la copie d'un objet de ou vers un répertoire de système de gestion de fichiers en réseau (NFS) monté. La copie n'aboutit pas et le message d'erreur CPFA0AD apparaît.
- Les attributs liés au scannage ne sont pas copiés.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| OBJ | Objet | Chemin d'accès | Obligatoire, positionnel 1 |
| TODIR | Répertoire de destination | Chemin d'accès, '.' | Facultatif, positionnel 2 |
| TOOBJ | Objet de destination | Chemin d'accès | Facultatif |
| SYMLNK | Lien symbolique | *NO, *YES | Facultatif |
| FROMCCSID | CCSID d'origine | 1-65533, *OBJ, *PCASCII, *JOBCCSID | Facultatif |
| TOCCSID | CCSID de destination | 1-65533, *OBJ, *CALC, *STDASCII, *PCASCII, *JOBCCSID | Facultatif |
| DTAFMT | Format de données | *BINARY, *TEXT | Facultatif |
| SUBTREE | Branche du répertoire | *NODIR, *NONE, *ALL | Facultatif |
| REPLACE | Remplacer objet | *NO, *YES | Facultatif |
| OWNER | Propriétaire | *NEW, *KEEP | Facultatif |
| AUT | Droits | *OBJ, *INDIR, *INDIROBJ | Facultatif |
| FROMCODPAG | Page de codes d'origine | 1-32767, *OBJ, *PCASCII | Facultatif |
| TOCODEPAGE | Page de codes de destination | 1-32767, *OBJ, *CALC, *STDASCII, *PCASCII | Facultatif |
Objet (OBJ)
Indique le nom de chemin de l'objet à copier ou un masque correspondant à plusieurs objets.
Il peut s'agir d'un nom simple ou d'un nom qualifié indiquant le nom du répertoire contenant l'objet. Vous pouvez indiquer un masque pour la dernière partie du nom. Un astérisque (*) correspond à un nombre quelconque de caractères, alors qu'un point d'interrogation (?) correspond à un caractère unique. Si le nom est qualifié ou contient un masque, il doit être placé entre apostrophes (').
Remarque :Il n'est possible d'utiliser un masque pour copier plusieurs objets que lorsque le paramètre Répertoire de destination (TODIR) est précisé.
Pour obtenir de plus amples informations relatives à la spécification des noms de chemin, reportez-vous à "Object naming rules" dans la rubrique Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Remarque :Ce paramètre est compatible Unicode. Pour plus d'informations, reportez-vous à la section sur la prise en charge Unicode dans CL, dans les Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Répertoire de destination (TODIR)
Indique le nom de chemin du répertoire dans lequel l'objet doit être copié. Lorsque vous utilisez ce paramètre, l'objet copié prend le nom attribué au paramètre Objet (OBJ).
- .
- L'objet est copié dans le répertoire en cours et prend le nom de l'objet existant.
- nom-chemin-répertoire
- Indiquez le nom de chemin du répertoire existant dans lequel l'objet doit être copié.
Pour obtenir de plus amples informations relatives à la spécification des noms de chemin, reportez-vous à "Object naming rules" dans la rubrique Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Remarque :Ce paramètre est compatible Unicode. Pour plus d'informations, reportez-vous à la section sur la prise en charge Unicode dans CL, dans les Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Objet de destination (TOOBJ)
Indique le nom de chemin de l'objet copié. Il s'agit du nom du nouvel objet et du chemin (relatif).
Pour obtenir de plus amples informations relatives à la spécification des noms de chemin, reportez-vous à "Object naming rules" dans la rubrique Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Remarque :Ce paramètre est compatible Unicode. Pour plus d'informations, reportez-vous à la section sur la prise en charge Unicode dans CL, dans les Rubriques CL de la catégorie Programmation de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.
Lien symbolique (SYMLNK)
Indique s'il s'agit de copier l'objet lui-même ou un lien symbolique à cet objet.
- *NO
- L'objet est copié et non un lien symbolique à cet objet.
- *YES
- Si l'objet à copier est un lien symbolique, ce dernier est copié, et non pas l'objet auquel il est attribué.
Remarque :Si un lien symbolique est détecté lors de la copie d'une sous-arborescence, l'objet qu'il désigne est également copié. Si le lien désigne un répertoire, ce dernier est copié, mais son contenu ne l'est pas. Cette condition s'applique également lorsque le répertoire de niveau supérieur de l'arborescence de répertoires est un lien symbolique désignant un répertoire.
CCSID d'origine (FROMCCSID)
Indique la méthode permettant d'obtenir l'ID codé de jeu de caractères de l'objet source de l'opération de copie. Ce CCSID sera utilisé pour la conversion de données, si nécessaire. Ce paramètre est ignoré si l'objet indiqué au paramètre Objet (OBJ) n'est pas un fichier standard (c'est-à-dire qui prend en charge les opérations d'entrée-sortie (E-S) du système de fichiers intégré : ouverture, lecture et écriture).
Ce paramètre ne peut pas être utilisé avec les paramètres Page de codes d'origine (FROMCODPAG) ou Page de codes de destination (TOCODEPAGE).
- *OBJ
- Le CCSID de données de l'objet à copier est utilisé.
- *PCASCII
- Le CCSID de données de l'objet à copier est utilisé pour calculer un CCSID dans le schéma de codage Microsoft Windows (x4105) (Microsoft, Windows, Windows NT et le logo Windows 95 sont des marques de Microsoft Corporation). Il s'agit du CCSID à partir duquel les données seront converties lorsque DTAFMT(*TEXT) est indiqué. Cette option permet une conversion correcte des données des PC, si celles-ci ont été créées à l'aide de Microsoft Windows.
- *JOBCCSID
- L'ID codé de jeu de caractères (CCSID) par défaut du travail est utilisé.
- 1 à 65533
- Indiquez une valeur de CCSID.
CCSID de destination (TOCCSID)
Indique l'ID codé de jeu de caractères de l'objet cible de l'opération de copie. Ce paramètre est ignoré si l'objet indiqué au paramètre Objet (OBJ) n'est pas un fichier standard (c'est-à-dire qui prend en charge les opérations d'entrée-sortie (E-S) du système de fichiers intégré : ouverture, lecture et écriture).
Ce paramètre ne peut pas être utilisé avec les paramètres Page de codes d'origine (FROMCODPAG) ou Page de codes de destination (TOCODEPAGE).
- *OBJ
- Le CCSID de données de l'objet à copier est utilisé. Si ce CCSID ne peut pas être utilisé par le système de fichiers dans lequel l'objet doit être copié, l'opération de copie échouera.
- *CALC
- Le CCSID de données de l'objet à copier est utilisé. Si celui-ci ne peut pas être utilisé par le système de fichiers dans lequel l'objet doit être copié, laissez le système de fichiers déterminer un autre CCSID permettant d'effectuer l'opération.
- *STDASCII
- Un CCSID est calculé dans le schéma de codage de données PC IBM (x2100), en fonction du CCSID du fichier source. Associez ce dernier à l'objet cible de l'opération de copie, et, si DTAFMT(*TEXT) est indiqué, utilisez-le également pour la conversion des données. Si ce CCSID ne peut pas être utilisé par le système de fichiers dans lequel l'objet doit être copié, l'opération de copie échouera.
- *PCASCII
- Calculez un CCSID dans le schéma de codage Microsoft Windows (x4105), en fonction du CCSID du fichier source (Microsoft, Windows, Windows NT et le logo Windows 95 sont des marques de Microsoft Corporation). Associez ce CCSID à l'objet cible de l'opération de copie et, si DTAFMT(*TEXT) est indiqué, utilisez-le également pour la conversion de données. Cette option permet aux applications Microsoft Windows d'utiliser les données résultantes. Si ce CCSID ne peut pas être utilisé par le système de fichiers dans lequel l'objet doit être copié, l'opération de copie échouera.
- *JOBCCSID
- L'ID codé de jeu de caractères (CCSID) par défaut du travail est utilisé.
- 1 à 65533
- Indiquez une valeur de CCSID.
Format de données (DTAFMT)
Indique le format des données contenues dans le fichier à copier.
- *BINARY
- Le fichier contient des données au format binaire (comme une fichier exécutable ).
Lors de la copie, les données ne sont pas converties. Cependant, si le CCSID de l'objet à copier est différent de celui de l'objet source, tous les attributs étendus sont convertis dans le CCSID du nouvel objet avant d'être définis.
- *TEXT
- Le fichier contient des données au format texte. Lors de la copie, les données sont converties dans le CCSID du nouvel objet. Les données sont alors traitées comme du texte.
Si un membre de base de données doit être copié vers un fichier STREAM, tous les caractères de formatage de ligne (retour chariot, tabulation, fin de fichier, etc.) sont convertis d'un CCSID à l'autre.
Si la copie s'effectue dans le sens inverse, le fichier STREAM doit contenir des caractères de fin de ligne ; sinon l'opération échoue. Si ce fichier contient des caractères de fin de ligne, les actions ci-après sont exécutées sur un fichier base de données lors de la copie.
- Les caractères de fin de ligne sont supprimés.
- Les enregistrements sont complétés par des blancs (s'il s'agit d'un membre de fichier physique source) ou des caractères nuls (s'il s'agit d'un membre de fichier physique de données).
- Les caractères de tabulation sont remplacés par le nombre approprié de blancs (permettant d'atteindre la position de tabulation suivante).
Branche du répertoire (SUBTREE)
Indique si une sous-arborescence de répertoires doit être copiée ou non lorsque l'objet indiqué au paramètre Objet (OBJ) est un répertoire.
- *NODIR
- L'objet ou les objets désignés par OBJ sont copiés. Si un objet est un répertoire, la copie échoue à moins que le répertoire cible indiqué par le mot clé TODIR soit le répertoire dans lequel figure l'objet source. Dans ce cas, aucune action n'est effectuée et un message d'achèvement est émis.
- *NONE
- L'objet ou les objets désignés par OBJ sont copiés. Les objets répertoire sont copiés, mais pas leur contenu.
- *ALL
- L'objet ou les objets désignés par OBJ sont copiés. Les objets répertoire, leur contenu, ainsi que le contenu de tous les sous-répertoires, sont copiés.
Le mode de copie des attributs est légèrement différent si SUBTREE(*NONE) ou SUBTREE(*ALL) est indiqué au lieu de SUBTREE(*NODIR) (valeur par défaut). La copie de la sous-arborescence du répertoire préserve autant que possible les attributs d'origine de l'objet.
- L'indicateur de l'attribut PC en lecture seulement est désactivé pour l'objet copié. Si SUBTREE(*NONE) ou SUBTREE(*ALL) est indiqué, l'indicateur sera copié.
- La date et l'heure de création seront copiées si SUBTREE(*NONE) ou SUBTREE(*ALL) est indiqué (par défaut, cet attribut est défini sur l'heure en cours).
Remarque :La copie n'aboutit pas si l'objet cible est un sous-répertoire de l'objet source ou si l'objet cible correspond à l'objet source.
Remarque :Le filtrage du paramètre OBJ ne s'applique qu'aux objets de premier niveau. Si l'objet de premier niveau est un répertoire, le filtrage ne s'applique pas à son contenu, ni au contenu de ses sous-répertoires.
Une fois que la commande a commencé à traiter une branche d'un répertoire spécifique, les objets localisés et traités peuvent être affectés par les opérations qui mettent à jour l'organisation des objets dans l'arborescence de répertoire spécifiée. Cela inclut, sans caractère limitatif, les éléments suivants :
- Ajout, suppression ou nouvelle dénomination des liens d'objet
- Montage ou démontage des systèmes de fichiers
- Mise à jour du répertoire racine effectif pour le processus qui appelle la commande
- Mise à jour du contenu d'un lien symbolique
Pour traiter la branche du répertoire, le code du système peut augmenter le nombre maximal de descripteurs de fichier, dans la portée du processus, qui peuvent être ouverts lors du traitement. Cette opération est effectuée afin que la commande ne soit pas susceptible d'échouer en raison d'un manque de descripteurs. Cette valeur maximale de portée de processus n'est pas réinitialisée à la fin de la commande.
Remplacer objet (REPLACE)
Indique si l'objet cible est remplacé dans le cas où il existe déjà.
- *NO
- L'objet cible n'est pas remplacé s'il existe déjà.
- *YES
- Si l'objet cible existe déjà, il est remplacé. Si REPLACE(*YES) est indiqué pour un objet répertoire, les attributs du répertoire cible existant sont modifiés, mais les objets contenus dans ce répertoire ne sont pas supprimés.
Propriétaire (OWNER)
Permet d'indiquer le nom du propriétaire de l'objet créé.
- *NEW
- Le propriétaire correspond au profil utilisateur en cours du travail. Même si l'objet cible existe déjà et appartient à un autre profil utilisateur que le profil utilisateur en cours du travail, le propriétaire de l'objet cible devient ce profil en cours.
- *KEEP
- Le propriétaire du nouvel objet est le propriétaire de l'objet d'origine à copier.
Certains systèmes de fichiers ne prennent pas en charge la modification du nom de propriétaire de certains types d'objets. Par exemple, le propriétaire des objets *MBR dans les systèmes de fichiers QSYS.LIB et QSYS.LIB d'ASP indépendant correspond au propriétaire de l'objet *FILE dans lequel ils sont copiés.
Droits (AUT)
Indique la méthode à utiliser pour associer des informations de droits à des objets copiés.
- *OBJ
- Les informations de droits associées aux objets copiés sont basées sur les droits définis pour l'objet indiqué au paramètre Objet (OBJ). Les objets cible se voient attribuer les mêmes droits publics, droits privés, groupe primaire, droits du groupe primaire, liste d'autorisation et valeur d'audit que les objets copiés. Si le système de fichiers cible ne prend pas en charge la définition de toutes ces valeurs, les valeurs non prises en charge sont ignorées.
- *INDIR
- Les informations de droits associées aux objets copiés sont basées sur les droits définis pour le répertoire dans lequel les objets doivent être créés. Les objets cible se voient attribuer les mêmes droits publics, droits privés, groupe primaire, droits du groupe primaire et liste d'autorisation que le répertoire dans lequel ils sont créés. La valeur d'audit attribuée aux objets copiés dépend de la valeur d'audit de création d'objet définie pour le répertoire. Si le système de fichiers cible ne prend pas en charge la valeur *INDIR, la commande échoue avec le message d'erreur CPFA0AD. Si l'objet cible existe déjà, cette valeur est ignorée et aucune information de droits n'est copiée.
- *INDIROBJ
- Les informations de droits associées aux objets copiés sont initialement basées sur les droits définis pour le répertoire dans lequel les objets doivent être créés. Les informations de droits propres à l'objet indiqué au paramètre OBJ sont ensuite copiées vers l'objet cible. Si la copie aboutit, les objets cible se voient attribuer les mêmes droits publics, droits privés, groupe primaire, droits du groupe primaire, liste d'autorisation et valeur d'audit que les objets copiés, ainsi que tout droit privé supplémentaire spécifique au répertoire. Les informations de droits ainsi obtenues sont identiques aux informations générées par copier-coller des objets via System i Navigator.
Si le système de fichiers cible ne prend pas en charge la valeur spéciale *INDIROBJ, la commande échoue avec le message d'erreur CPFA0AD. Si l'objet cible existe déjà, aucune information de droits privés n'est copiée à partir du répertoire et le résultat est le même que si *OBJ avait été indiqué.
Page de codes d'origine (FROMCODPAG)
Méthode permettant d'obtenir la page de codes de l'objet source de l'opération de copie. Cette page de codes sera utilisée pour la conversion de données, si nécessaire. Ce paramètre est ignoré si l'objet indiqué au paramètre Objet (OBJ) n'est pas un fichier standard (c'est-à-dire qui prend en charge les opérations d'entrée-sortie (E-S) du système de fichiers intégré : ouverture, lecture et écriture).
Ce paramètre ne peut pas être utilisé avec les paramètres CCSID d'origine (FROMCCSID) ou CCSID de destination (TOCCSID).
Remarque :Ce paramètre est remplacé par CCSID d'origine (FROMCCSID), mais le paramètre FROMCODPAG peut néanmoins être utilisé. Cependant, il est préférable d'utiliser autant que possible le paramètre FROMCCSID, car CODEPAGE risque d'être supprimé dans une édition ultérieure.
- *OBJ
- La page de codes de données de l'objet à copier est utilisée.
- *PCASCII
- La page de codes de données de l'objet à copier est utilisée pour calculer une page de codes dans le schéma de codage Microsoft Windows (x4105) (Microsoft, Windows, Windows NT et le logo Windows 95 sont des marques de Microsoft Corporation). Il s'agit de la page de codes à partir de laquelle les données seront converties lorsque DTAFMT(*TEXT) est indiqué. Cette option permet une conversion correcte des données des PC, si celles-ci ont été créées à l'aide de Microsoft Windows.
- 1 à 32767
- Indiquez une valeur de page de codes.
Page de codes de destination (TOCODEPAGE)
Indique la page de codes des données de l'objet cible de l'opération de copie. Ce paramètre est ignoré si l'objet indiqué au paramètre Objet (OBJ) n'est pas un fichier standard (c'est-à-dire qui prend en charge les opérations d'entrée-sortie (E-S) du système de fichiers intégré : ouverture, lecture et écriture).
Ce paramètre ne peut pas être utilisé avec les paramètres CCSID d'origine (FROMCCSID) ou CCSID de destination (TOCCSID).
Remarque :Ce paramètre est remplacé par CCSID de destination (TOCCSID), mais le paramètre TOCODEPAGE peut néanmoins être utilisé. Cependant, il est préférable d'utiliser autant que possible le paramètre TOCCSID, car CODEPAGE risque d'être supprimé dans une édition ultérieure.
- *OBJ
- La page de codes de données de l'objet à copier est utilisée. Si cette page de codes ne peut pas être utilisée par le système de fichiers dans lequel l'objet doit être copié, l'opération de copie échouera.
- *CALC
- La page de codes de données de l'objet à copier est utilisée. Si celle-ci ne peut pas être utilisée par le système de fichiers dans lequel l'objet doit être copié, laissez le système de fichiers déterminer une autre page de codes permettant d'effectuer l'opération.
- *STDASCII
- Une page de codes est calculée dans le schéma de codage de données PC IBM (x2100), en fonction de la page de codes du fichier source. Associez cette dernière à l'objet cible de l'opération de copie, et, si DTAFMT(*TEXT) est indiqué, utilisez-la également pour la conversion des données. Si cette page de codes ne peut pas être utilisée par le système de fichiers dans lequel l'objet doit être copié, l'opération de copie échouera.
- *PCASCII
- Une page de code est calculée dans le schéma de codage de Microsoft Windows (x4105), en fonction de la page de codes du fichier source. Associez cette dernière à l'objet cible de l'opération de copie et, si DTAFMT(*TEXT) est indiqué, utilisez-la également pour la conversion de données. Cette option permet aux applications Microsoft Windows d'utiliser les données résultantes. Si cette page de codes ne peut pas être utilisée par le système de fichiers dans lequel l'objet doit être copié, l'opération de copie échouera.
- 1 à 32767
- Indiquez une valeur de page de codes. Si cette page de codes ne peut pas être utilisée par le système de fichiers dans lequel l'objet doit être copié, l'opération de copie échouera.
Exemples
Exemple 1 : Copie d'un fichier
CPY OBJ('FICHIER-PAIE-MENSUELLE_DECEMBRE-1994') TOOBJ('PAIE')
Cette commande crée un autre fichier appelé PAIE qui est la copie du fichier FICHIER-PAIE-MENSUELLE_DECEMBRE-1994.
Exemple 2 : Copie d'un fichier dans un autre répertoire
CPY OBJ('PAIE') TODIR('MONREP')
Cette commande crée un autre fichier appelé PAIE dans le répertoire MONREP.
Exemple 3 : Copie d'un lien symbolique
CPY OBJ('SL1') TOOBJ('TONREP/SL2') SYMLNK(*YES)
Si SL1 est un lien symbolique, le nouvel objet TONREP/SL2 est également un lien symbolique. Si SYMLNK(*NO) était indiqué, le nouvel objet serait une copie de l'élément vers lequel pointe SL1, dans la mesure où celui-ci pourrait être copié.
Exemple 4 : Copie avec conversion
CPY OBJ('/FICHB')
TOOBJ('/QSYS.LIB/APP1.LIB/DATA.FILE/FICHB.MBR')
TOCCSID(*CALC) DTAFMT(*TEXT)
Cette commande copie le fichier STREAM FICHB dans le fichier base de données FICHB.MBR. Avec TOCCSID(*CALC), le système de fichiers cible de la copie (QSYS.LIB dans ce cas) tente de créer le nouveau membre dans le même CCSID que /FICHB. Si cela échoue (dans notre cas, si DATA.FILE n'est pas dans le même CCSID que FICHB), le système de fichiers est autorisé à sélectionner un CCSID approprié et à terminer la copie. Avec DTAFMT(*TEXT), les données de FICHB sont traitées en tant que texte et sont converties dans le CCSID choisi pour le nouveau fichier FICHB.MBR.
Exemple 5 : Copie d'une sous-arborescence de répertoires
CPY OBJ('/QDLS/MESINFOS') TODIR('/mondossier') SUBTREE(*ALL)
OWNER(*KEEP) REPLACE(*YES)
L'objet *FLR (dossier du système de fichiers QDLS) est créé dans le répertoire /mondossier du système de fichiers "racine" (/) avec le nom de chemin /mondossier/MESINFOS. Son contenu est également copié. Comme OWNER(*KEEP) est indiqué, les nouveaux objets sont créés avec les mêmes profils que les anciens objets. Le paramètre REPLACE ayant la valeur *YES, les fichiers cible sont écrasés s'ils existent déjà.
Exemple 6 : Copie d'un fichier avec copie des droits propres au répertoire
CPY OBJ('PAIE') TODIR('MONREP') AUT(*INDIR)
Cette commande crée un autre fichier appelé PAIE dans le répertoire MONREP. Toutes les valeurs de droits telles que droits *PUBLIC, liste d'autorisation ou droits du groupe primaire sont copiées depuis le répertoire MONREP et appliquées au nouveau fichier PAIE.
Messages d'erreur
Messages *ESCAPE
- CPFA082
- Droits *ADD requis pour le profil utilisateur du propriétaire.
- CPFA083
- Droits insuffisants pour remplacer l'objet. L'objet est &1.
- CPFA085
- Répertoire initial de l'utilisateur &1 introuvable.
- CPFA08E
- Plusieurs noms correspondent au masque.
- CPFA093
- Aucun nom ne correspond au masque indiqué.
- CPFA09C
- Aucun droit sur l'objet. L'objet est &1.
- CPFA09D
- Erreur dans le programme &1.
- CPFA09E
- L'objet est en cours d'utilisation. L'objet est &1.
- CPFA0A1
- Erreur d'entrée ou de sortie.
- CPFA0A3
- La résolution du nom de chemin provoque une boucle.
- CPFA0A6
- Le nombre de liens dépasse la limite admise par le système de fichiers.
- CPFA0A7
- Le nom de chemin est trop long.
- CPFA0A9
- Objet introuvable. L'objet est &1.
- CPFA0AA
- Une erreur s'est produite pendant l'allocation d'espace.
- CPFA0AB
- Erreur d'opération pour l'objet. L'objet est &1.
- CPFA0AD
- Fonction non acceptée par le système de fichiers.
- CPFA0B0
- La demande ne fonctionne pas d'un système de fichiers à l'autre.
- CPFA0B1
- Opération demandée non admise. Incident d'accès.
- CPFA0B2
- Aucun objet ne correspond à la demande.
- CPFA0BB
- &1 objets copiés. &2 objets en échec.
- CPFA0C4
- L'objet n'est pas un fichier. L'objet est &1.
- CPFA0DA
- L'objet est un répertoire. L'objet est &1.
- CPFB41E
- Le type de l'objet doit être identique au type de l'objet remplacé.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.