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 >
____________________________________________________ © 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

