2010 Aug 02 11:25 AM
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.
2010 Aug 02 11:30 AM
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.
2010 Aug 02 11:29 AM
Instead of
p_pernr-low = space.
p_pernr-high = space.
Just use
clear p_pernr[].
2010 Aug 02 3:18 PM
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,
2010 Aug 02 11:30 AM
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.
2010 Aug 02 3:45 PM
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.
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |