07-04-2007 7:30 AM
Hi all,
My requirement is that in a module pool program i have to make one field
visible for input only when the radio button is clicked.Kindly guide me how
to do it.
Please reply itz urgent!!
Thanks in advance.
syed
07-04-2007 7:34 AM
Hi
Define that field into a GROUP in the screen attributes
and see the sample code for that
IF pa_rep EQ gc_x.
LOOP AT SCREEN.
IF screen-group1 = gc_abc.
screen-input = 0.
ELSEIF screen-group1 = gc_def.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSEIF pa_upd EQ gc_x.
*For Reprocessing
LOOP AT SCREEN.
IF screen-group1 = gc_def.
screen-input = 0.
ELSEIF screen-group1 = gc_abc.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
Reward points for useful Answers
Regards
Anji
07-04-2007 7:33 AM
Hi,
Try it out..have the field in a separate subscreen and thery by u can easily control it...but is a big roundabout way.
Regards,
sridevi
<i><b>* Pl.s assign points, if useful</b></i>
07-04-2007 7:33 AM
Hi
Though PAI gets triggered after your action.
You need to <b>check the value of the radio-button</b> and <b>LOOP ON SCREEN</b> and based on the SCREEN-NAME (which refers to your field), make it visible in <b>PBO</b>.
Regards
Raj
07-04-2007 7:34 AM
Hi
Define that field into a GROUP in the screen attributes
and see the sample code for that
IF pa_rep EQ gc_x.
LOOP AT SCREEN.
IF screen-group1 = gc_abc.
screen-input = 0.
ELSEIF screen-group1 = gc_def.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSEIF pa_upd EQ gc_x.
*For Reprocessing
LOOP AT SCREEN.
IF screen-group1 = gc_def.
screen-input = 0.
ELSEIF screen-group1 = gc_abc.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
Reward points for useful Answers
Regards
Anji
07-04-2007 7:35 AM
if c_radio = 'X'.
loop at screen.
if screen-name = <field_name>.
screen-visible = '1'.
endif.
modify screen.
endloop.
Regards,
Amit
Reward all helpful replies.
07-04-2007 8:11 AM
Hi
Try this
INITIALIZATION .
repid = sy-repid .
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-t03 .
PARAMETERS: rad_blk1 RADIOBUTTON GROUP rad1 USER-COMMAND rad DEFAULT 'X' .
PARAMETERS: rad_blk2 RADIOBUTTON GROUP rad1.
SELECTION-SCREEN: END OF BLOCK b1.
SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-t01.
PARAMETERS: chk_blk1 AS CHECKBOX MODIF ID ms2 USER-COMMAND chk .
PARAMETERS: chk_blk2 AS CHECKBOX MODIF ID ms5 USER-COMMAND chk1 .
SELECT-OPTIONS: s_matnr FOR eban-matnr MODIF ID ms1.
SELECT-OPTIONS :s_lgort FOR eban-lgort MODIF ID ms4 .
SELECTION-SCREEN: END OF BLOCK b2.
SELECTION-SCREEN: BEGIN OF BLOCK b3 WITH FRAME TITLE text-t02.
SELECT-OPTIONS : s_banfn FOR eban-banfn MODIF ID ms3 .
SELECTION-SCREEN: END OF BLOCK b3.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'MS1' .
IF rad_blk1 EQ 'X' .
screen-active = 1.
ELSE.
screen-active = 0 .
ENDIF.
ENDIF .
MODIFY SCREEN.
ENDLOOP.
LOOP AT SCREEN.
IF screen-group1 = 'MS4' .
IF rad_blk1 EQ 'X' .
screen-active = 1.
ELSE.
screen-active = 0 .
ENDIF.
ENDIF .
MODIFY SCREEN.
ENDLOOP.
LOOP AT SCREEN.
IF screen-group1 = 'MS5' .
IF rad_blk1 EQ 'X' .
screen-active = 1.
ELSE.
screen-active = 0 .
ENDIF.
ENDIF .
MODIFY SCREEN.
ENDLOOP.
LOOP AT SCREEN.
IF screen-group1 = 'MS3' .
IF rad_blk2 EQ 'X' .
screen-active = 1.
ELSE.
screen-active = 0 .
ENDIF.
ENDIF .
MODIFY SCREEN.
ENDLOOP.
LOOP AT SCREEN.
IF screen-group1 = 'MS2' .
IF rad_blk1 EQ 'X' .
screen-active = 1.
ELSE.
screen-active = 0 .
ENDIF.
ENDIF .
MODIFY SCREEN.
ENDLOOP.
LOOP AT SCREEN.
IF screen-group1 = 'MS1' .
IF chk_blk1 EQ 'X' .
screen-input = 1.
ELSE.
screen-input = 0 .
ENDIF.
ENDIF .
MODIFY SCREEN.
ENDLOOP.
LOOP AT SCREEN.
IF screen-group1 = 'MS4' .
IF chk_blk2 EQ 'X' .
screen-input = 1.
ELSE.
screen-input = 0 .
ENDIF.
ENDIF .
MODIFY SCREEN.
ENDLOOP.
IF t_comm = 'CHK' .
LOOP AT SCREEN.
IF screen-group1 = 'MS2' .
IF chk_blk1 EQ 'X' .
screen-input = 1.
ELSE.
screen-input = 0 .
ENDIF.
ENDIF .
MODIFY SCREEN.
ENDLOOP.
CLEAR t_comm .
ENDIF .
IF t_comm = 'CHK1' .
LOOP AT SCREEN.
IF screen-group1 = 'MS5' .
IF chk_blk2 EQ 'X' .
screen-input = 1.
ELSE.
screen-input = 0 .
ENDIF.
ENDIF .
MODIFY SCREEN.
ENDLOOP.
CLEAR t_comm .
ENDIF .
Thanks
07-04-2007 8:34 AM
hi syed,
try like this,
parameters: p1 type checkbox,
r1 type radiobutton group g1,
r2 type radiobutton group g1.
in AT SELECTION-SCREEN EVENT
case sy-ucomm.
when 'r1'.
screen-name = 'r1' .
loop at screen.
screen-input = 1.
modify screen.
endloop.
................
endcase.
if helpful reward some points.
with regards,
Suresh.A