Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

two selection screens

Former Member
0 Likes
2,880

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...

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,951

SreeLakshmi,

You have default screen 1000 in your main program and you need to call *<screen XXXX>* before that

1) 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

9 REPLIES 9
Read only

Former Member
0 Likes
1,951

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.....

Read only

0 Likes
1,951

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

Read only

Former Member
0 Likes
1,951

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...........

Read only

0 Likes
1,951

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.

Read only

0 Likes
1,951

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 2000

It'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

Read only

Former Member
0 Likes
1,952

SreeLakshmi,

You have default screen 1000 in your main program and you need to call *<screen XXXX>* before that

1) 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

Read only

0 Likes
1,951

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.

Read only

Former Member
0 Likes
1,951

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

Read only

0 Likes
1,951

----


----


SELECT OPTIONS -

----


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.

----


For Statement of account selection -

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.

----


For Pending bills selection -

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----

----


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.