F4_DXFILENAME_4_DYNP Matchcode Ruta Servidor

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • nievesmp
    Member
    • abr
    • 95

    #1

    F4_DXFILENAME_4_DYNP Matchcode Ruta Servidor

    Buenos días!

    Tenemos un programa z para descargar ficheros desde en servidor, que funciona correctamente.

    El problema está al pulsar el matchcode que descarga la ruta a seleccíonar del servidor, un caso extraño.. detallo:

    1.- A partir de la ruta por defecto navego hacia atras en el directorio con ..
    2.- Sigo yendo hacia atrás con " .. " hasta llegar al directorio raiz.
    3.- Luego avanzo un directorio hacia adelante por Ej. /INTERFACES/
    4.- Hasta ahí todo perfecto, incluso podría seleccionar un fichero.
    5. Pero cuando se intenta avanzar otro hacia adelante, ej. /out/ :
    Salta el siguiente error: "Error. Selección de Fichero Cancelada" y se sale del matchcode y no permite seleccionar un fichero.

    La función que está asociada al matchcode para la selección de la ruta es:

    CALL FUNCTION 'F4_DXFILENAME_4_DYNP'
    EXPORTING
    dynpfield_filetype = 'V_FILETYPE_APX'
    dynpfield_filename = 'V_FILENAME_APX'
    dyname = 'ZBX_TRASLADO_FICHERO'
    dynumb = '0600'
    location = 'A'
    server = v_server.

    Funciona correctamente menos el caso específico que he detallado más arriba, el error lo genera una función que está dentro de esta función, al debuggear el fallo viene de estándar, pero no he logrado encontrar ninguna nota asociado a este fallo!!

    Puede alguien orientarme sobre otra posible solución??? Es una incidencia del usuario al que debo darle salida, no es posible cambiar el directorio raiz por defecto ya que es un requerimiento de usuario.

    Gracias!!
  • jarabas
    Senior Member
    • ene
    • 109

    #2
    Hola.

    Seguro que ya lo habrás pensado, probado e intentado todo, pero a priori se me ocurren 2 cosas.

    1º La ruta es demasiado larga para la variable.
    2º No estarás clickeando en el directorio, dejándolo seleccionado y sin entrar y seleccionar un archivo, estas pulsando aceptar y por eso te arroja el error que comentas? (al ser directorio y no archivo)

    Insisto en que probablemente lo que te estoy proponiendo es lo primero que has probado y descartado.

    Ya nos contarás como lo has solucionado para que nos sirva para futuras ocasines a todos.

    has probado si te pasa haciéndolo de esta manera?

    * Nombre del servidor
    CALL FUNCTION 'RFC_GET_LOCAL_SERVERS'
    TABLES
    hosts = l_host
    EXCEPTIONS
    not_available = 1
    OTHERS = 2.

    IF sy-subrc IS INITIAL.

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

    * Obtengo el path
    CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
    EXPORTING
    * en i_location_flag:
    * si pones 'A' se visualizan el servidor
    * si pones 'P' ves el navegador local
    * si no pones se saldrá un pop up para que elijas entre los dos
    i_location_flag = l_location_flag
    i_server = lw_host-name
    IMPORTING
    o_location_flag = l_ubicacion
    o_path = l_path
    abend_flag = l_abend
    EXCEPTIONS
    rfc_error = 1
    error_with_gui = 2
    OTHERS = 3.

    * Si se obtiene un path
    IF sy-subrc IS INITIAL AND
    NOT l_path IS INITIAL AND
    l_abend IS INITIAL.

    ELSE.
    * Devuelvo ruta al parametro de selección
    CLEAR l_path.
    ENDIF.
    ENDIF.

    Un saludo.
    Editado por última vez por jarabas; 23/01/2012, 18:44:21.

    Comentario

    • nievesmp
      Member
      • abr
      • 95

      #3
      La función que mencionas es la que utilizo.

      El fallo se producía porque al navegar más de 8 popups salta error en la función incluida dentro de la misma (F4_DXFILENAME).

      Encontré una Nota relativa, la 1080499 SXDA: F4 help recursion GUI Error.

      Pero ya está implementada, y tiene un nivel máximo de 8 popups, por lo que no me va a servir esta función.

      Ahora estoy intentando que funcione un Matchcode a partir de una ruta específica que yo le indique (en el host) y no a partir del servidor raiz.

      ¿Ha hecho alguien algo parecido con un MatchCode?

      Comentario

      Trabajando...