✒️ABAP Los archivos en el servidor y las sentencias OPEN y READ
ABAP Los archivos en el servidor y las sentencias OPEN y READ
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 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.
Nota: Con la transacción AL11 podemos acceder a los directorios de SAP del servidor e incluso abrir los archivos, así como todos los directorios disponibles.
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>.
Nota: 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 puede 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, de la siguiente manera: OPEN DATASET <archivo> FOR INPUT IN TEXT <MODE>. Nota: 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.Si queremos abrir un archivo para escritura, debemos utilizar la cláusula FOR OUTPUT, de la siguiente manera: OPEN DATASET <archivo> FOR OUTPUT IN TEXT <MODE>.
Nota: 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.
Si queremos abrir un archivo para agregar información, debemos utilizar la cláusula FOR APPENDING, tal como se escribe a continuación: OPEN DATASET <archivo> FOR APPENDING IN TEXT <MODE>.
Nota: Si el archivo no existe, se creará automáticamente. Si existe, pero está cerrado, el sistema lo abrirá y se posicionará al final de este. Si existe y está abierto, el sistema se posicionará al final del archivo. Siempre el SY-SUBRC será 0.
Existen dos modos de apertura de archivos:
- MODO TEXTO: Para abrir un archivo en modo texto, debemos utilizar la cláusula IN TEXT MODE, de la siguiente manera: OPEN DATASET <archivo> FOR <Access> IN MODE ENCODING DEFAULT (Nota: 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.)
- MODO BINARIO: Para abrir un archivo en modo binario, debemos utilizar la cláusula IN BINARY MODE, tal como se describe a continuación: OPEN DATASET <archivo> FOR <Access> IN BINARY MODE (Nota: Si leemos o escribimos en un archivo que ha sido abierto en modo binario, la información es transferida byte a byte.)
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>.
Nota: Para determinar en qué variable debemos almacenar los datos que leeremos del archivo, debemos conocer la estructura del archivo. Si la lectura se realizó correctamente, entonces el SY-SUBRC será 0. Caso contrario, será 8.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Ixhel Lopez Valencia
Sobre el autor
Publicación académica de José Valentín López Montilla, en su ámbito de estudios para la Carrera Consultor ABAP.
José Valentín López Montilla
Profesión: Ingeniero de Sistemas - Venezuela - Legajo: GT35M
✒️Autor de: 134 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero de sistemas y magister scientiarum en ingeniería de software, con más de 30 años de experiencia en el área de tecnología de información, objetivo principal consultor sap abap
Certificación Académica de José López