11.1.1.1 BAdI en búsqueda por documento FI/eDocument
En este punto se tratará la creación de una ampliación BAdI de pantalla para la pestaña del Cockpit "Búsqueda por documento FI/eDocument".
Dicha ampliación consistirá en añadir campos de select-option en el dynpro de selección de la pestaña "Búsqueda por documento FI/eDocument" y que además los valores introducidos en los mismos sean considerados como filtro durante la ejecución.
Paso 1. Creación de la ampliación
A través de la transacción SE18 accedemos al punto de ampliación /EDGE/SII_COCKPIT. Dentro del mismo accedemos a la BAdI /EDGE/BADI_SII_COCKPIT_SEL y creamos una implementación de la misma.
Una vez creada, accedemos a la opción "Ampliaciones de imagen" para ver el detalle de la imagen y el área de subscreen generadas. La imagen correspondiente a esta ampliación es la número 16. Junto a estos campos, podemos ver otros dos que se pueden completar llamados "Programa" y "Subscreen" que indicaremos como completar en un paso posterior.
Paso 2. Creación del grupo de funciones
A través de la transacción SE80 creamos un nuevo grupo de funciones y declaramos un subscreen de selección en el correspondiente include.
En el subscreen mencionado se introducen los campos select-options que se van a considerar en el dynpro y en la selección de datos posterior. En el ejemplo el campo considerado es BKPF-BKTXT (texto de cabecera de documento financiero).
A continuación, dentro del grupo de funciones mencionado, se crea una nueva función con el objetivo de recuperar los valores introducidos en los select-options declarados en el subscreen del propio grupo de funciones (en el ejemplo, los valores de S_BKTXT).
Paso 3. Referenciación del grupo de funciones y creación de métodos en la ampliación
Una vez realizados los pasos anteriores hay que referenciar en la implementación de la BAdI el grupo de funciones y la subscreen creadas. El grupo de funciones siempre tiene que tener la nomenclatura SAPL* a la hora de indicarlo como programa.
En los métodos de la implementación deberemos programar la recuperación de los valores de los select-options que hayamos declarado y también el filtrado usando los valores recuperados. Los métodos a utilizar son los siguientes (solo se utilizan para la pestaña que estamos tratando):
En el primer método recuperamos los valores de los select-options a través de la función previamente desarrollada en el punto 2 (Z_GET_DATA). Se muestra código para el ejemplo propuesto:
En el segundo se efectúa el filtrado de la información a mostrar a partir de los valores completados en los select-options. Se muestra código para el ejemplo propuesto: