Hola

lo que te estaba pasado es que se puede indicar un CCSID para el archivo y
luego el contenido estar codificado en otro CCSID distinto

en tu caso el archivo indica erróneamente 1252 peeero su contenido era 1208

y cómo tu dices puedes realizar un CHGATR o con el submandato TYPE C 1208
del FTP

Salu2

El jue., 3 oct. 2019 a las 18:23, LLuis Segura (<lseg...@puntoblanco.com>)
escribió:

> Me respondo yo mismo....
>
>
>
> Continuando con las pruebas acabo de descubrir que si antes del
> CPYFROMIMPF le fuerzo al fichero en el IFS el CCSID con:
>
>
>
>    CHGATR     OBJ('/HOME/LLUISPS/ORDERS_CUSTOMER.CSV') +
>
>                 ATR(*CCSID) VALUE(1208)
>
>
>
> Funciona todo correctamente.
>
>
>
> Me quito un peso de encima, ya no sabía que más probar.
>
>
>
> Muchas gracias Alex por tu ayuda.
>
>
>
> Saludos cordiales
>
>
>
> Lluís.
>
>
>
>
>
> *De:* LLuis Segura [mailto:lseg...@puntoblanco.com]
> *Enviado el:* dijous, 3 d’octubre de 2019 18:04
> *Para:* 'forum.help400' <forum.help400@listas.combios.es>
> *Asunto:* RE: Problemas subiendo ficheros por CPYFRMIMPF
>
>
>
> Gracias por contestar Alex,
>
>
>
> Si he probado con 1208, 1205 y con varios CCSID más, 1208 es el indicado
> para UTF-8 pero al mirar los atributos con QSH del fichero en el IFS he
> visto que el CCSID que me daba era el 1252.
>
>
>
> Lo curioso del caso es que hago transferencias al revés de 1145 a 1208 con
> CPYTOIMPF y me funciona perfecto, me deja un fichero delimitado como UTF-8
> con todos los acentos y caracteres especiales.
>
>
>
> He comprobado que si paso el CSV con un editor como notepad++  y lo
> convierto a ANSI sube correctamente, pero es un paso que quiero ahorrar al
> hacer todo el proceso vía este CL.
>
>
>
>   PGM
>
>   DCL        VAR(&CODI) TYPE(*CHAR) LEN(1) VALUE('2')
>
>   DCL        VAR(&RMTSYSTEM) TYPE(*CHAR) +
>
>                VALUE('xxx.xxx.xxx.xxx')
>
>
>
>   CLRPFM     FILE(MC785PSFTO)
>
>   CPYF       FROMFILE(SGACTL) TOFILE(*PRINT) OUTFMT(*HEX)
>
>   OVRDBF     FILE(INPUT)  TOFILE(IVSAMOVEX/MC785PSFTI)
>
>   OVRDBF     FILE(OUTPUT) TOFILE(IVSAMOVEX/MC785PSFTO)
>
>   FTP        RMTSYS(&RMTSYSTEM)
>
>   DLTOVR     FILE(INPUT)
>
>   DLTOVR     FILE(OUTPUT)
>
>   CALL       PGM(MC825) PARM(&CODI)
>
>   CPYFRMIMPF +
>
>                FROMSTMF('/home/lluisps/orders_customer.csv+
>
>                ') TOFILE(IVSAMOVEX/CUSTOMERPS) +
>
>                MBROPT(*REPLACE) FROMCCSID(1252) +
>
>                RCDDLM(*LF) FLDDLM(';') RPLNULLVAL(*FLDDFT)
>
>
>
> I este un ejemplo de lo que me deja en el fichero
>
>
>
>  PAIS FACTURA
>
>  España
>
>  España
>
>  España
>
>
>
> Saludos.
>
>
>
>
>
>
>
>
>
> *De:* forum.help400-boun...@listas.combios.es [mailto:
> forum.help400-boun...@listas.combios.es] *En nombre de *Alex Martínez
> *Enviado el:* dijous, 3 d’octubre de 2019 17:27
> *Para:* forum.help400 <forum.help400@listas.combios.es>
> *Asunto:* Re: Problemas subiendo ficheros por CPYFRMIMPF
>
>
>
> Hola
>
>
>
> Veamos, el ccsid para utf-8 es el 1208 y tu estás indicando que utilizas
> el 1252 (que es ASCII Windows, muy parecido al 819)
>
>
>
> ¿has probado con 1208?
>
>
>
>
>
>
>
> El jue., 3 oct. 2019 a las 13:02, LLuis Segura (<lseg...@puntoblanco.com>)
> escribió:
>
> Buenos días a todos/as.
>
>
>
> Estoy subiendo unos ficheros CSV desde una carpeta del IFS a ficheros
> nativos de un IBM i que esta en versión 7.1.
>
>
>
> Los ficheros estan codificados con UNIX LF y UTF-8  y al ejecutar el
> CPYFRMIMPF con el FROMCCSID a 1252 y el  TOCCSID a *FILE para que use el de
> sistema que es 1145 el problema es que se cambian los acentos, Ñ y
> caracteres especiales por otros caracteres como “ó” y por la Ñ “ñ”.
>
>
>
> He probado diferentes tipos de codigos CCSID tanto en el FROMCCSID como en
> el TOCCSID pero parece que el sistema pasa totalmente de mi.
>
>
>
> La unica manera que tengo de subir correctamente todos los datos es
> cambiando los datos del CSV a ANSI entonces si suben correctamente todos
> los caracteres especiales, pero tendria que hacer un proceso manual muy
> tedioso dado que recupero estos ficheros en una CL via FTP.
>
>
>
> He comprovado que la tabla que usa el fichero CSV en el IFS es la 1252
> (comprobado con el QSH y mirando sus atributos).
>
>
>
> ¿ Puede ser que me falten las tablas de correspondencia 1252 a 1145 he
> efectuado un WRKTBL y no veo, o no se ver, en ninguna biblioteca que esten
> estas tablas ?
>
> ¿ Puede ser que me falten algunas PTF ?
>
>
>
> Saludos a todos.
>
>
>
> *Lluís Segura*
>
>
>
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
>
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a