Application Development 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: 

SELECTION SCREEN HELP

Former Member
0 Kudos

Hi all,

I have a selection screen. In the first block there are 2 radibuttons 1 and 2. in the 2nd block there are 5 fields. I would like to display those 5 fields based on the radio button options. If radiobutton 1 is active then field 5 should not be displayed. could somebody help.

Thanks,

Kishore.

1 ACCEPTED SOLUTION

former_member583013
Active Contributor
0 Kudos

You have to do this....


SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
PARAMETERS: RADIO RADIOBUTTON GROUP RND USER-COMMAND TEST DEFAULT 'X',
            RADIO2 RADIOBUTTON GROUP RND.
SELECTION-SCREEN END OF BLOCK B2.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS:
           TEST TYPE BKPF-BELNR MODIF ID SC1.
SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-001.
PARAMETERS:
           TEST1 TYPE BKPF-BELNR MODIF ID SC2.
SELECTION-SCREEN END OF BLOCK B3.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'SC1' AND RADIO EQ 'X'.
      SCREEN-ACTIVE = '0'.
      MODIFY SCREEN.
      CONTINUE.
    ELSEIF SCREEN-GROUP1 = 'SC2' AND RADIO2 EQ 'X'.
      SCREEN-ACTIVE = '0'.
      MODIFY SCREEN.
      CONTINUE.
    ENDIF.
  ENDLOOP.

START-OF-SELECTION.

Greetings,

Blag.

5 REPLIES 5

Former Member
0 Kudos

For all the 5 fields declare with addition MODIF ID 'GR2'.

e.g : PARAMETERS : p1 like kna1-kunnr MODIF ID 'GR2'.

AT SELECTION-SCREEN OUTPUT.

IF P_RADIO1 = 'X'.

LOOP AT SCREEN.

CHECK SCREEN-GROUP1 = 'GR2'.

SCREEN-ACTIVE = 0.

MODIFY SCREEN.

ENDLOOP.

ENDIF.

Reward if its useful

former_member583013
Active Contributor
0 Kudos

You have to do this....


SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
PARAMETERS: RADIO RADIOBUTTON GROUP RND USER-COMMAND TEST DEFAULT 'X',
            RADIO2 RADIOBUTTON GROUP RND.
SELECTION-SCREEN END OF BLOCK B2.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS:
           TEST TYPE BKPF-BELNR MODIF ID SC1.
SELECTION-SCREEN END OF BLOCK B1.

SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-001.
PARAMETERS:
           TEST1 TYPE BKPF-BELNR MODIF ID SC2.
SELECTION-SCREEN END OF BLOCK B3.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'SC1' AND RADIO EQ 'X'.
      SCREEN-ACTIVE = '0'.
      MODIFY SCREEN.
      CONTINUE.
    ELSEIF SCREEN-GROUP1 = 'SC2' AND RADIO2 EQ 'X'.
      SCREEN-ACTIVE = '0'.
      MODIFY SCREEN.
      CONTINUE.
    ENDIF.
  ENDLOOP.

START-OF-SELECTION.

Greetings,

Blag.

Former Member
0 Kudos
SELECTION-SCREEN BEGIN OF BLOCK one WITH FRAME TITLE text-001.
PARAMETERS: p_rad1 RADIOBUTTON GROUP rad USER-COMMAND rad DEFAULT 'X',
            p_rad2 RADIOBUTTON GROUP rad.
SELECTION-SCREEN END OF BLOCK one.


SELECTION-SCREEN BEGIN OF BLOCK two WITH FRAME TITLE text-002.
PARAMETERS: p_field1,
            p_field2,
            p_field3,
            p_field4,
            p_field5.
SELECTION-SCREEN END OF BLOCK two.

AT SELECTION-SCREEN OUTPUT.

  IF p_rad1 = 'X'.
    LOOP AT SCREEN.
      CHECK screen-name = 'P_FIELD5'.
      screen-active = 0.
      MODIFY SCREEN.
    ENDLOOP.
  ENDIF.

Former Member
0 Kudos

Hi Kiran,

Have a look at the below code.


SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE v_title1.
PARAMETERS: p_rad1 RADIOBUTTON GROUP rad USER-COMMAND cmd1  DEFAULT 'X',
            p_rad2 RADIOBUTTON GROUP rad .
SELECTION-SCREEN END OF BLOCK b01.

SELECTION-SCREEN BEGIN OF BLOCK b02 WITH FRAME TITLE v_title2.
PARAMETERS: p_f1,
            p_f2,
            p_f3,
            p_f4,
            p_f5.
SELECTION-SCREEN END OF BLOCK b02.

INITIALIZATION.
  v_title1 = 'TITLE1'.
  v_title2 = 'TITLE2'.


AT SELECTION-SCREEN OUTPUT.
  IF p_rad1 = 'X'.
    LOOP AT SCREEN.
      IF screen-name = 'P_F5'. " OR screen-name = '%_P_F5_%_APP_%-TEXT'.
*        screen-active = 0.
        screen-input  = 0.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ELSE.
    LOOP AT SCREEN.
      IF screen-name = 'P_F5'." OR screen-name = '%_P_F5_%_APP_%-TEXT'.
*        screen-active = 1.
        screen-input  = 1.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ENDIF.

If you want to make the field5 in block 2 invisible then uncomment the code by removing all the comments. If you want to make the field5 inactive , not to receive any input then execute the code as it is.

Regards,

Madhusudhan

0 Kudos

Thanks a lot everybody.

Regards,

Kiran.