Truco 6. Ampliacion de ayudas de busqueda (Matchcode).


En muchas ocasiones, las ayudas de busqueda estandar de Sap (Matchcode), a las que accedemos como ayuda para completar los valores de los campos pulsando la tecla de función F4, son insuficientes para nuestras necesidades o no tienen en cuenta cosas tan obvias como no incluir registros que tienen peticiones de borrado.

Para estas ocasiones, tenemos la posibilidad de definir nuestras propias ayudas de búsqueda (Z) e incluirlas como una ayuda adicional en las ayudas estandar. Las ayudas estandar suelen ser ayudas complejas que incluyen varias ayudas simples, que podemos ir seleccionando según nuestras necesidades (en la imagen, podeís ver las ayudas de búsqueda disponibles cuando estamos dando de alta datos maestros de cliente a través de la transacción XD01).

Como ejemplos de ayudas de búsqueda que habitualmente se van a tener que definir en el sistema, tenemos:

  • Administración de personal: búsqueda por el segundo apellido, ya que es muy frecuente empleados con los mismos apellidos, y este tipo de búsqueda no esta incluido en el estandar.
  • Datos maestros: ayudas de búsqueda que excluyan registros con petición de borrado. Esto puede aplicar a proveedores, clientes, materiales, etc.
  • Busqueda por otros criterios: en muchas ocasiones nos puede interesar buscar por otros criterios que no son estandar, campos de cliente u otros campos estandar que andan perdidos en los datos maestros pero por los que nos interesa realizar búsquedas.
  • Ayudas personalizadas: también podremos incluir ayudas que ataquen a tablas Z o a vistas de datos estandar y tablas de cliente. Por ejemplo, en un sistema con control de imputaciones por cuentas contables, incluir una ayuda de búsqueda que nos indique, por cuenta contable, donde podemos imputar (tirando de tablas de cliente).

Los pasos para la creación de una ayuda de búsqueda y su inclusión en la estandar serían los siguientes:

  1. Asegurarnos que las ayuda de búsqueda estandar no cumplen con los requerimientos que necesitamos en la instalación.
  2. Localizar el nombre de la ayuda de búsqueda estandar asociada a un determinado campo. Para ello, tendremos que investigar, pues la ayuda puede estar asociada en la definicion de la tabla donde se utiliza el campo (transacción SE11), a nivel de la dynpro (pulsando F1 sobre el campo podremos localizarla) o bien a nivel de elemento de datos (también se accede desde la SE11)
  3. Definir los campos por los que queremos buscar y localizar las tablas donde se encuentran.
  4. Crear la ayuda de búsqueda (partiendo desde cero o bien utilizando como modelo una de las ayudas estandar). La creación de las ayudas se realiza desde la transacción SE11.
  5. La creación de la ayuda de búsqueda puede llevar aparejado también la creación de una vista de acceso a datos, que incluya los campos/tablas que necesitamos para nuestro proposito. Esto se hace también desde la transacción SE11.
  6. Verificación de la ayuda e inclusión como ayuda adicional en la ayuda estandar. Este paso permitirá que la ayuda creada este disponible en el sistema como una ayuda mas, y al desplegar las disponibles, nos aparezca la nuestra como un elemento mas en los matchodes.

EJEMPLO PRACTICO. BUSQUEDA DE EMPLEADOS POR EL SEGUNDO APELLIDO.

En nuestro ejemplo, vamos a crear una ayuda de búsqueda por segundo apellido para los datos maestros de empleados. Según los pasos que hemos descrito antes:

1. Revisión de las ayudas de búsqueda existentes, asegurandonos que ninguna cumple nuestras necesidades.

Entramos en la transacción PA20, y abrimos el matchcode sobre el campo Número de empleado. Tenemos disponibles varias ayudas de búsqueda, pero ninguna por este concepto.

2. Localizar la ayuda de búsqueda estandar.

