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.

Responder a