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

Radio Button

Former Member
0 Likes
583

Hi sdns...!

How to gray out other fields when a particular radio button is clicked ?

Please send me the code quickly

with regards,

Karthik.

6 REPLIES 6
Read only

Former Member
0 Likes
564

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,

Read only

Former Member
0 Likes
564

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.

Read only

Former Member
0 Likes
564

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

Read only

Former Member
0 Likes
564

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.

Read only

Former Member
0 Likes
564

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.

Read only

Former Member
0 Likes
564

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.........