ABAP: Ayuda de búsqueda personalizada

Para crear en ABAP: Ayuda de búsqueda personalizada, podemos hacerla mediante la transacción SE11 (de este modo formará parte del diccionario de datos) o podemos crear una ayuda de búsqueda personalizada en tiempo de ejecución.

En este ejemplo crearemos una ayuda de búsqueda personalizada con la función F4IF_INT_TABLE_VALUE_REQUEST:

Paso 1º: Asociar un MODULE al campo de la dympro

Esto lo haremos en el PROCESS ON VALUE_REQUEST, nuestro modulo se llamara F4_HELP y lo asociaremos a nuestra campo de la dympro llamado ZCLIENTES-LIFNR.

Paso 2º: Crear MODULE

Una vez hecho esto, crearemos el MODULE haciendo doble clic sobre el (lo incluiremos en un include):

 

Paso 3º: Obtener datos que se mostrarán en la ayuda de búsqueda

En este caso queremos mostrar el número de acreedor y nombre, así que realizaremos la consulta e incluiremos los datos en una tabla interna.

 

Paso 4º: Informar los valores de la ayuda de búsqueda

Para ello nos crearemos un tipo llamado t_valores con un campo CHAR de longitud 40 e insertaremos los resultados de nuestra consulta.

 

Paso 5º: Informar de las columnas que aparecerán en el Match-code

En este caso nuestro match-code mostrara dos columnas:

  • LIFNR (Número de acreedor)
  • NAME1 (Nombre)

 

Paso 6º: Llamar a la función que mostrará el Pop-Up con la Ayuda de Búsqeda

Llamaremos a la función F4IF_INT_TABLE_VALUE_REQUEST la cal mostrará la ayuda de búsqueda y nos devolverá el valor elegido por el usuario.

Utilizaremos los siguientes parámetros:

  • RETFIELD: Campo que nos devolverá la función (En este paso pondremos LIFNR para que nos devuelva el Número de acreedor)
  • WINDOW_TILE: Titulo del Pop_Up
  • VALUE_ORG: Por defecto se informa el valor ‘C’
  • VALUE_TAB: Tabla con el contenido que mostrará el Pop-Up
  • FIELD_TAB: Tabla con las columnas que mostrará el Pop-Up
  • RETURN_TAB: Tabla que nos devolverá el dato elegido por el usuario.

 

Paso 7º: Asignar valor a nuestro campo

Por último, para recoger el valor seleccionado por el usuario leeremos la tabla li_return y asignaremos el valor del campo LIFNR a nuestro campo.

Con esto ya tendremos finalizada nuestra Ayuda de Búsqueda personalizada.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *