AS/400 - Ejecutar programa RPG en AS400

   
Vista:

Ejecutar programa RPG en AS400

Publicado por Tirec (1 intervención) el 20/02/2013 12:04:36
Buenas,

Una variable de un programa RPG está produciendo un overflow por algún cálculo.

Intento ejecutar el programa mediante CALL PROGRAMA, pero el problema es que no se como ver esta ejecución. Por ejemplo, me gustaría poner un DSPLY de la variable y poder ver el resultado de la ejecución.

La otra opción es utilizar DEBUG, pero no consigo hacerlo funcionar...

Alguna idea?

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ejecutar programa RPG en AS400

Publicado por Rafael (5 intervenciones) el 20/02/2013 20:07:49
hola, haber si te entendí y te puedo dar una pequeña ayuda

si es un programa RPG puede utilizar strisdb para debuguear el programa.
En cambio si es RPG ILE utilizar el comando strdbg.

Supongamos que utilizas el comando strisdb:
con F6 marcas los breakoints y con F5 vas paso a paso, F11 sobre el nombre de la variable te muestra el valor

En resumen para debuguear:

strisdb F4 nombre_del_programa(le das yes a actualizar arch. prod)
call nombre_del_programa

Espero que te sirva.

Rafael.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Carlos Bartolomé

Ejecutar programa RPG en AS400

Publicado por Carlos Bartolomé (33 intervenciones) el 01/03/2013 14:08:45
Entiendo que es RPG y no ILE-RPG, en cuyo caso el debug sería con STRDBG. Si es RPG, puedes ejecutarlo en modo depuración de la siguiente manera:

STRISDB PGM(NOMBREPROGRAMA) UPDPROD(*YES) INVPGM(*YES) SRCMBR(*PGM)
Si no te aparece el fuente del programa es porque el fuente ha sido cambiado de archivo o librería. Tendrías que especificarlo en los parámetros SRCMBR y SRCF.
Si te aparece el fuente situate en la sentencia que quieras y pulsas F6 para establecer un punto de ruptura y poder monitorizar el programa a partir de ahí. Pulsa F1 cuando estés viendo el fuente para ver la ayuda STRISDB.

Si no puedes hacer debug porque no tienes el fuente o por el motivo que sea, otra opción que tienes es que cuando se produzca el overflow contestes el error con la opción D, que te generará un DUMP del trabajo y en el listado podrás ver los valores de cada variable. Es posible que esta opción sea más laboriosa, pero puedes llegar a encontrar el problema.

Si tienes el fuente y no puedes hacer debug por lo que sea puedes guardar el programa original (por seguridad) y recompilar desde el fuente disponible e incluso convertir el fuente en ILE con el mandato CVTRPGSRC y convertir el programa en ILE para poder hacer STRDBG. Incluso, en un fuente ILE los campos pueden ser más grandes y hasta podrías incluir en la hoja H la especificación TRUNCNBR(*YES) para que en la ejecución el desbordamiento no te produzca un error, aunque particularmente prefiero ser conocedor de los errores que se producen en ejecución.

Saludos,
Carlos Bartolomé
LIWE ESPAÑOLA S.A.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar programa RPG en AS400

Publicado por Alfonso alfonso@ceuta.es (1 intervención) el 23/10/2015 09:56:50
Solo una aclaración: En el caso de que sea ILE, el programa debe haber sido compilado previamente con el valor "SOURCE en el parametro DBGVIEW en lugar del que se establece por omisión *STMT.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar