ABAP Keyword Documentation → ABAP - Reference → Obsolete Language Elements → Obsolete Extracts
SORT - Extract
Other versions: 7.31 | 7.40 | 7.54
Obsolete Syntax
SORT [ASCENDING|DESCENDING]
[AS TEXT]
[STABLE]
[sort_key].
Extras
1. ... ASCENDING|DESCENDING
2. ... AS TEXT
3. ... STABLE
Effect
This statement sorts the extract
dataset of the program. A prerequisite for executing the statement is that the field group
header is defined using the FIELD-GROUPS
statement, and is therefore a component of all field groups. If no explicit sort key
sort_key
is specified, the extract dataset is sorted by the components
of the field group header
. Numeric and byte-type components are sorted according to their value and character-type components are sorted by default according to their binary representation
(code page). Here, components
containing hexadecimal 0 are placed before other entries. Text sorting for character-type components can be done using the addition AS TEXT
.
The priority of sorting is based on the order in which the components are inserted into the field group
header
using INSERT
.
Sorting is instable by default, which means that the relative order of rows that do not have different
sort keys is not retained when they are sorted, and can change when you sort more than once. The addition STABLE
can be used for stable sorting.
The SORT
statement also finalizes the structure of the extract dataset. Executing
the statement EXTRACT
after executing the SORT
statement leads to an untreatable exception.
Notes
-
The
SORT
statement for the extract dataset is syntactically different to theSORT
statement for internal tables, the only difference being that no internal table is specified, but the two should not be confused with one another. - If components with the content hexadecimal 0 are placed before other entries, this can lead to unexpected behavior when sorting numerical data types.
-
In global classes, no field groups can be defined or edited. In methods of local classes of programs other than class pools, the
SORT
statement is possible for globally defined field groups. -
Extracts are now obsolete. We recommend that you use internal tables instead
Addition 1
... ASCENDING|DESCENDING
Effect
-
The addition
ASCENDING
orDESCENDING
can be used to specify the sort direction explicitly as ascending or descending. If neither addition is specified, the data is sorted in ascending order by default. The sort direction can be overwritten for individual components in the explicit sort keysort_key
.
Addition 2
... AS TEXT
Effect
The addition AS TEXT
specifies that
text-like components are sorted according to the
locale of the current text environment.
If AS TEXT
is not specified, text-like components are sorted according to
the encoding in the code page of the current text environment. For more information, see SORT
for internal tables.
Note
-
For the addition
AS TEXT
to function correctly, the profile parameter install/collate/active cannot have the value 0.
Addition 3
... STABLE
Effect
You can use STABLE
to perform stable sorting. The relative sequence of lines,
which is the same in the sort key, remains unchanged when sorting. Without the STABLE
addition, the order is not stable and repeated sorting of the extract dataset with the same sort key can change the order in each sort.
Example
See AT
.
Exceptions
Non-Catchable Exceptions
-
Cause: A sort field with the explicit addition
AS TEXT
is not text-like.
Runtime Error:SORT_AS_TEXT_EX_BAD_TYPE
-
Cause: More than 50 sort criteria.
Runtime Error:SORT_EXTRACT_TOO_MANY_FIELDS
-
Cause: The field group
HEADER
does not contain a sort criterion.
Runtime Error:SORT_FIELD_NOT_IN_HEADER
-
Cause: The field group
HEADER
is not defined.
Runtime Error:SORT_NO_HEADER
-
Cause: It is not possible to use
SORT
in a loop through an extract dataset.
Runtime Error:SORT_WITHIN_LOOP
-
Cause: Insufficient memory space.
Runtime Error:SORT_EXTRACT_INDEX_NO_ROLL