09-26-2008 9:21 AM
hi,
i need to have 2 selection screen in one report....based on the input of 1st selection screen i need to display another selection screen. The 1st selection screen consist of three radio buttons....selecting one of them should allow me to further input data....
i tried user command, modif id...but the problem is the 2nd selection screen is also displayed initially and den after clickin d radio button i get only the 2nd selection screen...
i cannot use module pool programming coz of user requirement.
could anybody help with the code??
09-26-2008 9:35 AM
Hi Saurabh,
For detail check the link
http://help.sap.com/saphelp_nw04/helpdata/EN/9f/dba83d35c111d1829f0000e829fbfe/content.htm.
Suggest you to search with Key - 'Two Selection screen ' is SDN.
Will get more information.
Hope this helps.
Manish
09-26-2008 9:28 AM
Hi
instead of two screen u can give 3 radio button and when u select any one corresponding OPTIONS which ur planing to give on second screen will display below in that screen itself.
For this u have to use event AT SELECTION-SCREEN OUTPUT.
this will help u.
Regards
Sachin
09-26-2008 9:51 AM
hello sachin,
thanx 4 the answer....but with your solution, the radio button will still be shown on the screen which i don want....
09-26-2008 10:12 AM
>
but with your solution, the radio button will still be shown on the screen which i don want....
So after a user chooses a radio button, a new selection screen must come up and the original radiobuttons are no longer there? What happens when the user decides he wants to choose another radio button? Does he need to restart the program to get the radiobuttons back?
My advice, look at the examples above and keep the radiobuttons available.
09-26-2008 9:35 AM
Hi Saurabh,
For detail check the link
http://help.sap.com/saphelp_nw04/helpdata/EN/9f/dba83d35c111d1829f0000e829fbfe/content.htm.
Suggest you to search with Key - 'Two Selection screen ' is SDN.
Will get more information.
Hope this helps.
Manish
09-26-2008 9:37 AM
hai,
PARAMETERS: r1 RADIOBUTTON GROUP rad1 DEFAULT 'X',
r2 RADIOBUTTON GROUP rad1,
r3 RADIOBUTTON GROUP rad1.
AT SELECTION-SCREEN ON RADIOBUTTON GROUP rad1.
if r1 = X.
loop at screen.
specify the field that not be displayed
if screen-name = matnr .
screen-input = '1'.
modify screen.
endloop.
elseif r2 = X.
loop at screen.
specify the field that not be displayed
modify screen.
endloop.
endif.
shan.
09-26-2008 9:40 AM
Hi
Please this code ..
SELECTION-SCREEN: BEGIN OF BLOCK c1 WITH FRAME TITLE text-001.
Upload table
PARAMETER: p_upload TYPE char01 RADIOBUTTON GROUP rsel
DEFAULT 'X' USER-COMMAND ucomm,
Edit Tables
p_edt_tb TYPE char01 RADIOBUTTON GROUP rsel.
SELECTION-SCREEN: END OF BLOCK c1.
Upload table
SELECTION-SCREEN: BEGIN OF BLOCK c2 WITH FRAME TITLE text-002.
PARAMETERS: p_tab TYPE char16 MODIF ID m1,
p_comp TYPE char18 MODIF ID m1,
p_plant TYPE werks_d MODIF ID m1,
p_excel TYPE localfile MODIF ID m1.
SELECTION-SCREEN: END OF BLOCK c2.
Edit Table
SELECTION-SCREEN: BEGIN OF BLOCK c3 WITH FRAME TITLE text-003.
Replace component
PARAMETER: p_rp_cmp TYPE char01 RADIOBUTTON GROUP edtb
DEFAULT 'X' USER-COMMAND ucomm MODIF ID m2,
Edit Lines
p_edt_ln TYPE char01 RADIOBUTTON GROUP edtb MODIF ID m2.
SELECTION-SCREEN: END OF BLOCK c3.
SELECTION-SCREEN: BEGIN OF BLOCK c4 WITH FRAME TITLE text-004.
Replace component
PARAMETERS: p_tab_r TYPE char16 MODIF ID m3, "Assembly Table Name
p_comp_r TYPE char18 MODIF ID m3. "Upload Table Name
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) FOR FIELD p_fcomp MODIF ID m3.
PARAMETER: p_fcomp TYPE zpart MODIF ID m3.
SELECTION-SCREEN COMMENT 62(20) FOR FIELD p_tcomp MODIF ID m3.
PARAMETER p_tcomp TYPE zpart MODIF ID m3.
SELECTION-SCREEN END OF LINE.
Edit Lines
PARAMETERS: p_fexcel TYPE localfile MODIF ID m4,
p_texcel TYPE localfile MODIF ID m4.
SELECTION-SCREEN: END OF BLOCK c4.
SELECTION-SCREEN: BEGIN OF BLOCK c5 WITH FRAME TITLE text-005.
validate data
PARAMETERS: p_valid AS CHECKBOX DEFAULT space
USER-COMMAND ucomm MODIF ID m5,
Background Processing
p_back AS CHECKBOX DEFAULT space
USER-COMMAND ucomm.
SELECTION-SCREEN: END OF BLOCK c5.
AT SELECTION-SCREEN OUTPUT.
Design selection parameters dynamically
PERFORM sub_set_file_param.
FORM sub_set_file_param .
LOOP AT SCREEN.
If Upload is check
IF NOT p_upload IS INITIAL.
IF screen-group1 = 'M2' OR
screen-group1 = 'M3' OR
screen-group1 = 'M4'.
screen-active = 0.
ENDIF.
ELSE.
If Edit Tables is check
IF screen-group1 = 'M1'.
screen-active = 0.
ENDIF.
ENDIF.
If Replace Component is check
IF p_rp_cmp IS NOT INITIAL.
IF screen-group1 = 'M4' OR
screen-group1 = 'M5'.
screen-active = 0.
ENDIF.
ELSE.
If Edit Lines is check
IF screen-group1 = 'M3'.
screen-active = 0.
ENDIF.
ENDIF.
Modify the screen
MODIFY SCREEN.
ENDLOOP.
ENDFORM.
09-26-2008 9:45 AM
Hi,
I think a report program can only have one selection-screen so as you are saying if you create selection screen for a report the number that it has is by default 1000 so what ever selectionscreens you are creating have the same screen # and would be displayed together .
For your requirement i suggest that you should create a screen in se51 and use your selection-screen to call the screen based on the input on the selection-screen and your requirement.
Regards,
Himanshu Verma
09-26-2008 10:04 AM
define a selction screen and another screen as window,
than call the screen in your program.
refer to the link:
try it this way:
selection-screen begin of block b1 with frame.
Parameters:
r1 radiobutton group rad default 'X' user-command clk,
r2 radiobutton group rad,
r3 radiobutton group rad.
selection-screen end of block b1.
selection-screen begin of screen 500 as window.
Parameters:
char1(10).
selection-screen end of screen 500.
selection-screen begin of screen 501 as window.
Parameters:
char2(10).
selection-screen end of screen 501.
selection-screen begin of screen 502 as window.
Parameters:
char3(10).
selection-screen end of screen 502.
at selection-screen." try with both at selection-screen & also in
*start-of-selection.
if r1 = 'X'.
call selection-screen 500 starting at 10 10.
elseif r2 = 'X'.
call selection-screen 501 starting at 10 10.
elseif r3 = 'X'.
call selection-screen 502 starting at 10 10.
endif.
With luck,
Pritam.
09-26-2008 10:08 AM
Hi,
You can call a custom sceeen in your prog depending upon the input in the first screen.
Just Say Call screen <screen no> .
hope this helps.
Rajat