MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 30/05/12, 13:11:44
matiasguillermon matiasguillermon is offline
Junior Member
 
Fecha de Ingreso: mar 2008
Mensajes: 6
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
Responder Con Cita
  #2  
Viejo 30/05/12, 14:10:58
SAPING SAPING is offline
Senior Member
 
Fecha de Ingreso: may 2010
Localización: Buenos Aires, Argentina
Mensajes: 199

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
Responder Con Cita
  #3  
Viejo 30/05/12, 14:27:12
Avatar de mysmb2
mysmb2 mysmb2 is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Cordoba
Mensajes: 406
Hola,
la función RZL_READ_DIR_LOCAL te va servir.
Saludos.
__________________
Sebastián Chiavia
Responder Con Cita
  #4  
Viejo 30/05/12, 14:48:09
matiasguillermon matiasguillermon is offline
Junior Member
 
Fecha de Ingreso: mar 2008
Mensajes: 6
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
Responder Con Cita
  #5  
Viejo 30/05/12, 18:04:30
Avatar de mysmb2
mysmb2 mysmb2 is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Cordoba
Mensajes: 406
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
Responder Con Cita
  #6  
Viejo 20/05/14, 17:00:11
Ariel-StaFe Ariel-StaFe is offline
Senior Member
 
Fecha de Ingreso: nov 2007
Localización: Santa Fe - Argentina
Mensajes: 321
ISU_M_GET_FILES_OF_DIR
Saludos
__________________
Ariel-StaFe
Analista Programador Abap Senior
Santa Fe Capital
Pcia de Santa Fe
Argentina
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 23:36:46.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web