2008 Dec 26 8:06 AM
hi friends ,
need help from you i have to design selection screen with two radiobuttons.
if i select first radiobutton , it display some block of parameters.if i select another radiobutton it display another block of parameters with in the same selection screen. at a time one only i want display.
&&& display the icons for the radiobuttons, if iselect first radiobutton ihe icon shows green color, another icon shoows red color like vice versa.
can you
Hi,
You can do it by using Loop at screen .... endloop.
Regards.
2008 Dec 26 8:10 AM
Hi,
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_meth1 RADIOBUTTON GROUP g1 USER-COMMAND g1,
p_meth2 RADIOBUTTON GROUP g1.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK matnr
WITH FRAME TITLE text-002.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS : so_matnr FOR marc-matnr MODIF ID m1.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS : so_werks FOR marc-werks MODIF ID m1 .
SELECTION-SCREEN END OF BLOCK matnr.
SELECTION-SCREEN BEGIN OF BLOCK file WITH FRAME TITLE text-003.
SELECTION-SCREEN SKIP 1.
PARAMETERS: p_fpath TYPE ibipparms-path MODIF ID m2 LOWER CASE.
SELECTION-SCREEN END OF BLOCK file.
SELECTION-SCREEN BEGIN OF BLOCK date WITH FRAME TITLE text-004.
SELECTION-SCREEN SKIP 1.
PARAMETERS : p_date TYPE datuv. "CCT51576.
SELECTION-SCREEN END OF BLOCK date.
***************************************************************************************
***********************Screen Validation*********************************************
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'M1'.
IF p_meth1 <> 'X'.
screen-active = 1.
ENDIF.
IF p_meth2 = 'X'.
screen-active = 0.
ENDIF.
WHEN 'M2'.
IF p_meth2 = 'X'.
screen-active = 1.
ELSE.
screen-active = 0.
ENDIF.
IF p_meth1 = 'X'.
screen-active = 0.
ENDIF.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
This will satisfy ur requirement.
2008 Dec 26 8:24 AM
2008 Dec 26 8:28 AM
tables:sscrfields.
data:flag.
PARAMETERS : r1 RADIOBUTTON GROUP g1 USER-COMMAND g1,
r2 RADIOBUTTON GROUP g1.
SELECTION-SCREEN BEGIN OF BLOCK b1
WITH FRAME TITLE text-002.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS : so_matnr FOR marc-matnr MODIF ID m1.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS : so_werks FOR marc-werks MODIF ID m1 .
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCKb2 WITH FRAME TITLE text-003.
SELECTION-SCREEN SKIP 1.
PARAMETERS: p_fpath TYPE ibipparms-path MODIF ID m2.
SELECTION-SCREEN END OF BLOCK b2.
***************************************************************************************
***********************Screen Validation*********************************************
at selection-screen.
if sscrfields-ucomm eq ' G1'.
flag = 1.
endif.
start-of-selection.
if flag = 1.
if R1 eq 'X'
LOOP AT SCREEN.
if screen-group1 eq 'M1'.
screen-input = 1.
modify screen.
endif.
exit.
ENDLOOP.
endif.
if R2 eq 'X'
LOOP AT SCREEN.
if screen-group1 eq 'M2''.
screen-input = 1.
modify screen.
endif.
exit.
ENDLOOP.
endif.
endif.
Edited by: swati gupta on Dec 26, 2008 9:33 AM
2008 Dec 26 8:49 AM
Hi,
Try like this:
type-pools icon.
SELECTION-SCREEN BEGIN OF BLOCK b1 .
*Radio Button 1
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(5) text_001.
PARAMETER : r_pa TYPE c RADIOBUTTON GROUP gr1 USER-COMMAND mode.
SELECTION-SCREEN COMMENT 10(15) txt1.
SELECTION-SCREEN END OF LINE.
*Radio Button 2
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(5) text_002.
PARAMETER : r_pa1 TYPE c RADIOBUTTON GROUP gr1 DEFAULT 'X'.
SELECTION-SCREEN COMMENT 10(15) txt2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
selection-screen: begin of block bl1 with frame title text1.
parameters: p_vbeln like vbap-vbeln modif id opn,
p_matnr like vbap-matnr modif id opn,
p_grkor like vbap-grkor modif id opn,
p_vstel like vbap-vstel modif id opn.
selection-screen: end of block bl1.
selection-screen: begin of block bl2 with frame title text2.
parameters: p_matel like mara-matnr modif id mat,
p_matkl like mara-matkl modif id mat,
p_satnr like mara-satnr modif id mat.
selection-screen: end of block bl2.
initialization.
txt1 = 'Radiobutton 1'.
txt2 = 'Radiobutton 2'.
at selection-screen output.
if r_pa = 'X'.
clear text_001.
write icon_green_light as icon to text_001.
loop at screen.
if screen-group1 = 'OPN'.
screen-active = 1.
modify screen.
elseif screen-group1 = 'MAT'.
screen-active = 0.
modify screen.
endif.
endloop.
else.
clear text_001.
write icon_red_light as icon to text_001.
endif.
if r_pa1 = 'X'.
clear text_002.
write icon_green_light as icon to text_002.
loop at screen.
if screen-group1 = 'MAT'.
screen-active = 1.
modify screen.
elseif screen-group1 = 'OPN'.
screen-active = 0.
modify screen.
endif.
endloop.
else.
clear text_002.
write icon_red_light as icon to text_002.
endif.
Regards,
Bhaskar
2008 Dec 26 8:53 AM
Hello,
use the follwoing logic :
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001 .
*Radio Button for selecting CHA Agent.
PARAMETERS : rb_cha RADIOBUTTON GROUP grp1 DEFAULT 'X' USER-COMMAND com1,
rb_trans RADIOBUTTON GROUP grp1.
*Company Code
PARAMETERS:p_bukrs TYPE t001k-bukrs OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002 .
*CHA Bill date
SELECT-OPTIONS:s_cdate FOR zboe_hdr-cha_bill_date MODIF ID id1.
PARAMETERS : p_cha TYPE zcan_cha-cha_agent MODIF ID id1.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
*Transporter Bill Date
SELECT-OPTIONS : s_tdate FOR zboe_hdr-fwd_bill_date MODIF ID id2.
PARAMETERS : p_trans TYPE zcan_cha-transporter MODIF ID id2.
SELECTION-SCREEN END OF BLOCK b3.
*******************************************************************************************
*Display screen based on selection of radio button
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF rb_cha = 'X'.
IF screen-group1 = 'ID2'.
screen-active = 0.
ENDIF.
ELSEIF rb_trans = 'X'.
IF screen-group1 = 'ID1'.
screen-active = 0.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Thanks
2008 Dec 26 9:09 AM
Try this code:
INCLUDE: <LIST>. " OR INCLUDE <ICON>.
DATA: G_B1_F VALUE 'X',
G_B2_F VALUE 'X'.
SELECTION-SCREEN PUSHBUTTON 1(30) BT1 USER-COMMAND BT1.
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS: A MODIF ID B1,
B MODIF ID B1,
C MODIF ID B1.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN PUSHBUTTON 1(30) BT2 USER-COMMAND BT2.
SELECTION-SCREEN BEGIN OF BLOCK B2.
PARAMETERS: X MODIF ID B2,
Y MODIF ID B2,
Z MODIF ID B2.
SELECTION-SCREEN END OF BLOCK B2.
*--------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.
*--------------------------------------------------------------------*
IF G_B1_F IS NOT INITIAL AND G_B2_F IS NOT INITIAL.
*--- + ICON
CALL FUNCTION 'ICON_CREATE'
EXPORTING
NAME = ICON_EXPAND
TEXT = 'Button 1'
INFO = 'Button 1'
IMPORTING
RESULT = BT1
EXCEPTIONS
OTHERS = 0.
*--- + ICON
CALL FUNCTION 'ICON_CREATE'
EXPORTING
NAME = ICON_EXPAND
TEXT = 'Button 2'
INFO = 'Button 2'
IMPORTING
RESULT = BT2
EXCEPTIONS
OTHERS = 0.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'B1' OR SCREEN-GROUP1 = 'B2'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF G_B1_F IS INITIAL AND G_B2_F IS NOT INITIAL.
*--- - ICON
CALL FUNCTION 'ICON_CREATE'
EXPORTING
NAME = ICON_COLLAPSE
TEXT = 'Button 1'
INFO = 'Button 1'
IMPORTING
RESULT = BT1
EXCEPTIONS
OTHERS = 0.
*--- + ICON
CALL FUNCTION 'ICON_CREATE'
EXPORTING
NAME = ICON_EXPAND
TEXT = 'Button 2'
INFO = 'Button 2'
IMPORTING
RESULT = BT2
EXCEPTIONS
OTHERS = 0.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'B2'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'B1'.
SCREEN-ACTIVE = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF G_B1_F IS NOT INITIAL AND G_B2_F IS INITIAL.
*--- + ICON
CALL FUNCTION 'ICON_CREATE'
EXPORTING
NAME = ICON_EXPAND
TEXT = 'Button 1'
INFO = 'Button 1'
IMPORTING
RESULT = BT1
EXCEPTIONS
OTHERS = 0.
*--- - ICON
CALL FUNCTION 'ICON_CREATE'
EXPORTING
NAME = ICON_COLLAPSE
TEXT = 'Button 2'
INFO = 'Button 2'
IMPORTING
RESULT = BT2
EXCEPTIONS
OTHERS = 0.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'B1'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'B2'.
SCREEN-ACTIVE = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF G_B1_F IS INITIAL AND G_B2_F IS INITIAL.
*--- - ICON
CALL FUNCTION 'ICON_CREATE'
EXPORTING
NAME = ICON_COLLAPSE
TEXT = 'Button 1'
INFO = 'Button 1'
IMPORTING
RESULT = BT1
EXCEPTIONS
OTHERS = 0.
*--- - ICON
CALL FUNCTION 'ICON_CREATE'
EXPORTING
NAME = ICON_COLLAPSE
TEXT = 'Button 2'
INFO = 'Button 2'
IMPORTING
RESULT = BT2
EXCEPTIONS
OTHERS = 0.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'B1'.
SCREEN-ACTIVE = 1.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'B2'.
SCREEN-ACTIVE = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
AT SELECTION-SCREEN.
CASE SY-UCOMM.
WHEN 'BT1'.
IF G_B1_F IS INITIAL.
G_B1_F = 1.
ELSE.
CLEAR: G_B1_F.
ENDIF.
WHEN 'BT2'.
IF G_B2_F IS INITIAL.
G_B2_F = 1.
ELSE.
CLEAR: G_B2_F.
ENDIF.
ENDCASE.
2008 Dec 26 10:42 AM
Hi,
You can do it by using Loop at screen .... endloop.
Regards.
2009 Jun 02 12:29 PM
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |