![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los archivos en el servidor y las sentencias OPEN y READ
ABAP Los archivos en el servidor y las sentencias OPEN y READ
![ABAP Los archivos en el servidor y las sentencias OPEN y READ ABAP Los archivos en el servidor y las sentencias OPEN y READ](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/492.jpg)
1. Tratamiento de Archivos en el Servidor:
En un amb.real de trabajo, es común la utilización de un servidor de aplicaciones , para trabajar con archivos.
ABAp dispone de unas sentencias para el tratamiento de archivos ubicados en el Servidor de aplicaciones.
Princiales Sentencias para el manejo de archivos en el Servidor:
A. OPEN DATASET : para apertura de archivos en el Servidor
B. READ DATASET: para lectura de archivos en el Servidor.
C. READ DATASET: para lectura de archivos en el Servidor
D. TRANSFER: Para transferir datos de archivos al Servidor.
E. DELETE: para borrar archivos en el Servidor.
F. CLOSE: para cerrar archivos del Servidor.
AUDIO:
Con la transacción AL11 podemos acceder a los directorios de SAP del servidor e incluso abrir los archivos. Ingresando a la transacción se pueden ver todos los directorios disponibles. Haciendo doble click sobre cualquiera de ellos podemos ver los Archivos que hay adentro. Y si los archivos son de texto, incluso podemos ver su contenido haciendo nuevamente doble click. Si deseamos crear un nuevo directorio seguramente vamos a necesitar que los administradores del sistema SAP nos otorguen los permisos necesarios.
2. Apertura de archivos en el Servidor:
OPEN DATASET <archivo> FOR <ACCESS> IN >MODE>.
Si la apertura del archivo es correcta, entonces Sy_SUBRC = 0 , caso contrario es 8.
El nombre del archivo y directorio pueden ingresarse por un literal entre comillass o 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.
Abrir un archivo para lectura :
la sentencia seria
OPEN DATASET <archivo> FOR INPUT IN TEXT <MODE>.
El archivo que se intenta abri debe existir, caso contrario SY-SUBRC=8. Si el ARCHIVO EXISTE y ESTÄ ABIERTO , el sistema se posicionará al comienzo del archivo.
Ejemplo
¨* Abrir Fichero de Lectura
OPEN DATASET p_patch FOR INPUT IN TEXT MODE ENCONDIG DEFAULT.
IF sy-subrc ne 0.
* error al abrir archivo
MESSAGE S000(z_prueba) WITH text-004
Else.
......
Endif
p_path es la variable con el parámetro de la pantalla de selección, en donde el usuairo ingresó archivo y directorio.
Es Recomendable cerrar todos los archivos que ya están abierto antes de realizar alguna acción con la OPEND DATASET.
Abrir un archivo para escritura:
OPEN DATASET <archivo> FOR OUTPUT IN TEXT <MODE>.
Tener en cuenta si :
El Archivo NO EXISTE, se Creará automáticamente.
Si EXISTE pero está cerrado, el contenido será sobreescrito.
Si EXISTE y ESTA Abierto, el sistema se posicionará al comienzo del archivo.
SI la Apertura se realiza correctamente , entonce el Sy_subrc será 0, caso contrario es 8.
SI Queremos Abrir un Archivo para Agregar Información, debemos utilizar la cláusula FOR APPENDING,
OPEN DATASET p_patch FOR APPENDING IN TEXT <MODE>
Tener en cuenta si :
El Archivo NO EXISTE, se Creará automáticamente.
Si EXISTE pero está CERRADO, el sistema lo ABRIRÄ y se posiconará al FINAL del mismo..
Si EXISTE y está ABIERTO , el sistema se posicionará al FINAL del archivo.
El SY-SUBRC siempre será 0.
Existen dos modos de apertura de Archivos:
.- MODO TEXTO: se utitliza IN TEXT MODE
ejemplo OPEN DATASET <archivo> FOR <Access> IN TEXT MODE ENCONDING DEFAULT
Si leemos o escribimos en un Archivo que ha sido ABIERTO EN MODO TEXTO, la información será transferida Línea a Línea. Y Debemos agregar la palabra reservada ENCONDING DEFAULT.
.- MODO BINARIO: Se utiliza la clausula IN BINARY MODE
OPEN DATASET <archivo> FOR <Access> IN BINARY MODE
Si leemos o escribimos información en un archivo que ha sido abierto en Modo Binario, la información es Byte a Byte.
3. Lectura de Archivos en el Servidor:
Se utiliza la sentencia 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-subrac es = 0, sino será 8.
AUDIO:
Con la transacción AL11 podemos acceder a los directorios de SAP del servidor e incluso abrir los archivos. Ingresando a la transacción se pueden ver todos los directorios disponibles. Haciendo doble click sobre cualquiera de ellos podemos ver los Archivos que hay adentro. Y si los archivos son de texto, incluso podemos ver su contenido haciendo nuevamente doble click. Si deseamos crear un nuevo directorio seguramente vamos a necesitar que los administradores del sistema SAP nos otorguen los permisos necesarios.
 
 
 
Sobre el autor
Publicación académica de Carlos Alberto Carreira, en su ámbito de estudios para la Carrera Consultor ABAP.
Carlos Alberto Carreira
Profesión: Consultor Técnico en Jde W.s. - Argentina - Legajo: KC15G
✒️Autor de: 92 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
🎓Egresado de los módulos:
Certificación Académica de Carlos Carreira