Collect
Aus SAP-Wiki
Zur Navigation springenZur Suche springen
Siehe Schlüsselbefehl 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.