Ayuda de busqueda dependiente de valores entrada

Hola a todos!
Estoy creando una pantalla de selección y me gustaría que los matchcode de los campos no fuesen simples, es decir, que mostrasen los posibles valores del campo teniendo en cuenta los demás campos de entrada si ya se han completado.

¿alguien tiene experiencia con este tipo de objetos?
¿me podríais echar una mano?

Muchas gracias!

Caso: Se desea agregar un matchcode manual en un campo de una dynpro.

Solución: En el ejemplo, se busca mostrar en el matchcode sólo los proveedores de un Grupo de cuentas acreedor específico (ZPEE). Usamos la función F4IF_INT_TABLE_VALUE_REQUEST.
image

  1. Ingresamos para el campo en cuestión el código en la dynpro

image

  1. En el module, agregamos el siguiente código (mejor si queda dentro de un form)
  TYPES: BEGIN OF ty_lfa1,
    lifnr          TYPE lfa1-lifnr,
    name1          TYPE lfa1-name1,
  END OF ty_lfa1.
 
  DATA: lt_lfa1      TYPE TABLE OF ty_lfa1,
        lw_lfa1      TYPE ty_lfa1,
        lv_lifnr     type lfa1-lifnr,
        i_return     LIKE ddshretval OCCURS 0 WITH HEADER LINE.
 
  REFRESH lt_lfa1[].
  • Obtengo los servicios respectivos al contratista
  SELECT lifnr name1
    INTO CORRESPONDING FIELDS OF TABLE lt_lfa1
    FROM lfa1.
 
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = 'LIFNR'
      window_title    = 'Proveedores'
      value_org       = 'S'
    TABLES
      value_tab       = lt_lfa1
      return_tab      = i_return
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 2
      OTHERS          = 3.
 
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ELSE.
    READ TABLE i_return INDEX 1.
    MOVE i_return-fieldval TO lv_lifnr.
  ENDIF.
1 me gusta

hola @FRANK_ENCALAD
Gracias por tu respuesta. He revisado el contenido, pero me da la sensación de que es un matchcode sencillo, es decir, para un único campo. Lo que yo estoy buscando está basado en varios campos, es decir, que si tengo dos campos, y meto un valor para el primero de ellos, al desplegar los posibles valores del segundo campo se tenga en cuenta el valor del primer campo.
No sé si me explico correctamente.
Saludos!

Si te entiendo y lo que tu pides si se puede realizar, pero debes construir un matchcode ad-hoc (ayuda de busqueda) por la transaccion SE11 (Abap Diccionario de Datos) opción “Ayuda para búsquedas”.
En el siguiente link h__p://desarrollofacil.com/abap-crear-ayuda-de-busqueda-con-se11/
tienes un ejemplo de un matchcode simple, en tu caso lo que requieres es un matchode para “ayuda de búsqueda compleja”, ya que deberas pasar parámetros de una ayuda de búsqueda a otra (de un campo a otro campo). En la web busca ejemplos con el string “collective search help”

Saludos!

1 me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.