✒️ABAP Los archivos en el servidor y las sentencias OPEN y READ
ABAP Los archivos en el servidor y las sentencias OPEN y READ
Tratamientos de archivos en el servidor:
Las principales sentencias que dispone ABAP para el tratamiento de archivos ubicados 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.
CON LA TRANSACCION AL11 PODEMOS ACCEDER A LOS DIRECTORIOS DE SAP DEL SERVIDOR E INCLUSO ABRIR LOS ARCHIVOS. INGRESANDO A LA TRANSACCION VEMOS TODOS LOS DIRECTORIOS DISPONIBLES.
APERTURA DE ARCHIVOS:
OPEN DATASET: sentencia utilizada para la apertura de archivos.
OPEN DATASET <ARCHIVO> FOR <ACCESS> IN <MODE>.
Si la apertura del archivo se realizó de forma correcta, entonces SY-SUBRC será CERO, sino será OCHO.
El nombre del archivo junto con el directorio en donde se encuentra, pueden 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 se corre el servidor de aplicaciones.
Si queremos abrir un archivo para lectura, debemos utilizar la claúsula FOR INPUT.
OPEN DATASET <ARCHIVO> FOR INPUT IN TEXT <MODE>.
EL ARCHIVO QUE SE INTENTARA ABRIR DEBE EXISTIR, CASO CONTRARIO SY-SUBRC SERA OCHO. SI EL ARCHIVO EXISTE Y ESTA ABIERTO, EL SISTEMA SE POSICIONARA AL COMIENZO DEL ARCHIVO.
ES RECOMENDABLE CERRAR TODOS LOS ARCHIVOS QUE YA ESTAN ABIERTOS ANTES DE REALIZAR UNA REAPERTURA CON LA SENTENCIA OPEN DATASET.
Si queremos abrir un archivo para escritura, debemos usar la clásula FOR OUTPUT.
OPEN DATASET <ARCHIVO> FOR OUTPUT IN TEXT <MODE>.
SI EL ARCHIVO NO EXISTE SE CREARA AUTOMATICAMENTE.
SI EXISTE PERO ESTA CERRADO EL CONTENIDO SERA SOBREESCRITO.
SI EXISTE Y ESTA ABIERTO, EL SISTEMA SE POSICIONARA AL COMIENZO DEL ARCHIVO.
SI LA APERTURA SE REALIZA CORRECTAMENTE, ENTONCES EL SY-SUBRC SERA CERO, SINO OCHO.
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 CREARA AUTOMATICAMENTE.
SI EXISTE PERO ESTA CERRADO, EL SISTEMA LO ABRIRA Y SE POSICIONARA AL FINAL DEL MISMO.
SI EXISTE Y ESTA ABIERTO, EL SISTEMA SE POSICIONARA AL FINAL DEL ARCHIVO.
SIEMPRE EL SY-SUBRC SERA CERO.
Existen 2 modos de apertura de archivos:
MODO TEXTO: para abrir un archivo en modo texto, debemos utilizar la cláusla 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 INFORMACION 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 INFORMACION ES TRANSFERIDA BYTE A BYTE.
Lectura de archivos del servidor: READ_DATASET: sentencia para la lectura de archivos del servidor.
READ DATASET <ARCHIVO> INTO <ESTRUTURA>.
PARA DETERMINAR EN QUE VARIABLE DEBEMOS ALMACENAR LOS DATOS QUE LEEREMOS DEL ARCHIVO, DEBEMOS CONOCER LA ESTRUTURA DEL ARCHIVO QUE LEEREMOS. SI LA LECTURA SE REALIZO EN FORMA CORRECTA, EL SY-SUBRC SERA CERO, CASO CONTRARIO SERA OCHO.
 
 
 
Sobre el autor
Publicación académica de Jose Ignacio Rodini, en su ámbito de estudios para la Carrera Consultor ABAP.
Jose Ignacio Rodini
Profesión: Licenciado en Informatica - Argentina - Legajo: HM58N
✒️Autor de: 115 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Jose Rodini