✒️ABAP Los archivos en el servidor y las sentencias OPEN y READ
ABAP Los archivos en el servidor y las sentencias OPEN y READ
Apuntes ING Ezequiel Hurtado Benitez
Tratamiento de archivos en el servidor, en un ambiente real de trabajo de SAP es común la utilización de un servidor de aplicaciones para trabajar con archivos. Esto se debe principalmente a dos 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 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 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.
Apertura de archivos en el servidor. utilizamos la sentencia OPEN DATASET para la apertura de archivos. La sintaxis de la sentencia es: OPEN DATASET <archivos> FOR <ACCES> IN <MODE>. ( Si la apertura del archivo se realizó correctamente, entonces la variable del sistema SY-SUBRC será 0, caso contrario será 8.) En <archivo> vamos a especificar el nombre del archivo junto con el directorio en donde se encuentra. Esta información puede ingresarse como un literal entre comillas o en una variable. Si no ingresamos el directorio en donde se encuentra el archivo y solo ingresamos el nombre del archivo, entonces el sistema intentará abrir el archivo en el directorio en el que se ejecuta el servidor de aplicaciones. Si deseamos abrir un archivo para lectura, debemos utilizar la cláusula FOR INPUT de la siguiente forma: OPEN DATASET <archivo> FOR INPUT IN TEXT <MODE>. (El archivo que se intenta abrir debe existir. Caso contrario, la variable del sistema SY-SUBRC será 8. Si el archivo existe y esta activo, el sistema se posicionará al comienzo del archivo. Al hacerlo usamos p_path como 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 utilizar la sentencia FOR OUTPUT de la siguiente forma: OPEN DATA <archivo> FOR OUTPUT IN TEXT <MODE>. ( 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 posicionará al comienzo del archivo. Si la apertura del archivo se realiza correctamente, entonces la variable del sistema SY-SUBRC será 0, caso contrario será 8.) Si deseamos abrir un archivo para agregar información, debemos utilizar la cláusula FOR APPENDING de la siguiente forma: OPEN DATASET <archivo> FOR APPENDING IN TEXT <MODE>. ( 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 posicionará al comienzo del archivo. Si la apertura del archivo se realiza correctamente, entonces la variable del sistema SY-SUBRC será 0, caso contrario será 8.) Existen dos modos de apertura de archivos en el servidor de aplicaciones de SAP.
Modo texto, Para abrir un archivo en el servidor de aplicaciones de SAP en modo texto, debemos utilizar la cláusula IN TEXT MODE tal como vemos a continuación: OPEN DATASET <archivo> FOR INPUT IN TEXT MODE ENCODING DEFAULT. (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 utilizamos el modo texto debemos agregar la palabra reservada ENCODING DEFAUT.
Modo binario, para abrir un archivo en el servidor de aplicaciones de SAP en modo binario, debemos utilizar la cláusula IN BINARY MODE de la siguiente forma: OPEN DATASET <archivo> FOR <ACCESS> 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.
Lectura de archivos del servidor, Utilizamos la sentencia READ DATASET para la lectura de archivos del servidor de aplicaciones de SAP. La sintaxis de la sentencia es la siguiente: READ DATASET <archivo> INTO <estructura>. ( Para determinar en qué variable debemos almacenar los datos que leemos del archivo, debemos conocer la estructura que leeremos, si la lectura se realizó correctamente, entonces la variable SY-SUBRC será 0, caso contrario será 8.)
 
 
 
Sobre el autor
Publicación académica de Ezequiel Hurtado Benitez, en su ámbito de estudios para la Carrera Consultor ABAP.
Ezequiel Hurtado Benitez
Profesión: Ingeniero Mecatrónico - Colombia - Legajo: FD18B
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero mecatrónico bilingüe con maestría en dirección de ventas y marketing empresarial, con conocimientos y experiencia en programación, diseño, elaboración y pruebas en proyectos de automatizació
Certificación Académica de Ezequiel Hurtado