✒️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 servicio
Se utiliza la sentencia TRANSFER para transferir datos desde los programas ABAP a los archivos ubicados en el servidor de aplicaciones. La sintaxis de la sentencia es la siguiente:
TRANSFER <estructura> TO <archivo>.
Nota: El modo en que se realiza la transferencia de info corresponde al modo de apertura del archivo. Si el archivo no está abierto para escritura, el sistema intenta abrirlo en BINARY MODE o utilizando la última ejecución de la sentencia OPEN DATASET.
Ejemplo:
OPEN DATASET p_path FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
MESSAGE s000(z_prueba) WITH text-004.
ELSE.
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.
Nota: Con la transacción estándar CG3Y se puede copiar un archivo ubicado en el servidor en un equipo local, es muy sencilla utilizarla, sólo requiere la ruta completa de origen, la ruta de destino y el modo de transferencia que puede ser ASCII o BINARIO.
Borrado de archivos del servidor
Se utiliza la sentencia DELETE DATASET para borrar archivos del servidor de aplicaciones. La sintaxis de la sentencia es la siguiente:
DELETE DATASET <archivo>.
Nota: Para borrar un archivo, se debe abrir previamente. Si el borrado se realiza correctamente, entonces el SY-SUBRC será 0. Caso contrario, será 4.
Ejemplo:
IF NOT p_borrar IS INITIAL.
DELETE DATASET p_path.
ENDIF.
Cierre de archivos del servidor
Se utiliza la sentencia CLOSE DATASET para cerrar archivos del servidor de aplicaciones. La sintaxis de la sentencia es la siguiente:
CLOSE DATASET <archivo>.
Nota: Es ampliamente recomendable realizar siempre el cierre de los archivos.
Ejemplo:
CLOSE DATASET p_path.
IF sy_subrc NE 0.
MESSAGE s000(z_prueba) WITH text-006.
ENDIF.
Búsqueda de archivos en el servidor
Se utiliza la función / SAPDMC / LSM_F4_SERVER_FILE para crear una ventana de navegación en el servidor de aplicaciones para poder seleccionar el archivo que se desea. Ejemplo:
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.
 
 
 
Sobre el autor
Publicación académica de Miguel Mauricio Sierra Cardona, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Mauricio Sierra Cardona
Profesión: Ingeniero de Desarrollo E Innovación - Colombia - Legajo: GN43E
✒️Autor de: 61 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Miguel Sierra