Por ejemplo, si se desean seleccionar los datos de la tabla SFLIGHT con las compañías AA y DL, tendremos que recurrir al evento INITIALIZATION para asignarle los valores de la búsqueda. De este modo, el usuario no tendrá que dar al botón de búsqueda avanzada, ya que los parámetros ya habrán sido introducidos.
REPORT z_sflight. * Cargar la tabla SFLIGHT de la base de datos TABLES: sflight. * Definición de variables DATA: g_it_sflight TYPE TABLE OF sflight, g_st_sflight TYPE sflight. * Pantalla de selección SELECTION-SCREEN: BEGIN OF BLOCK b01 WITH FRAME. SELECT-OPTIONS: p01 FOR sflight-carrid, p02 FOR sflight-connid, p03 FOR sflight-fldate. SELECTION-SCREEN SKIP 1. SELECT-OPTIONS: p04 FOR sflight-price. SELECTION-SCREEN: END OF BLOCK b01. INITIALIZATION. p01-sign = 'I'. "Incluir p01-option = 'EQ'. "= p01-low = 'AA'. APPEND p01. p01-sign = 'I'. p01-option = 'EQ'. p01-low = 'DL'. APPEND p01. START-OF-SELECTION. * Copiado de los datos a la tabla con los filtros SELECT * FROM sflight INTO TABLE g_it_sflight WHERE carrid IN p01 AND connid IN p02 AND fldate IN p03 AND price IN p04. * Ver en el Debugging los valores de la tabla g_it_sflight BREAK-POINT.
En este ejemplo, la variable p01 es una tabla interna cuyos campos son:
- p01-SIGN: Para incluir ('I') o excluir un dato ('E').
- p01-OPTION: Operación lógica ('EQ', 'BT', 'NE', etc).
- p01-LOW: Límite inferior.
- p01-HIGH: Límite superior.
Por tanto, se han añadido los datos a la tabla interna en el evento INITIALIZATION.
0 comentarios :
Publicar un comentario