Collect Befehl

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Collect Befehl

Beitrag von burggartenkind (ForumUser / 33 / 4 / 0 ) »
Hallo liebe Abapler,

Ich hab in einer internen Tabelle mehrer Einträge stehen die teilweise in einer Spalte die selbe SUBID haben aber hier jeder SUBID ein anderer COUNTER steht. Diese Counter möchte ich nun addieren.

Hier mein Select für die SUBIDs und Counter:

SELECT trigid subid counter FROM scmon_data INTO CORRESPONDING FIELDS OF TABLE lt_scmon_data
FOR ALL ENTRIES IN lt_scmon_proc
WHERE trigid = lt_scmon_proc-trigid.

und jetzt will ich über die lt loopen und mir aus der lt die counter zusammen collecten

LOOP AT lt_scmon_data INTO ls_scmon_data.
READ TABLE lt_scmon_data WITH KEY subid = ls_scmon_data-subid INTO ls_scmon_data2.
COLLECT ls_scmon_data2-counter INTO lt_scmon_data2.
ENDLOOP.

Ich bekomme allerdings einen Syntax Fehler:

ls_scmon_data2-counter un der Zeilentyp von lt_scmon_data2 sind nicht kompatibel.

in meiner Dataanweisung habe ich die beiden so definiert:

lt_scmon_data2 TYPE TABLE OF scmon_data,
ls_scmon_data2 type scmon_data.


Wie bring ich es zusammen das die die Counter addiert werden? und in meine lt_scmondata2 geschrieben werden?

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Collect Befehl

Beitrag von zzcpak (Expert / 673 / 5 / 67 ) »
anstatt

Code: Alles auswählen.

COLLECT ls_scmon_data2-counter INTO lt_scmon_data2.
sollte es doch wohl eher

Code: Alles auswählen.

COLLECT ls_scmon_data2 INTO lt_scmon_data2.
heißen.

Re: Collect Befehl

Beitrag von burggartenkind (ForumUser / 33 / 4 / 0 ) »
zzcpak hat geschrieben:
31.07.2019 10:36
anstatt

Code: Alles auswählen.

COLLECT ls_scmon_data2-counter INTO lt_scmon_data2.
sollte es doch wohl eher

Code: Alles auswählen.

COLLECT ls_scmon_data2 INTO lt_scmon_data2.
heißen.

Ja ich will aber nur jenes feld collecten wo der Counter drinnen steht und die anderen nicht?

Re: Collect Befehl

Beitrag von LostDarkness (ForumUser / 87 / 15 / 6 ) »
Warum dann nicht einfach anstelle des COLLECT ne Hilfsvariable?

Code: Alles auswählen.

LOOP AT lt_scmon_data INTO ls_scmon_data.
READ TABLE lt_scmon_data WITH KEY subid = ls_scmon_data-subid INTO ls_scmon_data2.
lv_summe = lv_summe + ls_scmon_data2-counter.
ENDLOOP.

Folgende Benutzer bedankten sich beim Autor LostDarkness für den Beitrag:
burggartenkind

“You should name a variable using the same care with which you name a first-born child.”
― Robert C. Martin

Re: Collect Befehl

Beitrag von zzcpak (Expert / 673 / 5 / 67 ) »
lies am besten noch mal die Hilfe zu COLLECT

"Diese Anweisung fügt den Inhalt eines Arbeitsbereichs wa entweder als einzelne Zeile in eine interne Tabelle itab ein oder addiert die Werte seiner numerischen Komponenten zu den entsprechenden Werten bereits vorhandener Zeilen mit dem gleichen primären Tabellenschlüssel. Bei wa handelt es sich um eine funktionale Operandenposition. "

Seite 1 von 1

Vergleichbare Themen

5
Antw.
3421
Views
Problem mit Collect Befehl
von Slim_Chance » 05.10.2005 11:47 • Verfasst in ABAP® Core
2
Antw.
2550
Views
COLLECT
von Cola » 30.10.2009 19:16 • Verfasst in ABAP® Core
3
Antw.
1973
Views
Collect!
von Parm » 24.09.2007 09:56 • Verfasst in ABAP® für Anfänger
15
Antw.
4704
Views
Collect?
von HH_ABAP » 01.06.2018 10:32 • Verfasst in ABAP® für Anfänger
17
Antw.
3789
Views
Collect?
von Fredi » 24.05.2005 13:29 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.