Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

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:

Image Removed

Para ampliarlas, crearemos una implementación BADI sobre esta, por ejemplo:

Image Removed

  • 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:

Image Removed

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í:

Image Removed

Hasta este punto tendremos el campo que queremos en la pantalla de selección del monitor:

Image Removed

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:

Image Removed

El código de este módulo de funciones es el siguiente:

Image Removed

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:

Image RemovedEl producto de b+ SILICIE utiliza los campos recogidos en la estructura  /edge/rp_sl_monitor_selscr_asi para filtrar los registros de la tabla de asientos /edge/t_sl_901 y los campos de la estructura  /edge/rp_sl_monitor_selscr_fic para filtrar los ficheros de la tabla /edge/t_sl_902.

Se ofrece la posibilidad de que desde el cliente, se pueda generar una estructura Z para asientos y otra para ficheros para definir más campos por los que filtrar de las tablas de BD /edge/t_sl_901 y /edge/t_sl_902.

Estas estructuras Z deberán informarse en los campos de parámetro de SILICIE en la trx, /EDGE/FC_SPRO como en este ejemplo que se informa de una para asientos:

Image Added

La estructura Z de ejemplo ZCAMPOS_EXTRA_SEL_ASI_SILICIE es la siguiente:

Image Added

Como se puede ver, debe coincidir el nombre del campo y tipo de datos de la estructura Z con el campo y tipo de dato de la tabla /edge/t_sl_901 o /edge/t_sl_902 según sea el caso.


Para ampliar los campos de selección en el monitor de b+ SILICIE,existen 3 puntos de ampliación explicitos en el include /EDGE/RP_SL_MONITOR_SEL del report /EDGE/RP_SL_MONITOR.


  • Punto de ampliación de variables para SELECT-OPTIONS

En este punto de ampliación se declararán aquellas variables necesarias para, posteriormente, declarar los SELECT-OPTIONS en los puntos de asientos o ficheros.

En el ejemplo se ha declarado la siguiente estructura del tipo de estructura de la Z para ampliar campos de selección de la tabla /edge/t_sl_901:

Image Added

Como se indica en los comentarios, se recomienda declarar las variables de este espacio de manera que empiecen por ZENH_ para evitar conflictos con nomenclatura del producto.


  • Punto de ampliación de select-options de asientos

En este punto de ampliación se declararán los select-options de los campos nuevos por los que queramos filtrar en los asientos. En el ejemplo se ha declarado un nuevo select-option que filtrará por el número de asiento de la AEAT haciendo uso de la estructura declarada en el punto de ampliación anterior:

Image Added

Advertencia
Los select-options declarados en este punto deberán llevar como MODIF ID el código SA para que se tengan en cuenta a la hora de realizar el SELECT a la tabla /edge/t_sl_901.


  • Punto de ampliación de select-options de ficheros

En este punto de ampliación se declararán los select-options de los campos nuevos por los que queramos filtrar los ficheros.

Advertencia
Los select-options declarados en este punto deberán llevar como MODIF ID el código SF para que se tengan en cuenta a la hora de realizar el SELECT a la tabla /edge/t_sl_902.