‎2008 Mar 08 1:02 PM
Hi frnds,
Below i m writing my selection screen code.
My requirement problem is For
1) Second and Third radiobutton Second select-option shouldnt be obligatory , i need only first select-option to be obligatory.But here i m getting both as obligatory.
<code>
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 : P_ORDERS RADIOBUTTON GROUP P1 MODIF ID M1 DEFAULT 'X' USER-COMMAND CLIK,
P_REC RADIOBUTTON GROUP P1 MODIF ID M1,
P_RMA RADIOBUTTON GROUP P1 MODIF ID M1.
SELECTION-SCREEN END OF BLOCK B3 .
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF P_ORDERS = 'X'.
IF ( SCREEN-NAME = 'S_ERDAT-LOW' )
OR ( SCREEN-NAME = 'S_AUART-LOW' ).
SCREEN-INPUT = '1'.
SCREEN-REQUIRED = '1'.
MODIFY SCREEN.
ENDIF.
ELSEIF P_REC EQ 'X' AND P_RMA = 'X'.
IF SCREEN-NAME = 'S_ERDAT-LOW'.
SCREEN-INPUT = '1'.
SCREEN-REQUIRED = '1'.
ELSE.
SCREEN-NAME = 'S_AUART-LOW'.
*SCREEN-INPUT = '1'.
SCREEN-REQUIRED = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
*ENDIF.
ENDLOOP.
</code>
Frnds please help me.
regards,
satish
‎2008 Mar 08 1:15 PM
Hi,
IF P_ORDERS = 'X'.
IF ( SCREEN-NAME = 'S_AUART-LOW' )
OR ( SCREEN-NAME = 'S_AUART-HIGH' ).
SCREEN-INPUT = '0'.
SCREEN-REQUIRED = '1'.
MODIFY SCREEN.
ENDIF.
ELSEIF P_REC EQ 'X' AND P_RMA = 'X'.
IF ( SCREEN-NAME = 'S_ERDAT-LOW' )
OR ( SCREEN-NAME = 'S_ERDAT-HIGH' ).
SCREEN-INPUT = '0'.
SCREEN-REQUIRED = '1'.
ELSE.
rewards,
venkat.
‎2008 Mar 08 1:20 PM
hi ,
check this example ,
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.
regards,
venkat.
‎2008 Mar 08 3:42 PM
Frnds,
i have tried in ways but still i m not getting things.
i m now planning to validate the select-options.
so can anyone tell me what can be done to validate.
<code>
AT SELECTION-SCREEN.
*AT SELECTION-SCREEN OUTPUT.
if sy-ucomm = 'ONLI'.
if p_orders = 'X'.
Here i have to validate.
can anyone tell me wht to do.
regards,
satish
‎2008 Mar 09 5:53 AM
hi,
i think this code shd work for ur req....
otherwise let me knw on click of which radio button u want which parameters to be obligatory.....
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 obligatory .
SELECT-OPTIONS : S_AUART FOR VBAK-AUART .
PARAMETERS : P_DIFF AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.
PARAMETERS : P_ORDERS RADIOBUTTON GROUP P1 MODIF ID M1 DEFAULT 'X' USER-COMMAND CLIK,
P_REC RADIOBUTTON GROUP P1 MODIF ID M1,
P_RMA RADIOBUTTON GROUP P1 MODIF ID M1.
SELECTION-SCREEN END OF BLOCK B3 .
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF P_ORDERS = 'X'.
IF ( SCREEN-NAME = 'S_ERDAT-LOW' )
OR ( SCREEN-NAME = 'S_AUART-LOW' ).
SCREEN-INPUT = '1'.
*SCREEN-REQUIRED = '1'.
MODIFY SCREEN.
ENDIF.
ELSEIF P_REC EQ 'X' AND P_RMA = 'X'.
IF SCREEN-NAME = 'S_ERDAT-LOW'.
SCREEN-INPUT = '1'.
*SCREEN-REQUIRED = '1'.
ELSE.
SCREEN-NAME = 'S_AUART-LOW'.
*SCREEN-INPUT = '1'.
SCREEN-REQUIRED = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
*ENDIF.
ENDLOOP.
Reward points if useful ...............