‎2008 May 08 5:39 AM
Hello,
I have 2 radio buttons on selection screen :
Quarterly
annual
Under Quarterly, I have 4 checkboxes. Under annual, no checkboxes.
When user choses Quarterly, 4 check boxes must be enabled. otherwise all the 4 check boxes as well as the quarterly radio button must be disabled.
how can we do this ?
points will be rewarded.
‎2008 May 08 6:07 AM
You have to code in at selection-screen output tp change the selection screen dynamically.
Refer the following:
REPORT ztestab1.
PARAMETERS: p_quart RADIOBUTTON GROUP g1
DEFAULT 'X' USER-COMMAND fil,
p_annual RADIOBUTTON GROUP g1.
PARAMETERS: p_ch1 AS CHECKBOX MODIF ID ses,
p_ch2 AS CHECKBOX MODIF ID ses,
p_ch3 AS CHECKBOX MODIF ID ses,
p_ch4 AS CHECKBOX MODIF ID ses.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'SES'.
IF p_annual EQ 'X'.
screen-input = 1.
ELSE.
screen-input = 0.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
‎2008 May 08 6:03 AM
Hi,
see this code.
PARAMETERS:quart RADIOBUTTON GROUP rad DEFAULT 'X' USER-COMMAND ucom,
yearly RADIOBUTTON GROUP rad.
PARAMETERS:1st AS CHECKBOX MODIF ID QUA,
2nd AS CHECKBOX MODIF ID QUA,
3rd AS CHECKBOX MODIF ID QUA,
4th AS CHECKBOX MODIF ID QUA.
AT SELECTION-SCREEN OUTPUT.
IF quart = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'QUA'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 = 'QUA'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
rgds,
bharat.
‎2008 May 08 6:07 AM
You have to code in at selection-screen output tp change the selection screen dynamically.
Refer the following:
REPORT ztestab1.
PARAMETERS: p_quart RADIOBUTTON GROUP g1
DEFAULT 'X' USER-COMMAND fil,
p_annual RADIOBUTTON GROUP g1.
PARAMETERS: p_ch1 AS CHECKBOX MODIF ID ses,
p_ch2 AS CHECKBOX MODIF ID ses,
p_ch3 AS CHECKBOX MODIF ID ses,
p_ch4 AS CHECKBOX MODIF ID ses.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'SES'.
IF p_annual EQ 'X'.
screen-input = 1.
ELSE.
screen-input = 0.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
‎2008 May 08 6:14 AM
Hi,
according to your requirement
create two blocks for quarterly,annually radiobuttons and for 4 checkboxes .
In first block quarterly radio button
and second one is for 4 check boxess and second radiio buttion .
Use at selection-screen output event for this.
Use parameters syntax for defining variables in selection screen.
for second blockeach block create modif id 'ABC' .
under that event first
loop at screen.
if p_quarter eq 'x'.
if screen-group1 = 'ABC'.
screen-input = 0.(it is for no selection)
modify screen.
else .
screen-input = 1.
modify screen.
end if.
endif.
endloop.
try like this.
*Reward points.
like this
‎2008 May 08 6:18 AM
Hi
What you can do is,
Define Quaterly and its check boxs into one group id. in the selection screen, Similarly Annual as seperate group id
Then,
In the AT SELECTION-SCREEN OUTPUT.
Check the Radio button which is selected .
Based on that, you can for example in your case
Quaterly means, pass values to check box and disabled the Annual group id else deactivate the group id of Quartely .
by passing Annual goup id with Screen-active as '0'.
after that apply Modify screen.
Hope it will resolve your problem.
Reward points if useful.
‎2008 May 08 6:25 AM
Hi,
Can try this way also......................
PARAMETERS:quart RADIOBUTTON GROUP rad DEFAULT 'X' USER-COMMAND ucom,
yearly RADIOBUTTON GROUP rad.
PARAMETERS:1st AS CHECKBOX MODIF ID QUA,
2nd AS CHECKBOX MODIF ID QUA,
3rd AS CHECKBOX MODIF ID QUA,
4th AS CHECKBOX MODIF ID QUA.
AT SELECTION-SCREEN OUTPUT.
IF quart = 'X'.
LOOP AT SCREEN.
IF screen-name = '1st'
OR screen-name = '2nd'
OR screen-name = '3rd' .
screen-active = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name = '1st'
OR screen-name = '2nd'
OR screen-name = '3rd' .
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
‎2008 May 08 6:26 AM
hiii
try this
PARAMETERS:quart RADIOBUTTON GROUP rad DEFAULT 'X' USER-COMMAND ucom.
PARAMETERS:1st AS CHECKBOX MODIF ID MOD,
2nd AS CHECKBOX MODIF ID MOD,
3rd AS CHECKBOX MODIF ID MOD,
4th AS CHECKBOX MODIF ID MOD.
PARAMETERS: annual RADIOBUTTON GROUP rad.
at selection-screen output.
loop at screen .
if quart = 'X'and screen-group1 = 'MOD'.
screen-input = 1.
elseif annual = 'X' and screen-group1 = 'MOD'.
screen-input = 0.
endif.
modify screen.
endloop.
REWARD IF HELPFUL
PRASANTH
‎2008 May 08 6:35 AM
Hi,
Try the following code:
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-003.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: RB1 RADIOBUTTON GROUP RG1 USER-COMMAND UC01 DEFAULT 'X'."#EC *
SELECTION-SCREEN COMMENT 3(60) TEXT-004 FOR FIELD RB1.
SELECTION-SCREEN END OF LINE.
PARAMETERS: C1 AS CHECKBOX MODIF ID CHK,
C2 AS CHECKBOX MODIF ID CHK.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: RB2 RADIOBUTTON GROUP RG1 . "#EC *
SELECTION-SCREEN COMMENT 3(60) TEXT-005 FOR FIELD RB2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'CHK'.
IF RB1 = 'X'.
SCREEN-ACTIVE = '1'.
SCREEN-ACTIVE = '1'.
ELSE.
SCREEN-ACTIVE = '0'.
SCREEN-ACTIVE = '0'.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.