✒️ABAP Los archivos en el servidor y las sentencias OPEN y READ
ABAP Los archivos en el servidor y las sentencias OPEN y READ
Los archivos en el servidor y las sentencias OPEN y READ
EL tratamiento de archivos en el servidor: En un ambiente real de trabajo de SAP es común el uso de un servidor de aplicaciones para trabajar con archivos.
Esto se debe principalmente a 2 razones fundamentales:
Es común que la entrada de un proceso que se ejecuta en el sistema SAP sea la salida de otro proceso que se ejecuta en el sistema, por lo que dadas las circunstancias, se vuelve indispensable trabajar en un entorno centralizado en donde los archivos se almacenan en carpetas compartidas a las que los diferentes recursos de la empresa tienen acceso.
En ocasiones los archivos que generan los procesos que se ejecutan en el sistema SAP son muy pesados, por lo que no sería posible almacenarlos en las computadoras locales.
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 en el servidor de aplicaciones son:
OPEN DATASET: para la apertura de archivos del servidor.
READ DATASET: para 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.
La apertura de archivos en el servidor
Usamos la sentencia OPEN DATASET. La sintaxis es la siguiente:
Si la apertura del archivo se realizo correctamente, entonces la variable del sistema SY-SUBRC será igual a 0. Caso contario será 8.
En <archivo> vamos a especificar el nombre del archivo junto con el directorio en donde se encuentra. Puede ser literales entre comillas o una variable. Si no ingresamos el directorio en donde se encuentra el archivo y solo ingresamos el nombre del archivo entonces el sistema intentara abrir el archivo en el directorio en el que se ejecuta el servidor del aplicaciones.
Si solo lo queremos abrir para lectura usamos la cláusula FOR INPUT.
El archivo que se intenta abrir debe existir. Caso contrario SY-SUBRC = 8. Si el archivo existe y está abierto, el sistema se posicionara en el primer registro.
Ejemplo:
En este caso, 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 reapertura con la sentencia OPEN DATASET.
Si deseamos abrir un archivo para escritura, debemos usar la cláusula FOR OUTPUT tal como se ve a continuación:
Si el archivo no existe entonces se creará automáticamente.
Si el archivo existe pero está cerrado el contenido será sobrescrito.
Si el archivo existe y está abierto, el sistema se posicionara al comienzo del archivo.
Si la apertura el archivo se realiza correctamente, entonces la variable SY-SUBRC será 0, caso contario será 8.
Ejemplo:
Si deseamos abrir un archivo para agregar información, debemos usar la cláusula FOR APPENDING tal como vemos a continuación:
Si el archivo no existe, se creará automáticamente.
Si el archivo existe pero está cerrado, el sistema lo abrirá y se posicionara al final del mismo.
Si el archivo existe y esta abierto, el sistema se posicionará al final del archivo.
En todos los casos anteriores siempre la variable del sistema SY-SUBRC será 0.
Ejemplo:
Existen 2 modos de apertura de archivo en el servidor de aplicaciones SAP:
Modo TEXTO: para abrir un archivo en el servidor de aplicaciones de SAP en modo texto, debemos usar la cláusula IN TEXT MODE tal como vemos a continuación:
Si leemos o escribimos en un archivo que ha sido abierto en modo texto entonces la información es transferida línea a línea.
Si usamos el modo texto debemos agregar la palabra reservada ENCODING DEFUALT.
Ejemplo:
Modo BINARIO: para abrir un archivo en el servidor de aplicaciones de SAP en modo binario, debemos usar la cláusula IN BINARY MODE:
Si leemos o escribimos en un archivo que ha sido abierto en modo binario entonces la información es transferida byte a byte.
La lectura de archivos del servidor
Se usa la sentencia READ DATASET para la lectura de archivos del servidor de aplicaciones de SAP. La sintaxis es la siguiente:
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 realizo correctamente, entonces la variable del sistema SY-SUBRC será 0. Caso contrario, será 8.
 
 
 
Sobre el autor
Publicación académica de Lisimaco Prieto Herrera, en su ámbito de estudios para la Carrera Consultor ABAP.
Lisimaco Prieto Herrera
Profesión: Ingeniero de Sistemas - Colombia - Legajo: DV67X
✒️Autor de: 96 Publicaciones Académicas
🎓Egresado de los módulos:
Presentación:
Ingeniero de sistemas con amplia experiencia en el desarrollo de software para el sistema sap r/3 en lenguaje de programación abap.
Certificación Académica de Lisimaco Prieto