RE: QP2SHELL y parámetros terminados en nulo

2018-10-30 Por tema Javier Mora
El comando que estoy utilizando es GhostScript (gs) y creo (porque no lo veo) 
que no tiene una opción de depuración.

Actualmente estoy intentado provocar el error, pero no lo consigo.

Revisando de nuevo toda la cadena de parámetros he encontrado uno que estaba 
mal escrito, estaba en mayúsculas cuando debiera estar en minúsculas. Desde el 
cambio no ha vuelto a fallar.

Respecto a los parámetros terminados en nulo, de momento, he tomado la decisión 
de utilizarlos sólo cuando sea una variable. Si utilizo un parámetro fijo no lo 
termino en nulo. Por las pruebas que he hecho no tengo la sensación que 
influya, aunque la documentación de IBM habla claramente de terminar en nulo. 
He visto ejemplos recientes y antiguos de gurús como Scott Klement donde 
utiliza el nulo en unos casos y en otros no.

He probado la redirección de la salida y error estándar. Funciona bien si la 
especifico por separado, por ejemplo:

gs …. > gs_salida.log 2> gs_error.log

pero si intento utilizar

gs … &> gs_salida_y_error.log

no funciona, el fichero de salida siempre está en blanco cuando fuerzo un error 
conocido.

¿Puede ser que no funcione por el CCSID de la cadena con el comando? Cuando 
ejecuto QP2TERM o QP2SHELL QIBM_PASE_CCCSID = 819. Estoy revisando la 
información sobre la variable de entorno QIBM_PASE_CCSID, pero no entiendo muy 
bien cómo trata PASE el CCSID.

Gracias Alex por tus aportaciones.

De: forum.help400-boun...@listas.combios.es 
[mailto:forum.help400-boun...@listas.combios.es] En nombre de Alex Martínez
Enviado el: martes, 30 de octubre de 2018 9:09
Para: forum.help400
Asunto: Re: QP2SHELL y parámetros terminados en nulo

Hola de nuevo

¿y el mandato AIX no tiene opciones para depuración o log?

Prueba a hacer la llamada redirigiendo la salida de errores 2> a un archivo 
log, por ejemplo:

CALL QP2SHELL PARM('/QOpenSys/usr/bin/sh' '-c' 'ls -la /dir 2> /tmp/err.txt')

El lun., 29 oct. 2018 a las 16:09, Javier Mora 
(mailto:jm...@musgrave.es>>) escribió:
Hola Alex,

cuando me refiero a errores intermitentes lo que quiero decir es, que ante unas 
circunstancias aparentemente iguales, unas veces funciona la llamada al comando 
AIX (a través de QP2SHELL) y otras veces aparece un pantallazo (una especie de 
consola) con los errores. El problema es que el error que aparece no aclara qué 
está sucediendo.

Estoy en la fase de descartar causas, las que me has plantado no las tenía en 
mi lista (salvo el grupo de activación). Después de comprobar que la cadena del 
comando a ejecutar, la existencia de los objetos, posibles mensajes de error 
“ocultos”, etc, la primera duda que me planteé fue si estaba utilizando 
correctamente QP2SHELL. De ahí, mis dudas sobre la cadena terminada en null, 
que no estaba utilizando y los ejemplos (contradictorios para mí) dónde unos 
utilizan el NULL para todos los parámetros, otros sólo para los pasados con 
variables y en otros en ningún parámetro.

Esa confusión es la causa de mi pregunta.

Estoy probando varias cosas para ver si encuentro algún patrón que me ofrezca 
una pista. De momento no veo nada.

De: 
forum.help400-boun...@listas.combios.es<mailto:forum.help400-boun...@listas.combios.es>
 
[mailto:forum.help400-boun...@listas.combios.es<mailto:forum.help400-boun...@listas.combios.es>]
 En nombre de Alex Martínez
Enviado el: lunes, 29 de octubre de 2018 14:53
Para: forum.help400
Asunto: Re: QP2SHELL y parámetros terminados en nulo

Hola

No explicas en qué consisten los "errores intermitentes", ¿es problemas con 
parámetros numéricos? ¿parámetros de tipo string que incluyen Ñs o acentos? 
¿debe usar el mismo grupo de activación?

Lo poco que he utilizado QP2SHELL desde un CL es con string terminado en nulo y 
numéricos convertidos en string

