✒️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
Las sentencias más comunes para tratar un archivo ubicado en el servidor de aplicaciones son:
- OPEN DATASET: Apertura de archivos del servidor.
- READ DATASET: Lectura de archivos del servidor.
- TRANSFER: Transferir de datos a archivos al servidor.
- DELETE: Borrar archivos del servidor.
- CLOSE: Cerrar archivos del servidor.
- OPEN DATASET (Apertura de archivos del servidor)
OPEN DATASET <archivo> FOR <ACCESS> IN <MODE>.
Si la apertura es correcta SY-SUBRC devuelve 0, si hay error devolverá un 8.
Ej/ OPEN DATASET p_path FOR INPUT IN TEXT MODE ENCODING DEFAULT.
<ACCESS>:
- Para sólo lectura: Si queremos abrir el archivo sólo para lectura en la clausula <ACCESS> pondremos INPUT.
- Para escritura: pondremos OUTPUT (Con acceso de escritura si el archivo no existe, lo creará. Si existe pero está cerrado lo sobreescribirá. Si existe y está abierto se posicionará al principio del archivo).
- Para agregar información, en la clausula <ACCESS> pondremos FOR APPENDING (Si el archivo no existe, lo creará. Si existe pero está cerrado lo abrirá y se posicionará al final. Si existe y está abierto se posicionará al final).
<MODE>:
- Modo texto: Para abrir un archivo en modo texto pondremos IN TEXT MODE ENCODING DEFAULT (en este modo la información será transferida línea a línea).
- Modo binario: usaremos IN BINARY MODE (la información se transfiere byte a byte).
- READ DATASET (Lectura de archivos del servidor)
READ DATASET <archivo> INTO <estructura>.
Debemos conocer la estructura del archivo que vamos a leer para definir correctamente la variable donde almacenar los datos que leeremos. Si la lectura es correcta SY-SUBRC devolverá 0, en caso contrario devolverá 8.
Lectura línea a línea si es modo texto, tendrá que está dentro de un bucle para leer todas las líneas. Terminaremos el bucle cuando SY_SUBRC = 8
Ejemplo/
DO. READ DATASET p_path INTO st_archivo.
IF sy-subrc = 0. MOVE-CORRESPONDING st_archivo TO ti_archivo. APPEND ti_archivo.
CLEAR: ti_archivo, st_archivo.
ELSE. EXIT. ENDIF.
ENDDO.
 
 
 
Sobre el autor
Publicación académica de Ignacio Mart?n Bolumar, en su ámbito de estudios para la Carrera Consultor ABAP.
Ignacio Mart?n Bolumar
Profesión: Ingeniero Inform?tico - Espa?a - Legajo: ZL84Z
✒️Autor de: 94 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Ignacio Mart?n