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
-
FROMFILEFichier bande obligatoire -
TOFILEFichier de destination obligatoire -
FROMSEQNBRNuméro de séquence -
FROMLABELLabel bande -
TOMBRMembre -
FROMDEVUnité -
FROMREELSCopie à partir des bandes -
FROMRCDLENLongueur d'enregistrement -
FROMENDOPTOption fin de bande -
MBROPTRemplacement ou ajout enregs -
OUTFMTFormat d'impression -
FROMVOLIdentificateur de volume -
FROMBLKLENLongueur de bloc -
FROMRCDBLKType de bloc enregistrement -
NBRRCDSNombre d'enreg à copier
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
- 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.