En el caso que se quiera añadir campos de selección en la pantalla de selección por asientos o ficheros del monitor de B+ SILICIE, se deberá realizar una ampliación de imagen mediante la BADI /EDGE/BADI_SL_MONITOR_ENH.
En dicha BADI encontraremos dos imágenes a ampliar:
Para ampliarlas, crearemos una implementación BADI sobre esta, por ejemplo:
- En el punto 1 (Programa), indicaremos un módulo de funciones que nos crearemos Z. Dicho módulo de funciones contendrá las dynpros con los campos que queramos añadir en la pantalla de selección. A continuación el ejemplo de este módulo de funciones:
1 - Nos creamos un include que contendrá los campos de las subscreens. Este include será llamado desde el TOP.
2 - Definimos las subscreen con los campos que queramos añadir. En este ejemplo añadiremos el campo de "Número de asiento" de la AT a la pantalla de selección de asientos.
NOTA: Si ampliamos una de las dos imágenes debemos de definir la otra subscreen aunque no vayamos a añadir algún campo. En este ejemplo en la pantalla de ficheros no vamos a añadir campos pero hemos definido la subscreen 20.
- En el punto 2 (Subscreen) indicaremos el número de subscreen que hayamos definido en el módulo de funciones Z que se corresponda con la ampliación de la imagen que corresponda. En el ejemplo hemos definido la subscreen Z nº 10 como la ampliación de los asientos (imagen 13) y la subscreen Z nº 20 para la ampliación de la pantalla de los ficheros (imagen 14).
Ahora en la implementación BADI anterior informaremos los campos así:
Hasta este punto tendremos el campo que queremos en la pantalla de selección del monitor:
Ahora tenemos que añadir la funcionalidad de filtrado, para ello crearemos un módulo de funciones en nuestro grupo de funciones Z que recupere los valores del campo de la subscreen y los pase por parámetro en una tabla.
Este módulo de funciones tendrá el siguiente parámetro de changing:
El código de este módulo de funciones es el siguiente:
Por último, este módulo de funciones lo llamaremos desde el método GET_DATA_ASIENTOS de la clase que implementa nuestra implementación BADI: