el procedimiento que debes utilizar es read
D read PR 10I 0 ExtProc('read')
D handle 10i 0 value
D buffer * value
D bytes 10U 0 value
Para añadir lineas a un fichero stream las flags de la funcion open
deben incluir O_APPEND en vez de O_CREAT
D O_CREAT C 8
D O_APPEND C 256
Hay un excelente tutorial sobre RPG y el IFS en al web de scott Klement
http://www.scottklement.com/rpg/ifs.html
El día 3/07/06, Jaime Villa Torres <[EMAIL PROTECTED]> escribió:
Estoy utilizando el siguiente código.D FGets Pr * ExtProc( '_C_IFS_fgets' )
D * Value
D 10i 0 Value
D * Value....Dow FGets( %Addr(Registro) : %Size(Registro) : Archivo_E) <> *NULL;...y efectivamente en Registro trae los datos, pero requiero leer registro a registro y no todo el archivo, si observo por WRKLNK el archivo, efectivamente esta registro a registro, pero al recuperarlo viene todo, y la variable Registro tiene una longitud de 100, pero no todos los registros tienen esta longitud, y cuando esto sucede viene una porción del siguiente registro o todo.Un dato, inicialmente cuando se escribe el archivo, cada registro se termina con la siguiente variable.D EndRec C CONST(X'0d25') CRLFOtra pregunta, cuando ya se tiene un archivo en un directorio, es posible adicionarle registros?? lo intento realizar abriendo el archivo y escribiendo, pero esta segunda escritura me borra la existente.Cualquier idea es bien venida, esto es demasiado complicado para realizar uno concepto tan sencillo como recuperar una línea de algo.....Gracias.
--
Mi blog sobre as400
http://www.ajut400.com
