Hola QDCXLATE convierte una cadena a la tabla de conversión que le indiques, no te retorna el código ASCII.
Si has de comparar con A, comparalo con x'41' Ojo, la A en ASCII es 0x41 el 65 en decimal! Atentament / Kind Regards Àlex Corretgé a/e - wave: [email protected] Carrer de la Font, 2 17142 - Verges Tel: +34 972 780 422 Cell: +34 669 86 92 64 Serveis Informàtics Corretgé.com SLU - http://corretge.cat/ - skype: corretge_com - LinkedIn: http://www.linkedin.com/in/corretge - News: http://bloc.corretge.cat 2010/9/27 JAIME LOPEZ <[email protected]> > 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.

