✒️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
Lección 5. Archivos en Servidor: Sentencias TRANSFER, DELETE y CLOSE.
1.- Transferencia de archivos al servidor.
Utilizaremos la sentencia TRANSFER para transferir datos desde nuestro programas ABAP a los archivos ubicados en el servidor de aplicaciones.
TRANSFER <structura> 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 intentara abrirlo en BINARY MODE o utilizando la última ejecución se la sentencia OPEN DATASET
*Abrir Fichero
OPEN DATASET p_path FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-sybrc NE 0.
MESSAGE s000(z_prueba) WITH text-004.
ELSE.
*Transfiero los datos al fichero
St_archivo-dni = ‘27272727’.
St_archivo-nombre_ape = ‘Juan’.
St_archivo-estado_usu = ‘A’.
St_archivo-direccion = ‘la calle’.
St_archivo-codigo_postal = ‘0870’.
St_archivo-f_nacimiento = ‘20170120’.
St_archivo-estado_civil = ‘S’.
TRANSFER st_archivo TO p_path.
Con la transacción CG3Y podemos copiar un archivo alojado en el servidor a nuestro PC.
2.- Borrado de archivos al servidor.
Utilizaremos la sentencia DELETE DATASET para borrar archivos.
DELETE DATASET <archivo>
Para borrar un archivo, previamente debemos abrirlo.
Si el borrado se realiza correctamente, entonces el SY-SUBRC será 0 si no, será 4.
*Borra el archivo.
IF NOT p_borrar IS INITIAL.
DELETE DATASET p_path.
ENDIF.
3.-Cierre de archivos al servidor.
Utilizaremos la sentencia CLOSE DATASET para cerrar archivos del servidor de aplicaciones.
CLOSE DATASET <archivo>.
Es recomendable realizar siempre el cierre de los archivos.
*Cierro el archivo
CLOSE DATASET p_path.
IF sy-sybrc NE 0.
MESSAGE s000(z_prueba) WITH text-006.
ENDIF.
4.-Busqueda de archivos al 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.
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 IF 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 Juan Hernández, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Hernández
Profesión: Programador Informático - España - Legajo: XQ15K
✒️Autor de: 125 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: PartTime
Certificación Académica de Juan Hernández