Hola;
yo creo que tenes que utilizar otra conversion.
De ebcdic a AscII
// Convierte datos de EBCDIC a ASCII
QDCXLATE(BufferLen: buffer : 'QTCPASC': 'QSYS');
De Ascci a EBCDIC
// Convierte datos de ASCII a EBCDIC
QDCXLATE(BufferLen: buffer : 'QTCPEBC': 'QSYS');
Para agregar el tipo
wrktbl ;
Saludos
From: [email protected]
To: [email protected]
Subject: RE: recuperar código ASCII desde RPG
Date: Mon, 27 Sep 2010 20:02:44 +0000
Hola a todos
Muchas gracias por la respuesta, codifique este fuente para obtener los
caracteres y los cargo en un arreglo de 255 en el orden que los obtiene pensaba
que era el valor decimal pero al validar con una tabla ASCII no coinciden.
Este es el fuente.
D ASCII S 1 DIM(255)
D EBCDIC S 1 DIM(255)
D WrkStr1 s 255
D WrkStr2 s 255
D N s 3 0
D DS
D BinValue 1 2B 0 INZ(0)
D BinChar 2 2
*
C do 255 N
C z-add N BinValue
C eval %subst(WrkStr1:N:1) = BinChar
C enddo
*
C move WrkStr1 WrkStr2
*
C CALL 'QDCXLATE' 68
C PARM 255 DataLen 5 0
C PARM WrkStr1
C PARM 'QEBCDIC' XLateTable 10
C PARM 'QSYS' XLateTblLib 10
*
C CALL 'QDCXLATE' 68
C PARM 255 DataLen
C PARM WrkStr2
C PARM 'QASCII' XLateTable
C PARM 'QSYS' XLateTblLib
*
C do 255 N
C eval EBCDIC(N) = %subst(WrkStr1:N:1)
C eval ASCII(N) = %subst(WrkStr2:N:1)
C enddo
*
c eval *inlr = *on
La idea era que de acuerdo a la posición del arreglo se retornaba el valor
decimal del caracter que se desae buscar pero no coincide.
Alguna Idea.
Muchas gracias
From: [email protected]
Date: Mon, 27 Sep 2010 10:49:05 +0200
Subject: Re: recuperar código ASCII desde RPG
To: [email protected]
al programa qdcxlate le tienes que pasar una tabla de traduccion de caracteres.
no dices cual le pasas.
puedes ver las tablas que vienen con el sistema con
WRKOBJPDM LIB(QSYS) OBJTYPE(*TBL)
o cambiando qsys por qusrsys, etc.
por ejemplo quiza esta
QASCII *TBL EBCDIC TO ASCII TRANSLATE TABLE
o esta
QTCPASC *TBL TCP/IP EBCDIC-ASCII TRANSLATE TABLE
Saludos,
Guillermo Andrades
http://cpiSoftware.es
http://Modernizar.iSeries.es
2010/9/27 JAIME LOPEZ <[email protected]>
Hola a todos
Necesito de su valiosa ayuda!
Cómo puedo recuperar el código ascii de un caracter desde un programa rpg? por
ejemplo: la letra 'A' es ASCII es el valor en decimal 41. He intentado usar
'QDCXLATE'
pero no funciona con todos los caracteres como á, í, etc.
Muchas gracias por la ayuda.
____________________________________________________ �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.