Hola.
Ya resolví el problema, utilizando en vez de ETOATABL y ATOETABL, me encontré
siempre con el API QDCXLATE, y utilicé las funciones QTCPEBC y QTCPASC
respectivamente, esto lo saqué del manual del aprendiz que se llama Scott
Klement (jejeje que chocha!!) y lo pongo por si acaso les pueda pasar a alguno
de ustedes, gracias a todos por su ayuda.
Les dejo el código por si acaso, saludos y gracias de nuevo!!
De esta forma...
D Translate PR ExtPgm('QDCXLATE')
D Length 5P 0 const
D Data 32766A options(*varsize)
D Table 10A const
C callp Translate(128: Data: 'QTCPEBC') ASCII to
EBCDIC
C callp Translate(128: Data: 'QTCPASC') EBCDIC
to ASCII
o así...
C CALL 'QDCXLATE'
C PARM 128 LENGTH 5 0
C PARM DATA 128
C PARM 'QTCPEBC' TABLE 10
C CALL 'QDCXLATE'
C PARM 128 LENGTH 5 0
C PARM DATA 128
C PARM 'QTCPASC' TABLE 10
Date: Fri, 2 Oct 2009 17:20:59 +0200
Subject: Re: Problema de conversión
From: [email protected]
To: [email protected]
Pedro,
En la ayuda de la API QDCXLATE tienes parte de la respuesta
De todas formas has probado de cambiar QASCII por QANSI?
Para ver correctamente los caracteres ASCII del DOS en Windows puedes usar el
Notepad++ o alguno de estos, ya que no esxactamente el mismo que el ANSI de
Windows.
Saludos
Martí Riera
2009/10/2 Pedro Molina <[email protected]>
Hola.
Esta es una parte del código.
//================================================================
// D A T A D E S C R I P T I O N S
//================================================================
D etoatabl S 10A inz('QASCII ')
D atoetabl S 10A inz('QEBCDIC ')
D xlatelib S 10A inz('*LIBL ')
D pointer S 5p 0 inz
D tramasocket S 256
D tramasocketr S 256
C call 'QDCXLATE'
C parm pointer
C parm tramasocket
C parm etoatabl
C parm xlatelib
C Move tramasocket SocketData
es aqui donde está fallando, pero únicamente con el caracter "|" que lo pone
como "!"
Date: Fri, 2 Oct 2009 15:52:12 +0200
Subject: Re: Problema de conversión
From: [email protected]
To: [email protected]
Pedro,
Que mandato usas?
Fijate en si puedes definirle otra tabla de conversion eso suele ser la
solucion.
Saludos
Martí Riera
2009/10/2 Pedro Molina <[email protected]>
Buen día foro!!
Resulta que tengo un problema con la conversión de una trama que estoy mandando
de mi i5 hacia una plataforma windows vía socket.
Para esto estoy haciendo una conversión utilizando "etoatabl" y me da un error
con un caracter.
La trama en mención lleva unos separadores asi:
"12345|6789|xxxxxxxxxx|yyyyyyyy|zzzzzzzz|", resulta que la convertir la trama
cuando la pasa de EBCDIC a ASCII el caracter separador "|" lo devuelve como "!"
y los demás caracteres los convierte bien.
Alguno de ustedes ha tenido algun problema de conversión?
Cualquier sugerencia será bienvenida.
Saludos!!
Explore the seven wonders of the world Learn more!
____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
Explore the seven wonders of the world Learn more!
____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400
_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400