Hay un QP2SHELL2 para realizar la llamada en el mismo grupo de activación ILE, 
dado que QP2SHELL crea un nuevo grupo de activación, que no se si te puede 
afectar

Y si los problemas están relacionados con el CCSID de éstos parámetros, 
recuerdo un caso en que los caracteres especiales al pasarlos (no sé si eran 
acentos o Ñs... ) y habia que establecer la variable de entorno QIBM_PASE_CCSID


https://www.ibm.com/support/knowledgecenter/de/ssw_ibm_i_72/apis/qp2shell.htm

El lun., 29 oct. 2018 a las 13:21, Javier Mora 
(mailto:jm...@musgrave.es>>) escribió:
Hola a tod@s,

en una utilidad que utiliza un programa en PASE estoy teniendo errores de forma 
intermitente. Para la ejecución del comando AIX estoy llamando a QP2SHELL desde 
un programa CL. He revisado todo lo que se me ha ocurrido, pero sigo con algún 
error intermitente durante la ejecución.

Pensando que estoy utilizando mal QP2SHELL, he buscado información y encuentro 
alguna contradicción respecto al uso de los parámetros terminados en nulo. Lo 
que he entendido es que cuando se utiliza QP2SHELL desde la línea de mandatos 
no es necesario terminar en nulo los parámetros (no se me ocurre cómo podría 
hacerlo) pero desde 

Re: QP2SHELL y parámetros terminados en nulo

2018-10-30 Por tema Alex Martínez
Hola de nuevo

¿y el mandato AIX no tiene opciones para depuración o log?

Prueba a hacer la llamada redirigiendo la salida de errores 2> a un archivo
log, por ejemplo:

