REFRESH is a keyword used in SAP ABAP programming.This tutorial covers its introduction & syntax details.
REFRESH
REFRESH – Delete an internal table
Variants
1. REFRESH itab.
2. REFRESH itab FROM TABLE dbtab.
3. REFRESH itab FROM SELECT-OPTIONS.
Variant 1
REFRESH itab.
Effect
The internal table itab is reset to its initial state, i.e. all table entries are deleted.
The return code value SY-SUBRC is undefined.
Notes
The header entry of a table with a header line remains unchanged. It can be reset to its initial value using CLEAR .
FREE itab can be used to free up the memory allocated to the table.
Variant 2
REFRESH itab FROM TABLE dbtab.
Note
This
variant is no longer maintained and should no longer be used (see also
obsolete language constructs ). Please use the SELECT … INTO TABLE
statement instead.
Effect
The internal table itab is deleted and it is then filled with the contents of the database table dbtab .
A
generic argument can be used to specify a restriction to a particular
part of the database table when filling (LOOP AT dbtab , READ TABLE
dbtab ).
The table dbtab must be declared in the program using TABLES .
The return code value SY-SUBRC is undefined.
Example
Deleting
an internal table MESSAGES , followed by filling the table with all
messages from the table T100 with language key ‘D’ and ID ‘RF’ .
TABLES T100.
DATA BEGIN OF MESSAGES OCCURS 200.
INCLUDE STRUCTURE T100.
DATA END OF MESSAGES.
MESSAGES-TEXT = ‘Delete me’.
APPEND MESSAGES.
T100-SPRSL = ‘D’.
T100-ARBGB = ‘RF’.
REFRESH MESSAGES FROM TABLE T100.
Variant 3
REFRESH itab FROM SELECT-OPTIONS.
Note
This
variant is no longer supported (see also obsolete language constructs
). The equivalent functionality is now available in the function module
RS_REFRESH_FROM_SELECTOPTIONS .
Effect
Deletes the internal
table itab and then transfers the database selections and the selection
parameters together with the values entered by the user.
Notes
Performance
The runtime for the execution of the REFRESH statement is around 5 ms (standard microseconds).
REFRESH – Refresh the SAPGUI interface
Basic form
REFRESH SCREEN.
Note
This statement is no longer maintained and should therefore not be used (see also Obsolete key words ).
Instead, please use a SET USER-COMMAND f statement.
Effect
Refreshes
the SAPGUI interface after receiving the results of the asynchronous
Remote Function Call via RECEIVE RESULTS FROM FUNCTION func .
This form of the REFRESH statement simulates pressing the return key.
Notes
Using
this variant only makes sense in connection with the asynchronous
Remote Function Call (CALL FUNCTION func …STARTING NEW TASK taskname
) after receiving the results of such a call within the FORM routine
(RECEIVE RESULTS FROM FUNCTION func ). It has no effect in other
environments.
It ensures that the last screen is processed again
with the commad ‘%_RS’. You can see this value in the command<0>
field in the top left corner of the current screen.
REFRESH – Initialize a control
Basic form
REFRESH CONTROL ctrl FROM SCREEN scr.
Effect
Initializes
the control ctrl defined by a CONTROLS statement according to its
description in the screen scr . The screen scr does not have to match
the initial screen for the control (see also ABAP/4 table control ).