Ver Mensaje Individual
  #1  
Viejo 08/01/08, 11:13:19
nachosds nachosds is offline
Member
 
Fecha de Ingreso: dic 2007
Localización: Cadiz - España
Mensajes: 48
Como NO sobreescribir un fichero

Muy buenas!

Me gustaria saber si hay alguna orden para abrir in fichero en modo escritura pero de manera que no sobreescriba lo que habia ya antes.

Esque, al poner el siguiente codigo, primero lo que hago es leer un fochero ya existente y cargar sus datos en los registros, y luego escribo en otro fichero. Pues bien, si ejecuto el programa 2 veces y cambio los datos del fichero de lectura (fic), luego al pasarlo al fichero de salida (fic2), éstos se me machacan.
¿Habria alguna forma de hacerlo para que no sobreescriba?

El codigo en cuestion es este:


REPORT Z_PFICHERO.

****************************
* creamos variables *
****************************
DATA: BEGIN OF REC,
valor1(5) TYPE c,
valor2(4) TYPE c,
END OF REC.

****************************
* abrimos fichero *
* leemos y rellenamos REG *
****************************
OPEN DATASET 'd:/fic.txt'.

READ DATASET 'd:/fic.txt' INTO REC.
IF SY-SUBRC = 8.
WRITE:/ 'vamonos'.
EXIT.
ENDIF.
WRITE:/ REC-valor1,REC-valor2.
CLOSE DATASET 'd:/fic.txt'.


****************************
* creamos fic2 salida *
****************************
OPEN DATASET 'd:/fic2.txt'
FOR OUTPUT
IN TEXT MODE.
****************************
* escribimos los valores *
* de REG en el nuevo fic2 *
****************************
TRANSFER REC TO 'd:/fic2.txt'.

CLOSE DATASET 'd:/fic2.txt'.
Responder Con Cita