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.

Web-Links