Aller au contenu

CPYFRMTAP

Copier à partir d'une bande

En bref

La commande CPYFRMTAP (Copier à partir d'une bande) permet de copier des enregistrements d'un fichier bande sur un fichier en sortie ou une imprimante.

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

Syntaxe minimale

CPYFRMTAP FROMFILE(…) TOFILE(…)

Paramètres

Astuce : dans une session 5250, tapez CPYFRMTAP 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 CPYFRMTAP (Copier à partir d'une bande) permet de copier des enregistrements d'un fichier bande sur un fichier en sortie ou une imprimante.

Le fichier d'origine doit être un fichier bande. Le fichier de destination peut être un fichier physique, bande ou imprimante décrit dans les programmes. Pour obtenir une sortie imprimée des enregistrements du fichier, vous pouvez indiquer *PRINT en regard du paramètre Fichier de destination (TOFILE).

Cette commande met à votre disposition une partie des paramètres associés à la commande CPYF (Copier un fichier), ainsi que des paramètres propres aux bandes.

Si certains paramètres vous font défaut, vous pouvez soit recourir à la commande CPYF (Copier un fichier), soit procéder à une substitution du fichier d'origine ou de destination.

Un seul fichier bande (numéro de séquence) peut être copié à chaque émission de la commande.

Le fichier de destination doit exister lorsque la commande est lancée. 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à.

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.

Paramètres

Mot-clé Description Valeurs possibles Remarques
FROMFILE Fichier bande Nom d'objet qualifié Obligatoire, positionnel 1
Qualificatif 1: Fichier bande 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
FROMSEQNBR Numéro de séquence 1-16777215, *TAPF, *NEXT Facultatif
FROMLABEL Label bande Valeur caractère, *TAPF, *NONE Facultatif
TOMBR Membre Nom, *FROMLABEL, *FIRST Facultatif
FROMDEV Unité Valeurs uniques: *TAPF
Autres valeurs (jusqu'à 4 répétitions): Nom
Facultatif
FROMREELS Copie à partir des bandes Liste d'éléments Facultatif
Élément 1: Type de traitement de label *TAPF, *SL, *NL, *NS, *BLP, *LTM
Élément 2: Nombre de bobines 1-255, *TAPF
FROMRCDLEN Longueur d'enregistrement Entier, *TAPF, *CALC Facultatif
FROMENDOPT Option fin de bande *TAPF, *REWIND, *UNLOAD, *LEAVE Facultatif
MBROPT Remplacement ou ajout enregs *NONE, *ADD, *REPLACE Facultatif
OUTFMT Format d'impression *CHAR, *HEX Facultatif
FROMVOL Identificateur de volume Valeurs uniques: *TAPF, *NONE
Autres valeurs (jusqu'à 50 répétitions): Valeur caractère
Facultatif
FROMBLKLEN Longueur de bloc 1-524288, *TAPF, *CALC Facultatif
FROMRCDBLK Type de bloc enregistrement *TAPF, *F, *FB, *V, *VB, *D, *DB, *VS, *VBS, *U Facultatif
NBRRCDS Nombre d'enreg à copier Entier non signé, *END Facultatif

Fichier bande (FROMFILE)

Indique le fichier bande contenant les enregistrements à copier.

Ce paramètre est obligatoire.

Qualificatif 1 : Fichier bande

nom
Indiquez le nom du fichier d'unité bande.

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

*PRINT
Le résultat est placé dans un fichier spoule de la file d'attente en sortie du travail.

Qualificatif 1 : Fichier de destination

nom
Indiquez le nom du fichier physique ou du fichier unité dans lequel les enregistrements doivent être 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.

Numéro de séquence (FROMSEQNBR)

Indique le numéro de séquence du fichier bande à copier.

Si les labels des bandes contenant le fichier d'origine sont standard, le numéro de séquence du fichier est lu à partir du premier label d'en-tête du fichier de données. Si vous avez demandé que les labels ne soient pas traités, en indiquant FROMREELS(*BLP) dans cette commande ou celle utilisée pour décrire le fichier bande, ou que les bandes ne comportent pas de labels standard, le système utilise les marques de bande et la valeur spécifiée avec ce paramètre pour localiser le fichier de données approprié à copier.

*TAPF
Le numéro de séquence indiqué dans le fichier bande (ou la valeur de substitution) est utilisé pour identifier le fichier à copier.
*NEXT
Le fichier suivant est traité. Lorsque la bande est positionnée devant le premier fichier, c'est ce fichier qui est alors traité.
1-16777215
Indiquez le numéro de séquence du fichier bande à copier. Pour un fichier bande comportant un label, le label indiqué au paramètre FROMLABEL doit correspondre à ce numéro de séquence.

Label bande (FROMLABEL)

Indique l'ID du fichier de données qui doit être copié à partir de la bande. L'ID de fichier spécifié doit être trouvé dans le numéro de séquence précisé au paramètre Numéro de séquence (FROMSEQNBR).

*TAPF
L'ID fichier indiqué dans la description du fichier bande (ou la valeur de substitution) est utilisé pour identifier le fichier à copier.
*NONE
Aucun ID fichier n'est indiqué. Tout ID label est admis.
ID-fichier-données
Indiquez le nom du label de fichier qui doit être copié à partir du fichier bande. La longueur d'un label est de 17 caractères au maximum.
ID-fichier-données-générique*
Indiquez le nom générique du label de fichier qui doit être copié à partir du fichier bande.

Membre (TOMBR)

Indique le membre de fichier base de données, ou bien le label du fichier bande, devant recevoir les enregistrements de données copiés. Si *PRINT est indiqué dans l'invite Fichier de destination (paramètre TOFILE), *FIRST ou *FROMLABEL est obligatoire.

*FROMLABEL
Le fichier indiqué aux paramètres FROMLABEL et FROMSEQNBR est copié dans le membre ou label correspondant dans le fichier de destination.

L'ID label du fichier bande d'origine est utilisé comme ID label ou membre pour le fichier de destination physique ou bande. Si le fichier de destination est un fichier bande, le label spécifié dans la description du fichier est utilisé.

Si le fichier de destination est un fichier base de données, les 10 derniers caractères qui figurent sans blancs consécutifs dans le label du fichier d'origine sont utilisés pour le nom de membre de fichier de destination. Si ces 10 caractères ne sont pas admis, ce sont les caractères se trouvant à la droite du dernier point (.) qui sont utilisés.

Lorsque le fichier d'origine est un fichier bande sans label, un membre de fichier de destination ou un nom de label est créé. Celui-ci, qui correspond au fichier de données se trouvant dans le fichier bande d'origine, est au format CPYnnnn, "nnnn" désignant le numéro de séquence du fichier de données. Si le fichier de destination est un fichier bande, le label figurant dans la description du fichier ou l'opération de substitution est utilisé.

*FIRST
Premier membre du fichier physique de destination à recevoir les enregistrements copiés.
nom
Indiquez le nom du membre du fichier physique, ou bien l'ID label du fichier bande devant recevoir les enregistrements. Si l'ID label de la bande comporte plus de 10 caractères ou des caractères spéciaux, vous devez l'indiquer à l'aide d'une commande CRTTAPF, CHGTAPF ou OVRTAPF avant de lancer la commande CPYFRMTAP.

Unité (FROMDEV)

Indique les noms (4 au maximum) des unités de bande, d'une unité de bande virtuelle ou d'une bandothèque contenant le fichier bande à copier.

Valeurs uniques

*TAPF
La valeur indiquée dans le fichier bande est utilisée pour identifier les unités.

Autres valeurs (jusqu'à 4 répétitions)

nom
Indiquez les noms (quatre au maximum) des unités de bande, d'une unité de bande virtuelle ou d'une bandothèque utilisées pour copier les enregistrements du fichier d'origine. L'ordre de ces noms détermine l'ordre de lecture des bandes sur les unités. Chaque unité doit déjà être connue sur le système par une description d'unité.

Copie à partir des bandes (FROMREELS)

Indique le type de label utilisé sur les bandes contenant le fichier d'origine. La valeur de nombre de bandes indiquée avec ce paramètre ne s'applique pas aux bandes avec labels standard. Les labels que celles-ci contiennent indiquent une condition de fin de fichier (EOF) qui limite le nombre de volumes traités. Les informations relatives au nombre de bandes ne sont utilisées que si aucune liste d'ID de volumes n'est fournie et que le fichier d'origine est un fichier *NL, *NS ou *BLP. Lorsque la valeur de nombre de bandes est utilisée, les ID des volumes placés dans l'unité sont ignorés si le fichier réside sur une bande libellée. Dans ce cas, l'opérateur doit vérifier l'ordre dans lequel les bandes sont placées dans l'unité.

Elément 1 : Type de traitement de label

*TAPF
La valeur indiquée dans le fichier bande d'origine (ou la valeur de substitution) est utilisée comme type de label.
*SL
Chaque volume bande a des labels standard.
*NL
Aucun volume bande n'a de label. La fin des différents fichiers est repérée par des marques.
*NS
Chaque volume bande a des labels non standard. Une bande (volume) non standard ne peut contenir qu'un seul fichier de données.
*BLP
Les labels standard ne sont pas traités lors de la copie des volumes du fichier d'origine.
*LTM
Les volumes du fichier d'origine ne comportent pas de label, mais une marque de début de bande précédant le premier fichier.

Elément 2 : Nombre de bobines

*TAPF
La valeur utilisée pour le nombre de bandes est celle indiquée dans le fichier bande d'origine (ou la valeur de substitution).
1-255
Indiquez le nombre maximal de bandes à utiliser. Si la bande suivante n'est pas en place lorsque la fin de la bande en cours est atteinte, un message demande à l'opérateur d'y pourvoir.

Longueur d'enregistrement (FROMRCDLEN)

Indique la longueur (en octets) des enregistrements du fichier bande d'origine. Ce paramètre doit être indiqué dans cette commande ou dans une commande de fichier bande pour une bande *NS, *NL, *BLP ou *LTM, ou pour les bandes n'ayant pas le label HDR2. Pour une bande *SL, la longueur d'enregistrement est extraite du label lui-même.

*TAPF
La longueur d'enregistrement indiquée dans le fichier bande (ou la valeur de substitution) est utilisée.
*CALC
Le système calcule la valeur à utiliser.
1-32767
Précisez la longueur d'enregistrement du fichier bande d'origine. Cette valeur doit être compatible avec la longueur et le format de bloc d'enregistrement indiqués.

Option fin de bande (FROMENDOPT)

Indique le type de positionnement qui doit s'effectuer automatiquement sur le dernier volume bande d'origine lors de la fermeture du fichier bande. Lorsque le fichier bande d'origine contient plusieurs volumes, ce paramètre s'applique uniquement au dernier volume. Pour la copie des volumes intermédiaires, l'attribut de positionnement est toujours *UNLOAD.

*TAPF
La bande se repositionne en fonction de la valeur indiquée dans le fichier bande (ou de la valeur de substitution).
*REWIND
La bande est rembobinée, mais pas déchargée.
*UNLOAD
La bande est automatiquement rembobinée et déchargée à la fin de l'opération.
*LEAVE
La bande n'est pas rembobinée ou déchargée à la fin de l'opération. Elle conserve sa position.

Remplacement ou ajout enregs (MBROPT)

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

*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
Le système ajoute les nouveaux enregistrements à la suite des enregistrements existants.
*REPLACE
Le système met à blanc le membre existant et ajoute les nouveaux enregistrements.

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.

Identificateur de volume (FROMVOL)

Indique le(s) identificateur(s) de volume des bandes à utiliser lors de la copie d'enregistrements à partir du fichier bande d'origine. L'ordre de ces volumes dans les unités doit être identique à celui dans lequel les identificateurs sont entrés (et à celui dans lequel les noms d'unités sont indiqués au paramètre FRODEV).

Valeurs uniques

*TAPF
La valeur indiquée dans le fichier bande (ou la valeur de substitution) est utilisée.
*NONE
Aucun identificateur de volume de bande n'est indiqué pour le fichier. Le seul contrôle effectué porte sur le type de label du volume chargé dans l'unité.

Autres valeurs (jusqu'à 50 répétitions)

valeur-alphanumérique
Indiquez les identificateurs de volume (50 au maximum) des bandes contenant le fichier à copier. Ces identificateurs doivent être entrés dans l'ordre où les bandes sont montées sur les unités.

Longueur de bloc (FROMBLKLEN)

Indique la longueur (en octets) des blocs de données à transférer à partir du fichier bande d'origine. Ce paramètre doit être indiqué pour les bandes non libellées ou ayant des labels non standard, les bandes dont le traitement de label est ignoré ou les bandes n'ayant pas de label HDR2. Pour les bandes avec labels standard, la longueur de bloc est extraite du label lui-même. Dans ce cas, ce paramètre n'est pas pris en compte.

*TAPF
La longueur de bloc indiquée dans le fichier bande (ou la valeur de substitution) est utilisée.
*CALC
Le système calcule la valeur à utiliser.
18-524288
Précisez la longueur de chaque bloc du fichier bande d'origine. Cette valeur doit être compatible avec la longueur et le format de bloc d'enregistrement.

Type de bloc enregistrement (FROMRCDBLK)

Indique le format de bloc et l'attribut de groupage des enregistrements du fichier bande d'origine.

*TAPF
La valeur de format de bloc d'enregistrement figurant dans le fichier bande (ou la valeur de substitution) est utilisée.
*F
Des enregistrements de longueur fixe, dégroupés et de format EBCDIC ou ASCII sont utilisés.
*FB
Des enregistrements de longueur fixe, groupés et de format EBCDIC ou ASCII sont utilisés.
*V
Des enregistrements de longueur variable, dégroupés et de format EBCDIC sont utilisés.
*VB
Des enregistrements de longueur variable, groupés et de format EBCDIC sont utilisés.
*D
Des enregistrements de longueur variable, dégroupés et de format ASCII type D sont utilisés.
*DB
Des enregistrements de longueur variable, groupés et de format ASCII type D sont utilisés.
*VS
Des enregistrements de longueur variable et fractionnés sont utilisés.
*VBS
Des enregistrements de longueur variable, fractionnés et groupés sont utilisés.
*U
Des enregistrements de format non défini sont utilisés.

Nombre d'enreg à copier (NBRRCDS)

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

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

Exemples

Exemple 1 : ajout d'enregistrements copiés à des enregistrements existants

CPYFRMTAP   FROMFILE(QTAPE)  TOFILE(DEPT/YTDSALES)
            FROMSEQNBR(3)  FROMLABEL(DAILY)
            FROMDEV(QTAPE1)  MBROPT(*ADD)

Cette commande permet de copier des enregistrement d'une bande à l'aide du fichier bande QTAPE. Le fichier de données, numéro de séquence 3, qui porte le label DAILY sur l'unité QTAPE1 est copié. Les attributs spécifiques du fichier de données, tels que la longueur et le format de bloc d'enregistrement, sont déterminés par le système à partir du label sur la bande. Les enregistrements sont ajoutés aux enregistrements existants du membre DAILY, qui est spécifié implicitement par la valeur par défaut du paramètre TOMBR(*FROMLABEL), dans le fichier YTDSALES (bibliothèque DEPT).

Exemple 2 : remplacement d'enregistrements existants

CPYFRMTAP   FROMFILE(QTAPE)  TOFILE(MYLIB/KEN)  FROMSEQNBR(2)
            FROMDEV(QTAPE1)  FROMREELS(*NL 1)  FROMRCDLEN(100)
            FROMBLKLEN(1000)  FROMRCDBLK(*FB)  TOMBR(*FIRST)
            MBROPT(*REPLACE)

Cette commande permet de copier des enregistrement d'une bande à l'aide du fichier bande QTAPE. Les enregistrements du fichier de données au numéro de séquence 2 d'un fichier bande sans label sur l'unité de bande QTAPE1, avec des enregistrements de longueurs fixe regroupés en blocs de 1000 octets (ou 10 enregistrements), sont copiés et remplacent les enregistrements existants du premier membre du fichier KEN qui se trouve dans la bibliothèque MYLIB.

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