![](/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/0.jpg)
ARCHIVOS EN SERVIDOR: LAS SENTENCIAS OPEN Y READ
TRATAMIENTO DE ARCHIVOS EN EL SERVIDOR
En un ambiente real de trabajo, es común la utilización de un servidor de aplicaciones, para trabajar con archivos. ABAP dispone de una serie de sentencias para el tratamiento de archivos ubicados en el servidor de aplicaciones.
Las principales sentencias para el manejo de archivos de aplicaciones son:
· TRANSFER: para transferir datos de archivos al servidor.
· CLOSE: para cerrar archivos del servidor.
Con la transacción AL11 podemos acceder a los directorios de SAP del servidor e incluso abrir los archivos ingresando a la transacción veremos todos los directorios disponibles, haciendo doble clic sobre cualquiera de ellos podremos ver los archivos que hay adentro y si los archivos son de textos, incluso podemos ver su contenido haciendo nuevamente doble clic, si deseamos crear un nuevo directorio seguramente vamos a necesitar que los administradores del sistema SAP nos otorguen los permisos necesarios
A continuación veremos en detalle cada una de estas sentencias:
APERTURA DE ARCHIVOS EN EL SERVIDOR
Utilizamos 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 variante. Si no ingresamos el directorio y solo ingresamos el nombre, entonces el sistema intentara abrir el archivo en el directorio en el que corre el servidor de aplicaciones.
Si queremos abrir un archivo para lectura, debemos utilizar FOR INPUT, tal como vemos a continuación:
OPEN DATASET <archivo> FOR INPUT IN TEXT <MODE>
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 posicionara al comienzo 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 la escritura, debemos utilizar la cláusula FOR OUTPUT, tal como vemos a continuación:
OPENDATASET <archivo> FOR OUTPUT IN TEXT <MODE>
Si el archivo no existe, se creara automáticamente. Si existe pero está cerrado el contenido será sobrescrito. Si existe y está abierto, el sistema se posicionara al comienzo del archivo. Si la apertura se realiza correctamente, entonces el SY-SUBRC será 0. Caso contrario será 8.
Si queremos abrir un archivo para agregar información, debemos utilizar la cláusula FOR APPENDING, tal como vemos a continuación.
OPEN DATASET <archivo> FOR APPENDING IN TEXT <MODE>
Si el archivo no existe, se creara automáticamente. Si existe pero está cerrado, el sistema lo abrirá y se posicionara al final del mismo. Si existe y está abierto, el sistema se posicionara al final del archivo. Siempre el SY-SUBRC será 0.
Existen dos modos de apertura de archivos.
OPEN DATASET <archivo> FOR <ACCESS> IN TEXT MODE ENCODING DEFAULT.
Si leemos o escribimos 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.
OPEN DATASET <archivo> FOR <ACCESS> 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.
LECTURA DE ARCHIVO DEL SERVIDO
Utilizamos 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 qué variable debemos almacenar los datos que leeremos del archivo, debemos conocer la estructura del archivo que leemos. Si la lectura se realizó correctamente, entonces el SY-SUBRC será 0. Caso contrario será 8.
 
 
 
Sobre el autor
Publicación académica de Jean Carlos Lopez Uzcategui, en su ámbito de estudios para la Carrera Consultor ABAP.
Jean Carlos Lopez Uzcategui
Profesión: Sistemas - Venezuela - Legajo: HS82J
✒️Autor de: 53 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime