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

Select-Options

Former Member
0 Likes
362

Hello Everyone,

How to apply conditions in selction screen.,

My requirement is, i have to radio buttons in selection screen,

if RB1 is selected , i have to display selection block 1 with some select options.

if RB2 is selected , i have to display selection block 2 with some other select options.

Thanks in advance

Ravi

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
341

Hi,

Try this.

SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.

PARAMETERS: p1 TYPE c LENGTH 10,

p2 TYPE c LENGTH 10,

p3 TYPE c LENGTH 10.

SELECTION-SCREEN END OF SCREEN 100.

SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.

PARAMETERS: q1 TYPE c LENGTH 10,

q2 TYPE c LENGTH 10,

q3 TYPE c LENGTH 10.

SELECTION-SCREEN END OF SCREEN 200.

SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,

TAB (20) button1 USER-COMMAND push1,

TAB (20) button2 USER-COMMAND push2,

END OF BLOCK mytab.

INITIALIZATION.

button1 = 'Selection Screen 1'.

button2 = 'Selection Screen 2'.

mytab-prog = sy-repid.

mytab-dynnr = 100.

mytab-activetab = 'PUSH1'.

AT SELECTION-SCREEN.

CASE sy-dynnr.

WHEN 1000.

CASE sy-ucomm.

WHEN 'PUSH1'.

mytab-dynnr = 100.

WHEN 'PUSH2'.

mytab-dynnr = 200.

WHEN OTHERS.

...

ENDCASE.

...

ENDCASE.

Cheers.

Reward if useful.

2 REPLIES 2
Read only

Former Member
0 Likes
342

Hi,

Try this.

SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN.

PARAMETERS: p1 TYPE c LENGTH 10,

p2 TYPE c LENGTH 10,

p3 TYPE c LENGTH 10.

SELECTION-SCREEN END OF SCREEN 100.

SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN.

PARAMETERS: q1 TYPE c LENGTH 10,

q2 TYPE c LENGTH 10,

q3 TYPE c LENGTH 10.

SELECTION-SCREEN END OF SCREEN 200.

SELECTION-SCREEN: BEGIN OF TABBED BLOCK mytab FOR 10 LINES,

TAB (20) button1 USER-COMMAND push1,

TAB (20) button2 USER-COMMAND push2,

END OF BLOCK mytab.

INITIALIZATION.

button1 = 'Selection Screen 1'.

button2 = 'Selection Screen 2'.

mytab-prog = sy-repid.

mytab-dynnr = 100.

mytab-activetab = 'PUSH1'.

AT SELECTION-SCREEN.

CASE sy-dynnr.

WHEN 1000.

CASE sy-ucomm.

WHEN 'PUSH1'.

mytab-dynnr = 100.

WHEN 'PUSH2'.

mytab-dynnr = 200.

WHEN OTHERS.

...

ENDCASE.

...

ENDCASE.

Cheers.

Reward if useful.

Read only

0 Likes
341

Another way could be:

REPORT Z_ABC.

TABLES: vbap, ekpo.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS: rb1 RADIOBUTTON GROUP rg1 USER-COMMAND u1 DEFAULT 'X',

rb2 RADIOBUTTON GROUP rg1 .

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.

SELECT-OPTIONS: vbeln FOR vbap-vbeln MODIF ID 127,

posnr FOR vbap-posnr MODIF ID 127.

SELECTION-SCREEN END OF BLOCK b2.

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.

SELECT-OPTIONS: ebeln FOR ekpo-ebeln MODIF ID 128,

ebelp FOR ekpo-ebelp MODIF ID 128.

SELECTION-SCREEN END OF BLOCK b3.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF rb1 = 'X'.

IF screen-group1 = '128'.

screen-input = '0'.

screen-invisible = '1'.

MODIFY SCREEN.

ENDIF.

ENDIF.

IF rb2 = 'X'.

IF screen-group1 = '127'.

screen-input = '0'.

screen-invisible = '1'.

MODIFY SCREEN.

ENDIF.

ENDIF.

ENDLOOP.