‎2009 May 15 7:07 AM
Hi Experts,
I have 4 diffferent sections to be excuted on the selection screen one at a time. I want a functionality like when the user selects Section 1, the selection screen for that particular section will be displayed and others will be hidden. When the user selects Section 2, the section 2 selection-screen will be displayed and others will not and so on. Can this be implemented without using TABS and without using Module pool programming?
Do let me know with example if you have any.
Thanks.
Warm regards,
Harshad.
‎2009 May 15 7:09 AM
Use AT Selection-Screen on Field 1
And the Use Loop at screen to make other selection visible.
You can group the selection screen variable to groups to make a group visible.
You code
Loop at screen.
If screen-group = '1'.
Screen-invisible = '0'.
endif.
modify screen.
Endloop.
Thanks,
Mathivanan.G
‎2009 May 15 7:16 AM
Hi,
You achieve it by using event AT SELECTION-SCREEN OUTPUT. In that event using
LOOP SCREEN AND ENDLOOP you can enable or disable the required block using Modif id parameter of the corresonding selection screen block.
For Ex :
first provide modif id as M1 for screen1 , M2 for second selection screen
Then
AT SELECTION-SCREEN OUTPUT.
Loop at Screen
If screen-group1 = 'M2'.
disbale M! group by providing active = 0
like this you can try.
‎2009 May 15 9:49 AM
‎2009 May 15 10:22 AM
Hi Harshad,
You can do it using the MODIF ID command in your selection screen parameters & then activare or deactovate the screen accordingly.
Rgds,
Sachin.
‎2009 May 15 11:23 AM
hey try this
PARAMETERS: p_myparm TYPE c LENGTH 15,
rb_rbn1 TYPE flag RADIOBUTTON GROUP g1 DEFAULT 'X' MODIF ID id1 ,
rb_rbn2 TYPE flag RADIOBUTTON GROUP g1 MODIF ID id2 ,
rb_rbn3 TYPE flag RADIOBUTTON GROUP g1 MODIF ID id3.
AT SELECTION-SCREEN OUTPUT.
PERFORM sub_output.
FORM sub_output.
IF p_myparm = ''.
LOOP AT SCREEN.
IF screen-group1 = 'ID1' OR screen-group1 = 'ID2' OR screen-group1 = 'ID3'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM.
cheers
S.Janagar