Para empezar, tendremos los cuatro primeros campos del SELECTION-OPTIONS de la tabla SFLIGHT (carrid, connid, fldate y price).
Los cuatro SELECTION-OPTIONS para la tabla SFLIGHT. |
A continuación, se recorre un LOOP AT SCREEN y almacenamos los datos en una tabla auxiliar para ver los datos iniciales:
LOOP AT SCREEN. APPEND screen TO g_it_screen. ENDLOOP.
Valores de la tabla interna screen sin modificaciones. |
Una vez conocido los datos de la tabla interna, cambiaremos las propiedades de los campos INPUT en el primer SELECTION-OPTIONS con un IF.
El código es el siguiente:
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. DATA: g_it_screen TYPE TABLE OF screen. * 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. * Deshabilitar un campo LOOP AT SCREEN. IF screen-name = 'P01-LOW'. screen-input = 0. ELSEIF screen-name = 'P01-HIGH'. screen-input = 0. ENDIF. MODIFY SCREEN. APPEND screen TO g_it_screen. ENDLOOP. START-OF-SELECTION. BREAK-POINT.
Se observa que ahora los campos input del primer parámetro se han desactivado.
Campos input del SELECTION-OPTIONS desactivados. |
0 comentarios :
Publicar un comentario