|
#1
|
|||
|
|||
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'. |
#2
|
||||
|
||||
por que no creas el fichero 2 variable y le agregas la fecha y hora para que distingas los ficheros.
lo puedes hacer con la instruccion concatenate. Saludos y espero te sirva.
__________________
Un Huevon No Inútil Solo di lo que piensas, a la mejor tienes la mejor respuesta.... Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo..... Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho..... Consultor FI jr/ABAP Sr. |
#3
|
|||
|
|||
Perdon por el sangrado de los asteriscos, pero no se como hacerlo bien...
|
#4
|
||||
|
||||
facil:
var1 (15) type c, var2 (15) type c. concatenate 'd:\fic2\' sy-date sy-uzeit '.txt into var1 y en la instruccion OPEN DATASET VAR1 TRANSFER REC TO var1 CLOSE DATASET var1 asi todo lo enviaras a un fichero fic2con fecha de procesamiento y hora de procesamiento por lo que nunca se sobreescribira.
__________________
Un Huevon No Inútil Solo di lo que piensas, a la mejor tienes la mejor respuesta.... Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo..... Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho..... Consultor FI jr/ABAP Sr. |
#5
|
|||
|
|||
Si quieres agregar datos aun fichero sin perder lo que ya existe. Tienes que abrir el archivo con APPENDING.
OPEN DATASET <dsn> FOR APPENDING..... |
#6
|
|||
|
|||
Muchas gracias, eso del apending funciona perfecto!
Otra preguntita... ¿Se podria hacer un menu para pedir datos por teclado, realice una accion y que vuelva al menu? Por ejemplo: Menu: 1)Suma 2)Resta Introduzca opcion: __ |
#7
|
|||
|
|||
hola alguien tiene ejercicios propuestos para poder practicar????
GRACIAS |
#8
|
|||
|
|||
Eso Lo Puedes Hacer Con Una Pantalla De Seleccion...seria Algo Así Como
Program Ztest3. Parameters Suma Type C Radiobutton Group Radi. Parameters Resta Type C Radiobutton Group Radi. Start-of-selection. If Suma = 'x'. Perform Suma. Endif. If Resta = 'x'. Perform Resta. Endif. *--------------------------- * R U T I N A S *--------------------------- Form Suma. Endform. Form Resta. Endform. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|