Ansicht
Dokumentation

ABAPSORT_EXTRACT - SORT EXTRACT

ABAPSORT_EXTRACT - SORT EXTRACT

ROGBILLS - Synchronize billing plans   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

SORT, Extrakt

Kurzreferenz



SORT $[ASCENDING$|DESCENDING$]
     $[AS TEXT$]
     $[STABLE$]
     $[sort_key$].

Zusätze:

1. ... ASCENDING$|DESCENDING

2. ... AS TEXT

3. ... STABLE

Wirkung

Diese Anweisung sortiert den Extraktdatenbestand des Programms. Voraussetzung für die Ausführung der Anweisung ist, dass die Feldgruppe header mit der Anweisung FIELD-GROUPS definiert und damit Bestandteil aller Feldgruppen ist. Falls kein expliziter Sortierschlüssel sort_key angegeben ist, wird der Extraktdatenbestand nach den Komponenten der Feldgruppe header sortiert. Numerische und byteartige Komponenten werden nach ihrem Wert und zeichenartige Komponenten standardmäßig nach ihrer binären Darstellung (Codepage) sortiert. Dabei werden aber Komponenten mit dem Inhalt hexadezimal 0 immer vor andere Einträge einsortiert. Eine textuelle Sortierung zeichenartiger Komponenten wird mit dem Zusatz AS TEXT erreicht.

Die Priorität der Sortierung richtet sich nach der Reihenfolge, in der die Komponenten mit INSERT in die Feldgruppe header eingefügt wurden.

Die Sortierung ist standardmäßig instabil, d.h. die relative Reihenfolge von Zeilen, die sich im Sortierschlüssel nicht unterscheidet, bleibt beim Sortieren nicht erhalten und kann bei mehrmaligem Sortieren unterschiedlich sein. Eine stabile Sortierung wird mit dem Zusatz STABLE erreicht.

Die Anweisung SORT schließt gleichzeitig den Aufbau des Extraktdatenbestands ab. Die Ausführung der Anweisung EXTRACT nach Ausführung der Anweisung SORT führt zu einer unbehandelbaren Ausnahme.

Hinweise

  • Dass Komponenten mit dem Inhalt hexadezimal 0 immer vor andere Einträge einsortiert werden, kann beim Sortieren numerischer Datentypen zu überraschendem Verhalten führen.
  • In globalen Klassen können keine Feldgruppen definiert und bearbeitet werden. In Methoden lokaler Klassen anderer Programme als Class-Pools ist die Anweisung SORT für dort global definierte Feldgruppen möglich.

Zusatz 1

... ASCENDING$|DESCENDING

Wirkung

Mit dem Zusatz ASCENDING bzw. DESCENDING kann die Sortierrichtung explizit als aufsteigend oder absteigend vorgegeben werden. Falls keiner der Zusätze angegeben ist, wird die aufsteigende Sortierung vorgegeben. Die Sortierrichtung kann im expliziten Sortierschlüssel sort_key für einzelne Komponenten überschrieben werden.

Zusatz 2

... AS TEXT

Wirkung

Der Zusatz AS TEXT gibt vor, dass textartige Komponenten gemäß dem Locale der aktuellen Textumgebung sortiert werden. Falls AS TEXT nicht angegeben ist, werden textartige Komponenten nach der Codierung in der Codepage der aktuellen Textumgebung sortiert. Mehr dazu finden Sie unter SORT für interne Tabellen.



Zusatz 3

... STABLE

Wirkung

Mit STABLE wird eine stabile Sortierung erreicht. Die relative Reihenfolge von Zeilen, die sich im Sortierschlüssel nicht unterscheidet, bleibt beim Sortieren unverändert. Ohne den Zusatz STABLE ist die Reihenfolge nicht stabil und mehrmaliges Sortieren des Extraktdatenbestands nach dem gleichen Sortierschlüssel kann bei jedem erneuten Sortieren die Reihenfolge ändern.

Extrakte, Verarbeitung

Ausnahmen

Unbehandelbare Ausnahmen

  • Ursache: Ein Sortierfeld mit explizitem Zusatz AS TEXT ist nicht textartig.
    Laufzeitfehler: SORT_AS_TEXT_EX_BAD_TYPE
  • Ursache: Mehr als 50 Sortierkriterien.
    Laufzeitfehler: SORT_EXTRACT_TOO_MANY_FIELDS
  • Ursache: Ein Sortierkriterium ist nicht in der Feldgruppe HEADER enthalten.
    Laufzeitfehler: SORT_FIELD_NOT_IN_HEADER
  • Ursache: Die Feldgruppe HEADER ist nicht definiert.
    Laufzeitfehler: SORT_NO_HEADER
  • Ursache: Die Verwendung von SORT innerhalb einer Schleife über einen Extraktdatenbestand ist nicht möglich.
    Laufzeitfehler: SORT_WITHIN_LOOP
  • Ursache: Nicht genügend Speicherplatz vorhanden.
    Laufzeitfehler: SORT_EXTRACT_INDEX_NO_ROLL








ABAP Short Reference   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7791 Date: 20240523 Time: 135324     sap01-206 ( 111 ms )