✒️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
Las principales Sentencias:
OPEN DATASET Apertura de archivos del servidor
READ DATASET Lectura de achivos del servidor
TRANSFER tranferir archivos al servidor
DELETE borrar archivos del servidor
CLOSE Cerrar archivos del servidor
Con la transaccion AL11 podemos acceder al directorio disponibles en SAP e ingresar a los archivos.
Apertura de archivo
OPEN DATASET apertura de archivos.
OPEN DATASET <archivo> FOR <ACCESS> IN <MODE>
<archivo> .-puede ser variable o literal, si no se ingresa el directorio SAP intentara abrir el archivo en el directorio del servidor donde corre
el servidor de aplicaciones.
** Si la apertura se realizo correctamente el SY-SUBRC sera 0 , si no sera 8
**FOR INPUT para abrir un archivo en modo lectura.
OPEN DATASET <archivo> FOR INPUT IN <MODE>
**El archivo debe de existir , caso contrario el SY-SUBRC sera 8
Si el archivo existe y esta abierto , el sistema se posicionara al comiezo del archivo
Abrir Fichero para lectura
OPEN DATASET p_path FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
* Error al abrir el archivo
MESSAGE s000(z_prueba) WITH text-004.
ELSE.
**Es erecomendable cerrar todos los archivos que ya estan abiertos antes de realizar una re-apertura con la sentencia OPEN DATASET
Si queremos para escritura
OPEN DATASET <archivo> FOR OUPUT IN <MODE>
**Si no existe se creara automaticamente. Si existe pero esta cerrado el contenido sera sobre escrito , si existe y esta abierto el sistema se posicionara al comienzo del archivo , Si la apertura se realizo correctamente el SY-SUBRC sera 0 , si no sera 8
* Abrir Fichero para escritura
OPEN DATASET p_path FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
* Error al abrir el archivo
MESSAGE s000(z_prueba) WITH text-004.
ENDIF.
Si queremos agregar informacion utilizamos FOR APPENDING
OPEN DATASET <archivo> FOR APPENDING IN <MODE>
**Si no existe , lo creara . Si existe per esta cerrado lo abrira y se posicionara al final
Si existe y esta abierto se posicionara al final
Siempre el SY-SUBRC sera 0
* Abrir Fichero para agregar datos
OPEN DATASET p_path FOR APPENDING IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
* Error al abrir el archivo
MESSAGE s000(z_prueba) WITH text-004.
ENDIF.
Existen 2 modos de apertura
MODO TEXTO .- utilizamos IN TEXT MODE
OPEN DATASET <archivo> FOR <access> IN TEXT MODE ENCODING DEFAULT.
En este modo debemos agregar ENCODING DEFAULT.
* Abrir Fichero para lectura
OPEN DATASET p_path FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
* Error al abrir el archivo
MESSAGE s000(z_prueba) WITH text-004.
ELSE.
MODO BINARIO utilizamos IN BINARY MODE
OPEN DATASET <archivo> FOR INPUT IN BINARY MODE.
* Abrir Fichero para lectura
OPEN DATASET p_path FOR INPUT IN BINARY MODE.
IF sy-subrc NE 0.
* Error al abrir el archivo
MESSAGE s000(z_prueba) WITH text-004.
ENDIF.
Lectura de archivos del servidor
Utilizaremos READ DATASET para lectura de archivos del servidor.
READ DATASET <archivo> INTO <estructura>
**Para determinar las variables , debemos conocer la estructura del archivo
Si se leyo correctamente el SY-SUBRC sera 8
* Leo el fichero
DO.
READ DATASET p_path INTO st_archivo.
IF sy-subrc = 0.
MOVE-CORRESPONDING st_archivo TO ti_archivo.
APPEND ti_archivo.
CLEAR: ti_archivo, st_archivo.
ELSE.
EXIT.
ENDIF.
ENDDO.
 
 
 
Sobre el autor
Publicación académica de Fabian Samir Geldres Del Carpio, en su ámbito de estudios para la Carrera Consultor ABAP.
Fabian Samir Geldres Del Carpio
Profesión: Computación E Informatica - Peru - Legajo: XT66M
✒️Autor de: 51 Publicaciones Académicas
🎓Cursando Actualmente: Consultor Funcional Módulo PP
🎓Egresado del módulo:
Certificación Académica de Fabian Geldres