✒️ABAP Los archivos en el servidor y las sentencias OPEN y READ
ABAP Los archivos en el servidor y las sentencias OPEN y READ
==> TRATAMIENTO DE ARCHIVOS EN EL SERVIDOR (I):
Principales sentencias para el manejo de archivos en el servidor de aplicaciones:
- OPEN DATASET: apertura de archivos.
- READ DATASET: lectura.
- TRANSFER: transferir datos de archivos al servidor.
- DELETE: borrar archivos del servidor.
- CLOSE: cerrar archivos.
A) Apertura de archivos del servidor => OPEN DATASET
OPEN DATASET <archivo> FOR <ACCESS> IN <MODE>
Si queremos abrir un archivo de lectura debemos utilizar la cláusula FOR INPUT:
OPEN DATASET <archivo> FOR INPUT IN TEXT <MODE>.
Si el archivo que se intenta abrir no existe, sy-subrc devolverá 8. Si es correcto devolvera 0.
Si queremos abrir un archivo para escritura debemos utilizar la cláusula FOR OUTPUT:
OPEN DATASET <archivo> FOR OUTPUT IN TEXT <MODE>.
Si el archivo no existe lo creará automáticamente. Si existe pero está cerraro el contenido se sobreescribirá. Si existe y está abierto, el sistema se posicionará al principio del archivo. Si se abre correctamente sy-subrc será 0. En caso contrario será 8.
Si queremo abrir un archivo para agregar información, debemos utilizar la cláusula FOR APPENDING:
OPEN DATASET <archivo> FOR APPENDING IN TEXT <MODE>.
Si el archivo no existe se creará automáticamente. SI existe pero está cerrado el sistema lo abrirá y se posicionará al final del mismo. Si existe y está abierto, el sistema se posicionará al final del mismo. Siempre sy-subrc será 0.
Existen 2 modos de apertura de archivos:
- Modo Texto: con la cláusula IN TEXT MODE ENCODING DEFAULT.
Ejemplo: OPEN DATASET p_path FOR INPUT IN TEXT MODE ENCODING DEFAULT.
- Modo Binario: con la cláusula IN BINARY MODE.
Ejemplo: OPEN DATASET p_path FOR INPUT IN BINARY MODE.
En este modo la información es transferida byte a byte.
READ DATASET <archivo> INTO <estructura>.
Si la lectura se realizó correctamente, sy-subrc será 0. De lo contrario será 8.
Ejemplo:
READ DATASET p_path INTO st_archivo.
IF sy-subrc EQ 0.
MOVE-CORRESPÒNDING st_archivo TO ti_archivo.
APPEND ti_archivo.
CLEAR: ti_archivo, st_archivo.
ELSE.
EXIT.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Jose Lopez Partida, en su ámbito de estudios para la Carrera Consultor ABAP.
Jose Lopez Partida
Profesión: Programador. Informático - España - Legajo: BF75R
✒️Autor de: 40 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Jose Lopez