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.