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

Reset Select options in Screen

Former Member
0 Likes
1,643

Hi,

I have a scenario where, i need to disable the select options and clear the visible contents in it.

Currently below is the logic implemented, the radio button is getting disabled and also cleared of selection.

Select option fields are getting disabled.

But the issue is, the Select options LOW and HIGH fields show the older values and are not getting reset.

Please share your thoughts.

PARAMETERS : r_pernr RADIOBUTTON GROUP g2 MODIF ID cs1.

SELECT-OPTIONS : p_pernr FOR pa0001-pernr MODIF ID cs1.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF V_Flag NE 'X' AND

screen-group1 = 'CS1'.

r_pernr = space.

p_pernr-low = space.

p_pernr-high = space.

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

1 ACCEPTED SOLUTION
Read only

SuhaSaha
Product and Topic Expert
Product and Topic Expert
0 Likes
1,252

Add a CLEAR statement:

PARAMETERS : r_pernr RADIOBUTTON GROUP g2 MODIF ID cs1.
SELECT-OPTIONS : p_pernr FOR pa0001-pernr MODIF ID cs1.

AT SELECTION-SCREEN OUTPUT.
  IF v_flag NE 'X'.
    CLEAR: r_pernr, p_pernr[].
    LOOP AT SCREEN.
      IF screen-group1 = 'CS1'.
* r_pernr = space.
* p_pernr-low = space.
* p_pernr-high = space.
        screen-input = 0.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ENDIF.

Add a CLEAR statement:

PARAMETERS : r_pernr RADIOBUTTON GROUP g2 MODIF ID cs1.
SELECT-OPTIONS : p_pernr FOR pa0001-pernr MODIF ID cs1.

AT SELECTION-SCREEN OUTPUT.
  IF v_flag NE 'X'.
    CLEAR: r_pernr, p_pernr[].
    LOOP AT SCREEN.
      IF screen-group1 = 'CS1'.
* r_pernr = space.
* p_pernr-low = space.
* p_pernr-high = space.
        screen-input = 0.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ENDIF.

4 REPLIES 4
Read only

kesavadas_thekkillath
Active Contributor
0 Likes
1,252

Instead of

p_pernr-low = space.

p_pernr-high = space.

Just use

clear p_pernr[].

Read only

0 Likes
1,252

Hi Keshav,

Thanks for your reply.

I used the same logic and now it is clearing the values and replaced by '0'.

But is there a way to make those 'LOW' and 'HIGH' blank?

Thanks,

Read only

SuhaSaha
Product and Topic Expert
Product and Topic Expert
0 Likes
1,253

Add a CLEAR statement:

PARAMETERS : r_pernr RADIOBUTTON GROUP g2 MODIF ID cs1.
SELECT-OPTIONS : p_pernr FOR pa0001-pernr MODIF ID cs1.

AT SELECTION-SCREEN OUTPUT.
  IF v_flag NE 'X'.
    CLEAR: r_pernr, p_pernr[].
    LOOP AT SCREEN.
      IF screen-group1 = 'CS1'.
* r_pernr = space.
* p_pernr-low = space.
* p_pernr-high = space.
        screen-input = 0.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ENDIF.

Read only

kesavadas_thekkillath
Active Contributor
0 Likes
1,252


TABLES:PA0001.

DATA:LF_PERNR TYPE CHAR08.

PARAMETERS : R_PERNR RADIOBUTTON GROUP G2 MODIF ID CS1,
             R_2 RADIOBUTTON GROUP G2.
SELECT-OPTIONS : P_PERNR FOR LF_PERNR MODIF ID CS1.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    R_PERNR = SPACE.
    CLEAR P_PERNR[].
    SCREEN-INPUT = 0.
    MODIFY SCREEN.
 ENDLOOP.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PERNR-LOW.
  PERFORM F4_HELP USING 'P_PERNR-LOW'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PERNR-HIGH.
  PERFORM F4_HELP USING 'P_PERNR-HIGH'.

FORM F4_HELP USING PC_1.
  TYPES:BEGIN OF TY,
      PERNR TYPE PA0001-PERNR,
      END OF TY.
  DATA:IT TYPE TABLE OF TY.
  SELECT PERNR INTO TABLE IT FROM PA0001 UP TO 10 rows.
  CHECK IT[] IS NOT INITIAL.
  DELETE ADJACENT DUPLICATES FROM IT.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD    = 'PERNR'
      DYNPPROG    = SY-CPROG
      DYNPNR      = SY-DYNNR
      DYNPROFIELD = PC_1
      VALUE_ORG       = 'S'
    TABLES
      VALUE_TAB   = IT[]
    EXCEPTIONS
      OTHERS      = 0.
ENDFORM.