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

Enabling and disabling fields on selection screen

Former Member
0 Likes
711

Hi there experts...

I Have the following code, but i need to do add more conditions but I'm not able to do so.

PARAMETERS: ch_alv AS CHECKBOX DEFAULT 'X' USER-COMMAND cmd.
PARAMETERS: ch_tot AS CHECKBOX DEFAULT 'X' USER-COMMAND cmd MODIF ID cht.
PARAMETERS: rb1 RADIOBUTTON GROUP rb1 DEFAULT 'X' MODIF ID rbg.
PARAMETERS: rb2 RADIOBUTTON GROUP rb1 MODIF ID rbg.

AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.
    IF CH_TOT = 'X'. 
      IF SCREEN-GROUP1  = 'RBG'.
        SCREEN-INPUT = 1. 
      ENDIF.
    ELSE. 
      IF SCREEN-GROUP1  = 'RBG'.
        SCREEN-INPUT = 0. 
      ENDIF.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.

Now what I want is to only enable ch_tot, rb1 and rb2 parameters if ch_alv is checked, but I want to maintain the condition of enable RBG only if ch_tot is checked.

Can it be done?

Thanks

Edited by: Hermano.Andrade on Apr 3, 2009 1:27 PM

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
673
PARAMETERS: ch_alv AS CHECKBOX DEFAULT 'X' USER-COMMAND cmd.
PARAMETERS: ch_tot AS CHECKBOX DEFAULT 'X' USER-COMMAND cmd MODIF ID cht.
PARAMETERS: rb1 RADIOBUTTON GROUP rb1 DEFAULT 'X' MODIF ID rbg.
PARAMETERS: rb2 RADIOBUTTON GROUP rb1 MODIF ID rbg.

AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.
    IF CH_ALV = 'X'.
      IF SCREEN-GROUP1  = 'RBG' OR SCREEN-GROUP1  = 'CHT'.
        SCREEN-INPUT = 1.
      ENDIF.
    ELSE.
      CLEAR CH_TOT.
      IF SCREEN-GROUP1  = 'RBG' OR SCREEN-GROUP1  = 'CHT'.
        SCREEN-INPUT = 0.
      ENDIF.
    ENDIF.

    IF CH_TOT = 'X'.
      IF SCREEN-GROUP1  = 'RBG'.
        SCREEN-INPUT = 1.
      ENDIF.
    ELSE.
      IF SCREEN-GROUP1  = 'RBG'.
        SCREEN-INPUT = 0.
      ENDIF.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.
4 REPLIES 4
Read only

GauthamV
Active Contributor
0 Likes
673

Check this.



PARAMETERS : ch_alv AS CHECKBOX USER-COMMAND abcd.
PARAMETERS: ch_tot AS CHECKBOX USER-COMMAND abcd MODIF ID abc.

parameters : p_param1(10) TYPE c modif id abc.
parameters : p_param2(10) TYPE c modif id abc.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF ch_alv  = 'X'.
      IF screen-group1  = 'ABC'.
        screen-input = 1.
      ENDIF.
    ELSE.
      IF screen-group1  = 'ABC'.
        screen-input = 0.
      ENDIF.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.

Read only

Former Member
0 Likes
673

Hi,

after passing screen-input value, Use MODIFY SCREEN.

Read only

Former Member
0 Likes
673

NOTE: Now what I want is to only enable ch_tot, rb1 and rb2 parameters if ch_alv is checked, but I want to maintain the condition of enable RBG only if ch_tot is checked.

Can it be done? How?

Edited by: Hermano.Andrade on Apr 3, 2009 1:38 PM

Read only

Former Member
0 Likes
674
PARAMETERS: ch_alv AS CHECKBOX DEFAULT 'X' USER-COMMAND cmd.
PARAMETERS: ch_tot AS CHECKBOX DEFAULT 'X' USER-COMMAND cmd MODIF ID cht.
PARAMETERS: rb1 RADIOBUTTON GROUP rb1 DEFAULT 'X' MODIF ID rbg.
PARAMETERS: rb2 RADIOBUTTON GROUP rb1 MODIF ID rbg.

AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.
    IF CH_ALV = 'X'.
      IF SCREEN-GROUP1  = 'RBG' OR SCREEN-GROUP1  = 'CHT'.
        SCREEN-INPUT = 1.
      ENDIF.
    ELSE.
      CLEAR CH_TOT.
      IF SCREEN-GROUP1  = 'RBG' OR SCREEN-GROUP1  = 'CHT'.
        SCREEN-INPUT = 0.
      ENDIF.
    ENDIF.

    IF CH_TOT = 'X'.
      IF SCREEN-GROUP1  = 'RBG'.
        SCREEN-INPUT = 1.
      ENDIF.
    ELSE.
      IF SCREEN-GROUP1  = 'RBG'.
        SCREEN-INPUT = 0.
      ENDIF.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.