CALL QP2SHELL PARM('/QOpenSys/usr/bin/sh' '-c' 'ls -la /dir 2>
/tmp/err.txt')


El lun., 29 oct. 2018 a las 16:09, Javier Mora ()
escribió:

> Hola Alex,
>
>
>
> cuando me refiero a errores intermitentes lo que quiero decir es, que ante
> unas circunstancias aparentemente iguales, unas veces funciona la llamada
> al comando AIX (a través de QP2SHELL) y otras veces aparece un pantallazo
> (una especie de consola) con los errores. El problema es que el error que
> aparece no aclara qué está sucediendo.
>
>
>
> Estoy en la fase de descartar causas, las que me has plantado no las tenía
> en mi lista (salvo el grupo de activación). Después de comprobar que la
> cadena del comando a ejecutar, la existencia de los objetos, posibles
> mensajes de error “ocultos”, etc, la primera duda que me planteé fue si
> estaba utilizando correctamente QP2SHELL. De ahí, mis dudas sobre la cadena
> terminada en null, que no estaba utilizando y los ejemplos (contradictorios
> para mí) dónde unos utilizan el NULL para todos los parámetros, otros sólo
> para los pasados con variables y en otros en ningún parámetro.
>
>
>
> Esa confusión es la causa de mi pregunta.
>
>
>
> Estoy probando varias cosas para ver si encuentro algún patrón que me
> ofrezca una pista. De momento no veo nada.
>
>
>
> *De:* forum.help400-boun...@listas.combios.es [mailto:
> forum.help400-boun...@listas.combios.es] *En nombre de *Alex Martínez
> *Enviado el:* lunes, 29 de octubre de 2018 14:53
> *Para:* forum.help400
> *Asunto:* Re: QP2SHELL y parámetros terminados en nulo
>
>
>
> Hola
>
>
>
> No explicas en qué consisten los "errores intermitentes", ¿es problemas
> con parámetros numéricos? ¿parámetros de tipo string que incluyen Ñs o
> acentos? ¿debe usar el mismo grupo de activación?
>
>
>
> Lo poco que he utilizado QP2SHELL desde un CL es con string terminado en
> nulo y numéricos convertidos en string
>
>
>
> Hay un QP2SHELL2 para realizar la llamada en el mismo grupo de activación
> ILE, dado que QP2SHELL crea un nuevo grupo de activación, que no se si te
> puede afectar
>
>
>
> Y si los problemas están relacionados con el CCSID de éstos parámetros,
> recuerdo un caso en que los caracteres especiales al pasarlos (no sé si
> eran acentos o Ñs... ) y habia que establecer la variable de entorno
> QIBM_PASE_CCSID
>
>
>
>
>
>
> https://www.ibm.com/support/knowledgecenter/de/ssw_ibm_i_72/apis/qp2shell.htm
>
>
>
> El lun., 29 oct. 2018 a las 13:21, Javier Mora ()
> escribió:
>
> Hola a tod@s,
>
>
>
> en una utilidad que utiliza un programa en PASE estoy teniendo errores de
> forma intermitente. Para la ejecución del comando AIX estoy llamando a
> QP2SHELL desde un programa CL. He revisado todo lo que se me ha ocurrido,
> pero sigo con algún error intermitente durante la ejecución.
>
>
>
> Pensando que estoy utilizando mal QP2SHELL, he buscado información y
> encuentro alguna contradicción respecto al uso de los parámetros terminados
> en nulo. Lo que he entendido es que cuando se utiliza QP2SHELL desde la
> línea de mandatos no es necesario terminar en nulo los parámetros (no se me
> ocurre cómo podría hacerlo) pero desde un programa CL sí que es necesario
> terminar todos los parámetros en nulo.
>
>
>
> Pero viendo algunos ejemplos
>
>
>
> http://www-01.ibm.com/support/docview.wss?uid=nas8N1022523
>
>
> https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_71/rzalf/rzalfshell.htm
>
> https://archive.midrange.com/midrange-l/201211/msg00522.html
>
>
> http://www.code400.com/forum/forum/iseries-programming-languages/ifs/144618-qpshell-qpshell2-errors-and-qprint
>
>
>
> tengo la sensación que *sólo hay que terminar en nulo los parámetros que
> sean variables* pero los que se pasan como constante no es necesario.
>
>
>
> Para descartar como posible causa de los errores este tema de los
> parámetros terminados en nulo, alguien con experiencia en PASE ¿podría
> confirmarme o aclararme este tema?
>
>
>
> Un saludo y gracias por vuestros comentarios
>
>
>
> *Javier Mora*
>
> 
> Ú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.

RE: QP2SHELL y parámetros terminados en nulo

2018-10-29 Por tema Javier Mora
Hola Alex,

cuando me refiero a errores intermitentes lo que quiero decir es, que ante unas 
circunstancias aparentemente iguales, unas veces funciona la llamada al comando 
AIX (a través de QP2SHELL) y otras veces aparece un pantallazo (una especie de 
consola) con los errores. El problema es que el error que aparece no aclara qué 
está sucediendo.

Estoy en la fase de descartar causas, las que me has plantado no las tenía en 
mi lista (salvo el grupo de activación). Después de comprobar que la cadena del 
comando a ejecutar, la existencia de los objetos, posibles mensajes de error 
“ocultos”, etc, la primera duda que me planteé fue si estaba utilizando 
correctamente QP2SHELL. De ahí, mis dudas sobre la cadena terminada en null, 
que no estaba utilizando y los ejemplos (contradictorios para mí) dónde unos 
utilizan el NULL para todos los parámetros, otros sólo para los pasados con 
variables y en otros en ningún parámetro.

Esa confusión es la causa de mi pregunta.

Estoy probando varias cosas para ver si encuentro algún patrón que me ofrezca 
una pista. De momento no veo nada.

De: forum.help400-boun...@listas.combios.es 
[mailto:forum.help400-boun...@listas.combios.es] En nombre de Alex Martínez
Enviado el: lunes, 29 de octubre de 2018 14:53
Para: forum.help400
Asunto: Re: QP2SHELL y parámetros terminados en nulo

Hola

No explicas en qué consisten los "errores intermitentes", ¿es problemas con 
parámetros numéricos? ¿parámetros de tipo string que incluyen Ñs o acentos? 
¿debe usar el mismo grupo de activación?

Lo poco que he utilizado QP2SHELL desde un CL es con string terminado en nulo y 
numéricos convertidos en string

Hay un QP2SHELL2 para realizar la llamada en el mismo grupo de activación ILE, 
dado que QP2SHELL crea un nuevo grupo de activación, que no se si te puede 
afectar

Y si los problemas están relacionados con el CCSID de éstos parámetros, 
recuerdo un caso en que los caracteres especiales al pasarlos (no sé si eran 
acentos o Ñs... ) y habia que establecer la variable de entorno QIBM_PASE_CCSID


https://www.ibm.com/support/knowledgecenter/de/ssw_ibm_i_72/apis/qp2shell.htm

El lun., 29 oct. 2018 a las 13:21, Javier Mora 
(mailto:jm...@musgrave.es>>) escribió:
Hola a tod@s,

en una utilidad que utiliza un programa en PASE estoy teniendo errores de forma 
intermitente. Para la ejecución del comando AIX estoy llamando a QP2SHELL desde 
un programa CL. He revisado todo lo que se me ha ocurrido, pero sigo con algún 
error intermitente durante la ejecución.

Pensando que estoy utilizando mal QP2SHELL, he buscado información y encuentro 
alguna contradicción respecto al uso de los parámetros terminados en nulo. Lo 
que he entendido es que cuando se utiliza QP2SHELL desde la línea de mandatos 
no es necesario terminar en nulo los parámetros (no se me ocurre cómo podría 
hacerlo) pero desde un programa CL sí que es necesario terminar todos los 
parámetros en nulo.

Pero viendo algunos ejemplos

http://www-01.ibm.com/support/docview.wss?uid=nas8N1022523
https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_71/rzalf/rzalfshell.htm
https://archive.midrange.com/midrange-l/201211/msg00522.html
http://www.code400.com/forum/forum/iseries-programming-languages/ifs/144618-qpshell-qpshell2-errors-and-qprint

tengo la sensación que sólo hay que terminar en nulo los parámetros que sean 
variables pero los que se pasan como constante no es necesario.

Para descartar como posible causa de los errores este tema de los parámetros 
terminados en nulo, alguien con experiencia en PASE ¿podría confirmarme o 
aclararme este tema?

Un saludo y gracias por vuestros comentarios

Javier Mora

Ú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.

Re: QP2SHELL y parámetros terminados en nulo

2018-10-29 Por tema Alex Martínez
Hola

No explicas en qué consisten los "errores intermitentes", ¿es problemas con
parámetros numéricos? ¿parámetros de tipo string que incluyen Ñs o acentos?
¿debe usar el mismo grupo de activación?

Lo poco que he utilizado QP2SHELL desde un CL es con string terminado en
nulo y numéricos convertidos en string

Hay un QP2SHELL2 para realizar la llamada en el mismo grupo de activación
ILE, dado que QP2SHELL crea un nuevo grupo de activación, que no se si te
puede afectar

Y si los problemas están relacionados con el CCSID de éstos parámetros,
recuerdo un caso en que los caracteres especiales al pasarlos (no sé si
eran acentos o Ñs... ) y habia que establecer la variable de entorno
QIBM_PASE_CCSID


https://www.ibm.com/support/knowledgecenter/de/ssw_ibm_i_72/apis/qp2shell.htm

El lun., 29 oct. 2018 a las 13:21, Javier Mora ()
escribió:

> Hola a tod@s,
>
>
>
> en una utilidad que utiliza un programa en PASE estoy teniendo errores de
> forma intermitente. Para la ejecución del comando AIX estoy llamando a
> QP2SHELL desde un programa CL. He revisado todo lo que se me ha ocurrido,
> pero sigo con algún error intermitente durante la ejecución.
>
>
>
> Pensando que estoy utilizando mal QP2SHELL, he buscado información y
> encuentro alguna contradicción respecto al uso de los parámetros terminados
> en nulo. Lo que he entendido es que cuando se utiliza QP2SHELL desde la
> línea de mandatos no es necesario terminar en nulo los parámetros (no se me
> ocurre cómo podría hacerlo) pero desde un programa CL sí que es necesario
> terminar todos los parámetros en nulo.
>
>
>
> Pero viendo algunos ejemplos
>
>
>
> http://www-01.ibm.com/support/docview.wss?uid=nas8N1022523
>
>
> https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_71/rzalf/rzalfshell.htm
>
> https://archive.midrange.com/midrange-l/201211/msg00522.html
>
>
> http://www.code400.com/forum/forum/iseries-programming-languages/ifs/144618-qpshell-qpshell2-errors-and-qprint
>
>
>
> tengo la sensación que *sólo hay que terminar en nulo los parámetros que
> sean variables* pero los que se pasan como constante no es necesario.
>
>
>
> Para descartar como posible causa de los errores este tema de los
> parámetros terminados en nulo, alguien con experiencia en PASE ¿podría
> confirmarme o aclararme este tema?
>
>
>
> Un saludo y gracias por vuestros comentarios
>
>
>
> *Javier Mora*
> 
> Ú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.