Hola de nuevo:
 
Efectivamente, el problema está en tu CL. Fíjate que el parámetro lo defines de 
256, lo que te obliga a pasar una variable de 256 bytes.
 
He cambiado el programa y he dejado el parámetro en 30 bytes y ¡funciona!. 
Cuando el parámetro es menor o igual de 30 bytes el sistema no te obliga a 
pasar los 30 bytes.
 
No sé si me he explicado bien.
 
Un saludo.
 
Javier Mora

________________________________

De: [email protected] 
[mailto:[email protected]] En nombre de Marti Riera
Enviado el: jueves, 21 de mayo de 2009 17:50
Para: forum.help400
Asunto: Re: Mandato RTVENVVAR


Alex, Javier,

Gracias por la informacion.

Javier: El codigo que me has enviado lo tenemos igual, bueno lo revisare con 
lupa.

De momento ya he descubierto algo, el programa de test que habia enviado estaba 
simplificado, he probado ese programa y tambien me funciona. Ahora os envio el 
que no me funciona, es casi igual pero...

PGM        PARM(&ENVVAR)                              
DCL        VAR(&ENVVAR) TYPE(*CHAR) LEN(256)          
DCL        VAR(&VALUE) TYPE(*CHAR) LEN(4096)          
RTVENVVAR  ENVVAR(&ENVVAR) RTNVAL(&VALUE)             
SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA(&VALUE)
ENDPGM                                                

Con lo cual ya intuyo cual es el problema el paso de parametros entre el CL de 
prueba y el comando, ya que si pongo el nombre de la variable "hardcode" si 
funciona.

Bueno mañana le doy la vuelta definitiva y os digo.

Saludos

Martí Riera



2009/5/21 Javier Mora <[email protected]>


        Hola Martí:
         
        Yo al probar esta utilidad también me encontré con problemas parecidos, 
pero creo recordar que estaban relacionados con variables de entorno del 
trabajo o del sistema. Rebuscando encontré el problema y los fuentes que 
solucionaban ese bug.
         
        Te los envío. He probado tu ejemplo y funciona. Dime si se siguen 
reproduciendo los problemas en tu caso.
         
        Un saludo.
         
        Javier Mora

________________________________

        De: [email protected] 
[mailto:[email protected]] En nombre de Marti Riera
        Enviado el: jueves, 21 de mayo de 2009 14:04
        Para: Forum.Help400
        Asunto: Mandato RTVENVVAR
        
        
        Hola,
        
        Llevo un dia un poco espeso intentando hacer funcionar este comando 
bajado de la web:
        http://code.midrange.com/759f4f422d.html
        
        Hay una explicacion mas larga en:
        
http://www.mcpressonline.com/programming/rpg/what-is-the-environment.html
        
        Lo que trato de hacer es recuperar facilmente una variable de entorno 
dentro de un programa CL.
        Ya os digo que el dia que dieron RPG ILE no fui, ja, ja !!
        
        Curiosamente he hecho un programa de test par aprobarlo y si lo ejecuto 
tal cual no funciona no devuelve nada:
        
        PGM                                          
        DCL        VAR(&VALUE) TYPE(*CHAR) LEN(4096)         
        RTVENVVAR  ENVVAR('LANG') RTNVAL(&VALUE)             
        SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA(&VALUE)
        ENDPGM                                                
        
        Pero si ejecuto un strisdb del programa rpg a partir de ese momento si 
devuelve el valor, por ejemplo de LANG que es por omision en todos los sistemas:
        /QSYS.LIB/EN_US.LOCALE.
        Podeis ver la variables de entorno con WRKENVVAR.
        
        Alguna pista de que estoy haciendo mal?
        
        Gracias y saludos
        
        Martí Riera
        

        __________________________________________________
        Forum.HELP400 es un servicio m&amp;#225;s de ServerNEWS.
        &amp;#169; 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
        


__________________________________________________
Forum.HELP400 es un servicio m&amp;#225;s de ServerNEWS.
&amp;#169; 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

Responder a