✒️ABAP Los archivos en el servidor y las sentencias OPEN y READ
ABAP Los archivos en el servidor y las sentencias OPEN y READ
Unidad n°6: El tratamiento de archivos y los Fields Symbols
Lección n°4: Los archivos en el servidor y las sentencias OPEN y READ
El tratamiento de archivos en el servidor:
En el ambiente de trabajo de SAP, es común el uso de un servidor de aplicaciones para trabajar con archivos; por dos razones:
- Es común que la entrada de un proceso que se ejecutan en el sist. sea la salida de otro proceso que se ejecuta en el sistema, por lo que 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.
- A veces los archivos que generan los procesos que se ejecutan en el sist. son muy pesados, por lo que no sería posible almacenarlos en las computadoras locales.
ABAP tiene sentencias para el tratamiento de archivos ubicados en el servidor de aplicaciones:
- OPEN DATASET: para la apertura 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.
Ahora las veremos en detalle.
La apertura de archivos en el servidor:
Sentencia OPEN DATASET: para la apertura de archivo. Su sintaxis:
OPEN DATASET <archivo> FOR <ACCESS> IN <MODE>.
Si la apertura se hizo bien la var. SY-SUBRC será 0, caso contrario será 8.
En <archivo> especificaremos el nombre del archivo junco con el directorio donde se encuentra (se puede poner entre comillas o en una variable). Si no ingresamos el directorio en donde está el archivo y solo ingresamos el nombre, el sist. intentará abrir el archivo en el directorio en el que se se ejecuta el servidor de aplicaciones.
- Cláusula FOR INPUT: para abrir un archivo para lectura:
OPEN DATASET <archivo> FOR INPUT IN TEXT <MODE>.
EJ:
El p_path es un parám de la pantalla de selección en donde el usuario ingresa el directorio y nombre del archivo.
El archivo que se intenta abrir debe existir; en caso contrario, la var. SY-SUBRC será 8.
Si el archivo existe y está abierto, el sist. se posicionará al comienzo del archivo. - Cláusula FOR OUTPUT: para abrir un archivo para escritura:
OPEN DATASET <archivo> FOR OUTPUT IN TEXT <MODE>.
EJ:
Si el archivo no existe, se creará autom.
Si el archivo existe pero está cerrado, el contenido se sobrescribirá.
Si el archivo existe y está abierto, el sist. se posicionará al comienzo del archivo.
Si la apertura del archivo se hace bien, la var. SY-SUBRC será 0, en caso contrario, será 8. - Cláusula FOR APPENDIG: para abrir un archivo para agregar info:
OPEN DATASET <archivo> FOR APPENDIG IN TEXT <MODE>.
EJ:
Si el archivo no existe, se creará autom.
Si el archivo existe pero está cerrado, el sist. lo abrirá y se posicionará al final del mismo.
Si el archivo existe y está abierto, el sist. se posicionará al final del archivo.
En todos los casos anteriores, siempre la var. SY-SUBRC será 0.
Existen dos modos de apertura de archivos en el servidor de aplicaciones SAP:
- Modo texto: usaremos la cláusula IN TEXT MODE:
OPEN DATASET <archivo> FOR INPUT IN TEXT MODE ENCODING DEFAULT.
EJ:
Si leemos o escribimos en un archivo que ha sido abierto en modo texto, la info es transferida línea a línea.
Si usamos el modo texto debemos agregar la palabra reservada ENCODING DEFAULT. - Modo binario: usaremos la cláusula IN BINARY MODE:
OPEN DATASET <archivo> FOR <ACCESS> IN BINARY MODE.
EJ:
Si leemos o escribimos en un archivo que ha sido abierto en modo binario, la info es transferida byte a byte.
La lectura del archivo del servidor:
Usaremos la sentencia READ DATASET para la lectura de archivos del servidor de aplicaciones:
READ DATASET <archivo> INTO <estructura>.
Para determinar en que var. debemos almacenar los datos que leeremos del archivo, debemos conocer la estructura de éste.
Si la lectura se hizo bien, la var. SY-SUBRC será 0, en caso contrario será 8.
EJ:
 
 
 
Sobre el autor
Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.
Candela Estefanía Calzada
Profesión: Técnica Electrónica - Argentina - Legajo: JW91W
✒️Autor de: 160 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.
Certificación Académica de Candela Calzada