![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los archivos en el servidor y las sentencias OPEN y READ
ABAP Los archivos en el servidor y las sentencias OPEN y READ
![ABAP Los archivos en el servidor y las sentencias OPEN y READ ABAP Los archivos en el servidor y las sentencias OPEN y READ](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/378.jpg)
Lección: Archivos en Servidor: las sentencias OPEN y READ
1) Tratamiento de archivos en el servidor
En un ambiente real de trabajo, es común la utilización de un servidor de aplicaciones, para el trabajar con archivos
ABAP dispone de una serie de sentencias para el tratamiento de archivos ubicados en el servidor de aplicaciones
Las principales senencias para el manejo de archivos en el servidor de aplicaciones son:
OPEN DATASET: para la apertura de archivos del servidor
READ DATASET: para la lectura de archivos del servidor
TRANSFER: para transferir datos de archivos al servidor
DELETE: para borrar archivos del servidor
CLOSE: para cerrar archivos del servidor
A continuación veremos en detalle cada una de estas sentencias
2) Apertura de archivos en el servidor
Utilizaremos la sentencia OPEN DATASET para la apertura de archivos. La sintaxis de la sentencia es la siguiente OPEN DATASET (archivo) FOR (ACCESS) IN (MODE)
Si la apertura del archivo se realizó correctamente, entonces el SY-SUBRC será 0. Caso contrario, será 8
El nombre del archivo junto con el directorio en donde se encuentra, pueden ingresarse como un literal entre comillas o en una variable. Si no ingresamos el directorio y solo ingresamos el nombre, entonces el sistema intentará abrir el archivo en el directorio en el que corre el servidor de aplicaciones
Si queremos abrir un archivo para lectura, debemos utilizar la cláusula FOR INPUT,
El archivo que se intenta abrir debe existir. Caso contrario, el SY-SUBRC será 8. Si el archivo existe y está abierto, el sistema se posicionará al comienzo del archivo
ej: en el ej p_path es un parámetro de la pantalla de selección en donde el usuario ingresa el directorio y nombre del archivo
Es recomendable cerrar todos los archivos que ya están abiertos antes de realizar una re-apertura con la sentencia OPEN DATASET
Si queremos abrir un archivo para escritura, debemos utilizar la cláusula FOR OUTPUT
Si el archivo no existe, se creará automáticamente
Si existe pero está cerrado el contenido será sobrescrito
Si existe y está abierto, el sistema se posicionará al comienzo del archivo
Si la apertura se realiza correctamente, entonces el SY-SUBRC será 0. Caso contrario, será 8
Ej
Si queremos abrir un archivo para agregar información, debemos utilizar la cláusula FOR APPENDING,
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 archivo
Siempre el SY-SUBRC será 0
ej
Existen dos modos de apertura de archivos:
MODO TEXTO
Para abrir un archivo en modo texto, debemos utilizar la cláusula IN TEXT MODE
Si leemos o escribimos en un archivo que ha sido abierto en modo texto, la información es transferida línea a línea
Si utilizamos el modo texto debemos agregar la palabra reservada ENCODING DEFAULT
Ej
MODO BINARIO
Para abrir un archivo en modo binario, debemos utilizar la cláusula IN BINARY MODE,
Si leemos o escribimos en un archivo que ha sido abierto en modo binario, la información es transferida byte a byte
Ej
3) Lectura de archivos del servidor
Utilizaremos la sentencia READ DATASET para la lectura de archivos del servidor. La sintaxis de la sentencia es la siguiente:
READ DATASET (archivo) INTO ( estructura)
Para determinar en que variable debemos almacenar los datos que leeremos del archivo, debemos conocer la estructura del archivo que leeremos
Si la lectura se realizó correctamente, entonces el SY-SUBRC será 0. Caso contrario será 8 ej
 
 
 
Sobre el autor
Publicación académica de Aida Cortina Fernandez, en su ámbito de estudios para la Carrera Consultor ABAP.
Aida Cortina Fernandez
Profesión: Consultor Junior - España - Legajo: MK87X
✒️Autor de: 74 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Certificación Académica de Aida Cortina