选择屏幕上按选择内容设置元素的可用性
[pre]
SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-BL1.
PARAMETERS: PAR1 RADIOBUTTON GROUP RA1 USER-COMMAND SCR DEFAULT ‘X’.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_WERKS1 FOR MARC-WERKS MODIF ID ABC .
*SELECTION-SCREEN COMMENT 52(50) NAME1 MODIF ID ABC.
SELECT-OPTIONS: S_MATNR1 FOR MARC-MATNR MODIF ID ABC.
*SELECTION-SCREEN COMMENT 52(50) MAKTX1 MODIF ID ABC.
SELECTION-SCREEN END OF BLOCK B1.
PARAMETERS: PAR2 RADIOBUTTON GROUP RA1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS: S_ASORT2 FOR WRS1-ASORT MODIF ID DEF .
*SELECTION-SCREEN COMMENT 52(50) NAME2 MODIF ID DEF.
SELECT-OPTIONS: S_MATNR2 FOR MARC-MATNR MODIF ID DEF.
*SELECTION-SCREEN COMMENT 52(50) MAKTX2 MODIF ID DEF.
SELECTION-SCREEN END OF BLOCK B2.
PARAMETERS: PAR3 RADIOBUTTON GROUP RA1.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.
SELECT-OPTIONS: S_MATNR3 FOR MARC-MATNR MODIF ID HIJ.
*SELECTION-SCREEN COMMENT 52(50) MAKTX3 MODIF ID HIJ.
SELECTION-SCREEN END OF BLOCK B3.
PARAMETERS: P_CHARG AS CHECKBOX .
*SELECTION-SCREEN BEGIN OF BLOCK B4 WITH FRAME TITLE TEXT-004.
*PARAMETERS: P_MATNR4 TYPE MCHA-MATNR MODIF ID KLM.
*SELECTION-SCREEN COMMENT 52(50) MAKTX4 MODIF ID KLM.
*SELECT-OPTIONS: S_CHARG FOR MCHA-CHARG MODIF ID KLM NO-EXTENSION .
*SELECTION-SCREEN END OF BLOCK B4.
SELECTION-SCREEN END OF BLOCK BL1.
AT SELECTION-SCREEN OUTPUT.
* COMM1 = ‘1’.
LOOP AT SCREEN.
IF PAR1 = ‘X’.
IF SCREEN-GROUP1 = ‘ABC’.
SCREEN-ACTIVE = ‘1’.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = ‘DEF’ .
SCREEN-ACTIVE = ‘0’.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = ‘HIJ’.
SCREEN-ACTIVE = ‘0’.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = ‘KLM’.
SCREEN-ACTIVE = ‘0’.
MODIFY SCREEN.
ENDIF.
ELSEIF PAR2 = ‘X’.
IF SCREEN-GROUP1 = ‘ABC’.
SCREEN-ACTIVE = ‘0’.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = ‘DEF’ .
SCREEN-ACTIVE = ‘1’.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = ‘HIJ’.
SCREEN-ACTIVE = ‘0’.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = ‘KLM’.
SCREEN-ACTIVE = ‘0’.
MODIFY SCREEN.
ENDIF.
ELSEIF PAR3 = ‘X’ .
IF SCREEN-GROUP1 = ‘ABC’.
SCREEN-ACTIVE = ‘0’.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = ‘DEF’ .
SCREEN-ACTIVE = ‘0’.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = ‘HIJ’.
SCREEN-ACTIVE = ‘1’.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP1 = ‘KLM’.
SCREEN-ACTIVE = ‘0’.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
[/pre]