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

selection screen - radiobutton

Former Member
0 Likes
1,408

Hi.

In my selection screen there is a radiobutton group with 3 options a, b and c. When the user sets option c, a new parameter must be shown in the selection screen.

Any example?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,375

selection-screen begin of block block5 with frame .

parameters : rad_cust radiobutton group ra

user-command click

default 'X',

rad_acc radiobutton group ra .

selection-screen end of block block5.

selection-screen begin of block block6 with frame.

select-options: s_cust for gv_vbeln modif id cus ,

s_acc for gv_erdat modif id acc.

selection-screen end of block block6.

at selection-screen output.

Loop at screen.

if rad_acc = 'X'.

if screen-group1 = 'CUS'.

screen-invisible = 1.

screen-active = 0.

elseif screen-group1 = 'ACC'.

screen-active = 1.

screen-invisible = 0.

endif.

modify screen.

else.

if screen-group1 = 'CUS'.

screen-active = 1.

screen-invisible = 0.

elseif screen-group1 = 'ACC'.

screen-invisible = 1.

screen-active = 0.

endif.

modify screen.

endif.

endloop.

here depending on radiobutton clicked i display parameters..

Hope dis helps..get bk if u need help..

Reward if it helps

8 REPLIES 8
Read only

Former Member
0 Likes
1,375

Hi,

Use modif statement in addition with the parameters.

parameters: p1 type c modif id 'MRP'.

At selection-screen on rb1.

loop at screen.

if screen-group1 = 'MRP'.

screen-active = 'X'.

modif yscreen.

endif.

endloop.

regards,

Santosh

Read only

Former Member
0 Likes
1,376

selection-screen begin of block block5 with frame .

parameters : rad_cust radiobutton group ra

user-command click

default 'X',

rad_acc radiobutton group ra .

selection-screen end of block block5.

selection-screen begin of block block6 with frame.

select-options: s_cust for gv_vbeln modif id cus ,

s_acc for gv_erdat modif id acc.

selection-screen end of block block6.

at selection-screen output.

Loop at screen.

if rad_acc = 'X'.

if screen-group1 = 'CUS'.

screen-invisible = 1.

screen-active = 0.

elseif screen-group1 = 'ACC'.

screen-active = 1.

screen-invisible = 0.

endif.

modify screen.

else.

if screen-group1 = 'CUS'.

screen-active = 1.

screen-invisible = 0.

elseif screen-group1 = 'ACC'.

screen-invisible = 1.

screen-active = 0.

endif.

modify screen.

endif.

endloop.

here depending on radiobutton clicked i display parameters..

Hope dis helps..get bk if u need help..

Reward if it helps

Read only

Former Member
0 Likes
1,375

hi alberto,

so for ur last radiobutton say C u can create an input field which is disable.

But as the radiobutton C clicked. then

at selection-screen on radio3.

if radio3 = 'X'.

loop at screen.

ur disable field = active.

ur disable field = visible.

modify screen

endloop.

endif.

It will work fine.

If it is helpfull pls reward it.

Regards

Srimanta

Read only

Former Member
0 Likes
1,375

Hi,

PARAMETERS : parameter MODIF ID gr1 .

AT SELECTION-SCREEN OUTPUT.

IF rb = 'x'..

LOOP AT SCREEN.

IF screen-group1 = 'GR1'.

screen-invisible = 1.

screen-input = 0.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

use this it will help u.

rewards if useful

kavitha

Read only

varma_narayana
Active Contributor
0 Likes
1,375

Hi..

Try this code....

Selection-Screen: Begin of block a .

Paramters: R1 TYPE RADIOBUTTON GROUP RB USER-COMMAND ABC.

Paramters: R2 TYPE RADIOBUTTON GROUP RB.

Paramters: R3 TYPE RADIOBUTTON GROUP RB.

Paramters: P_FIELD TYPE I NO-DISPLAY.

Selection-Screen: End of block a .

AT SELECTION-SCREEN OUTPUT.

IF SY-UCOMM = 'RB'.

IF R3 = 'X'.

LOOP AT SCREEN.

IF SCREEN-NAME = 'P_FIELD'.

SCREEN-ACTIVE = 1.

SCREEN-INVISIBLE = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

ENDIF.

reward if Helpful.

Read only

Former Member
0 Likes
1,375

hi following is the code for exam ..

in that two radio button is there and on their selection parameter displays

SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT_001.

SELECTION-SCREEN BEGIN OF LINE.

<b>PARAMETERS: R01 RADIOBUTTON GROUP R1 DEFAULT 'X' USER-COMMAND RAD .</b>

SELECTION-SCREEN COMMENT 5(20) TEXT_098. "Customer wise

*SELECTION-SCREEN END OF LINE.

*SELECTION-SCREEN BEGIN OF LINE.

<b>PARAMETERS: R02 RADIOBUTTON GROUP R1.</b>

SELECTION-SCREEN COMMENT 30(20) TEXT_099. "Account group wise

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK B2.

SELECTION-SCREEN :BEGIN OF BLOCK VAR WITH FRAME TITLE TEXT_002.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(20) TEXT_044 .

PARAMETERS : P_BUKRS TYPE BSID-BUKRS DEFAULT '1000' . "company code

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(17) TEXT_012<b> MODIF ID M1.</b>

SELECT-OPTIONS : S_KUNNR FOR BSID-KUNNR <b>MODIF ID M1.</b>

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(20) TEXT_013 <b>MODIF ID M2.</b>PARAMETERS: P_KTOKD TYPE KNA1-KTOKD <b>MODIF ID M2.</b>

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(20) TEXT_014.

PARAMETERS: P_GSBER TYPE BSID-GSBER. "business area

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(17) TEXT_015.

SELECT-OPTIONS: S_BUDAT FOR BSID-BUDAT

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN :END OF BLOCK VAR.

*====================================

*INITIALIZATION AND AT SELECTION SCREEN

*=====================================

INITIALIZATION.

TEXT_001 = 'Output Specification'.

TEXT_002 = 'Report-Specific Selection'.

TEXT_044 = 'Company Code'.

TEXT_012 = 'Customer'.

TEXT_013 = 'Account Group'.

TEXT_014 = 'Business Area'.

TEXT_015 = 'Posting Date'.

TEXT_098 = 'Customer wise'.

TEXT_099 = 'Account-Group wise'.

AT SELECTION-SCREEN OUTPUT.

*AT SELECTION-SCREEN ON RADIOBUTTON GROUP R1.

<b> LOOP AT SCREEN.

IF R01 = 'X'. "CUSTOMER WISE

IF SCREEN-GROUP1 = 'M2'.

CLEAR P_KTOKD.

SCREEN-ACTIVE = 0.

CLEAR S_KUNNR-LOW .

CLEAR S_KUNNR-HIGH .

MODIFY SCREEN.

ENDIF.

ENDIF.

IF R02 = 'X'. "ACCOUNT GRP WISE

IF SCREEN-GROUP1 = 'M1'.

CLEAR S_KUNNR-LOW .

CLEAR S_KUNNR-HIGH .

SCREEN-ACTIVE = 0. " Disable for input.

MODIFY SCREEN.

ENDIF.

ENDIF.

ENDLOOP.</b>

Read only

Former Member
0 Likes
1,375

hi

SEE THIS RPORT IT WILL HELP YOU

REPORT ZNNR_REPORT NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 100 LINE-COUNT 65(4).

******DATA DECLARATIONS**********

DATA : BEGIN OF IT_PLANT OCCURS 0,

MATNR LIKE MARA-MATNR,

WERKS LIKE MARC-WERKS,

PSTAT LIKE MARC-PSTAT,

EKGRP LIKE MARC-EKGRP,

END OF IT_PLANT.

DATA : BEGIN OF IT_PONO OCCURS 0,

EBELN LIKE EKKO-EBELN,

EBELP LIKE EKPO-EBELP,

MATNR LIKE EKPO-MATNR,

WERKS LIKE EKPO-WERKS,

LGORT LIKE EKPO-LGORT,

END OF IT_PONO.

TABLES EKKO.

********END OF DATA DECLARATIONS*********

********SELECTION SCREEN DESIGN ***********

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

PARAMETER : P_WERKS LIKE MARC-WERKS MODIF ID S1.

SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S2.

SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X'.

SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS : R2 RADIOBUTTON GROUP G1.

SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK B2.

******END OF SELECTION SCREEN DESIGN****************

*********INITIALIZATION OF SELECTION SCREEN ELEMENTS.*****

INITIALIZATION.

P_WERKS = '1000'.

S_EBELN-LOW = '4500016926'.

