En el programa de extracción (/EDGE/PR_SL_EXTRACTOR) se ha creado una BAdI de ampliación de pantalla para poder añadir más campos de select-options en la pantalla de selección del programa.
Paso 1. Creación de la ampliación
A través de la transacción SE18 accedemos al punto de ampliación /EDGE/SL_MONITOR_EXTRACTOR. Dentro del mismo accedemos a la BAdI /EDGE/BADI_SL_SILICIE_MON_EXT 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 2. 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.
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.
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.