CPYSRCF
Copier un fichier source
En bref
La commande CPYSRCF (Copier un fichier source) permet d'effectuer une copie d'un fichier source base de données ou d'un fichier DDM vers un fichier physique source ou vers un fichier DDM et de convertir les données de type caractère du CCSID du fichier d'origine pour obtenir le CCSID du fichier…
CPYSRCF se lit CPY
(Copier) + SRCF.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CPYSRCF FROMFILE(…) TOFILE(…) FROMMBR(…)
Paramètres
-
FROMFILEFichier source base de données obligatoire -
TOFILEFichier de destination obligatoire -
FROMMBRMembre d'origine obligatoire -
TOMBRMembre ou label de destination -
TOMBRIDIdentificateur Au membre -
MBROPTRemplacement ou ajout enregs -
SRCCHGDATEDate de modification source -
TEXTTexte 'descriptif' -
SRCTYPEType de source -
SRCOPTOptions de mise à jour source -
SRCSEQNumérotation du source
Astuce : dans une session 5250, tapez CPYSRCF 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 : Sous conditions
La commande CPYSRCF (Copier un fichier source) permet d'effectuer une copie d'un fichier source base de données ou d'un fichier DDM vers un fichier physique source ou vers un fichier DDM et de convertir les données de type caractère du CCSID du fichier d'origine pour obtenir le CCSID du fichier de destination. Si TOFILE(*PRINT) est indiqué, un fichier imprimante formaté est créé à partir du fichier imprimante fourni par IBM, QSYSPRT (le fichier est modifié pour les enregistrements source et est différent des autres formats de commande de copie). Toute substitution exécutée sur le fichier d'origine ou de destination s'applique aux fichiers utilisés dans l'opération de copie. Lors de la copie des données d'enregistrement, les données alphanumériques sont converties du CCSID du fichier d'origine au CCSID du fichier de destination. Il n'est pas tenu compte des autres différences de format d'enregistrement, telles que l'option de paramètre FMTOPT(*NOCHK) de la commande CPYF.
Remarque :Pour plus d'informations sur les fichiers DDM, reportez-vous au manuel Rubriques Programmation d'une base de données répartie de l'IBM i Information Center (http://www.ibm.com/systems/i/infocenter/).
Chaque appel de la commande permet de copier un membre, tous les membres ou un ensemble générique de membres. Les membres du fichier d'origine peuvent être copiés dans les membres du fichier de destination portant le même nom ou dans un seul membre de ce fichier. Plusieurs membres sont copiés et leur liste est établie en ordre alphabétique. Le fichier de destination doit exister lors du lancement de la commande CPYSRCF. En effet, cette dernière ne crée pas de fichier de destination, mais permet d'ajouter un membre dans un fichier physique existant si ce membre n'y figure pas déjà.
Cette commande fournit une prise en charge semblable à celle de la commande CPYF (Copier fichier). Notez que la valeur par défaut du paramètre MBROPT est *REPLACE (contrairement aux autres commandes de copie). Ainsi, les enregistrements existants dans le membre concerné du fichier de destination sont mis à blanc avant d'être remplacés par ceux provenant du fichier d'origine. Pour le paramètre TOMBR, la valeur par défaut est *FROMMBR, ce qui permet de copier les membres du fichier d'origine dans ceux portant le même nom dans le fichier de destination.
Restrictions :
- Lors de l'opération de copie, le partage du chemin d'ouverture d'un fichier (ODP) avec un autre programme du travail (phase d'activation) est impossible.
- Dans le cas de travaux à unités d'exécution multiples, cette commande n'admet pas ces dernières lors d'une copie dans ou à partir de plusieurs membres de fichier base de données, fichiers unité (sauf les fichiers imprimante SPOOL(*YES)), fichiers répartis et fichiers DDM de type *SNA. Cette commande échoue pour les fichiers répartis utilisant des bases de données relationnelles de type *SNA et des fichiers DDM de type *SNA. Elle admet les unités d'exécution multiples UNIQUEMENT en cas de copie dans des membres d'un seul fichier base de données (local ou DDM de type *IP) et dans des fichiers imprimante SPOOL(*YES).
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| FROMFILE | Fichier source base de données | Nom d'objet qualifié | Obligatoire, positionnel 1 |
| Qualificatif 1: Fichier source base de données | Nom | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| TOFILE | Fichier de destination | Valeurs uniques: *PRINT Autres valeurs: Nom d'objet qualifié |
Obligatoire, positionnel 2 |
| Qualificatif 1: Fichier de destination | Nom | ||
| Qualificatif 2: Biblio | Nom, *LIBL, *CURLIB | ||
| FROMMBR | Membre d'origine | Nom générique, nom, *FIRST, *ALL | Obligatoire, positionnel 3 |
| TOMBR | Membre ou label de destination | Nom, *FROMMBR, *FIRST | Facultatif, positionnel 4 |
| TOMBRID | Identificateur Au membre | *GEN, *FROMMBR | Facultatif |
| MBROPT | Remplacement ou ajout enregs | *REPLACE, *ADD | Facultatif, positionnel 5 |
| SRCCHGDATE | Date de modification source | *FROMMBR, *NEW | Facultatif |
| TEXT | Texte 'descriptif' | *SAME, *FROMMBR | Facultatif |
| SRCTYPE | Type de source | *SAME, *FROMMBR | Facultatif |
| SRCOPT | Options de mise à jour source | Valeurs uniques: *SAME Autres valeurs (jusqu'à 2 répétitions): *SEQNBR, *DATE |
Facultatif |
| SRCSEQ | Numérotation du source | Liste d'éléments | Facultatif |
| Élément 1: Numéro de séquence de début | 0.01-9999.99, 1.00 | ||
| Élément 2: Incrément | 0.01-9999.99, 1.00 |
Fichier source base de données (FROMFILE)
Indique le fichier base de données source contenant les enregistrements à copier.
Ce paramètre est obligatoire.
Qualificatif 1 : Fichier source base de données
- nom
- Indiquez le nom du fichier source base de données contenant les enregistrements copiés.
Qualificatif 2 : Biblio
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- La recherche porte sur la bibliothèque en cours de l'unité d'exécution. Si aucune bibliothèque n'est définie comme bibliothèque en cours pour l'unité d'exécution, la recherche porte sur la bibliothèque QGPL.
- nom
- Indiquez le nom de la bibliothèque dans laquelle doit s'effectuer la recherche.
Fichier de destination (TOFILE)
Indique le nom du fichier qui reçoit les enregistrements copiés.
Ce paramètre est obligatoire.
Valeurs uniques
- Les enregistrements sont copiés dans le fichier imprimante fourni par IBM, QSYSPRT. Aucune conversion de CCSID (ID codé de jeu de caractères) ne se produit si *PRINT est indiqué. Le format n'inclut pas de lignes blanches entre les enregistrements. Les zones de date de modification source et de numéro de séquence source sont séparées des données. Si plusieurs membres fichiers sont copiés, ils sont répertoriés dans l'ordre alphabétique. Si la liste doit être au format hexadécimal, utilisez la commande CPYF (Copier un fichier) avec la valeur OUTFMT(*HEX). Le fichier imprimante fourni par IBM, QSYSPRT, ne peut pas être remplacé par un autre fichier et doit avoir les attributs RPLUNPRT(*YES) et CTLCHAR(*NONE).
Qualificatif 1 : Fichier de destination
- nom
- Indiquez le nom du fichier physique source devant recevoir les enregistrements.
Qualificatif 2 : Biblio
- *LIBL
- La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
- *CURLIB
- La recherche porte sur la bibliothèque en cours de l'unité d'exécution. Si aucune bibliothèque n'est définie comme bibliothèque en cours pour l'unité d'exécution, la recherche porte sur la bibliothèque QGPL.
- nom
- Indiquez le nom de la bibliothèque dans laquelle doit s'effectuer la recherche.
Membre d'origine (FROMMBR)
Indique le ou les membres du fichier d'origine à copier. La copie peut porter sur un seul membre, un ensemble générique de membres ou la totalité des membres du fichier. Les membres sont copiés dans l'ordre alphabétique.
Ce paramètre est obligatoire.
- *ALL
- Tous les membres du fichier base de données sont copiés.
- *FIRST
- Le premier membre du fichier indiqué est utilisé.
- nom-générique
- Indiquez le nom générique du groupe de membres à copier.
- nom
- Indiquez le nom du membre du fichier base de données à copier.
Membre (TOMBR)
Indique le nom du membre de fichier qui reçoit les enregistrements copiés.
Si *PRINT est indiqué pour le paramètre Fichier de destination (TOFILE), *FIRST ou *FROMMBR doit être indiqué pour ce paramètre.
- *FROMMBR
- Cette valeur impose une correspondance entre les noms de membres ou les ID label des fichiers d'origine et des fichiers de destination. Tout membre pour lequel aucun membre correspondant n'existe dans le fichier de destination est ajouté à ce dernier.
Si un nom de membre ou *FIRST a été indiqué comme valeur du paramètre FROMMBR, le membre du fichier de destination portant le même nom reçoit les enregistrements copiés. Si *ALL ou un nom de membres générique a été spécifié pour le paramètre FROMMBR, chaque membre du fichier d'origine est copié dans un membre portant le même nom dans le fichier de destination. Les enregistrements provenant d'un ou de plusieurs membres (indiqués au paramètre FROMMBR) du fichier d'origine sont copiés dans le premier membre du fichier de destination.
- *FIRST
- Le premier membre du fichier indiqué est utilisé.
- nom-membre-destination
- Indiquez le nom de membre de fichier physique devant recevoir les enregistrements. Si aucun membre du nom spécifié n'existe, il est créé.
Identificateur Au membre (TOMBRID)
Indique, pour les nouveaux membres ajoutés au fichier de destination, si l'identificateur de niveau membre est généré ou copié à partir de l'identificateur de niveau membre du membre du fichier de destination.
- *GEN
- L'identificateur de niveau membre du nouveau membre du fichier de destination est généré.
- *FROMMBR
- L'identificateur de niveau membre du nouveau membre du fichier de destination est le même que celui du membre en cours de copie.
Remplacement ou ajout enregs (MBROPT)
Indique si les nouveaux enregistrements remplacent ou sont ajoutés aux enregistrements existants.
- *REPLACE
- Le système met à blanc le membre existant et ajoute les nouveaux enregistrements.
- *ADD
- Le système ajoute les nouveaux enregistrements à la suite des enregistrements existants.
Date de modification source (SRCCHGDATE)
Indique, pour les nouveaux membres ajoutés au fichier de destination ou si MBROPT(*REPLACE) a été indiqué, si la 'Date/heure de la dernière mise à jour de la source' sera une nouvelle date/heure ou si elle sera copiée à partir de la 'Date/heure de la dernière mise à jour de la source' du membre du fichier d'origine.
- *FROMMBR
- La 'Date/heure de la dernière mise à jour de la source' du nouveau membre du fichier de destination, ou si MBROPT(*REPLACE) a été indiqué, sera identique à celle du membre en cours de copie.
- *NEW
- La 'Date/heure de la dernière mise à jour de la source' du nouveau membre du fichier de destination, ou si MBROPT(*REPLACE) est indiqué, sera une nouvelle date/heure.
Texte 'descriptif' (TEXT)
Si MBROPT(*REPLACE) a été spécifié, indique si le texte décrivant le membre doit être copié à partir du membre d'origine.
- *SAME
- Le texte descriptif du membre de destination restera inchangé.
- *FROMMBR
- Le texte descriptif du membre de destination sera replacé par le texte du membre d'origine.
Type de source (SRCTYPE)
Si MBROPT(*REPLACE) a été spécifié, idique si le type source du membre de destination doit être copié à partir du membre d'origine.
- *SAME
- Le type source du membre de destination restera inchangé.
- *FROMMBR
- Le type source du membre de destination sera replacé par le type source du membre d'origine.
Options de mise à jour source (SRCOPT)
Indique si, lors de la copie des enregistrements, de nouvelles valeurs doivent être attribuées aux zones numéro de séquence et date.
Valeurs uniques
- *SAME
- Les zones numéro de séquence et date ne sont pas modifiées.
Autres valeurs (jusqu'à 2 répétitions)
- *SEQNBR
- Le numéro de séquence et les valeurs d'incrémentation sont affectés tel que spécifié pour le paramètre Numérotation du source (SRCSEQ) .
- *DATE
- La zone de changement de date de chaque enregistrement en cours de copie est définie à six zéros.
Numérotation du source (SRCSEQ)
Indique, uniquement lorsque *SEQNBR est précisé au paramètre Options de mise à jour source (SRCOPT), le numéro de séquence à utiliser dans le premier enregistrement copié et la valeur à ajouter au numéro de séquence initial pour calculer le numéro de séquence de chaque enregistrement suivant copié. Le numéro de séquence maximal est 9999,99 ; si une valeur dépasse cette limite, des enregistrements supplémentaires du membre sont tous affectés au numéro de séquence 9999,99.
Elément 1 : Numéro de séquence de début
- 1.00
- Le numéro de séquence 0001.00. est attribué au premier enregistrement source copié dans le fichier de destination.
- 0.01-9999.99
- Indiquez le numéro de séquence du premier enregistrement source copié dans le fichier de destination.
Elément 2 : Incrément
- 1.00
- Un nombre entier incrémenté de 1 est attribué aux enregistrements source copiés et renumérotés dans le fichier de destination.
- 0.01-9999.99
- Indiquez la valeur ajoutée pour renuméroter tous les enregistrements source copiés après le premier enregistrement. Une fois le numéro de séquence maximal atteint (9999.99), il est attribué à tous les enregistrements supplémentaires restants.
Exemples
Exemple 1 : remplacement d'enregistrements existants
CPYSRCF FROMFILE(QGPL/QCLSRC) TOFILE(MYLIB/CLSRC)
FROMMBR(PGMA)
Cette commande permet de copier des enregistrements du membre PGMA du fichier source base de données QCLSRC qui se trouve dans la bibliothèque QGPL. Les valeurs par défaut des paramètres TOMBR et MBROPT sont utilisées. Les enregistrements sont ainsi copiés vers un membre (PGMA) de CLSRC (bibliothèque MYLIB) portant le même nom et remplacent les enregistrements existants dans le membre. Si le membre PGMA n'existe pas dans le fichier de destination, il est ajouté au cours de l'opération de copie. Si le CCSID de QGPL/QCLSRC est différent de celui de MYLIB/CLSRC, les données de type caractère sont converties au CCSID de CLSRC.
Exemple 2 : impression de fichiers
CPYSRCF FROMFILE(QRPG/QRPGSRC) TOFILE(*PRINT) FROMMBR(INV*)
Cette commande permet de copier depuis le fichier source base de données QRPGSRC de la bibliothèque QRPG tous les membres de fichier dont le nom commence par INV. La valeur spéciale *PRINT est indiquée pour le fichier de destination. Ainsi, les enregistrements sont copiés vers l'imprimante et répertoriés dans un format adapté aux enregistrements source, très similaire à l'impression créée par SEU. Les données de type caractère ne sont pas converties lorsque TOFILE(*PRINT) est indiqué.
Exemple 3 : modification de la valeur d'incrément
CPYSRCF FROMFILE(MYLIB/TXTSRC) TOFILE(QIDU/QTXTSRC)
FROMMBR(*ALL) SRCOPT(*SEQNBR *DATE) SRCSEQ(1 .25)
Cette commande permet de copier tous les membres du fichier source base de données TXTSRC de la bibliothèque MYLIB. Ils sont copiés et remplacent (au moyen de la valeur par défaut MBROPT(*REPLACE)) les enregistrements existants dans les membres portant le même nom (au moyen de la valeur par défaut TOMBR(*FROMMBR)) du fichier source de données QTXTSRC de la bibliothèque QIDU. Si les membres de destination n'existent pas, ils sont ajoutés par copie. Pour chaque membre copié, le premier enregistrement prend le numéro 1 et les numéros suivants sont incrémentés de 0,25. Par ailleurs, la zone de date source est remise à zéro dans chaque enregistrement. Si le CCSID de MYLIB/TXTSRC est différent de celui de QIDU/QTXTSRC, les données de type caractères sont converties au CCSID de QIDU/QTXTSRC.
Messages d'erreur
Messages *ESCAPE
- CPF2816
- Fichier &1 de &2 non copié à la suite d'une erreur.
- CPF2817
- Commande de copie interrompue à la suite d'une erreur.
- CPF2858
- Attributs de fichier incorrects pour sortie imprimée.
- CPF2859
- Partage d'un chemin d'ouverture non admis.
- CPF2864
- Non autorisé au fichier &1 de &2.
- CPF2875
- Le membre ou label ouvert n'est pas celui prévu.
- CPF2888
- Le membre &3 n'a pas été ajouté au fichier à la suite d'une erreur.
- CPF2909
- Erreur à la mise à blanc du membre &3 de &1 dans &2.
- CPF2949
- Erreur à la fermeture du membre &3 de &1 dans &2.
- CPF2952
- Erreur lors de l'ouverture du fichier &1 de &2.
- CPF2968
- Erreur de positionnement lors de la copie du fichier &1 de &2.
- CPF2971
- Erreur de lecture du membre &3 du fichier &1.
- CPF2972
- Erreur d'écriture dans le membre &3 du fichier &1.
- CPF3140
- Initialisation ou copie du membre &2 annulée.
- CPF3143
- Incréments non admis pour le membre &2.
- CPF3148
- Espace mémoire insuffisant pour l'ajout d'enregistrements au membre &2.
- CPF3150
- La copie de base de données a échoué pour le membre &2.
- CPF9212
- Impossible de charger ou décharger le fichier DDM &2 de &3.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.