|
#1
|
|||
|
|||
Función para buscar carpetas en Servidor
Hola, necesito una función para seleccionar una carpeta (no archivo) del servidor. Una que funcione como la "TMP_GUI_BROWSE_FOR_FOLDER" pero para servidor. Muchas gracias
|
#2
|
|||
|
|||
Hola, fijate si esto te sirve: (si no es que entendi mal lo que necesitas) *&---------------------------------------------------------------------* *& Form F_TRAER_CONTENIDO *----------------------------------------------------------------------* * Adaptación / Copia de la función "RZL_READ_DIR_LOCAL" * * Descripción: * -La función RZL_READ_DIR_LOCAL devuelve el contenido del directorio * indicado con una extención de nombre de no mas de 32 caracteres. * La adaptación consiste en que devuelva el contenido del directorio * sin importar la extención del nombre *----------------------------------------------------------------------* * --> pe_name ruta del directorio a examinar * <-- te_archivos tabla que contiene el listado de objetos del dir. *----------------------------------------------------------------------* FORM f_traer_contenido TABLES te_archivos TYPE tt_tabla USING pe_name . *** El type utilizado es de acuerdo al declarado globalmente segun *** la necesidad de utilizacion de cada caso. *** En este caso es del siguiente tipo: * TYPES: BEGIN OF ty_tabla, * name TYPE char100, * size TYPE pfeflsize, * END OF ty_tabla. * * TYPES tt_tabla TYPE STANDARD TABLE OF ty_tabla. ********************************************************************** *** OBJETOS PROPIOS DE LA FUNCION "RZL_READ_DIR_LOCAL" ********************************************************************** DATA: BEGIN OF line_tbl OCCURS 100. INCLUDE STRUCTURE spflist. DATA: END OF line_tbl. DATA: loc_name(200). DATA: loc_dir(200). DATA: tmp_loc_dir(200). DATA: loc_dir_len TYPE i. DATA: full_name(400). DATA: ad_rzl TYPE i VALUE 20. "reserviert für RZ-Leitstand DATA: rzl_op_rd_dir TYPE i VALUE 14. " read directory ********************************************************************** IF pe_name <> space. loc_name = pe_name. loc_dir = pe_name. SHIFT loc_dir LEFT BY 2 PLACES. loc_dir_len = STRLEN( loc_dir ). loc_dir_len = loc_dir_len - 1. SHIFT loc_dir CIRCULAR LEFT BY loc_dir_len PLACES. IF loc_name(2) = '$(' AND loc_dir(1) = ')'. loc_dir(1) = space. SHIFT loc_dir CIRCULAR RIGHT BY loc_dir_len PLACES. CALL 'C_SAPGPARAM' ID 'NAME' FIELD loc_dir ID 'VALUE' FIELD loc_dir. IF sy-subrc = 0. full_name = loc_dir. ELSE. full_name = pe_name. ENDIF. ELSE. full_name = pe_name. ENDIF. ELSE. full_name = pe_name. ENDIF. REFRESH line_tbl. ************************************************************************ * Send Request, wait for Response ************************************************************************ CALL 'ALERTS' ID 'ADMODE' FIELD ad_rzl ID 'OPCODE' FIELD rzl_op_rd_dir ID 'FILE_NAME' FIELD full_name ID 'DIR_TBL' FIELD line_tbl-*sys*. ********************************************************************** *** WG_ARCHIVOS debe ser declarado del mismo tipo que se declaro el *** parametro TABLA de este form CASE sy-subrc. WHEN 0. LOOP AT line_tbl. wg_archivos-size = line_tbl(11). wg_archivos-name = line_tbl+12. APPEND wg_archivos TO tg_archivos. CLEAR wg_archivos. ENDLOOP. WHEN OTHERS. RAISE not_found. ENDCASE. ENDFORM. " F_TRAER_CONTENIDO |
#3
|
||||
|
||||
Hola,
la función RZL_READ_DIR_LOCAL te va servir. Saludos.
__________________
Sebastián Chiavia |
#4
|
|||
|
|||
Gracias por las respuestas pero quizas no me entendieron, necesito una función que funcione exactamente igual que la función "TMP_GUI_BROWSE_FOR_FOLDER" (dicha función ejecuta un POPUP con la opción de elegir la carpeta localmente) pero para el servidor. La función que me pasaron "RZL_READ_DIR_LOCAL" se usa para obtener los archivos de una carpeta del servidor. En este momento estoy utilizando la función "F4_DXFILENAME_TOPRECURSION" y al finalizar elimino el nombre del archivo. Pero me gustaría que haga directamente la selección de carpeta. Por favor el que haya hecho esto se lo agradecería. Saludos
|
#5
|
||||
|
||||
con esta función podes seleccionar carpetas del servidor /SAPDMC/LSM_F4_SERVER_FILE aunque también permite elegir archivos.
Espero te sirva. Saludos.
__________________
Sebastián Chiavia |
#6
|
|||
|
|||
ISU_M_GET_FILES_OF_DIR
Saludos
__________________
Ariel-StaFe Analista Programador Abap Senior Santa Fe Capital Pcia de Santa Fe Argentina |
Herramientas | Buscar en Tema |
Desplegado | |
|
|