CPYTOSTMF
Copier dans fichier STREAM
En bref
La commande Copier dans fichier STREAM (CPYTOSTMF) permet de copier un membre de fichier base de données ou un fichier sauvegarde dans un fichier STREAM.
CPYTOSTMF se lit CPY
(Copier) + TOSTMF.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
CPYTOSTMF FROMMBR(…) TOSTMF(…)
Paramètres
-
FROMMBRMembre ou fichier sauv origine obligatoire -
TOSTMFFichier STREAM de destination obligatoire -
STMFOPTOption pour fichier STREAM -
CVTDTAOptions conversion de données -
DBFCCSIDCCSID du fichier BD -
STMFCCSIDCCSID fichier STREAM -
TBLTable de conversion -
ENDLINFMTCaractères de fin de ligne -
AUTDroits -
STMFCODPAGPage de codes fichier STREAM
Astuce : dans une session 5250, tapez CPYTOSTMF 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 dans fichier STREAM (CPYTOSTMF) permet de copier un membre de fichier base de données ou un fichier sauvegarde dans un fichier STREAM. Une conversion des données et un reformatage optionnels sont effectués lors de la copie d'un membre de fichier base de données. Cette commande ne permet pas d'effectuer une copie vers ou depuis un membre de fichier base de données sur un système éloigné. Toutes les substitutions en cours pour le membre de fichier de base de données ou pour le fichier de sauvegarde ne sont pas utilisées par cette commande.
Cette commande fonctionne sur les fichiers standard et sur le fichier spécial de type caractère /dev/null (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).
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 :
- Le nom du chemin du membre de fichier base de données doit être sous la forme nom.type-objet. Par exemple, /QSYS.LIB/LIBA.LIB/FILEA.FILE/MBRA.MBR est la forme requise par le système de fichiers QSYS.LIB.
- Le nom-chemin-fichier-sauvegarde doit être indiqué au format nom.type-objet. Par exemple, le format /QSYS.LIB/LIBA.LIB/SAVEFILEA.FILE est requis par le système de fichiers QSYS.LIB.
- L'utilisateur doit disposer des droits suivants :
- Droit d'exécution (*X) sur les répertoires du préfixe du nom de chemin du fichier base de données, du fichier sauvegarde, du fichier STREAM ou de la table de conversion.
- Droit de lecture et d'exécution (*RX) sur le fichier base de données ou sur le fichier sauvegarde.
- Droit d'écriture (*W) sur le fichier STREAM si celui-ci existe déjà.
- Droit d'écriture et d'exécution (*WX) sur le répertoire parent du fichier STREAM si ce dernier n'existe pas encore.
- Si une table de conversion a été indiquée, droit de lecture (*R) sur cette table.
- Si AUT(*FILE) ou AUT(*INDIRFILE) a été indiqué, droit de gestion d'objet (*OBJMGT) sur le fichier base de données et sur le fichier STREAM.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| FROMMBR | Membre ou fichier sauv origine | Chemin d'accès | Obligatoire, positionnel 1 |
| TOSTMF | Fichier STREAM de destination | Chemin d'accès | Obligatoire, positionnel 2 |
| STMFOPT | Option pour fichier STREAM | *NONE, *ADD, *REPLACE | Facultatif |
| CVTDTA | Options conversion de données | *AUTO, *TBL, *NONE | Facultatif |
| DBFCCSID | CCSID du fichier BD | 1-65533, *FILE | Facultatif |
| STMFCCSID | CCSID fichier STREAM | 1-65533, *STMF, *PCASCII, *STDASCII | Facultatif |
| TBL | Table de conversion | Chemin d'accès | Facultatif |
| ENDLINFMT | Caractères de fin de ligne | *CRLF, *LF, *CR, *LFCR, *FIXED | Facultatif |
| AUT | Droits | *DFT, *INDIR, *FILE, *INDIRFILE | Facultatif |
| STMFCODPAG | Page de codes fichier STREAM | 1-32767, *STMF, *PCASCII, *STDASCII | Facultatif |
Membre ou fichier sauv origine (FROMMBR)
Indique le nom de chemin du membre de fichier base de données ou du fichier sauvegarde dont les données sont copiées. Lorsque la copie s'effectue à partir d'un membre, il peut s'agir d'un fichier physique source ou d'un fichier physique à description interne. Les fichiers physiques source comportant des zones de données multiples ne sont pas pris en charge.
Si le fichier base de données est un fichier physique source, le numéro de séquence et une zone de date sont supprimés lors de la copie des enregistrements dans le fichier STREAM.
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/.
Fichier STREAM de destination (TOSTMF)
Indique le nom de chemin du fichier STREAM dans lequel les données sont copiées. Tous les répertoires indiqués dans le chemin doivent exister. Aucun répertoire n'est créé. Si le fichier STREAM n'existe pas, il est créé.
Cette commande fonctionne sur des fichiers de type *STMF et sur le fichier spécial de type caractère /dev/null.
Remarque :Les systèmes de fichiers QSYS.LIB et QSYS.LIB d'ASP indépendant ne permettent pas la définition d'attributs. Par conséquent, si le nom de chemin indiqué au paramètre TOSTMF est un membre de QSYS, des messages de diagnostic seront consignés dans l'historique du travail. Ces messages n'empêcheront pas l'exécution de la copie et peuvent être ignorés.
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/.
Option pour fichier STREAM (STMFOPT)
Indique si la copie échoue ou si elle effectue le remplacement ou l'ajout des enregistrements dans un fichier STREAM si un fichier de ce nom existe. Si le fichier STREAM n'existe pas, il est créé.
- *NONE
- Aucun enregistrement n'est copié et l'opération échoue.
- *ADD
- Les enregistrements sont ajoutés après ceux du fichier STREAM.
Cette valeur n'est pas admise lors de la copie d'un fichier sauvegarde.
- *REPLACE
- Les enregistrements copiés remplacent ceux du fichier STREAM.
Options conversion de données (CVTDTA)
Indique l'opération qui permet de convertir les données contenues dans le membre du fichier base de données en données du fichier STREAM.
Ce paramètre n'est pas pris en compte lors de la copie d'un fichier sauvegarde.
- *AUTO
- Lors de la copie, les données sont converties à l'aide de l'ID codé de jeu de caractères (CCSID) équivalent au fichier STREAM et au CCSID du fichier base de données.
- *TBL
- Les données sont converties à l'aide d'une table de conversion, qui doit être indiquée au paramètre TBL. La table de conversion doit être spécifiée au paramètre TBL (Table de conversion). Si aucune table de conversion n'est disponible, l'opération échoue.
- *NONE
- Seules sont effectuées la suppression des numéros de séquence et de la zone de date du fichier physique source et l'insertion optionnelle des caractères de formatage de ligne dans le fichier STREAM. La conversion depuis le CCSID du fichier base de données vers le CCSID du fichier STREAM n'est pas effectuée pour les autres caractères.
CCSID du fichier BD (DBFCCSID)
Indique la méthode permettant d'obtenir le CCSID du fichier base de données.
Ce paramètre n'est pas pris en compte lors de la copie d'un fichier sauvegarde.
- *FILE
- Le CCSID du fichier base de données est utilisé s'il est différent de 65535. Dans le cas contraire et si le fichier n'est pas un fichier décrit dans les programmes, une condition d'erreur est créée. Si le CCSID est 65535 et que le fichier n'est pas un fichier décrit dans les programmes, l'opération échoue. Si le CCSID est 65535 et que le fichier est un fichier décrit dans les programmes, le CCSID par défaut du travail est utilisé.
- 1 à 65533
- Indiquez l'ID codé de jeu de caractères (CCSID) du fichier de base de données.
CCSID fichier STREAM (STMFCCSID)
Indique la méthode permettant d'obtenir l'ID codé de jeu de caractères (CCSID) de fichier STREAM à utiliser pour la conversion des données.
Ce paramètre n'est pas pris en compte lors de la copie d'un fichier sauvegarde.
Ce paramètre ne peut pas être utilisé avec le paramètre Page de codes fichier STREAM (STMFCODPAG).
- *STMF
- Si le fichier STREAM existe et si la conversion de données est demandée, le CCSID associé à ce fichier est utilisé pour effectuer la conversion.
Si le fichier STREAM n'existe pas, le CCSID du fichier base de données source est utilisé et associé au fichier STREAM.
- *STDASCII
-
Un CCSID est calculé dans le format de codage de données PC IBM. Si le fichier STREAM existe et si le CCSID de ce fichier ne correspond pas à la valeur calculée, l'opération échoue.
Si le fichier STREAM n'existe pas, le CCSID calculé est associé au fichier STREAM cible et est utilisé pour la conversion des données en cas de demande.
- *PCASCII
-
Un CCSID est calculé dans le format de codage Microsoft Windows (x4105). ("Microsoft" et "Windows" sont des marques enregistrées de Microsoft Corporation.) Si le fichier STREAM existe et si le CCSID de ce fichier ne correspond pas à la valeur calculée, l'opération échoue.
Si le fichier STREAM n'existe pas, le CCSID calculé est associé au fichier STREAM cible et est utilisé pour la conversion des données en cas de demande. Cette option permet aux applications Microsoft Windows d'utiliser les données résultantes.
- 1 à 65533
- Indiquez le CCSID utilisé. Si le fichier STREAM existe, cette option n'est admise que si le CCSID associé au fichier STREAM correspond à la valeur indiquée. Sinon, l'opération échoue. Si le fichier STREAM n'existe pas, le CCSID indiqué est associé à ce fichier lors de sa création.
Table de conversion (TBL)
Indique le nom de chemin de la table utilisée pour la conversion des données du fichier base de données en données du fichier STREAM.
Remarque :Ce paramètre est requis et admis uniquement si CVTDTA(*TBL) est précisé. Ce paramètre n'est pas pris en compte lors de la copie d'un fichier sauvegarde.
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/.
Caractères de fin de ligne (ENDLINFMT)
Indique les caractères de fin de ligne à insérer dans le fichier STREAM lors de la copie des enregistrements.
Ce paramètre n'est pas pris en compte lors de la copie d'un fichier sauvegarde.
Si l'une des options de caractères de fin de ligne est sélectionnée (ENDLINFMT(*FIXED) n'étant pas spécifié), les enregistrements du fichier base de données sont transformés en lignes de texte de fichier STREAM de longueur variable lors de leur copie. Dans tous les enregistrements de fichiers base de données, les blancs de fin sont supprimés. Ensuite, les données sont converties au format des données de destination (s'il est indiqué) et le caractère de fin de ligne est ajouté à la fin de chaque ligne de texte. Chacune de celles-ci est copiée dans le fichier STREAM.
- *CRLF
- Un retour marge suivi d'un caractère interligne est ajouté à la fin de chaque ligne.
- *LF
- Un caractère interligne est ajouté à la fin de chaque ligne.
- *CR
- Un retour marge est ajouté à la fin de chaque ligne.
- *LFCR
- Un caractère interligne suivi d'un retour marge est ajouté à la fin de chaque ligne.
- *FIXED
- Les lignes du fichier STREAM sont écrites en tant qu'enregistrements de longueur fixe. Les caractères de retour marge et interligne ne sont pas ajoutés à la fin de chaque ligne et les blancs de fin ne sont pas supprimés à la fin de chaque enregistrement. La longueur des enregistrements est la même pour le fichier STREAM que pour le fichier base de données.
Si CVTDTA(*AUTO) est indiqué, la contraction ou l'expansion des données converties n'est pas autorisée. En conséquence, les schémas de codage du CCSID de fichier STREAM et du CCSID de fichier base de données doivent être compatibles. Par exemple, la commande échouera en présence d'un fichier STREAM et d'un fichier base de données présentant respectivement un schéma de codage simple octet et double octet.
Droits (AUT)
Indique la méthode à utiliser pour associer des informations de droits au fichier STREAM.
Ce paramètre est ignoré si le fichier STREAM existe déjà.
- *DFT
- Le propriétaire du fichier STREAM se voit accorder le droit sur les données *RWX pour ce fichier. Ce même droit sur les données du fichier est paramétré à *NONE pour le groupe primaire et pour *PUBLIC. Les droits sur les objets sont basés sur ceux du répertoire dans lequel le fichier STREAM doit être créé. La valeur d'audit du fichier base de données est copiée dans le fichier STREAM.
- *INDIR
- Les informations de droits associées au fichier STREAM sont basées sur les droits définis pour le répertoire dans lequel ce fichier doit être créé. Le fichier STREAM se voit 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 il est créé. La valeur d'audit attribuée au fichier STREAM 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 spéciale *INDIR, la commande échoue.
- *FILE
- Les informations de droits associées au fichier STREAM sont basées sur les droits définis pour l'objet indiqué au paramètre Membre ou fichier sauv origine (FROMMBR). Le fichier STREAM se voit attribuer les mêmes droits publics, droits privés, groupe primaire, droits du groupe primaire, liste d'autorisation et valeur d'audit que le membre ou le fichier sauvegarde copié. 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.
- *INDIRFILE
- 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 FROMMBR 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 le membre ou le fichier sauvegarde copié, 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 *INDIRFILE, la commande échoue.
Page de codes fichier STREAM (STMFCODPAG)
Indique une valeur de page de codes à utiliser pour déterminer l'ID codé de jeu de caractères (CCSID) du fichier STREAM.
Ce paramètre n'est pas pris en compte lors de la copie d'un fichier sauvegarde.
Ce paramètre ne peut pas être utilisé avec le paramètre CCSID fichier STREAM (STMFCCSID).
Remarque :Ce paramètre est remplacé par STMFCCSID mais il reste possible d'utiliser le paramètre STMFCODPAG. Toutefois, dans la mesure où ce dernier paramètre risque d'être supprimé dans une édition ultérieure, il est préférable d'utiliser STMFCCSID chaque fois que possible.
- *STMF
- Si cette valeur est indiquée, aucun traitement de page de codes n'est effectué.
- *STDASCII
-
Un CCSID est calculé dans le format de codage de données PC IBM. Si le fichier STREAM existe et si le CCSID de ce fichier ne correspond pas à la valeur calculée, l'opération échoue.
Si le fichier STREAM n'existe pas, le CCSID calculé est associé au fichier STREAM cible et est utilisé pour la conversion des données en cas de demande.
- *PCASCII
-
Un CCSID est calculé dans le format de codage Microsoft Windows (x4105). ("Microsoft" et "Windows" sont des marques enregistrées de Microsoft Corporation.) Si le fichier STREAM existe et si le CCSID de ce fichier ne correspond pas à la valeur calculée, l'opération échoue.
Si le fichier STREAM n'existe pas, le CCSID calculé est associé au fichier STREAM cible et est utilisé pour la conversion des données en cas de demande. Cette option permet aux applications Microsoft Windows d'utiliser les données résultantes.
- 1 à 32767
- Indiquez la page de codes utilisée. Un CCSID est calculé à partir de cette valeur. Si le fichier STREAM existe, cette option n'est admise que si le CCSID associé au fichier STREAM correspond à la valeur calculée. Sinon, l'opération échoue. Si le fichier STREAM n'existe pas, le CCSID calculé est associé à ce fichier lors de sa création.
Exemples
Exemple 1 : Copie des données d'un membre de fichier base de données dans un fichier STREAM
CPYTOSTMF FROMMBR('/QSYS.LIB/MABIB.LIB/MONFICH.FILE/MONMBR.MBR')
TOSTMF('STMF.TXT')
Cette commande copie les données contenues dans le membre de fichier base de données /QSYS.LIB/MABIB.LIB/MONFICH.FILE/MONMBR.MBR dans un fichier STREAM appelé STMF.TXT figurant dans le répertoire de travail en cours. Les blancs de fin sont retirés du membre de fichier base de données et des caractères CR (retour marge) et LF (avance ligne) sont insérés à la fin de chaque enregistrement car ENDLINFMT(*CRLF) est la valeur par défaut. Si le fichier STREAM STMF.TXT existe déjà dans le répertoire de travail en cours, la copie n'est pas exécutée car STMFOPT(*NONE) est la valeur par défaut. Il n'y aura pas de conversion de données du fait que le fichier STREAM va être créé avec le même CCSID que le fichier base de données.
Exemple 2 : Copie des données d'un membre de fichier base de données dans un fichier STREAM à l'aide d'une table de conversion
CPYTOSTMF FROMMBR('/QSYS.LIB/FINANCE.LIB/STAFF.FILE/MNGR.MBR')
TOSTMF('/MONREP/FINANCE.MNG') CVTDTA(*TBL)
DBFCCSID(37) STMFCCSID(437)
TBL('/QSYS.LIB/QUSRSYS.LIB/TBL1.TBL')
ENDLINFMT(*CRLF)
Cette commande copie les données contenues dans le membre de fichier base de données /QSYS.LIB/FINANCE.LIB/STAFF.FILE/MNGR.MBR dans un fichier STREAM appelé FINANCE.MNG figurant dans le répertoire utilisateur /MONREP. Les données du fichier STREAM sont converties à l'aide de la table de conversion TBL1.TBL figurant dans le répertoire /QSYS.LIB/QUSRSYS.LIB. Les blancs de fin tels que représentés dans le CCSID de base de données indiqué (37) sont retirés des enregistrements du membre de fichier base de données, des caractères CR (retour marge) et LF (avance ligne) sont insérés à la fin des enregistrements et ces derniers sont écrits dans le fichier STREAM. Les caractères de formatage de ligne insérés, CR et LF, correspondent à ceux du CCSID 437 indiqué au paramètre STMFCCSID. Si le fichier STREAM existe déjà, ce fichier avoir le CCSID 437.
Exemple 3 : Copie des données d'un membre de fichier base de données dans un fichier STREAM sans conversion de données
CPYTOSTMF FROMMBR('/QSYS.LIB/FINANCE.LIB/STAFF.FILE/MNGR.MBR')
TOSTMF('/MONREP/FINANCE.MNG') CVTDTA(*NONE)
ENDLINFMT(*FIXED)
Cette commande copie les données contenues dans le membre de fichier base de données /QSYS.LIB/FINANCE.LIB/STAFF.FILE/MNGR.MBR dans le fichier STREAM FINANCE.MNG du répertoire utilisateur MONREP sans conversion de données. Les données du fichier STREAM sont écrites sous la forme d'enregistrements de longueur fixe de la même longueur que les enregistrements du fichier base de données. Aucun caractère de formatage de ligne n'est inséré car ENDLINFMT(*FIXED) est indiqué.
Exemple 4 : Copie des données d'un fichier sauvegarde dans un fichier STREAM
CPYTOSTMF FROMMBR('/QSYS.LIB/PACKAGE.LIB/SOFTWARE.FILE')
TOSTMF('/MONREP/SOFTWARE')
Cette commande copie les données contenues dans le fichier sauvegarde /QSYS.LIB/PACKAGE.LIB/SOFTWARE.FILE dans le fichier STREAM /MONREP/SOFTWARE. Les données du fichier STREAM sont écrites sous la forme d'enregistrements de longueur fixe de la même longueur que les enregistrements du fichier sauvegarde. Aucun caractère de formatage de ligne n'est inséré et aucune conversion de données n'est effectuée.
Exemple 5 : Copie des données et informations de droits depuis un membre de fichier base de données vers un fichier STREAM
CPYTOSTMF FROMMBR('/QSYS.LIB/MABIB.LIB/MONFICH.FILE/MONMBR.MBR')
TOSTMF('STMF.TXT') AUT(*FILE)
Cette commande assure le même traitement que la commande de l'exemple 1. Par ailleurs, le fichier STREAM se voit attribuer les mêmes droits publics, droits privés, droits du groupe primaire, liste d'autorisation, groupe primaire et valeur d'audit que le membre copié.
Messages d'erreur
Messages *ESCAPE
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.