
==> TRATAMIENTO DE ARCHIVOS EN EL SERVIDOR (II):
C) Transferir datos de un programa al servidor => TRANSFER
TRANSFER <estructura> TO <archivo>.
Si el archivo no está abierto para escritura, el sistema intentará abrir en BINARY MODE o con OPEN DATASET.
D) Borrado de archivos del servidor => DELETE DATASET
DELETE DATASET <archivo>.
Para borrar un archivo deberemos haberlo abierto previamente. Si se borra correctamente sy-subrc será 0. De lo contrario será 4. Ejemplo:
IF NOT p_borrar IS INITIAL.
DELETE DATASET p_path.
ENDIF.
E) Cierre de archivos del servidor => CLOSE DATASET
CLOSE DATASET <archivo>.
IF sy-subrc NE 0.
MESSAGE s000 (z_prueba) WITH text-006.
ENDIF.
Se recomienda cerrar siempre los archivos.
F) Búsqueda de archivos en el servidor => /SAPDMC/LSM_F4_SERVER_FILE
Con esta función podemos crear una ventana de navegación en el servidor para poder seleccionar el archivo que deseamos. Ejemplo:
| |
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. |