Matchcode Browser Server (buscador de directorios del servidor)

Con la siguiente función vamos a poder habilitar el matchcode para que abra un browser file (explorador de directorios) del servidor. Esto nos va a servir para hacer upload y download de archivos.

Acá el código que debemos ingresar en nuestros programas:

* Constantes locales
CONSTANTS:lc_p TYPE c VALUE ‘P’,
lc_a TYPE dxfields-location VALUE ‘A’.

* Variables locales
DATA: li_host TYPE STANDARD TABLE OF msxxlist,
lw_host TYPE msxxlist,
lv_path TYPE dxfields-longpath,
lv_ubicacion(1) TYPE c,
lv_abend  TYPE c.

*En P_FILE va a quedar guardada la ruta del archivo del servidor
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME.

*- Machcode busqueda de archivo del servidor
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

*-Nombre del servidor
CALL FUNCTION ‘RFC_GET_LOCAL_SERVERS’
TABLES
hosts         = li_host
EXCEPTIONS
not_available = 1
OTHERS        = 2.

IF sy-subrc IS INITIAL.

*-Nombre del servidor a la estructura
CLEAR lw_host.
READ TABLE li_host
INTO lw_host
INDEX 1.

*-Obtengo el path
CALL FUNCTION ‘F4_DXFILENAME_TOPRECURSION’
EXPORTING
i_location_flag = lc_a
i_server        = lw_host-name
IMPORTING
o_location_flag = lv_ubicacion
o_path          = lv_path
abend_flag      = lv_abend
EXCEPTIONS
rfc_error       = 1
error_with_gui  = 2
OTHERS          = 3.

*-Si se obtiene un path
IF sy-subrc    IS INITIAL AND
NOT lv_path IS INITIAL AND
lv_abend    IS INITIAL.

*-Devuelvo ruta al parametro de selección
p_file = lv_path.

ENDIF.

ENDIF.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: