‎2008 Feb 15 7:36 AM
Hi sdns...!
How to gray out other fields when a particular radio button is clicked ?
Please send me the code quickly
with regards,
Karthik.
‎2008 Feb 15 7:39 AM
Refer this code
----------------------------------------------------------------------
PARAMETERS & SELECT-OPTIONS *
----------------------------------------------------------------------
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-011.
PARAMETERS : p_pay1 RADIOBUTTON GROUP grp USER-COMMAND fc DEFAULT 'X',
p_pay2 RADIOBUTTON GROUP grp.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_pernr FOR pa0000-pernr. "Personnel Number
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (31) text-018.
PARAMETERS : p_begda LIKE pa0000-begda OBLIGATORY. "Start Date
SELECTION-SCREEN COMMENT 52(05) text-019.
PARAMETERS : p_endda LIKE pa0000-endda OBLIGATORY. "End Date
SELECTION-SCREEN END OF LINE.
SELECT-OPTIONS : s_stat2 FOR pa0000-stat2, "Status
s_werks FOR pa0001-werks, "Personnel Area
s_raufnr FOR catsdb-raufnr MODIF ID md1. "Internal Order Number
SELECTION-SCREEN END OF BLOCK b2.
----------------------------------------------------------------------
AT SELECTION-SCREEN *
----------------------------------------------------------------------
AT SELECTION-SCREEN OUTPUT.
IF p_pay1 EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'MD1'.
screen-active = '1'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF p_pay2 EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'MD1'.
screen-active = '1'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Regards,
‎2008 Feb 15 7:40 AM
Find the following code.
PARAMETERS:
R1 RADIOBUTTON GROUP G1 USER_COMMAND U1,
R2 RADIOBUTTON GROUP G1 DEFAULT 'X',
P_VAR2 TYPE I MODIFID SC1,
P_VAR3 TYPE I MODIFID SC2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF R1 ='X'.
IF SCREEN-GROUP = 'SC1'.
SCREEN-ACTIVE = 1.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP = 'SC2'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ELSEIF R2 ='X'.
IF SCREEN-GROUP = 'SC1'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ELSEIF SCREEN-GROUP = 'SC2'.
SCREEN-ACTIVE = 1.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
Rewards if useful.
‎2008 Feb 15 7:41 AM
Hi,
Use the option USER-COMMAND ucom for your radio button. Then write the code in AT SELECTION-SCREEN OUTPUT event.
AT SELECTION-SCREEN OUTPUT.
If r1 = 'X'.
loop at screen.
if screen-name = <your field name in single quote>.
screen-input = 0.
modify screen.
endloop.
endif.
endif.
If you want multiple fields to disable when radio button selects then use MODIF-ID addition to all fields.
Rgds,
Bujji
‎2008 Feb 15 7:41 AM
check this select radiobutton and press enter button
&---------------------------------------------------------------------
*& Report ZNNR_REPORT
*&
&---------------------------------------------------------------------
*&
*&
&---------------------------------------------------------------------
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************************
************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******************
***************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.
‎2008 Feb 15 7:43 AM
hi
this piece of code may help you
parameters: p_rad1 radiobutton group grp1 default 'X'
user-command check.
parameters: p_rad2 radiobutton group grp1.
parameters: p_field1 type c,
p_field2 type c.
at selection-screen output.
loop at screen.
if ( p_rad1 = 'X' and screen-name = 'P_FIELD2' )
or ( p_rad2 = 'X' and screen-name = 'P_FIELD1' ).
screen-input = '0'.
endif.
modify screen.
endloop.
‎2008 Feb 15 7:47 AM
hi,
*--------------------------------------------------------------------** SELECTION-SCREEN*--------------------------------------------------------------------*PARAMETERS : rb_det RADIOBUTTON GROUP grp1 DEFAULT 'X' USER-COMMAND ucom,
rb_sum RADIOBUTTON GROUP grp1 .SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.SELECT-OPTIONS : s_werks FOR t001w-werks MODIF ID xyz,
s_mtart FOR mara-mtart MODIF ID xyz,
s_matkl FOR mara-matkl MODIF ID abc,
s_matnr FOR mara-matnr MODIF ID abc,
s_date FOR sy-datum OBLIGATORY NO-EXTENSION DEFAULT sy-datum MODIF ID xyz .SELECTION-SCREEN END OF BLOCK a .**---------------------------------------------------------------------*** AT SELECTION-SCREEN OUTPUT**---------------------------------------------------------------------*AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = c_abc.
IF rb_sum = c_x.
IF screen-name = 'S_MATKL-LOW' OR screen-name = 'S_MATKL-HIGH' OR
screen-name = '%_S_MATKL_%_APP_%-TEXT' OR screen-name = '%_S_MATKL_%_APP_%-VALU_PUSH' OR
screen-name = 'S_MATNR-LOW' OR screen-name = 'S_MATNR-HIGH' OR
screen-name = '%_S_MATNR_%_APP_%-TEXT' OR screen-name = '%_S_MATNR_%_APP_%-VALU_PUSH' .
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.this is to disappear some of the parameters from the selection screen...
if u want to disable the field insted of screen-active use screen-input....
Regards.........