✒️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
ARCHIVOS EN SERVIDOR: 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 es:
TRANSFER (estructura) TO ( archivo)
NOTA: 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
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-004.
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.
AUDIO:
¿?????? Transacción SG3Y: Podemos copiar un archivo alojado en el servidor en nuestra computadora. Basta con pasar la ruta completa del origen y del destino y elegir el modo de transferencia ASCII o Binario.
BORRADO DE ARCHIVOS DEL SERVIDOR
Utilizaremos la sentencia DELETE DATASET para borrar archivos del servidor de aplicaciones. Sintaxis:
DELETE DATASET (archivo)
NOTA: Para borrar un archivo previamente debemos abrirlo.
Si el borrado se realiza correctamente, entonces el SY-SUBRC será 0. Caso contrario será 4.
Ejemplo: * Borra el archivoIF 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. Sintaxis:
CLOSE DATASET (archivo)
NOTA: Es ampliamente recomendable realizar siempre el cierre de los archivos.
Ejemplo:
* Cierro el fichero
CLOSE DATASET p_path.
IF sy-subrc NE 0.
MESSAGE s000(z_prueba) WITH text-006.
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:
FORM abrir_ventana_archivos .
DATA: vl_file(500) TYPE c.
CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING
directory = p_path
filemask = '*'
IMPORTING
serverfile = vl_file
EXCEPTIONS
canceled_by_user = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
MOVE vl_file TO p_path.
ENDIF.
ENDFORM. " ABRIR_VENTANA_ARCHIVOS
Si ejecutamos el código anterior veremos el siguiente mensaje ya que no disponemos de un servidor de aplicaciones para probar.
Si lo tuviéramos, visualizaríamos una ventana de diálogo donde podremos buscar los archivos en el servidor.
 
 
 
Sobre el autor
Publicación académica de Alexander Castellanos, en su ámbito de estudios para la Carrera Consultor ABAP.
Alexander Castellanos
Profesión: Ingeniero de Sistemas - Colombia - Legajo: JS42A
✒️Autor de: 67 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Alexander Castellanos