PDA

Ver la Versión Completa : Matchcode download


SAPING
27/06/12, 13:34:44
Buenas.
Necesito descargar un txt en el servidor y necesito un matchcode para esto...
Actualemente estoy usando este codigo:

lf_location = 'A'.

* obtengo los servidores
CALL FUNCTION 'RFC_GET_LOCAL_SERVERS'
TABLES
hosts = lt_host
EXCEPTIONS
not_available = 1
OTHERS = 2.

IF sy-subrc IS INITIAL.

* Nombre del servidor a la estructura
CLEAR lw_host.
READ TABLE lt_host INTO lw_host INDEX 1.
IF sy-subrc <> 0.

CLEAR lw_host.

ENDIF.

ENDIF.

* abro la ayuda de busqueda segun corresponda pc o servidor
CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
EXPORTING
i_location_flag = lf_location
i_server = lw_host-name
IMPORTING
o_path = pa_path2
EXCEPTIONS
rfc_error = 1
error_with_gui = 2
OTHERS = 3.
IF sy-subrc IS NOT INITIAL.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

El tema es que si o si me pide seleccionar un archivo, y yo lo que quiero es la carpeta...
Alguien sabe que funcion me permite hacer esto?.

Gracias.

crounly
27/06/12, 13:39:41
Prueba con la clase CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE

*&---------------------------------------------------------------------*
*& Form SUB_DIRECTORY_SELECT
*&---------------------------------------------------------------------*
* Browse through the Directories and get the user selection
*----------------------------------------------------------------------*
* -->P_DIR directory
*----------------------------------------------------------------------*
FORM SUB_DIRECTORY_SELECT USING P_DIR TYPE LOCALFILE.

* Local Data

DATA: L_SEL_DIR TYPE STRING.


* Browse the Directories
CALL METHOD CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE
* EXPORTING
* WINDOW_TITLE =
* INITIAL_FOLDER =
CHANGING
SELECTED_FOLDER = L_SEL_DIR
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
OTHERS = 4
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
P_DIR = L_SEL_DIR.
ENDIF.


ENDFORM. " SUB_DIRECTORY_SELECT

SAPING
27/06/12, 14:29:47
Gracias, pero esa funcion la estoy usando para descargas locales... no me trae una pantalla como la del codigo que puse de ejemplo donde me muestre los directorios del server SAP.

Me muestra solo las carpetas locales y compartidas de red.
Por ejemplo, el otro codigo mostraba los archivos de una carpeta del tipo "/home/bztecc/Globalsis"

crounly
27/06/12, 15:40:08
Ok, lo siento.

He encontrado este hilo en el SCN de SAP:
- let the user select a folder (not a file) from the abap server

Igual te sirve, suerte

SAPING
27/06/12, 15:53:43
Ok, lo siento.

He encontrado este hilo en el SCN de SAP:
- let the user select a folder (not a file) from the abap server

Igual te sirve, suerte

BUENISIMO !!!!...

Era lo que buscaba...
Gracias !!!!!!!

SAPING
20/03/13, 14:50:15
No se porque, esta funcion que me sirvio en su momento, ahora me esta dando un Dump.

Si paso la funcion asi, me da el Dump:

CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING
directory = ' '
filemask = ' '
IMPORTING
serverfile = lv_file
EXCEPTIONS
canceled_by_user = 1
OTHERS = 2.

Pero si la uso asi me da ok:
CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING
directory = 'D:\usr\sap\'
filemask = ' '
IMPORTING
serverfile = lv_file
EXCEPTIONS
canceled_by_user = 1
OTHERS = 2.

No se porque ahora me pide que le pase el "Directory" si cuando la use anteriormente no me lo pedia.

Igualmente, si no le paso ese parametro, el Dump me lo da en el EXIT del código, luego del mensaje:

IF G_OK = NO.
MESSAGE E019(/SAPDMC/LSMW).
EXIT.
ENDIF.

Y la descripción dice:
Texto breve
Screen: Illegal message


??????????????????????

ballan
20/03/13, 16:48:14
Probad a utilizar esta

F4_DXFILENAME_TOPRECURSION

SAPING
20/03/13, 17:36:10
Ya use esa, pero da un error cuando el usr se pone a recorrer distintos paths del pop up que muestra para elegir la ruta, por eso uso la otra funcion.