Si no me equivoco, se puede elegir el momento en el que se quiere ejecutar la rutina nueva de esta manera:
Tiempo de totales, es decir, una vez realizadas todas las funciones del programa C LR EXSR SR_LR Tiempo de detalle, (el ciclo lógico detecta que se ha leído el último registro). En este caso, hay que colocar el indicador LR en el mismo lugar en que se coloca cualquier otro. C LR EXSR SR_LR Puedes consultar algún manual, donde se explique como manejar el ciclo, para ver la situación del indicador LR en cada caso. El 6 de agosto de 2009 15:27, Pedro Molina <[email protected]> escribió: > Hola. > > Lo que dice Miguel es correcto, el ciclo lógico del RPG te controla todo. > > Y si algo quieres hacer en FREE, entonces podrías hacer lo siguiente: > > /Free > If *INLR ; > Exsr @Rutina ; > Endif ; > /End-Free > > Pero siento que debes de tener bien claro como es el funcionamiento de un > programa controlado por el ciclo del RPG, por ejemplo cuando debes de > hacer cálculos en tiempo de detalle y cuando hacer cálculos en tiempo de > totales, cosa que hoy en día pues no se utiliza mucho, al menos los nuevos > en RPG (si los hay...jeje) y esto definitivamente se hace mejor con el > formato fijo de RPG, menos líneas de codificación y algo por el estilo, pero > esto es solo un comentario al aire por así decirlo. > > Ahora...en Free no veo como controlar calculos en tiempo de detalle y en > tiempo de totales...creo que no se puede...o sí? > > > Saludos!! > > > > ------------------------------ > Date: Thu, 6 Aug 2009 12:44:41 +0200 > Subject: Re: Saber EOF en free > From: [email protected] > To: [email protected]; [email protected] > > > Si el programa tiene definido un archivo como primario, es el ciclo lógico > del RPG quien está manejando el fin de archivo. Para incluir una rutina en > FREE, que se ejecute cuando se haya leído el último registro del archivo, > sin cambiar la programación original, habría que incluir al final del módulo > principal del programa una sentencia como esta: > > C LR EXSR SR_LR > > En la rutina se puede abrir el formato free y ya no hace falta detectar el > EOF > > > > El 4 de agosto de 2009 15:02, Nelson Brizuela < > [email protected]> escribió: > > [email protected] escribió: > > Hola Foro > Tengo un archivo secuencial abierto con primario(P) en la hoja F, lo > que necesito es saber en FREE el fin de archivo (%eof). > Es Algo similar como esto > > C IF *INLR > C EXSR SR_LR > C ENDIF > > -- > Hola José; > > En FREE para lograr lo que estas buscando, reemplazar modo de acceso a tu > archivo primario (P) por (F), leer tu archivo secuencialmente y luego > preguntar por EOF, sería como esto; > > /FREE > SetLl *start tu-archivo; > Read tu-archivo; > If %EOF; > ExSr SR_LR; > EndIf; > /END-FREE > > Otra forma podría ser dentro de un ciclo; > > SetLl *start tu-archivo; > Read tu-archivo; > DoW Not %EOF; > hacer cosas; > Read tu-archivo; > EndDo; > > ExSr SR_LR; > > Salu2, > -- > Nelson Brizuela Garcete > > > ____________________________________________________ > © 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 > > > > ------------------------------ > Get news, entertainment and everything you care about at Live.com. Check > it out! <http://www.live.com/getstarted.aspx> > > ____________________________________________________ > © 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 >
____________________________________________________ © 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

