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.