10-13-2010 2:28 PM
hi i am having probelm wit using at selection screen option
my report is having a radio button if i select one radion button a selection screen block will apper along with 2 parameters for input, i want to validate filed .
and if i select one more radion button a selection screen block will apper along with 2 parameters for input, i want to validate one filed.
how can i use 2 atselection screen on filed in my progrm
i have written code like dis i want to validate both screen fields seperatily wit respect to the selection of radion button please help me to solve dis
thanks in advance
Moderator message - Welcome to SCN Please respect the 2,500 character maximum when posting. Post only the relevant portions of code Please read [Rules of Engagement|https://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement], and [Asking Good Questions in the Forums to get Good Answers|/people/rob.burbank/blog/2010/05/12/asking-good-questions-in-the-forums-to-get-good-answers] before posting again.
Edited by: Rob Burbank on Oct 13, 2010 9:53 AM
10-13-2010 3:31 PM
Hi,
Hope this code snippet solves your query.
*-->Selection Screen decleartions
DATA : v_waerk TYPE vbrk-waerk,
v_tknum TYPE tknum,
v_flg_succcess TYPE flag.
*Preparing selection screen radio button
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : rb_exp RADIOBUTTON GROUP rb1 USER-COMMAND flag DEFAULT 'X',
rb_dom RADIOBUTTON GROUP rb1 .
SELECTION-SCREEN END OF BLOCK b1.
* * Preparing selection screen select options
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS: s_waerk FOR v_waerk MODIF ID g1 ,
s_tknum FOR v_tknum MODIF ID g2.
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN OUTPUT.
*-->Handling selection screen based on radiobuttons
PERFORM dyn_sel_screen.
*-->validate currency
AT SELECTION-SCREEN ON s_waerk.
IF s_waerk IS NOT INITIAL.
PERFORM validate_waers.
ENDIF.
*-->Validate shipment number
AT SELECTION-SCREEN ON s_tknum .
IF s_tknum IS NOT INITIAL.
PERFORM validate_tknum.
ENDIF.
form DYN_SEL_SCREEN .
IF rb_dom = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'G1'.
screen-active = '1'.
screen-input = '1'.
ELSEIF screen-group1 = 'G2' .
screen-active = '1'.
screen-input = '1'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSEIF rb_exp = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'G1'.
screen-active = '1'.
screen-input = '1' .
ELSEIF screen-group1 = 'G2'.
screen-active = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
endform. " DYN_SEL_SCREEN
form VALIDATE_WAERS .
DATA l_v_waerk TYPE waerk.
SELECT waers
FROM tcurc
INTO l_v_waerk
UP TO 1 ROWS
WHERE waers IN s_waerk.
ENDSELECT.
IF l_v_waerk IS INITIAL.
MESSAGE 'Enter a valid Currency.' type 'E'.
ENDIF.
endform. " VALIDATE_WAERS
form VALIDATE_TKNUM .
DATA l_v_tknum TYPE tknum.
SELECT tknum
FROM vttk
INTO l_v_tknum
UP TO 1 ROWS
WHERE tknum IN s_tknum.
ENDSELECT.
IF l_v_tknum IS INITIAL.
MESSAGE 'Invalid shipment number' type 'E'.
ENDIF.
endform.
Thanks
Nitesh
10-20-2010 7:54 AM