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.

Web-Links