✒️ABAP Los archivos en el servidor y las sentencias OPEN y READ
ABAP Los archivos en el servidor y las sentencias OPEN y READ
Tratamiento de archivos en el servidor
ABAP dispone de varias sentencias para el tratamiento de archivos ubicados en el servidor de aplicaciones. Las principales 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.
Con la transacción AL11 podemos acceder a los directorios de SAP del servidor, e incluso abrir los archivos.
Apertura de archivos en el servidor
Utilizaremos la sentencia OPEN_DATASET para la apertura de archivos. La sintaxis es:
OPEN DATASET <archivo> FOR <ACCESS> IN <MODE>
Si la apertura se realizó correctamente, entonces el SY-SUBRC será 0. Caso contrario, será 8.
El nombre del archivo junto con el directorio se debe ingresar entre comillas o en una variable.
Si queremos abrir un archivo para lectura, debemos utilizar la cláusula FOR INPUT.
OPEN DATASET <archivo> FOR INPUT IN TEXT <MODE>
El archivo que se intenta abrir debe existir, sino 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.
OPEN DATASET <archivo> FOR OUTPUT IN TEXT <MODE>
Si el archivo no existe, se creará.
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 correctametne, entones 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.
OPEN DATASET <archivo> FOR APPENDING IN TEXT <MODE>
Si el archivo no existe, se creará.
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.
Existen dos modos de apertura de archivos:
MODO TEXTO
Se debe utilizar la cláusula IN TEXT MODE.
OPEN DATASET <archivo> FOR <ACCESS> IN TEXT MODE ENCODING DEFAULT
Si leemos o escribimos en un archivo que ha sido abierto en modo texto, la información es transferida linea a linea.
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.
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 archivos del servidor
Utilizaremos la sentencia READ DATASET.
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 8.
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio Becerra, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Ignacio Becerra
Profesión: Tester Sap - Argentina - Legajo: AJ40A
✒️Autor de: 37 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Juan Becerra