Tengo un programa que recibe parametros empieza hacer una serie de
instrucciones y va grabando en un archivo XXX registro por registro .
despues de haber grabado ciertos registros entra una subrutina y en esa
subrutina vuelve a grabar mas registros al archivo XXX
al termniar la subrutina le doy un CALL a un CL
Este CL hace un CPYF que selecciona solo los registros que se fueron grabando
en el programa al archivo XXX para dejarlos en un archivo con otro nombre
YYYYYYYYYY (YYYYYYYYYY va cambiando de nombre de acuerdo a los parametros y
solo se graba un campo del archivo XXX a YYYYYYYYY con *MAP y *DROP), despues
del CALL al CL prendo el *INLR para finalizar el programa.
EL problema que tengo es que cuando hace el copy no esta pasando los 3 ultimos
registros al Archivo YYYYYYYYYY que se graban en el archivo XXX
no entiendo por que no los copia, si cuando finaliza el programa y despliego
el archivo XXX
ahi estan los registros
hagan de cuenta que esos registros se quedaron en memoria y no los muestra en
el archivo XXX hasta que finaliza el programa con el *INLR aunque ya se hizo
el write al archivo
Espero me puedan dar una idea de lo que pudiera estar pasando
les mando instrucciones de como esta definido el archivo y unas lineas que dan
idea de lo que hace el programa:
-- - - - - - - - - - - - - - - - - - - - - -- - - - - - -- - - - - -- -
DEFINICION DE ARCHIVO PARA GRABAR
FXXX O A E DISK
se mueven a los campos diferentes valores y se graba el registro
WRITE RXXX
CLEAR RXXX
esto de mover valores a campos y hacer el write y el clear se hace como 50
veces despues de grabar los 50 registros entra un IF como sigue
IF tipimp = 'I'
EXSR DETALLE
ENDIF
se ejecutan algunas instrucciones y despues de estas se hace un CALL
CALL CLCPYF (Este CL hace el CPYF )
esta es la parte de la rutina que se ejecuta en el IF
DETALLE BEGSR
se mueven a los campos diferentes valores y se graba el registro
WRITE RXXX
CLEAR RXXX
igual a qui se graban otros 50 registros en la rutina del detalle y termina la
rutina
ENDSR
como les comento los ultimos 3 registros que se graban en la rutina de detalle
no se van con el CPYF que se hace en el CL aunque esos 3 registros si cumplen
las condiciones para que pasen
Mucho Agradecere su ayuda y espero no haberlos enredado con mi readccion
Saludos
Benito Hernandez Rivera
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.