Application Development 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: 

selection screen radio buttons problem

Former Member
0 Kudos
119

How enable and disable the radio button in selection screen?

1 ACCEPTED SOLUTION

Former Member
0 Kudos
75

hi,

at selection-screen output.

LOOP AT SCREEN.

IF ps_parm = 1.

IF screen-name = 'R1' OR screen-name = 'R2'.

screen-invisible = 0.

ELSEIF screen-name = 'R3'.

screen-invisible = 1.

ENDIF.

MODIFY SCREEN.

endif.

regards,

Munibabu.K

10 REPLIES 10

GauthamV
Active Contributor
0 Kudos
75

SEARCH in SCN.

Former Member
0 Kudos
75

Hi,

use AT SELECTION OUTPUT event for enabling & disabling the radio buttons.

Regards,

Pavan

sreeramkumar_madisetty
Active Contributor
0 Kudos
75

Hi

Use the below code:

*PARAMETERS: p_rd_upl RADIOBUTTON GROUP grp1.

parameters: p_rd_upl radiobutton group grp1 user-command abc.

parameters: p_rd_rep radiobutton group grp1 default 'X' .

"Radio button of Online Display

Enable functionality for checkboxes and Radio Buttons as per user *

  • selection of report display and upload.

at selection-screen output.

loop at screen.

if p_rd_rep = k_x.

if screen-group1 = 'CHK'.

screen-input = 0.

modify screen.

endif.

else.

if screen-group1 = 'RDB'.

screen-input = 0.

modify screen.

endif.

endif.

endloop.

Regards,

Sreeram

former_member209217
Active Contributor
0 Kudos
75

Hi,

Chk this link

Try to search in SDN Before posting

Regards,

Lakshman

Former Member
0 Kudos
75

are you using "screens"...???

former_member772790
Participant
0 Kudos
75

Hello,

Please have a look in to the following code.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS: rb_pttle RADIOBUTTON GROUP rad1 USER-COMMAND c1

DEFAULT 'X'.

SELECT-OPTIONS: s_ptitle FOR hrp1000-objid NO INTERVALS.

PARAMETERS: rb_persn RADIOBUTTON GROUP rad1.

SELECT-OPTIONS: s_attend FOR pa0000-pernr NO INTERVALS.

SELECTION-SCREEN END OF BLOCK b1.

AT SELECTION-SCREEN OUTPUT.

  • if Position Title selected, grayed out Attendee

IF rb_pttle = 'X'.

LOOP AT SCREEN.

IF screen-name = 'S_ATTEND-LOW'.

screen-input = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

REFRESH s_attend.

ENDIF.

  • if Person selected, grayed out Position Title

IF rb_persn = 'X'.

LOOP AT SCREEN.

IF screen-name = 'S_PTITLE-LOW'.

screen-input = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

REFRESH s_ptitle.

ENDIF.

Former Member
0 Kudos
75

Hi Ram,

You can use Loop at screen within the AT-SELECTION SCREEN event inorder to enable or disable the radio buttons.

You can use a snippet like below.

AT SELECTION SCREEN.

Loop at screen.

if screen-name = "RadioButtonName".

screen-active = 0 (to disable its 0 and enable its 1).( Can also use screen-invisible as per your requirement).

modify screen.

endif.

Endloop.

Regards,

Ram.

former_member342013
Contributor
0 Kudos
75

hi

check this code

type-pools:vrm.
TABLES: sscrfields.

DATA: name TYPE vrm_id,
list TYPE vrm_values,
value LIKE LINE OF list.

PARAMETERS: ps_parm AS LISTBOX VISIBLE LENGTH 10 USER-COMMAND abc.

PARAMETERS: r1 RADIOBUTTON GROUP ab MODIF ID bl2,
r2 RADIOBUTTON GROUP ab MODIF ID bl2,
r3 RADIOBUTTON GROUP ab MODIF ID bl3.

INITIALIZATION.

name = 'PS_PARM'.
value-key = '1'. value-text = 'line 1'. APPEND value TO list.
value-key = '2'. value-text = 'line 2'. APPEND value TO list.

CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = name
values = list.

data: it_test TYPE TABLE OF mard WITH HEADER LINE.

at selection-screen output.

LOOP AT SCREEN.
IF ps_parm = 1.
IF screen-name = 'R1' OR screen-name = 'R2'.
screen-invisible = 0.
ELSEIF screen-name = 'R3'.
screen-invisible = 1.
ENDIF.
MODIFY SCREEN.
ELSEIF ps_parm = 2.

IF screen-name = 'R1' OR screen-name = 'R2'.
screen-invisible = 1.
ELSEIF screen-name = 'R3'.
screen-invisible = 0.
ENDIF.
MODIFY SCREEN.
ELSEIF ps_parm = space.
r1 = 'X'.
CLEAR: r2,r3.
IF screen-name = 'R1' OR screen-name = 'R2' OR
screen-name = R3.
screen-invisible = 0.
MODIFY SCREEN.

ENDIF.
ENDIF.

ENDLOOP.

AT SELECTION-SCREEN.
IF sscrfields-ucomm = 'abc'.
ENDIF.

START-OF-SELECTION.
WRITE: / 'Parameter:', ps_parm.

Former Member
0 Kudos
76

hi,

at selection-screen output.

LOOP AT SCREEN.

IF ps_parm = 1.

IF screen-name = 'R1' OR screen-name = 'R2'.

screen-invisible = 0.

ELSEIF screen-name = 'R3'.

screen-invisible = 1.

ENDIF.

MODIFY SCREEN.

endif.

regards,

Munibabu.K

Former Member
0 Kudos
75

Hi Ram,

Try using the below code it may useful for solving your problem .

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-014.

SELECT-OPTIONS kunnr FOR komg-kunnr.

SELECT-OPTIONS waerk FOR komg-waerk MODIF ID def .

SELECT-OPTIONS pltyp FOR komg-pltyp MODIF ID abc.

SELECT-OPTIONS matnr FOR komg-matnr MODIF ID abc.

SELECT-OPTIONS vkorg FOR a007-vkorg MODIF ID jkl.

SELECT-OPTIONS vtweg FOR a007-vtweg MODIF ID jkl.

SELECT-OPTIONS spart FOR a007-spart MODIF ID jkl.

PARAMETERS datum LIKE rv12l-datint DEFAULT sy-datum.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN SKIP 1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-015.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS:r3 RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND ucom.

SELECTION-SCREEN COMMENT 10(20) text-018.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS:r1 RADIOBUTTON GROUP g1.

SELECTION-SCREEN COMMENT 10(20) text-016.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS:r2 RADIOBUTTON GROUP g1.

SELECTION-SCREEN COMMENT 10(20) text-017.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS:r4 RADIOBUTTON GROUP g1.

SELECTION-SCREEN COMMENT 10(20) text-022.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK b2.

***************************************************

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF r1 EQ 'X'.

IF screen-group1 = c_jkl.

screen-input = 0.

screen-invisible = 1.

ENDIF.

ENDIF.

IF r2 EQ 'X'.

IF screen-group1 = c_def OR screen-group1 = c_jkl.

screen-input = 0.

screen-invisible = 1.

ENDIF.

ENDIF.

IF r3 EQ 'X'.

IF screen-group1 = c_abc OR screen-group1 = c_def.

screen-input = 0.

screen-invisible = 1.

ENDIF.

ENDIF.

IF screen-group1 = c_ghi.

screen-input = 0.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

Regards,

Jana