Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

selection screen select-options

Former Member
0 Likes
728

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

6 REPLIES 6
Read only

former_member194669
Active Contributor
0 Likes
689

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®

Read only

0 Likes
689

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

Read only

Former Member
0 Likes
689

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

Read only

Former Member
0 Likes
689

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

Read only

0 Likes
689

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

Read only

Former Member
0 Likes
689

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