06-12-2007 7:54 AM
Hi everybody,
My requirement is to hide the entire block of a particular selection screen, find the below selection screen code. with my piece of code,iindividual fields are getting hidden, please let me know how to hide the entire block.
If I select rb_det then the block b2 should hide.
Selection screen :
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t02.
PARAMETER: rb_sum RADIOBUTTON GROUP rtyp DEFAULT 'X' USER-COMMAND DISP,
rb_det RADIOBUTTON GROUP rtyp.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t04.
PARAMETER: cb_asco AS CHECKBOX DEFAULT 'X' modif id SEL,
cb_divi AS CHECKBOX modif id SEL,
cb_buen AS CHECKBOX modif id SEL,
cb_prod AS CHECKBOX modif id SEL,
cb_bupa AS CHECKBOX modif id SEL,
cb_inob AS CHECKBOX modif id SEL.
SELECTION-SCREEN END OF BLOCK b2.
Existing code :
----
A T S E L E C T I O N - S C R E E N *
----
at selection-screen output.
loop at screen.
if screen-group1 = 'SEL'.
if rb_det = 'X'.
if screen-name = 'CB_ASCO' or
screen-name = 'CB_DIVI' or
screen-name = 'CB_BUEN' or
screen-name = 'CB_PROD' or
screen-name = 'CB_BUPA' or
screen-name = 'CB_INOB' .
screen-active = 0.
modify screen.
endif.
endif.
endif.
endloop.
Thanks in advance...
Regards,
Ravi
06-12-2007 7:57 AM
hi
if u hide all the fields of a block then ur block will get hide also
regards
ravish
<b>plz dont forget to reward points if helpful</b>
06-12-2007 7:59 AM
Hi,
A block will be made invisible if everything inside it is inactive. If you give all of them a MODIF ID, too, the block will disappear.
SELECTION-SCREEN BEGIN OF BLOCK processing WITH FRAME TITLE text-030.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS pa_xmanu LIKE rm08mrbr-manu DEFAULT 'X'
RADIOBUTTON GROUP val MODIF ID id1.
SELECTION-SCREEN COMMENT 3(30) text-040 FOR FIELD pa_xmanu MODIF ID
id1.
SELECTION-SCREEN POSITION 40.
PARAMETERS pa_xauto LIKE rm08mrbr-auto
RADIOBUTTON GROUP val MODIF ID id1.
SELECTION-SCREEN COMMENT 43(30) text-050 FOR FIELD pa_xauto MODIF ID
id1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS: pa_xskto LIKE rm08mrbr-skto AS CHECKBOX MODIF ID id1.
SELECTION-SCREEN COMMENT 3(30) text-055
FOR FIELD pa_xskto MODIF ID id1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK processing.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'ID1'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
Regards,
Priyanka.
06-12-2007 8:02 AM
Change your code to
<b>at selection-screen output.
loop at screen.
if screen-group1 = 'SEL'.
screen-active = 0.
modify screen.
endif.
endloop.</b>
Reward points if useful.
Regards,
Atish
06-12-2007 8:02 AM
hi ravi,
u can hide the block of the selection screen, using the <b>loop at screen</b> in that <b>at selection-screen output</b> event.
Regards...
Arun.
06-12-2007 8:03 AM
hi,
I have used in some report, pls try for this logic if it works ..
IF screen-group1 = 'GRP'.
screen-input = '0'.
screen-invisible = '1'.
MODIFY SCREEN.
thanks.
06-12-2007 9:20 AM
Hi..try this:...
I've modified ur code a little..it works..
Selection screen :
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t02.
PARAMETER: rb_sum RADIOBUTTON GROUP rtyp DEFAULT 'X' USER-COMMAND DISP,
rb_det RADIOBUTTON GROUP rtyp.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t04.
PARAMETER: cb_asco AS CHECKBOX DEFAULT 'X' modif id SEL,
cb_divi AS CHECKBOX modif id SEL,
cb_buen AS CHECKBOX modif id SEL,
cb_prod AS CHECKBOX modif id SEL,
cb_bupa AS CHECKBOX modif id SEL,
cb_inob AS CHECKBOX modif id SEL.
SELECTION-SCREEN END OF BLOCK b2.
----
A T S E L E C T I O N - S C R E E N *
----
at selection-screen output.
if rb_det = 'X'.
loop at screen.
if screen-group1 = 'SEL'.
screen-active = 0.
modify screen.
endif.
endloop.
endif.
Reward points if useful plz
06-13-2007 3:25 AM