martin.ava...@set.ypf.com

El 15 de marzo de 2017, 6:13, ostatu ostatu <ost...@gmail.com> escribió:

> 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.
>
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a