Tabelle COST umdrehen bzw. Spalten auswerten und in Zeilen zurückschreiben

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Tabelle COST umdrehen bzw. Spalten auswerten und in Zeilen zurückschreiben

Beitrag von MarioR (ForumUser / 1 / 0 / 0 ) » 11.11.2019 17:30
Hallo Zusammen,

ich bin ABAP Neuling und beiße mir gerade die Zähne aus, wie man folgende Logik umsetzt, vllt. kann mir einer von euch helfen:

In der Tabelle COST sind Leistungen/Tarife monatsabhängig in den Spalten abgelegt. Diese kopiere ich zunächst in eine interne Tabelle I_COST. Soweit so gut.
Nun möchte ich die Preise aus den Spalten der I_COST Zeile für Zeile untersuchen und je Tarif und je Preisänderung einen Eintrag in einer neuen Tabelle erzeugen.

Z.B
Tarif 123 (Objnr): Jan = 5, Feb = 5, März = 6, April = 6, Mai = 5.... Dez = 5
Tarif 124 ....

Ergebnis:
Tarif 123; Preis = 5; von Jan bis Feb
Tarif 123; Preis = 6; von März bis April
Tarif 123; Preis = 5, von Mai bis Dez
Tarif 124 ...

Vielen Dank vorab!


Re: Tabelle COST umdrehen bzw. Spalten auswerten und in Zeilen zurückschreiben

Beitrag von M@atze! (ForumUser / 90 / 6 / 20 ) » 13.11.2019 13:54
Hi,

Sieh dir mal den Befehl "ASSIGN COMPONENT comp OF STRUCTURE struc TO <field_symbol>" an.

Den benutze ich gerne wenn es darum geht Daten aus einer Struktur in
mehrere Zeilen (oder andersherum) zu konvertieren.

Ich würde nach folgendem, groben Schema vorgehen:

- LOOP über die I_COST
- DO-Schleife für die Monate (also 12 mal)
- Zähler für den aktuellen Monat
- Zähler für die Komponentennummer (comp)
- ASSIGN COMPONENT comp OF STRUCTURE <Struktur aus dem Loop über die
I_COST> TO <field_symbol>
( z.B. comp = 5 -> das Feldsymbol zeigt auf den Wert der fünften Komponente der
benannten Struktur.)
- Vergleichen, ob der Wert der aktuellen Komponente mit dem Wert der
Vorangegangenen gleich ist (Hilfsvariable).
- Zielstruktur füllen und ggf. APPEND (wenn neuer Preis) in deine Zieltabelle
- Hilfsvariable mit aktuellem Preis für den nächsten Schleifendurchlauf füllen.
- Ende DO-Schleife
- Zähler für den aktuellen Monat zurücksetzen
- Zähler für die Komponentennummer auf die "Startkomponente" zurücksetzen
- Ende LOOP über die I_COST

Hoffe es hilft dir ein wenig.

Viele Grüße
Matze

Seite 1 von 1

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und besseren Inhalt:

Vergleichbare Themen

Tabelle MVER "umdrehen" (Zeilen -> Spalten)
von ralf.wenzel » 31.07.2013 19:39
Zeilen einer Internen Tabelle in Spalten ausgeben
von Gast » 07.07.2004 12:46
ALV-Grid: markierte Zeilen und Spalten
von dmyrb5 » 15.02.2006 15:17
Splitter cl_gui_splitter_container: Zeilen/Spalten ändern
von Nordlicht » 27.09.2013 11:07
ALV: Die ersten 5 Zeilen fixieren / maximale Anzahl Spalten
von marcel.kupper » 21.04.2007 16:55