11-27-2007 9:32 AM
Hi,
In the selection screen I have a radio button r1 and a parameter p_var..
On selecting the radiobutton only I should be able to enter values in the parameter
p_var...else the parameter shud be inactive..How to do it..kindly help.
Thanks..
11-27-2007 9:35 AM
11-27-2007 9:36 AM
Check the following Code block. It may be of some help to you.
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.
11-27-2007 9:41 AM
Hi,
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,
Prashant
11-27-2007 9:41 AM
parameters : p_radio radiobutton group G2,
p_var type i modif id G1.
initialization.
loop at screen.
if screen-group1 = 'G1'.
screen-active = ' '.
modify screen.
endif.
endloop.
at selection-screen output.
if p_radio = 'X'.
loop at screen.
if screen-group1 = 'G1'.
screen-active = 'X'.
modify screen.
endif.
endloop.
endif.
Regards
vasu
11-27-2007 9:44 AM
HI,
Look into the following code.. This has same as your requirement.
*Data declaration
DATA : SO_MATNR LIKE VBAP-MATNR, " Material Number
SO_EKGRP LIKE MARC-EKGRP, " Purchasing Group
SO_DISPO LIKE MARC-DISPO, " MRP Controller
SO_AUART LIKE VBAK-AUART, " Sales Document Type
SO_AUDAT LIKE VBAK-AUDAT, " Document date (date received/sent)
SO_EDATU LIKE VBEP-EDATU, " Schedule line date
SO_WADAT LIKE VBEP-WADAT, " Goods issue date
SO_VSTEL LIKE VBAP-VSTEL, " Shipping Point/Receiving Point
SO_LAND1 LIKE KNA1-LAND1, " Country Key
SO_KUNNR LIKE VBPA-KUNNR, " Customer Number
SO_WERKS LIKE VBAP-WERKS. " Plant (Own or External)
*--
SELECTION-SCREEN BEGIN OF BLOCK SELECT_RAD WITH FRAME TITLE TEXT-001.
PARAMETERS: R1 RADIOBUTTON GROUP RAD1 USER-COMMAND ABC DEFAULT 'X'.
SELECT-OPTIONS: S_AUDAT FOR SO_AUDAT MODIF ID M1.
SELECTION-SCREEN SKIP.
PARAMETERS: R2 RADIOBUTTON GROUP RAD1.
SELECT-OPTIONS: S_EDATU FOR SO_EDATU MODIF ID M2.
SELECTION-SCREEN SKIP.
PARAMETERS: R3 RADIOBUTTON GROUP RAD1.
SELECT-OPTIONS: S_WADAT FOR SO_WADAT MODIF ID M3.
SELECTION-SCREEN END OF BLOCK SELECT_RAD.
SELECTION-SCREEN : BEGIN OF BLOCK A WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS : S_MATNR FOR SO_MATNR, " Material Number
S_AUART FOR SO_AUART, " Doc. type
S_EKGRP FOR SO_EKGRP NO INTERVALS NO-EXTENSION,
" Purchasing group
S_DISPO FOR SO_DISPO NO INTERVALS NO-EXTENSION,
" MRP controller
S_VSTEL FOR SO_VSTEL NO INTERVALS NO-EXTENSION,
" Ship to point
S_LAND1 FOR SO_LAND1 NO INTERVALS NO-EXTENSION,
" Ship to country
S_KUNNR FOR SO_KUNNR NO INTERVALS NO-EXTENSION,
" Sold to party
S_WERKS FOR SO_WERKS NO INTERVALS NO-EXTENSION.
" Shipping plant
SELECTION-SCREEN : END OF BLOCK A.
*--
AT SELECTION-SCREEN OUTPUT.
IF R1 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M2'.
SCREEN-INPUT = '0'.
ENDIF.
IF SCREEN-GROUP1 = 'M3'.
SCREEN-INPUT = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
IF R2 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M1'.
SCREEN-INPUT = '0'.
ENDIF.
IF SCREEN-GROUP1 = 'M3'.
SCREEN-INPUT = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
IF R3 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M1'.
SCREEN-INPUT = '0'.
ENDIF.
IF SCREEN-GROUP1 = 'M2'.
SCREEN-INPUT = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
Reward points, If useful.
Regards,
Murugan Arumugam