S_EBELN-OPTION = 'EQ'.

S_EBELN-SIGN = 'I'.

APPEND S_EBELN.

CLEAR S_EBELN.

************END OF INITIALIZATION***********************

<b>***********SCREEN MODIFICATIONS*******************

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF R1 EQ 'X' AND SCREEN-GROUP1 EQ 'S2'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

IF R2 EQ 'X' AND SCREEN-GROUP1 EQ 'S1'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

********END OF SCREEN MODIFICATIONS*****************</b>

***************SCREEN VALIDATIONS *****************

at selection-screen.

SELECT SINGLE *

FROM EKKO

INTO EKKO

WHERE EBELN IN S_EBELN.

IF SY-SUBRC <> 0.

SET CURSOR FIELD 'S_EBELN-LOW'.

MESSAGE E999 WITH TEXT-005.

ENDIF.

********end of screen validation*****************

START-OF-SELECTION.

*set pf-status '100'.

IF R1 EQ 'X'.

SELECT MATNR

WERKS

PSTAT

EKGRP

FROM MARC

INTO TABLE IT_PLANT

WHERE WERKS = P_WERKS.

LOOP AT IT_PLANT.

WRITE : SY-VLINE , 2 IT_PLANT-MATNR COLOR COL_KEY,

21 SY-VLINE , 22 IT_PLANT-WERKS COLOR COL_KEY,

27 SY-VLINE ,28 IT_PLANT-PSTAT COLOR COL_NORMAL,

43 SY-VLINE ,44 IT_PLANT-EKGRP COLOR COL_NORMAL.

ENDLOOP.

ENDIF.

IF R2 EQ 'X'.

SELECT EBELN EBELP MATNR WERKS LGORT

FROM EKPO

INTO TABLE IT_PONO

WHERE EBELN IN S_EBELN.

LOOP AT IT_PONO.

WRITE : SY-VLINE , 2 IT_PONO-EBELN COLOR COL_KEY,

12 SY-VLINE , 13 IT_PONO-EBELP COLOR COL_KEY,

18 SY-VLINE , 19 IT_PONO-MATNR COLOR COL_NORMAL,

37 SY-VLINE , 38 IT_PONO-WERKS COLOR COL_NORMAL,

44 SY-VLINE , 45 IT_PONO-LGORT COLOR COL_NORMAL, 49 SY-VLINE..

ENDLOOP.

ENDIF.

TOP-OF-PAGE.

IF R1 EQ 'X'.

*ULINE AT /1(48).

WRITE : SY-VLINE ,2 'MATERIAL NUMBER',

21 SY-VLINE , 22 'PLANT',

27 SY-VLINE , 28 'STATUS',

43 SY-VLINE , 44 'GRUP', 48 SY-VLINE.

ULINE AT /1(48).

ENDIF.

IF R2 EQ 'X'.

WRITE : SY-VLINE , 2 'PO NUMBER',

12 SY-VLINE, 13 'ITEM',

18 SY-VLINE,19 'MATERIAL NUMBER',

37 SY-VLINE, 38 'PLANT',

44 SY-VLINE, 45 'GRUP',

49 SY-VLINE.

ULINE AT /1(50).

ENDIF.

END-OF-PAGE.

ULINE AT /1(50).

WRITE :/10 'PAGE NUMBER', SY-PAGNO.

Read only

Former Member
0 Likes
1,375

Hi Alberto,

You have to go with the event

<b>"AT SELECTION-SCREEN ON RADIOBUTTON GROUP RADI"</b>

where RADI is the radiobutton group name.

This event is like checking the radiobutton groups of the output screen.

sample code :

"<b>This screen is created just to call afterwards.</b>

SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW.

PARAMETERS page TYPE i.

SELECTION-SCREEN END OF SCREEN 500.

<b>if R1, R2, R3 are the radiobuttons in SELECTION-SCREEN under the group RAD1.</b>

selection-screen begin of block B1 with frame.

parameters: R1 Radiobutton group RAD1,

R2 Radiobutton group RAD1,

R3 Radiobutton group RAD1 default ' X '.

selection-screen end of block B1.

<b>At selection-screen on Radiobutton group RAD1.</b>

if R3 = ' X ' .

call selection-screen 500 STARTING AT 1 40 ENDING AT 50 40.

endif.

<b>just copy this code and paste in your program and test.</b>

Hpoe this works.