1|Tratamientos de archivos en el servidor
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 se pueden acceder a los directorios de SAP del servidor e incluso abrir los archivos. Si los archivos son de texto se puede visualizar el contenido haciendo doble clic.
2|Apertura de archivos en el servidor
Se utiliza OPEN DATASET para la apertura de archivos.
Sintaxis
OPEN DATASET <archivo> FOR <ACCESS> IN <MODE>.
Si la apertura del archivo se realizó correctamente, el SY-SUBRC será 0. Caso contrario, será 8.
El nombre del archivo junto con el directorio donde se encuentra, pueden ingresarse como un literal entre comillas o en una variable.
Si no ingresamos el directorio el sistema intentará abrir el archivo en el directorio en que corre el servidor de aplicaciones.
Utilizar FOR INPUT al abrir un archivo para lectura.
Sintaxis
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 posicionará 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.
Utilizar la clausula FOR OUTPUT para archivos de escritura.
Sintaxis
OPEN DATASET <archivo> FOR OUTPUT IN TEXT <MODE>.
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.
Utilizar la clausula FOR APPENDING al abrir un archivo par aagregar informacion.
Sintaxis
OPEN DATASET<archivo> FOR APPENDING IN TEXT<MODE>.
Si el archivo no existe, se creará automáticamente.
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.
Para abrir un archivo en modo texto,utilizar la clausula 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 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,utilizar la clausula 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.
3|Lectura de archivos del servidor
Utilizar la sentencia READ DATASET para lectura de archivos del servidor.
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, será 8.