Nos posiciones en el campo y pulsamos F1. En este caso, la ayuda de búsqueda esta definida en la dynpro, y se nos muestra en la información técnica del campo. Sino hubiera estado disponible la información ahí, hubieramos tenido que acudir a la definición de la tabla (RP50G en este caso) o bien al elemento de datos (PERNR_D) para buscarla.

Accedemos a la transacción SE11 y consultamos la ayuda PREM. Es una ayuda de búsqueda compuesta por varias ayudas simples (que son las que podemo seleccionar al buscar).

Vamos a tomar como modelo la ayuda de búsqueda PREMN, que es la más parecida a nuestras necesidades.

3. Localizar los campos por los que queremos buscar.

La información del segundo apellido del empleado se encuentra en la tabla PA0002, en el campo NACH2.

4. Creación de la ayuda de busqueda (ZPREMN).

Desde la transacción SE11 copiamos la ayuda PREMN en la nueva ayuda ZPREMN. Creamos la vista que incluye el campo que nos falta (como veremos en el paso 5), y realizamos el ajuste de los parámetros de la ayuda como sigue:

En la columna PosS indicamos los campos los campos que aparecen en la ayuda de búsqueda cuando entramos a ella y en que orden. En este caso los campos son NCHMD (1er apellido), NACH2 (2º apellido) y VNAMC (nombre). Son los campos que nos permiten restringir los resultados de búsqueda.

En la columna P.I indicamos los campos que aparecen en los resultados de búsqueda y en que orden. El campo PERNR (número de empleado) esta marcado en la columna EXP como valor de retorno al campo donde se este utilizando la ayuda de búsqueda.

En la ayuda se pueden definir otros parámetros, como el tipo de dialogo cuando se ejecuta la ayuda, si tenemos una tecla de acceso rápido o una exit asociada a la ayuda (para permitir otro tipo de personalizaciones).

5. Creación de la vista asociada a la ayuda de búsqueda.

La ayuda requiere una nueva vista, como hemos indicado, pues tiene campos que no tenemos disponibles en la vista M_PREMN (que es la que utiliza la ayuda PREMN). Para ello, creamos la vista ZM_PREMN como copia de la mencionada, y añadimos el campo NACH2.

En este caso no es necesario, pero en otros puede ser necesario incluir nuevas tablas, campos y las correspondientes relaciones entre las tablas existentes para definir correctamente la vista.

6. Asignación de la ayuda en la ayuda estandar.

En la transacción SE11, modificamos la ayuda estandar PREM, e incluimos la ayuda creada. Es fundamental para que funcione correctamente realizar la Asignación de parámetros, que es el enlace entre la ayuda de búsqueda simple (la que hemos creado) y la ayuda de búsqueda compuesta donde se incluye.

A partir de este momento, la ayuda ya esta disponible en todas las pantallas de las transacciones donde se utilize la ayuda PREM. Bastara seleccionarla entre las disponibles e indicar los criterios de búsqueda. La ayuda nos permite buscar por el segundo apellido y visualizar también este dato en los resultados de búsqueda.

Otra utilidad más que nos va a sacar de algún apuro y que nos va a permitir personalizar nuestro sistema Sap y sobre todo,  hacerle al usuario más rápidos los procesos de búsqueda.

Esta entrada fue publicada en Sap Basis, Sap HR. Guarda el enlace permanente.

