07-02-2007 5:49 PM
Hi all,
I have a selection screen. In the first block there are 2 radibuttons 1 and 2. in the 2nd block there are 5 fields. I would like to display those 5 fields based on the radio button options. If radiobutton 1 is active then field 5 should not be displayed. could somebody help.
Thanks,
Kishore.
07-02-2007 5:53 PM
You have to do this....
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
PARAMETERS: RADIO RADIOBUTTON GROUP RND USER-COMMAND TEST DEFAULT 'X',
RADIO2 RADIOBUTTON GROUP RND.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS:
TEST TYPE BKPF-BELNR MODIF ID SC1.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-001.
PARAMETERS:
TEST1 TYPE BKPF-BELNR MODIF ID SC2.
SELECTION-SCREEN END OF BLOCK B3.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SC1' AND RADIO EQ 'X'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
CONTINUE.
ELSEIF SCREEN-GROUP1 = 'SC2' AND RADIO2 EQ 'X'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
CONTINUE.
ENDIF.
ENDLOOP.
START-OF-SELECTION.
Greetings,
Blag.
07-02-2007 5:52 PM
For all the 5 fields declare with addition MODIF ID 'GR2'.
e.g : PARAMETERS : p1 like kna1-kunnr MODIF ID 'GR2'.
AT SELECTION-SCREEN OUTPUT.
IF P_RADIO1 = 'X'.
LOOP AT SCREEN.
CHECK SCREEN-GROUP1 = 'GR2'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
Reward if its useful
07-02-2007 5:53 PM
You have to do this....
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
PARAMETERS: RADIO RADIOBUTTON GROUP RND USER-COMMAND TEST DEFAULT 'X',
RADIO2 RADIOBUTTON GROUP RND.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS:
TEST TYPE BKPF-BELNR MODIF ID SC1.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-001.
PARAMETERS:
TEST1 TYPE BKPF-BELNR MODIF ID SC2.
SELECTION-SCREEN END OF BLOCK B3.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SC1' AND RADIO EQ 'X'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
CONTINUE.
ELSEIF SCREEN-GROUP1 = 'SC2' AND RADIO2 EQ 'X'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
CONTINUE.
ENDIF.
ENDLOOP.
START-OF-SELECTION.
Greetings,
Blag.
07-02-2007 5:57 PM
SELECTION-SCREEN BEGIN OF BLOCK one WITH FRAME TITLE text-001.
PARAMETERS: p_rad1 RADIOBUTTON GROUP rad USER-COMMAND rad DEFAULT 'X',
p_rad2 RADIOBUTTON GROUP rad.
SELECTION-SCREEN END OF BLOCK one.
SELECTION-SCREEN BEGIN OF BLOCK two WITH FRAME TITLE text-002.
PARAMETERS: p_field1,
p_field2,
p_field3,
p_field4,
p_field5.
SELECTION-SCREEN END OF BLOCK two.
AT SELECTION-SCREEN OUTPUT.
IF p_rad1 = 'X'.
LOOP AT SCREEN.
CHECK screen-name = 'P_FIELD5'.
screen-active = 0.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
07-02-2007 7:08 PM
Hi Kiran,
Have a look at the below code.
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE v_title1.
PARAMETERS: p_rad1 RADIOBUTTON GROUP rad USER-COMMAND cmd1 DEFAULT 'X',
p_rad2 RADIOBUTTON GROUP rad .
SELECTION-SCREEN END OF BLOCK b01.
SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE v_title2.
PARAMETERS: p_f1,
p_f2,
p_f3,
p_f4,
p_f5.
SELECTION-SCREEN END OF BLOCK b02.
INITIALIZATION.
v_title1 = 'TITLE1'.
v_title2 = 'TITLE2'.
AT SELECTION-SCREEN OUTPUT.
IF p_rad1 = 'X'.
LOOP AT SCREEN.
IF screen-name = 'P_F5'. " OR screen-name = '%_P_F5_%_APP_%-TEXT'.
* screen-active = 0.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name = 'P_F5'." OR screen-name = '%_P_F5_%_APP_%-TEXT'.
* screen-active = 1.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
If you want to make the field5 in block 2 invisible then uncomment the code by removing all the comments. If you want to make the field5 inactive , not to receive any input then execute the code as it is.
Regards,
Madhusudhan
07-03-2007 8:52 AM