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. Nov 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 / 67 / 6 / 9 ) » 13. Nov 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

Aktuelle Forenbeiträge

Generierte Datei auf bestimmte Email Adresse versenden
vor 11 Stunden von M@atze! 4 / 65
Zweite Zeile vorhanden, dann überprüfen auf Feld Gleichheit
vor 15 Stunden von a-dead-trousers 5 / 111
benutzerdefinierter CSV Ausgabepfad
Gestern von a-dead-trousers 8 / 147
Mehrere Funktionsbausteine verwenden
Gestern von a-dead-trousers 2 / 100

Unbeantwortete Forenbeiträge

Transaktionen MEIS / VE01
Gestern von SAP_ENTWICKLER 1 / 51
Cl_gui_html_viewer Problem
vor 5 Tagen von YoeBoy 1 / 23
Namensänderung von PSP Elementen
vor einer Woche von jamyr 1 / 46
Generische Objekte in der Massenverarbeitung
vor einer Woche von TravellingEntwickler 1 / 116
Virtuelles System anlegen
vor einer Woche von ichse18577 1 / 92