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: jlopez...@hotmail.com
To: forum.help400@listas.combios.es
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: andra...@gmail.com
Date: Mon, 27 Sep 2010 10:49:05 +0200
Subject: Re: recuperar código ASCII desde RPG
To: forum.help400@listas.combios.es

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 <jlopez...@hotmail.com>



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