Group by auf interne Tabelle

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

Group by auf interne Tabelle

Beitrag von b0rsti (ForumUser / 86 / 0 / 0 ) »
Hallo,

kann ich eine interne Tabelle oder Struktur z.B. mit einem Group by auf ein Feld verdichten?
Wenn ja, wie würde die Syntax ausschauen?

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Naja, entweder das ganze selber machen mit LOOP vielen IFs und einer zweiten Itab,
oder per LOOP dem Befehl COLLECT und einer zeiten ITAB.

Der COLECT summiert sozusagen alle NUMERISCHEN Felder anhand der ALPHAfelder.

Beitrag von b0rsti (ForumUser / 86 / 0 / 0 ) »
hast du vielleicht ein beispiel parat?

Re: Group by auf interne Tabelle

Beitrag von pld_men (ForumUser / 1 / 0 / 0 ) »
Hallo Alle,
da ich mich auch mit dem Problem beschäftigen musste, hier ein Beispiel:
Ich habe eine zweite Tabelle erstellt. (it_group)
In dieser Tabelle sollte man alle Felder aufnehmen die man gruppieren möchte. (ty_group )
Danach füllt man mit die 2. Tabelle mit den Informationen aus der ursprünglichen Tabelle. (z.B select ... mara oder loop ... itab)
Da ich die Anzahl ermitteln wollte fülle ich das Feld anzahl mit 1.
Mit collect wird dann in die gruppierte Tabelle geschrieben. Die Anzahl wird pro mtart addiert.
Da ich nur ein Feld (MTART) habe bekommen ich eine Liste mit der Anzahl Produkte pro Materialart.

Code: Alles auswählen.

types: BEGIN OF ty_group,
         mtart  type mtart,
         anzahl type i,
       END OF ty_group.

data:  it_group type TABLE OF ty_group,
       wa_group type ty_group,
       wa_mara  type mara.


select * from mara into wa_mara.
  MOVE-CORRESPONDING wa_mara to wa_group.
  wa_group-anzahl = 1.
  COLLECT wa_group into it_group.
ENDSELECT.

loop at it_group into wa_group.
  write: / wa_group-mtart, wa_group-anzahl.
ENDLOOP.

hoffentlich hilft Euch das.

Re: Group by auf interne Tabelle

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin.
Gruppieren einer ITAB kann man mit AT NEW ...
Die Gruppenstufenanweisungen erlauben es auf Gruppenwechsel in internen Tabellen reagieren, ...... die Gruppenstufenanweisungen in der Schleife wie folgt aufgebaut sein:

LOOP AT <itab>.
AT FIRST.... ENDAT.
AT NEW <f1>....... ENDAT.
AT NEW <f2>....... ENDAT.
.......
<Einzelsatzverarbeitung>
.......
AT END OF <f2>.... ENDAT.
AT END OF <f1>.... ENDAT.
AT LAST..... ENDAT.
ENDLOOP.
http://help.sap.com/saphelp_470/helpdat ... ontent.htm
lg Jens
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Seite 1 von 1

Vergleichbare Themen

4
Antw.
1145
Views
5
Antw.
2145
Views
Inhalt interne Tabelle an andere interne Tabelle übergeben
von L0w-RiDer » 30.01.2020 16:28 • Verfasst in ABAP® für Anfänger
5
Antw.
935
Views
1
Antw.
600
Views

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Rechnung: Belegspez. Adresse
vor 8 Minuten von ewx 2 / 190
Daten an Tabelle binden
vor 6 Stunden von Lukas Sanders 4 / 2073
Regex in where
vor 2 Tagen von tar 8 / 850
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 657

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.

Aktuelle Forenbeiträge

Rechnung: Belegspez. Adresse
vor 8 Minuten von ewx 2 / 190
Daten an Tabelle binden
vor 6 Stunden von Lukas Sanders 4 / 2073
Regex in where
vor 2 Tagen von tar 8 / 850
Programm anlegen mit Vorlage
vor 3 Tagen von DeathAndPain 2 / 657

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 3 Tagen von snooga87 1 / 561
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 3747
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 10166