#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 =. |
#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. |
#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 . |
#4
|
|||
|
|||
Hola,
perdona pero no he entendido exactamente lo que necesitas. ¿Podrías ponerme un ejemplo con datos? Muchas gracias. |
#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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|