✒️ABAP Los archivos en el servidor y las sentencias TRANSFER, DELETE y CLOSE
ABAP Los archivos en el servidor y las sentencias TRANSFER, DELETE y CLOSE
Transferencia de archivos al servidor
Utilizaremos la sentencia TRANSFER para transferir datos desde nuestros programas ABAP a los archivos ubicados en el servidor de aplicaciones.
La sintaxis de la sentencia es la siguiente:
TRANSFER <estructura> TO <archivo>.
El modo en que se realiza la transferencia de información se corresponde con el modo de apertura del archivo.
Si el archivo no está abierto para escritura, el sistema intentará abrirlo en BINARY MODE o utilizando la última ejecución de la sentencia OPEN DATASET.
Veamos un ejemplo:
* Abrir Fichero
OPEN DATASET p_path FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
MESSAGE s000(z_prueba) WITH text-012 p_path.
ELSE.
* Transfiero los datos al fichero
st_archivo-dni = '27654315'.
st_archivo-nombre_ape = 'Ricardo Alvarez'.
st_archivo-estado_usu = 'A'.
st_archivo-direccion = 'Lavallol 1454'.
st_archivo-codigo_postal = '1568'.
st_archivo-f_nacimiento = '19781097'.
st_archivo-estado_civil = 'S'.
TRANSFER st_archivo TO p_path.
Borrado de archivos del servidor
Utilizaremos la sentencia DELETE DATASET para borrar archivos del servidor de aplicaciones.
La sintaxis de la sentencia es la siguiente:
DELETE DATASET <archivo>.
Para borrar un archivo, previamente debemos abrirlo.
Si el borrado se realiza correctamente, entonces el SY-SUBRC será 0.
Caso contrario, será 4.
Veamos un ejemplo:
* Borra el archivo
IF NOT p_borrar IS INITIAL.
DELETE DATASET p_path.
ENDIF.
Cierre de archivos del servidor
Utilizaremos la sentencia CLOSE DATASET para cerrar archivos del servidor de aplicaciones.
La sintaxis de la sentencia es la siguiente:
CLOSE DATASET <archivo>.
Es ampliamente recomendable realizar siempre el cierre de los archivos.
Veamos un ejemplo:
* Cierro el fichero
CLOSE DATASET p_path.
IF sy-subrc NE 0.
MESSAGE s000(z_prueba) WITH text-013.
ENDIF.
Búsqueda de archivos en el servidor
Utilizando la función /SAPDMC/LSM_F4_SERVER_FILE podemos crear una ventana de navegación en el servidor de aplicaciones
para poder seleccionar el archivo que deseamos. Veamos un ejemplo de su utilización:
DATA: vl_file(500) TYPE c.
IF p_path IS INITIAL.
p_path = '/usr/sap/tmp/'.
ENDIF.
CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING
directory = p_path
filemask = '*'
IMPORTING
serverfile = vl_file
EXCEPTIONS
canceled_by_user = 1
OTHERS = 2.
Si ejecutamos el código anterior veremos el siguiente mensaje ya que no disponemos de un servidor de aplicaciones para probar.
 
 
 
Sobre el autor
Publicación académica de Alex Francisco Lemos Collazos, en su ámbito de estudios para la Carrera Consultor ABAP.
Alex Francisco Lemos Collazos
Profesión: Ingeniero en Sistemas - Colombia - Legajo: QS36A
✒️Autor de: 174 Publicaciones Académicas
🎓Cursando Actualmente: Master S/4HANA Material Management
🎓Egresado de los módulos:
- Máster Material Management en SAP S/4HANA LOGISTIC
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Inicial