‎2008 Mar 07 5:25 PM
Hi ,
I am working on selection-screen.
I have a req.like
i have 2 select-options S1 S2 and 3 radio buttons R1 R 2 R3.
If I click on 1st R1 should get S1 and S2 obligatory.
If I click on 1st R2 should get S1 as obligatory.
If I click on 1st R3should get S1 as obligatory.
code::::::::::
&----
S E L E C T I O N - S C R E E N
&----
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS : s_erdat FOR vbak-erdat MODIF ID se,
s_auart FOR vbak-auart MODIF ID sa.
PARAMETERS: p_diff AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS:
*--- SALES ORDERS
p_orders RADIOBUTTON GROUP up MODIF ID m1 DEFAULT 'X' USER-COMMAND clik,
*--- RECEIPTS 944
p_rec RADIOBUTTON GROUP up MODIF ID m1,
*--- RMA 856
p_rma RADIOBUTTON GROUP up MODIF ID m1.
SELECTION-SCREEN END OF BLOCK b3 .
SELECTION-SCREEN END OF BLOCK b1.
&----
I N I T I A L I Z A T I O N.
&----
INITIALIZATION.
v_repid = sy-repid.
&----
A T S E L E C T I O N - S C R E E N
&----
Check file path has given or not
AT SELECTION-SCREEN.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF p_as EQ 'X'.
IF screen-name = 'P_FILE'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF P_ORDERS = 'X'.
IF ( SCREEN-NAME = 'S_ERDAT-LOW' )
AND ( SCREEN-NAME = 'S_AUART-LOW' ).
SCREEN-INPUT = '1'.
SCREEN-REQUIRED = '1'.
MODIFY SCREEN.
ENDIF.
ENDIF.
ELSEIF P_REC EQ 'X' OR P_RMA = 'X'.
IF SCREEN-NAME = 'S_ERDAT-LOW'.
SCREEN-INPUT = '1'.
SCREEN-REQUIRED = '1'.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
its working for 3 radio buttons as same only
first select-option as obligatory.
Thanks,
Aruna
‎2008 Mar 07 5:35 PM
Change this way
IF P_ORDERS = 'X'.
IF ( SCREEN-NAME = 'S_ERDAT-LOW' )
OR ( SCREEN-NAME = 'S_AUART-LOW' ). " Change from AND to OR
SCREEN-INPUT = '1'.
SCREEN-REQUIRED = '1'.
MODIFY SCREEN.
ENDIF.
ENDIF.
a®
‎2008 Mar 07 6:47 PM
Hi
Its not working for another two radio buttons.
I am getting both are obligatory.
but i want 1st select-option as obligatory for remaing two radio buttons.
Thanks
Aruna
‎2008 Mar 07 5:37 PM
Hi Aruna,
i think you missed some code in between.
IF ( SCREEN-NAME = 'S_ERDAT-LOW' )
AND ( SCREEN-NAME = 'S_AUART-LOW' ).
SCREEN-INPUT = '1'.
SCREEN-REQUIRED = '1'.
MODIFY SCREEN.
ENDIF.
ENDIF.here your making the field as input enabled and obligatory ,it is perfect but in the else part you have to do the reverse for other fields.
IF ( SCREEN-NAME = 'S_ERDAT-LOW' )
AND ( SCREEN-NAME = 'S_AUART-LOW' ).
SCREEN-INPUT = '1'.
SCREEN-REQUIRED = '1'.
MODIFY SCREEN.
ENDIF.
else.
SCREEN-INPUT = '0'.
SCREEN-REQUIRED = '0'.
MODIFY SCREEN.
ENDIF.Try this logic.Hope this will help you
cheers
shibu
‎2008 Mar 07 6:18 PM
HI ARUNA,
TABLES:MARA.
SELECT-OPTIONS:S_TEST1 FOR MARA-MATNR MODIF ID M1 ,
S_TEST2 FOR MARA-MEINS MODIF ID M2 .
PARAMETERS:P_RAD1 RADIOBUTTON GROUP G1 USER-COMMAND UC1 DEFAULT 'X',
P_RAD2 RADIOBUTTON GROUP G1 ,
P_RAD3 RADIOBUTTON GROUP G1 .
AT SELECTION-SCREEN OUTPUT .
LOOP AT SCREEN.
IF P_RAD1 = 'X'.
IF SCREEN-NAME = 'S_TEST1-LOW' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
IF SCREEN-NAME = 'S_TEST1-HIGH' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
IF SCREEN-NAME = 'S_TEST2-LOW' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
IF SCREEN-NAME = 'S_TEST2-HIGH' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF P_RAD2 = 'X'.
IF SCREEN-NAME = 'S_TEST1-LOW' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
IF SCREEN-NAME = 'S_TEST1-HIGH' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF P_RAD3 = 'X'.
IF SCREEN-NAME = 'S_TEST2-LOW' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
IF SCREEN-NAME = 'S_TEST2-HIGH' .
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
this is u want exactly check this ....
<REMOVED BY MODERATOR>
venkat.
Edited by: Alvaro Tejada Galindo on Mar 7, 2008 1:50 PM
‎2008 Mar 07 6:34 PM
Hi,
as obligatory for two select options for first radio button.
and 1 obgatory option for second and third radio button.
urgent req.
Thanks,
Aruna
‎2008 Mar 07 7:15 PM
Hello,
You need to write addition USER-COMMAND <ucom>. on radio button so that AT ELECTION-SCREEN OUTPUT execute again if you choose another radio button then it will come on LOOP AT Screen in AT SELECTION-SCREEN OUTPUT .... here you make obligatory as per radio button
or
Other solution
AT SELECTION-SCREEN ON RADIOBUTTON GROUP RAD1.
IF R1 = 'X'.
< check S1 or S2 >
ENDIF.
Check this way
Bye
LAL