✒️ABAP Los archivos en el servidor y las sentencias OPEN y READ
ABAP Los archivos en el servidor y las sentencias OPEN y READ
1. TRATAMIENTO DE ARCHIVOS EN EL SERVIDOR
-----------------------------------------------------------------------
- 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.
Tip
Con la transacción AL11 podremos acceder a los directorios de SAP del Servidor incluso abrir los archivos, ingresando a la transacción veremos todos los directorios disponibles incluso podremos ver su contenido, si haciendo doble clic sobre cualquiera de ellos podemos ver los archivos que hay adentro, si los archivos son de texto, podemos ver su contenido nuevamente haciendo doble clic.
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
---------------------------------------------------------------------
Utilizaremos la sentencia
- OPEN DATASET: para la apertura de archivos del servidor.
La sintaxis de la sentencia es la siguiente:
OPEN DATASET <archivo> FOR <ACCESS>IN <MODE>
Para abrir un archivo para lectura, debemos utilizar la cláusula FOR INPUT, tal como
vemos a continuación:
OPEN DATASET <archivo> FOR INPUT IN TEXT<MODE>
El archivo que se intenta abrir deberá existir, caso contrario si el archivo existe y está abierto, el sistema se posicionará al comienzo del mismo.
Ejemplo:
* 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.
Si lo que queremos es abrir un archivo para escritura debemos utilizar la cláusula FOR OUTPUT
OPEN DATASET <archivo> FOR OUTPUT IN TEXT <MODE>
Ejemplo:
* 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.
Abrir archivo para agregar información se usa la cláusula FOR APPENDING
OPEN DATASET <archivo> FOR APPENDING IN TEXT <MODE>
Ejemplo:
* 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.
Hay dos modos de apertura de archivos:
MODO TEXTO
Para abrir un archivo en modo texto, debemos utilizar la cláusula IN TEXT MODE, tal como vemos a continuación:
OPEN DATASET <archivo> FOR <ACCESS> IN TEXT MODE ENCODING DEFAULT.
Ejemplo:
* 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
OPEN DATASET <archivo> FOR <ACCESS> IN BINARY MODE.
Ejemplo:
* 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.
3. LECTURA DE ARCHIVOS DEL SERVIDOR
-----------------------------------------------------------------
Utilizaremos la sentencia READ DATASET para la lectura de archivos del servidor. La sintaxis de la sentencia es la siguiente:
READ DATASET <archivo> INTO <estructura>
 
 
 
Sobre el autor
Publicación académica de Jorge Iván Pérez Becerra, en su ámbito de estudios para la Carrera Consultor ABAP.
Jorge Iván Pérez Becerra
Profesión: Ing. de Sistemas E Informática - Peru - Legajo: WM39K
✒️Autor de: 41 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: PartTime
Presentación:
Ingeniero de sistemas e informática, actualmente trabajo como consultor funcional sap,módulos vms-dbm-sd, interesado en complementar conocimiento funcional con la parte técnica de sap.
Certificación Académica de Jorge Pérez