Fichier dans IFS en EBCDIC

08-12-2006 à 16:52:32
Bonjour,

Voici mon problème :

Je transfert des fichiers de QSYS.LIB vers l’IFS pour les mettre à disposition de mes utilisateurs qui les retravaillent avec des outils PC.

Quand je les transfère avec CPYTOIMPF sans autre précaution, les fichiers dans l’IFS sont en EBCDIC.

Pour contourner ce problème j’ai trouver l’astuce de créer un fichier dans l’IFS au format ASCII puis de transférer CPYTOIMPF MBROPT(*REPLACE) c’est ok.

Evidement je ne le fait pas à la main, et j’ai un programme qui le fait automatiquement. Comme je dois le retoucher, je me demande si il n’y a pas une autre possibilité plus élégante.

Merci
  • Liens sponsorisés



07-12-2006 à 16:13:58
Bonjour,
Je pense qu'il faut renseigner le paramètre STMFCODPAG :
CPYTOIMPF FROMFILE(NATWPAR)
TOSTMF('/home/sample.txt')
MBROPT(*REPLACE)
STMFCODPAG(*PCASCII)
RCDDLM(*CRLF)
STRDLM(*NONE)
FLDDLM('|')
DECPNT(*COMMA)

Si vous rencontrez des problèmes en passant de V5R2 en V5R3.
Il existe une solution pour que CPYTOIMPF continue de fonctionner comme en V5R2, il faut pour ce la créer une DTAARA =>
CRTDTAARA DTAARA(QSYS/QCPFRMIMPF) TYPE(*CHAR) LEN(6) VALUE(CPV5R2).
07-12-2006 à 16:21:25
J'ai oublié d'ajouter que cette DTAARA fonctionne avec la commande CPYFRMIMPF.
07-12-2006 à 16:51:06
Pour info, cette DTAARA fonctionne également en V5R4 (apparation des paramètres CCSID origine et destination dans les commandes qui excluent les champs en 65535 lors des conversions) bien que cela ne soit pas indiqué dans le support IBM : http://www-1.ibm.com/support/docview.wss?uid=nas1998e733a54422d0386256f860059a3bb&rs=110
Cette solution m'a été donné par le call center d'IBM sachant que dans les prochaines versions elle ne sera plus valable.

PSM

08-12-2006 à 09:15:26
Merci Serge pour ton aide ca fonctionne


et merci aussi Wilfrid pour le complément d’information

Bonne journéee à tous
08-12-2006 à 13:36:47
J'ajoute mon grain de sel.

Pour contourner ce problème j’ai trouver l’astuce de créer un fichier dans l’IFS au format ASCII puis de transférer CPYTOIMPF MBROPT(*REPLACE) c’est ok.


C'est exactement ce qu'il a fallu faire jusqu'à la V5R2 de l'OS. Avant cette release, le paramètre STMFCODPAG n'existait pas sur la commande CPYTOIMPF.

PSM

08-12-2006 à 16:52:32
Merci Philippe de cette précision car je me demandais pourquoi j’étais allé chercher un truc aussi tordu


alors que le paramètre STMFCODPAG était sous mon nez !



Evidement mon programme date d’une version antérieure

Bon week end à tous
  • Liens sponsorisés