27 respuestas a Truco 6. Ampliacion de ayudas de busqueda (Matchcode).

  1. Pingback: Resumen. Opciones de personalización en nuestro sistema Sap. « Notas y trucos SAP (Bitacora)

  2. Mikel Muñoz dijo:

    Hola, antes que nada felicidades por la página en sí y también por esta explicación concreta sobre las Ayudas de Búsqueda. Sin embargo me ha quedado una duda: en el último punto, el 6, «Asignación de la ayuda en la ayuda estandar», a mí el sistema me pide la clave de acceso del Oss. Mi pregunta es, ¿estoy haciendo mal este paso – cambio a modo Modificar y es cuando me pide la clave de objeto Oss – o es necesario registrar el objeto (con lo que luego, por ejemplo en un cambio de versión, el objeto quedará como modificado respecto al estándar)?
    Gracias y un saludo.
    Mikel Muñoz

    • Aunque te pida una clave OSS. realmente no es una modificación del estandar. La ayuda la habras creado como una Z, y al asignarla a la estandar haces que este disponible para los usuarios, pero sin llegar a tocar el estandar (es lo que llama ampliaciones).

  3. Lupita dijo:

    Hola acabo de leer tu página y veo que no andaba tan perdida es un alivio saber que lo que hice esta correcto.

    Pero tengo una pregunta:

    Hice mis vistas con las restricciones que necesitaba pero ahora debo hacer una no utilizando una constante sino una variable necesito utilizar al SY-DATUM para que me traiga todos los datos vigentes.

    Me puedes ayudar por favor?

    De ante mano agradezco mucho tu ayuda.

    • Hola Lupita:

      Cuando defines la ayuda de busqueda con la SE11, en los parametros tienes un campo que se llama Valor por Defecto. Hay puedes utilizar las variables de sistema y la que tu mencionas SY-DATUM. Asi pasas a la ayuda de busqueda un valor por defecto para recuperar valores que cumplan determinadas condiciones de fechas.

      Espero que te sirva

  4. Beatriz dijo:

    En realidad en el punto 6 no te hace falta la clave OSS. Puedes crear tu ayuda Z a través de la barra de herramientas: Pasar a–> Búsqu. Ayuda Append.

    Mi duda es ¿hay alguna forma de ponerte por defecto tu ayuda de búsqueda Z*?
    Muchas gracias.

    • Hola Beatriz:

      Una vez utilizas la ayuda de busqueda tuya que has incluida en una ayuda de busqueda compuesta (la estandar), se queda como ayuda por defecto en tu usuario y siempre te mostrará esa cuando la utilices.

      Un saludo.

      • xeelite dijo:

        Hola, estoy de acuerdo con Beatriz.

        Para ampliar una ayuda estándar hay que acceder a Pasar a -> Búsqu. Ayuda Append. Desde aquí crearemos una ayuda colectiva Z en la que incluiremos todas las ayudas elementales para ampliar la estándar.

        De esta manera no hay que registrar el objeto.

        Un saludo.

  5. juan dijo:

    Hola, felicidades por la página.
    Tengo que modificar la ayuda de búsqueda del campo MATNR en la VA01,
    pero cuando presiono F1 sobre el campo no aparece ninguna ayuda de búsqueda…¿sabes como puedo obtenerla?.

    Gracias y un saludo.

  6. Lupita dijo:

    Siendo más específica deseo hacer una ayuda de búsqueda para que me traiga los centros de costes vigentes. Gracias.

  7. joaquin dijo:

    Necesito incluir un campo Z (Esta en una estructura append de la SKB1), en una ayuda de busqueda, lo he incluido tanto en la ayuda como en la vista y no soy capaz de que busque por dicho campo me devuelve todos los registros.

    Un Saludo

  8. Pingback: Los números de 2012 « Notas y trucos SAP (Bitacora)

  9. Edwar dijo:

    Excelente ayuda Felicidades!

  10. Tere dijo:

    Buen día:

    Felicidades por tu página, está muy bien explicado todo.
    Quiero preguntarte: ¿es posible agregar una Ayuda para Búsqueda Z (Ej. ZF4_TPBEZ) al campo TPBEZ de la Tabla Estándar VTTK?

    En caso de que sí, ¿de qué se requiere?

    Gracias de antemano, ¡Saludos!

    • Hola Tere:

      Si, si se puede. Seguramente partiras de una ayuda ya existente a la que querras añadir ese campo. Primero de todo hay que crear la vista (de la que luego tirara la ayuda de busqueda), con la SE11.

      Una vez creada la vista, el siguiente paso es crear la ayuda de busqueda tirando de esa vista, tal y como se describe en los ejemplos que tienes en el blog.

      Y el paso final es incluirla en la ayuda estandar para que te deje utilizarla.

      Sigue los pasos descritos en la entrada.

      Un saludo.

      • Tere dijo:

        Hola Roberto:

        De hecho este campo, como es de Texto, no tiene una Ayuda de Búsqueda estándar dada de alta en la tabla estándar VTTK. ¿Con clave de desarrollador se puede dar de alta esta ayuda Z ahí mismo? ¿O debiera ampliar la Ayuda para Búsqueda de otro campo, por ejemplo, el del Transportista (TDLNR)?

        Gracias y disculpa la molestia.

    • Hola Tere:

      Tendria que tener mas detalle de donde quieres meterlo. De todas formas, podrias crear la ayuda de busqueda e insertarla en el elemento de datos (en propiedades adicionales), aunque esto es una modificación del estandar (que no te recomiendo).

      Otra opción es donde utilices el campo, si ya tiene una ayuda de busqueda, ampliar esa ayuda con la tuya (siempre que la ayuda sea compuesta).

      Como ves, no es tan sencillo. Yo tiraria de un recurso ABAP o BASIS para que te ayudara con este tema.

      • Buenas tardes Roberto.

        Quería preguntarte cómo se podría agregar una ayuda de búsqueda Z al campo estándar CIIUCODE (este campo no tiene ayuda de búsqueda)? este campo lo usan dos tablas, la LFB1 y la KNB1.

        Quedo atento a tus comentarios.

  11. Lalo dijo:

    Hola! Excelente post! Aprovecho a consultar si existe la posibilidad de pre-filtrar los valores en una ayuda de búsqueda. Ej. en la carga de acreedores, necesito que al desplegarse el matchcode de tipo fiscal los valores se encuentre prefiltrado (según rango de id) en base al país del acreedor. Es posible?
    Gracias!

  12. Claudio Othaheguy dijo:

    Hola buen dia, hice un ayuda con copia a la Busqueda General de Deudores, agregandole un campo, Distrito, la vista tiene el dato, en la busqueda lo muestra, pero cualquier filtro que uses en esta nueva busqueda, al hacer el doble click no devuelve el valor a la pantalla.
    No se que mas puede ser.
    Desde ya muchas gracias!!!

    • Claudio Othaheguy dijo:

      Listo ya lo solucione, Faltaba desde la Ayuda principal DEBI, agregar los parametros (ASig.Parametros), parametro referencia KUNNR (cod de cliente)

  13. Ejbejar dijo:

    Buenas tardes, necesito cambiar el search help de materiales el MAT1 para que solo muestre los materiales por centro mediante el rol del usuario. Si alguien lo ha hecho, por favor comentenme. De antemano gracias.

  14. sariascasal dijo:

    Buenos Días Roberto,

    Estoy adicionando una ayuda de Búsqueda Simple a la ayuda de búsqueda MAT1, el tema es que despliega la ayuda pero al seleccionar el material no mueve el valor al campo de entrada Material. Creo que el problema es en la asignación de componentes. Me podrías indicar como realizarla?
    Gracias de antemano

  15. Grover dijo:

    Hola Roberto, interesante esta aportación, podrías apoyarme de acuerdo a tu experiencia si es posible agregarle una ayuda de búsqueda Z al campo AFNAM tanto para la solicitud de pedido y pedido de compras sin modificar la estructura del estándar, y si es posible cual serian esos pasos de configuración.

    Gracias.

    Saludos.

  16. Antonio García dijo:

    Buen día, gracias por todas las aportaciones. En esta en concreto no me queda claro cómo elegir la «pestaña» por defecto para la ayuda de búsqueda. Es decir, que en lugar que abra la pestaña «X» abra primero nuestra «Z». Y voy mas allá… si se accediera desde un IDOC elegir otra ayuda de búsqueda para que abra por defecto solo en este caso. ¿Me explico? Estaba dándole vueltas y no veo como configurar esto, si es que se puede.

    Gracias por todo.

    Un saludo

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.