‎2010 Dec 28 7:33 AM
Hi All,
i got one requirement that, i need to modify one program that contains default selection screen 1000. my requirement is to add one selection screen before that default screen. here first screen is my own screen, in that 2 radio buttons are there based on this selection of radio buttons the next screen means default screen 1000 has to display next.
can any on help me...
‎2010 Dec 28 8:27 AM
SreeLakshmi,
You have default screen 1000 in your main program and you need to call *<screen XXXX>* before that1) Design your selection-screen <Screen XXXX>
2) In event AT-SELECTION SCREEN OUTPUT . Call your <Screen XXXX> First.
AT SELECTION-SCREEN OUTPUT.
CALL SELECTION-SCREEN <Screen XXXX>3) Call the screen as per your radio button selections.
Edited by: K.Manas on Dec 28, 2010 9:28 AM
‎2010 Dec 28 7:41 AM
Hi sreelakshmi.B,
You can create one sub screen in se51 and call that screen at selection screen before selection screen once you fill the sub screen call the screen number 1000. And keep subscreen number as 1100
Ex:
SELECTION-SCREEN BEGIN OF SCREEN 1100 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-020.
PARAMETERS: q1(10) TYPE c OBLIGATORY,
q2(10) TYPE c OBLIGATORY,
q3(10) TYPE c OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN END OF SCREEN 1100.
Thanks and regards,
Krish.....
‎2010 Dec 28 7:53 AM
Thanks for your reply.
Can you tell me where to call our own screen (1100) before the default screen 1000? because i tried like this. but while excecuting the program by default it was excuting the detault screen 1000 itself. control not going to my own screen.
Can u help me
‎2010 Dec 28 8:05 AM
Hi,
First you creat one subscreen in SE51 which is screen number give your input in that sub screen
call that sub screen in your main program
Ex:
SELECTION-SCREEN BEGIN OF SCREEN 1100 AS SUBSCREEN.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(25) text-001 FOR FIELD p_kunnrf.
SELECTION-SCREEN POSITION 35.
in SE51 PBO
LOOP AT t_item WITH CONTROL table .
MODULE modify_screen.
ENDLOOP.
CALL SUBSCREEN subscreen_1100 INCLUDING sy-repid number.
PAI
CALL SUBSCREEN subscreen_1100.
and do your validations.
In main program you have 2 radio buttons,
if radiobuttion1 = X
write the above code .
if radiobutton2 = X
use your own logic.
hope you understand.
Thanks and regards,
Krish...........
‎2010 Dec 28 8:39 AM
hi, Thanks for ur reply.
Actually this is not my requirement.
at first my report program(zprog1) contains one selection screen i.e default selection screen 1000.
But i need to add one more selection screen (own selection screen 1100) for tha same program (zprog1). screen 1100 contains two radio buttons . if i click one button it should display the default selection screen 1000.
if i click second button i need to display another screen 2000.
simply...
first 1100 screen
if i click fist button -
> default screen of this report 1000
if i click 2nd button -
> screen 2000.
has to display
hope u understood.
‎2010 Dec 28 8:59 AM
You cannot call default screen 1000
Instead you can create a one more selection screen block and based on radio button make the invisible.
First Screen 1100.
Rad1 = Screen 1000
Rad2 = Screen 2000It's not possible to design this way.
Design two Radio buttons on screen 1000 (Default Screen) and proceed further.
Edited by: K.Manas on Dec 28, 2010 10:04 AM
‎2010 Dec 28 8:27 AM
SreeLakshmi,
You have default screen 1000 in your main program and you need to call *<screen XXXX>* before that1) Design your selection-screen <Screen XXXX>
2) In event AT-SELECTION SCREEN OUTPUT . Call your <Screen XXXX> First.
AT SELECTION-SCREEN OUTPUT.
CALL SELECTION-SCREEN <Screen XXXX>3) Call the screen as per your radio button selections.
Edited by: K.Manas on Dec 28, 2010 9:28 AM
‎2010 Dec 28 8:54 AM
Hi,
Thanks for ur reply.
I followed the same procedure which u have given. but i got run time error at CALL SELECTION_SCREEN 1100.
the error was " No further list processing possible"
Can u please help me.
‎2010 Dec 29 6:47 AM
Hi Sreelaxmi
As Krish said, it is correct but no need of creating the subscreen in SE51.
instead you can declare your subscreen in global declaration part of TOP.
Like.
Declaration-----
SELECTION-SCREEN BEGIN OF SCREEN 100 AS WINDOW TITLE TEXT-002.
SELECTION-SCREEN BEGIN OF BLOCK B1.
here declare your parameters or selet options.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN END OF SCREEN 100.
SELECTION-SCREEN BEGIN OF SCREEN 101 AS WINDOW TITLE TEXT-003.
SELECTION-SCREEN BEGIN OF BLOCK B2.
here declare your parameters or selet options.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN END OF SCREEN 101.
Now at seletion screen on block B1.
*where block B1 contains your radio buttons.
if radio button1 one is selected.
call selection screen 100 atarting at 20 5.
elseif radio button2 is selected.
call selection screen 101 starting at 20 5.
endif.
Thanks
Lalit
‎2010 Dec 29 11:00 AM
----
----
----
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS : P_STA RADIOBUTTON GROUP G1 ,
P_PEN RADIOBUTTON GROUP G1 DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK blk1.
----
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE text-003.
PARAMETERS : P_BUKRS TYPE BSID-BUKRS MODIF ID S2.
SELECT-OPTIONS : S_BUDAT FOR BSID-BUDAT MODIF ID S2 OBLIGATORY DEFAULT SY-DATUM.
PARAMETERS : P_KUNNR TYPE BSID-KUNNR MODIF ID S2.
PARAMETERS : P_PATH1 TYPE CHAR120 MODIF ID S2.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-001.
PARAMETERS : P_DOCCUR RADIOBUTTON GROUP G3 MODIF ID S2,
P_LOCCUR RADIOBUTTON GROUP G3 MODIF ID S2,
P_COMCUR RADIOBUTTON GROUP G3 MODIF ID S2.
SELECTION-SCREEN END OF BLOCK blk3.
----
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE text-004.
PARAMETERS : P_BUKRS1 TYPE BSID-BUKRS MODIF ID S1.
PARAMETERS : P_BUDAT TYPE BSID-BUDAT MODIF ID S1.
SELECT-OPTIONS : S_KUNNR1 FOR BSID-KUNNR MODIF ID S1.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-001.
PARAMETERS : P_DET RADIOBUTTON GROUP G2 MODIF ID S1,
P_COM RADIOBUTTON GROUP G2 MODIF ID S1.
PARAMETERS : P_RVDOC AS CHECKBOX MODIF ID S1 .
SELECTION-SCREEN END OF BLOCK blk2.
----
----
----
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF P_STA EQ 'X' AND SCREEN-GROUP1 EQ 'S1'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
IF P_PEN EQ 'X' AND SCREEN-GROUP1 EQ 'S2'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.