Aller au contenu

CPYFRMDKT

Copier à partir de disquette

En bref

La commande CPYFRMDKT (Copier à partir d'une disquette) permet de copier un ou plusieurs fichiers de données d'une disquette sur un fichier en sortie ou sur une imprimante.

CPYFRMDKT se lit CPY (Copier) + FRMDKT. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

CPYFRMDKT FROMFILE(…) TOFILE(…)

Paramètres

Astuce : dans une session 5250, tapez CPYFRMDKT 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 CPYFRMDKT (Copier à partir d'une disquette) permet de copier un ou plusieurs fichiers de données d'une disquette sur un fichier en sortie ou sur une imprimante. Le fichier d'origine est obligatoirement un fichier disquette. Le fichier de destination peut être un fichier physique, un fichier DDM, un fichier disquette, un fichier bande ou un fichier imprimante décrit dans les programmes. Vous pouvez indiquer *PRINT à l'invite Fichier de destination (paramètre TOFILE) pour imprimer les enregistrements à l'aide du fichier imprimante QSYSPRT (fourni par IBM).

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/).

Cette commande met à disposition une partie des paramètres associés à la commande CPYF (Copier un fichier). Si certains paramètres vous font défaut, vous pouvez soit recourir à cette dernière commande, soit procéder à une substitution du fichier d'origine ou de destination, ou utiliser les deux.

La copie peut porter sur un label, un ensemble de labels ou sur tous les labels de la disquette. Le manuel Catégorie des fichiers et systèmes de fichiers de l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/ décrit de façon détaillée les combinaisons admises et la manière de les indiquer.

Le fichier de destination doit exister lors de l'émission de la commande CPYFRMDKT. En effet, celle-ci ne le crée pas, mais permet d'ajouter un membre dans un fichier physique existant si ce membre n'y figure pas.

Remarque :Vous ne pouvez pas utiliser cette commande pour copier des fichiers de type sauvegarde/restauration.

Restriction : 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.

Paramètres

Mot-clé Description Valeurs possibles Remarques
FROMFILE Fichier disquette Nom d'objet qualifié Obligatoire, positionnel 1
Qualificatif 1: Fichier disquette 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
FROMLABEL Label disquette Valeur caractère, *DKTF, *ALL Facultatif, positionnel 3
TOMBR Membre Nom, *FROMLABEL, *FIRST Facultatif, positionnel 4
FROMDEV Unité disquette Nom, *DKTF Facultatif
FROMVOL Identificateur de volume Valeurs uniques: *DKTF, *NONE
Autres valeurs (jusqu'à 50 répétitions): Valeur caractère
Facultatif
MBROPT Remplacement ou ajout enregs *NONE, *ADD, *REPLACE Facultatif
NBRRCDS Nombre d'enreg à copier Entier non signé, *END Facultatif
OUTFMT Format d'impression *CHAR, *HEX Facultatif

Fichier disquette (FROMFILE)

Indique le nom et la bibliothèque du fichier disquette contenant les enregistrements à copier.

Fichier de destination (TOFILE)

Indique le nom du fichier qui reçoit les enregistrements copiés.

Le fichier unité peut être un fichier disquette, bande ou imprimante décrit dans les programmes. S'il s'agit d'un fichier disquette, l'éditeur de spoule ne doit pas être actif, et pour la définition du fichier, *YES doit être indiqué en regard de l'invite Données en spoule (paramètre SPOOL) de la commande CRTDKTF (Créer un fichier disquette).

*PRINT
Les données sont copiées dans un fichier imprimante du système (QSYSPRT) et formatées selon la valeur indiquée à l'invite Format d'impression (paramètre OUTFMT).
nom-fichier-destination
Indiquez le nom du fichier physique ou du fichier unité dans lequel les enregistrements doivent être copiés.

Label disquette (FROMLABEL)

Indique soit l'ID label du fichier disquette, soit l'ID générique du groupe de fichiers disquette à copier.

*DKTF
L'ID label de fichier de données indiqué dans la description du fichier disquette est utilisé pour identifier le fichier copié (qui peut également être précisé dans une substitution de fichier d'origine).
*ALL
Tous les fichiers de données de la disquette sont copiés. Si le fichier de destination est un fichier spoule disquette ou un fichier physique base de données, les enregistrements peuvent être copiés dans les labels de disquette correspondants ou les membres portant le même nom dans le fichier de destination (à l'aide de TOMBR(*FROMLABEL)), ou bien sur un seul label ou un seul membre contenant la concaténation de tous les enregistrements de tous les fichiers de données copiés à partir de la disquette. Si le fichier de destination est un fichier imprimante, chaque fichier de données est copié dans un fichier spoule séparé. Si la valeur TOFILE(*PRINT) est indiquée, tous les fichiers de données se trouvant sur la disquette sont copiés dans un seul fichier imprimante et le premier enregistrement de chaque fichier copié est placé au début d'une nouvelle page.

Si FROMLABEL(*ALL) est indiqué mais qu'une valeur est précisée au paramètre LABEL sur une commande OVRDKTF (Substituer fichier disquette), seul le fichier dont l'ID label est spécifié dans l'opération de substitution est copié.

ID-fichier-données
Indiquez l'ID label du fichier de données à copier. Si une autre valeur de paramètre LABEL a été précisée avec la commande OVRDKTF, l'ID label indiqué par cette valeur est utilisé, et non celui spécifié avec ce paramètre.
ID-fichier-données-générique*
Indiquez l'ID label générique des fichiers de données copiés à partir de la disquette.

Si un ID générique est indiqué au paramètre FROMLABEL et que la valeur du paramètre LABEL est également précisée sur la commande OVRDKTF, seul le fichier dont l'ID label est spécifié dans l'opération de substitution est copié.

Si la suite de l'un des fichiers copiés d'une disquette se trouve sur un autre volume et que FOMLABEL(*ALL) ou un ID générique est indiqué, tous les fichiers contenus sur l'autre volume sont traités. Le système tente de copier les fichiers de toutes les disquettes jusqu'à ce qu'il détecte la première disquette ne contenant aucun fichier réparti sur plusieurs volumes.

Membre ou label de destination (TOMBR)

Indique le nom du membre de fichier qui reçoit les enregistrements copiés.

Remarque :Si TOFILE correspond à un fichier disquette ou bande, TOMBR indique l'ID label du fichier de données devant recevoir les enregistrements copiés. Si TOFILE correspond à un fichier imprimante (ou *PRINT), vous devez indiquer la valeur *FROMLABEL ou *FIRST. Un membre de fichier physique portant le nom indiqué par ce paramètre (y compris le nom indiqué avec *FROMLABEL) est créé, s'il n'existe pas déjà.

Les valeurs possibles sont les suivantes :

*FROMLABEL
Indique que tous les fichiers identifiés par l'ID de fichier de données spécifié au paramètre FROMFILE doivent être copiés sur les membres ou labels de disquette ou de bande correspondants dans le fichier physique de destination. Si celui-ci ne contient aucun membre ou fichier de ce nom, un membre ou un fichier portant ce nom est créé.

Lorsque l'ID d'un fichier de données particulier est indiqué au paramètre FROMLABEL, un membre du fichier de destination portant le même nom reçoit les enregistrements copiés. S'il s'agit d'un ID générique ou que le paramètre FROMLABEL a pour valeur *ALL, chaque label dans le fichier d'origine est copié dans un membre ou label correspondant dans le fichier de destination. Si ce dernier est un fichier bande et que *FROMLABEL est indiqué, vous devez préciser l'ID d'un seul fichier de données ou *DKTF pour le paramètre FROMLABEL. Si le fichier de destination est un fichier bande ou disquette, le label spécifié dans la description du fichier est utilisé.

*FIRST
Le premier membre (en date) du fichier physique base de données doit recevoir les enregistrements.
nom-membre-destination
Indiquez le nom du membre du fichier physique, ou bien l'ID label du fichier disquette ou bande destiné à recevoir les enregistrements. Si l'ID label du fichier bande contient plus de 10 caractères ou des caractères spéciaux, vous devez l'indiquer à l'aide d'une commande CRTTAPF (Créer un fichier bande), CHGTAPF (Modifier un fichier bande) ou OVRTAPF (Substituer un fichier bande).

Unité disquette (FROMDEV)

Indique le nom des unités de disquette à partir desquelles le fichier disquette d'origine est copié.

*DKTF
Le nom d'unité indiqué dans le fichier disquette est utilisé.
nom-unité
Indiquez les noms des unités de disquette à utiliser pour la copie d'enregistrements à partir du fichier d'origine. Les disquettes sont lues dans l'ordre des noms que vous entrez. Ces derniers doivent être déjà identifiés sur le système à l'aide de descriptions d'unité.

Identificateur de volume (FROMVOL)

Indique la disquette à utiliser.

*DKTF
Les identificateurs de volume indiqués dans le fichier unité de disquette sont utilisés pour identifier le fichier copié (qui peut également être précisé dans une substitution de fichier d'origine).
*NONE
Aucun contrôle d'identificateur de volume n'est effectué.
identificateur-volume
Indiquez les ID de volume (50 au maximum) à utiliser pour identifier les disquettes copiées. Chaque ID peut comporter jusqu'à 6 caractères alphanumériques.

Remplacement ou ajout enregs (MBROPT)

Indique si les nouveaux enregistrements remplacent ou sont ajoutés aux enregistrements existants.

Remarque :Si le fichier de destination est un fichier unité, ce paramètre n'est pas pris en compte ; s'il est un fichier physique, ce paramètre est obligatoire.

Les valeurs possibles sont les suivantes :

*NONE
Ce paramètre n'est pas utilisé dans le cas présent. Lorsque le fichier de destination est un fichier physique existant, *NONE n'est pas admis.
*ADD
Les enregistrements copiés sont ajoutés aux enregistrements existants dans chaque membre du fichier de destination utilisé.
*REPLACE
Le système met à blanc le membre existant et ajoute les nouveaux enregistrements.

Nombre d'enreg à copier (NBRRCDS)

Indique le nombre d'enregistrements copiés dans le fichier de destination.

Les valeurs possibles sont les suivantes :

*END
Les enregistrements sont copiés jusqu'à détection d'une condition de fin de fichier.
nombre-enregistrements
Indiquez le nombre d'enregistrements à copier dans le fichier de destination. Le nombre doit être compris entre 1 et 4294967288. La copie prend fin si une condition EOF (fin de fichier) est rencontrée avant que le nombre d'enregistrements indiqué soit atteint.

Format d'impression (OUTFMT)

Indique si les enregistrements doivent être imprimés au format alphanumérique seul ou bien à la fois aux formats alphanumérique et hexadécimal. Ce paramètre est utilisé uniquement lorsque *PRINT est précisé à l'invite Fichier de destination (paramètre TOFILE).

*CHAR
Les enregistrements sont imprimés en format alphanumérique.
*HEX
Les enregistrements sont imprimés en format alphanumérique et en format hexadécimal.

Exemples

Exemple 1 : copie d'enregistrements dans un fichier base de données

CPYFRMDKT   FROMFILE(QDKT)  TOFILE(MASTER/PAYROLL)
            FROMLABEL(MONTH1)  MBROPT(*REPLACE)

Cette commande permet de copier des enregistrements d'une disquette à l'aide du fichier disquette QDKT. L'unité de disquette indiquée dans la description du fichier QDKT est créée. Le fichier de données de la disquette qui est copié est identifié par le label MONTH1. Les enregistrements sont copiés dans le fichier base de données physique PAYROLL de la bibliothèque MASTER et remplacent les enregistrements existants du membre MONTH1 (implicitement spécifié par la valeur par défaut TOMBR(*FROMLABEL)).

Exemple 2 : impression d'enregistrements copiés

CPYFRMDKT   FROMFILE(QDKT)  TOFILE(*PRINT)  FROMDEV(DKT2)
            FROMLABEL(MONTH*)  FROMVOL(PAY1)

Cette commande permet de copier depuis une disquette, à l'aide du fichier disquette QDKT et de l'unité de disquette DKT2, l'ensemble générique de labels commençant par les caractères MONTH. L'identificateur du volume de disquette est indiqué dans la commande, ce qui évite d'exécuter une commande de substitution distincte. Les enregistrements sont répertoriés sur l'imprimante au moyen du fichier imprimante QSYSPRT fourni par IBM au format alphanumérique, ce qui correspond à la valeur par défaut du paramètre OUTFMT.

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.
CPF2818
TOMBR(*FROMMBR) non admis.
CPF2857
Copie de plusieurs membres ou labels incompatible avec substitution.
CPF2858
Attributs de fichier incorrects pour sortie imprimée.
CPF2859
Partage d'un chemin d'ouverture non admis.
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.
CPF2904
Labels de disquette incorrects pour copie de plusieurs labels.
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.
CPF2971
Erreur de lecture du membre &3 du fichier &1.
CPF2972
Erreur d'écriture dans le membre &3 du fichier &1.
CPF9212
Impossible de charger ou décharger le fichier DDM &2 de &3.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.