ich habe in einer internen tabelle regionen neiderlassungen und beträge stehen.
zu jeder region gibt es mehrere beträge, also:
region niederlassung betrag
002 west 100,00
002 west 90,00
002 west 10,00
jetzt möchte ich gerne eine Ausgabe, in der auf die region verdichtet die summe der beträge angezeigt wird:
region niederlassung betrag
002 west 200,00
Wie kann ich das machen?
danke im vorraus für eure hilfe.
Aber leider ist die Augabe noch gleich.
Jeder datensatz wird angezeigt, auch mit doppelter Region uund in summe steht das gleiche wie in betrag.
Also keine verdichtung auf Region + Summe.
loop at itab into wa.
* Betragsfelder werden summiert,
* wenn die Spalten vorher identisch sind.
collect itab.
at end of region.
write: / wa-region,
wa-ndl,
wa-betrag
endat.
endloop.
Innerhalb des Loops die Tabelle mit "collect" verändern und dann noch hoffen, dass am Ende das richtige rauskommt! Probiers mal aus - ich kann mir beim besten Willen nicht vorstellen, dass das auch nur annähernd so funktioniert wie du dir das vorstellst
@ Martin (W.)
Lies dir mal die Hilfe zu dem Befehl "AT" (im LOOP) durch - insbesondere den Part WANN genau eine AT-Bedingung durchlaufen wird. ( Stichpunkt: Reihenfolge der Felder in der Struktur )
In deinem Fall wird das Feld ReGION wohl nicht das 1. in der Struktur sein.
Davor steht bestimmt ein Feld welches sich in jeder Zeile unterscheidet wie z.B. eine Belegnummer oder ein Zeitstempel
ich muss Stefan Recht geben, was das Verändern der internen Tabelle mit einem Collect angeht. Sicher nicht die schönste Lösung, aber sie funktioniert, wenn Du auf den Niederlassungen in der Region verdichten möchtest:
DATA: BEGIN OF itab OCCURS 0,
region(3) TYPE c,
nieder(4) TYPE c,
betrag(4) TYPE p DECIMALS 2,
END OF itab.
DATA: BEGIN OF itab2 OCCURS 0,
region(3) TYPE c,
nieder(4) TYPE c,
betrag(4) TYPE p DECIMALS 2,
END OF itab2.