F4if_int_table_value_request

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • XJerickX
    Junior Member
    • oct
    • 29

    #1

    F4if_int_table_value_request

    Tengo la siguiente duda estoy utilizando la funcion
    'F4IF_INT_TABLE_VALUE_REQUEST '
    Para mostrar la ayuda pero solo algunos campos, pero lo k yo kiero
    es k pueda funcionar para varios campos
    osea

    DATA: BEGIN OF lst_werks,
    werks TYPE mard-werks,
    name1 TYPE t001w-name1,
    END OF lst_werks.

    DATA: lst_match TYPE STANDARD TABLE OF DDSHRETVAL,
    cmp_ref TYPE string,
    title TYPE string.

    SELECT-OPTIONS: s_werks FOR mard-werks,
    s_lgort FOR mard-lgort.

    AT SELECTION SCREEN ON VALUE REQUEST s_werks-low.
    SELECT werks name1 INTO TABLE lst_werks
    FROM t001w.
    cmp_ref = 'werks'.
    title = 'Centro'.

    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    RETFIELD = cmp_ref
    WINDOW_TITLE = title
    VALUE_ORG = 'S'
    TABLES
    VALUE_TAB = lst_werks
    RETURN_TAB = lst_match.

    VALUE_TAB = <lst_werks> <--- no se si se puede pero quisiera que
    en vez de colocar el nombre de la tabla
    colocar una especie de variable o
    FIELD-SYMBOL que contenga el
    nombre de la tabla con los datos a
    mostrar, nose si me entienden?
    Pero gracias =.
  • jtristan
    Senior Member
    • oct
    • 240

    #2
    Puedes probar a pasarlo con un field-symbol. Lo único, no puedes pasar tablas con cabeceras. Sería algo así:

    FIELD-SYMBOLS: <tabla> type STANDARD TABLE.

    types: begin of lst_werks_type,
    werks TYPE mard-werks,
    name1 TYPE t001w-name1,
    END OF lst_werks_type.
    data: lst_werks type table of lst_werks_type.


    assign lst_werks to <tabla>.

    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    RETFIELD = cmp_ref
    WINDOW_TITLE = title
    VALUE_ORG = 'S'
    TABLES
    VALUE_TAB = <tabla>
    RETURN_TAB = lst_match.

    Por cierto, probando tu ejemplo, veo que tienes mal declarado los campos retfield, que tiene que ser del tipo DFIES-FIELDNAME y títulos que tiene que ser de tipo c.

    Espero que te valga.

    Un saludo.

    Comentario

    • XJerickX
      Junior Member
      • oct
      • 29

      #3
      Pues si tu ejemplo me vino como anillo al dedo me quedo bien, pues ahora si no seria mucha molestia.

      Sabemos k en este ejemplo.
      WERKS --> Centro.
      LGORT --> Almacen.

      hay varios almacenes en un solo centro como le podria pasar el dato seleccionado en el select-options: s_werks, para utilizarlo en el:

      SELECT lgort lgobe INTO TABLE lst_lgort
      FROM t001l
      WHERE werks IN s_werks.

      Seria como cuando buscas un lugar especifico:
      Ejm.
      Pais: |_____|_|
      Departamento: |_____|_|
      Provincia: |_____|_|

      Pero de por si muchas gracias ya me aliviaste mucho esta carga jtristan .

      Comentario

      • jtristan
        Senior Member
        • oct
        • 240

        #4
        Hola,

        perdona pero no he entendido exactamente lo que necesitas. ¿Podrías ponerme un ejemplo con datos?

        Muchas gracias.

        Comentario

        • XJerickX
          Junior Member
          • oct
          • 29

          #5
          Ah no te preocupes ya consegui lo queria hacer que era:

          En un:
          Select-options: s_werks for mard-werks.
          Me mostrara los centros(mard-werks) y sus descripciones para capturar el codigo de un centro.

          Luego en el otro:
          Select-options: s_lgort for mard-lgort.
          Luego en este me mostrara solo los almacenes (mard-lgort) relacionados con ese centro.
          Y no sabia como capturar el valor del 's_werks' pero solo la pase a una variable y normal lo acepto pero = gracias sin tu ejemplo anterior no lo hubiera podido terminar.

          Originalmente publicado por jtristan
          Hola,

          perdona pero no he entendido exactamente lo que necesitas. ¿Podrías ponerme un ejemplo con datos?

          Muchas gracias.

          Comentario

          Trabajando...