Collect
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Siehe Schlüsselbefehl Select.
Siehe Kategorie: Select.
Beim Befehl „Collect“ geht es darum, bei einer Tabelle numerische Felder zu addieren. Der Befehl "Collect" ist performanter als wenn man die Addition selber vornehmen würde.
Die Funktionsweise des Collect-Befehls sollte jedoch verstanden sein.
Beispiel aus der SAP-Hilfe
Verdichtetes Einfügen von Daten der Datenbanktabelle sflight in die interne Tabelle seats_tab. Die Zeilen, bei denen die Schlüsselkomponenten carrid und connid gleich sind, werden verdichtet, indem die Anzahl der belegten Plätze in der numerischen Komponente SEATSOCC hinzuaddiert werden.
DATA: BEGIN OF ls_seats,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
seatsocc TYPE sflight-seatsocc,
END OF ls_seats.
DATA lt_seats type HASHED TABLE OF seats
WITH UNIQUE KEY carrid connid.
SELECT
carrid
connid
seatsocc
FROM sflight
INTO ls_seats.
COLLECT ls_seats INTO lt_seats.
ENDSELECT.
Einschränkungen Collect-Befehl
- Der Schlüssel darf nur aus zeichenorientierte Feldtypen enthalten.
- Doppelte Sätze (auf den Key bezogen) sind in mit collect befüllten Tabellen nicht möglich.
- Man sollte das Ergebnis des Collects bei kleinen Datenmengen kontrollieren, ob es das erwartete Ergebnis bringt. Oft muss man selber die Addierung vornehmen und der Collect-Befehl führt nicht zum erhofften Ergebnis.