Hola.
Estoy empezando a utilizar los subprocedimientos en vez de las "clasicas"
subrutinas y me acabo de encontrar con un problema que no soy capaz de
resolver.
Cuando trabajo con subrutinas y deseo finalizar el programa puedo codificar
un *inLR = *on y un Return en cualquier parte y el programa finaliza, pero
si intendo hacer los mismo en un subprocedimiento no hay manera de que el
programa finalize inmediatamente :-(
Este es el pgm de ejemplo.
H DFTACTGRP(*NO)
/free
dsply 'inicio main' ;
sub1() ;
dsply 'final main' ;
*inLR = *on ;
Return ;
/end-free
p sub1 b
d pi
/free
dsply 'inicio sub1' ;
finalizar_pgm() ;
dsply 'final sub1' ;
/end-free
p e
*
p finalizar_pgm b
d pi
/free
dsply 'inicio finalizar_pgm' ;
*inLR = *on ;
Return ;
dsply 'final finalizar_pgm' ;
/end-free
p e
He probado a llamar a una subrutina desde el subprocedimiento (Exsr) para
hacer el LR y el Return pero al compilador no le ha gustado con lo que
deduzco que no se pueden hacer Exsr dentro de los subprocedimientos ...
¿Alguna idea de como solucionar el problema?
Saludos
Ostatu
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.