‎2007 Nov 21 11:23 AM
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?
‎2007 Nov 21 11:28 AM
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
‎2007 Nov 21 11:27 AM
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
‎2007 Nov 21 11:28 AM
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
‎2007 Nov 21 11:29 AM
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
‎2007 Nov 21 11:30 AM
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
‎2007 Nov 21 11:31 AM
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.
‎2007 Nov 21 11:32 AM
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>
‎2007 Nov 21 11:35 AM
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.
‎2007 Nov 21 12:07 PM
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.