Werteübergabe interne Tabellen

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

Werteübergabe interne Tabellen

Beitrag von Bjuti (ForumUser / 45 / 14 / 0 ) »
Hallo zusammen,

ich bins mal wieder. Mir ist leider kein gescheiter Titel für den Betreff eingefallen. Deshalb versuch ich es hier genauer zu erläutern. Ich habe eine interne Tabelle mit folgendem Inhalt:

Tabelle: (Spalte1, Spalte2, Spalte3)
1___X___4,78
1___O___0,00
1___O___0,00
1___O___0,00
1___O___0,00
2___O___0,00

Wenn es in Spalte 2 ein "X" gibt, dann sollen alle Zeilen die den gleichen "Schlüssel" haben wie in Spalte 1 den Wert aus Spalte 3 in Spalte 3 übernehmen.

Tabelle: (Spalte1, Spalte2, Spalte3)
1___X___4,78
1___O___4,78
1___O___4,78
1___O___4,78
1___O___4,78
2___O___0,00

Hmm klingt eigentlich nicht nach einem großen Problem wenn ich das jetzt so lese. Aber ich komme leider auf keinen grünen Zweig.

VG Bjuti

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


Re: Werteübergabe interne Tabellen

Beitrag von JHM (Top Expert / 1212 / 2 / 202 ) »
Bjuti hat geschrieben:Aber ich komme leider auf keinen grünen Zweig.

Code: Alles auswählen.

LOOP AT itab INTO wa WHERE spalte2 = 'X'.
  MODIFY itab FROM wa TRANSPORTING spalte3 WHERE spalte1 = wa-spalte1.
ENDLOOP.
Gruß Hendrik

Re: Werteübergabe interne Tabellen

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
hi!

Einfach!

Code: Alles auswählen.

LOOP AT lt_table ASSIGNING <ls_line1> WHERE spalte2 EQ 'X'.
  LOOP AT lt_table ASSIGNING <ls_line2> WHERE spalte1 EQ <ls_line1>-spalte1.
    <ls_line2>-spalte3 = <ls_line1>-spalte3.
  ENDLOOP.
ENDLOOP.
EDIT: JHM war schneller :( Ich lass mein Coding trotzdem mal so hier stehen (Weil es einen Tick performanter ist)
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Werteübergabe interne Tabellen

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
Ohne geschachtelter Schleife sollte es sogar noch einen Tick schneller sein :P

Code: Alles auswählen.

LOOP AT lt_table ASSIGNING <ls_line> WHERE spalte2 EQ 'X'.
  MODIFY lt_table FROM <ls_line> TRANSPORTING spalte3 WHERE spalte1 EQ <ls_line>-spalte1.
ENDLOOP.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Werteübergabe interne Tabellen

Beitrag von Bjuti (ForumUser / 45 / 14 / 0 ) »
a-dead-trousers hat geschrieben:Ohne geschachtelter Schleife sollte es sogar noch einen Tick schneller sein :P

Code: Alles auswählen.

LOOP AT lt_table ASSIGNING <ls_line> WHERE spalte2 EQ 'X'.
  MODIFY lt_table FROM <ls_line> TRANSPORTING spalte3 WHERE spalte1 EQ <ls_line>-spalte1.
ENDLOOP.

Ich bin begeistert. Danke. Ich hatte es mit MOVE versuchen wollen. TRANSPORTING war mir unbekannt. Bis jetzt. :)

Ein Problem schließt sich aber an. Die Zielspalte soll nun eine andere sein:

Tabelle: (Spalte1, Spalte2, Spalte3, Zielspalte)
1___X___4,78___
1___O___0,00___4,78
1___O___0,00___4,78
1___O___0,00___4,78
1___O___0,00___4,78
2___O___0,00___4,78

VG Bjuti

Re: Werteübergabe interne Tabellen

Beitrag von JHM (Top Expert / 1212 / 2 / 202 ) »
Bjuti hat geschrieben:Ein Problem schließt sich aber an. Die Zielspalte soll nun eine andere sein:

Code: Alles auswählen.

LOOP AT itab INTO wa WHERE spalte2 = 'X'.
  wa-zielspalte = wa-spalte3. "Zielspalte füllen 
  MODIFY itab FROM wa TRANSPORTING zielspalte WHERE spalte1 = wa-spalte1 AND spalt2 <> 'X'.
ENDLOOP.
Hier mußt du mit Feldsymbolen vorsichtig sein. Sonst wird die Zielspalte auf in der "X-Key"-Spalte gefüllt.
Gruß Hendrik

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3091
Views
2
Antw.
3298
Views
Call Transaction WE20 mit Werteübergabe
von Sascha47 » 13.11.2018 12:47 • Verfasst in ABAP® Core
0
Antw.
835
Views
1
Antw.
1694
Views
RFC und interne Tabellen
von Mr.Black » 23.01.2007 18:22 • Verfasst in ABAP® Core
3
Antw.
2363
Views
interne Tabellen
von komel » 29.12.2016 16:35 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

IF mit AND und OR
vor einer Woche von GastX 6 / 8981
Meine Inbox
vor einer Woche von Rabea1103 1 / 6740
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 7894
FUBA 'HR_INFOTYPES_OPERATION'
vor einer Woche von Bright4.5 3 / 13386

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

IF mit AND und OR
vor einer Woche von GastX 6 / 8981
Meine Inbox
vor einer Woche von Rabea1103 1 / 6740
PCL2 Cluster auslesen
vor einer Woche von DeathAndPain 2 / 7894
FUBA 'HR_INFOTYPES_OPERATION'
vor einer Woche von Bright4.5 3 / 13386