Zweite Zeile vorhanden, dann überprüfen auf Feld Gleichheit

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

Zweite Zeile vorhanden, dann überprüfen auf Feld Gleichheit

Beitrag von cecslucas (ForumUser / 17 / 1 / 0 ) »
Hallo zusammen,

lange habe ich mich gescheut die Frage zu stellen, aber gut ich komme nicht voran...
Ich stehe vor folgendem Problem:

Ich muss über eine Tabelle loopen und prüfen ob eine zweite Zeile vorhanden ist, ist eine zweite Zeile vorhanden, so sollen dies zwei Zeilen auf ein Feld verglichen werden und der Wert des Feldes aus Zeile1 in die variable z1_feld geschrieben und der Wert des Feldes aus Zeile2 in die variable z2_feld geschrieben werden.

Ich hoffe es ist etwas verständlich? Wie kann ich dieses Problem smart lösen?

LG

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


Re: Zweite Zeile vorhanden, dann überprüfen auf Feld Gleichheit

Beitrag von jesse001 (ForumUser / 6 / 2 / 0 ) »
wenn ich es richtig verstanden habe, hast du ja schon fast die Lösung beschrieben, zwei Variablen definieren und dann den loop starten. sy-tabix = 1 erste Variable mit dem gewünschten Feldinhalt füllen, bei sy-tabix = 2 die zweite etc.

Re: Zweite Zeile vorhanden, dann überprüfen auf Feld Gleichheit

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Ich geh mal davon aus, dass du mehr als nur zwei Zeilen in der Tabelle hast und die Zeilen immer als "Pärchen" betrachten möchtest. Die ganze Lösung will ich jetzt auch nicht verraten 😜 (weil sie ja auch nicht so kompliziert ist) aber für eine elegante Lösung wirst du höchstwahrscheinlich den Operator MOD benötigen.
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: Zweite Zeile vorhanden, dann überprüfen auf Feld Gleichheit

Beitrag von cecslucas (ForumUser / 17 / 1 / 0 ) »
Ich stand einfach total auf dem Schlauch ... dieser kleine Gedankenanstoß hat mir schon geholfen! Vielen Dank

Re: Zweite Zeile vorhanden, dann überprüfen auf Feld Gleichheit

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Nachdem ich per PM gerügt wurde MOD sei keine "elegante" Lösung möchte ich meine Aussage von gestern relativieren und festhalten das MOD "eine einfache" Lösung ist aber eben nicht die eleganteste und bei weitem nicht die performanteste. 😅
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: Zweite Zeile vorhanden, dann überprüfen auf Feld Gleichheit

Beitrag von DeathAndPain (Top Expert / 1944 / 257 / 413 ) »
Ich verstehe noch nicht einmal, was MOD da bringen soll. MOD liefert den Rest einer Division. Was willst Du da dividieren? Möglicherweise sind die beteiligten Felder noch nicht mal Zahlenfelder.

Ich würde so da rangehen:

Code: Alles auswählen.

  LOOP AT tabelle ASSIGNING FIELD-SYMBOL(<tabelle>) FROM 2.
    ASSIGN PLANS_ZU_PERNR[ SY-TABIX - 1 ] TO FIELD-SYMBOL(<VORIGE_ZEILE>).
    check <tabelle>-feld <> <vorige_zeile>-feld.
    z1_feld = <vorige_zeile>-feld.
    z2_feld = <tabelle>-feld.
  ENDLOOP.
Nützlich ist der obenstehende Code so natürlich noch nicht (da müsste noch ergänzendes Coding rein, das die Felder verwertet), aber das ist das, was ich als Anforderung verstanden habe.

Re: Zweite Zeile vorhanden, dann überprüfen auf Feld Gleichheit

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Naja, so beziehst du dich IMMER auf die vorherige Zeile ( 1 + 2, 2 + 3, 3 + 4 usw..).
Meine Vermutung war eher, dass die Zeilen in zweier Pärchen ( 1 + 2, 3 + 4, 5 + 6 usw..) betrachtet werden sollen. Mir ging es darum den Rest von SY-TABIX MOD 2 zu prüfen um zu erkennen ob gerade die erste oder zweite Zeile des Pärchens betrachtet wird.

@cecslucas: Huch, jetzt hab ich die Lösung verraten. 😜

Aber wie gesagt hab ich per PM inzwischen eine meines Erachtens bessere Vorgehensweise dafür bekommen.
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

Seite 1 von 1

Vergleichbare Themen

3
Antw.
1947
Views
Überprüfen, ob Dynpro im BI vorhanden
von Schmarsi » 03.01.2012 11:47 • Verfasst in ABAP® Core
10
Antw.
926
Views
iTab-Zeile in ein Feld eintragen
von Nordlicht » 11.04.2019 12:34 • Verfasst in ABAP® für Anfänger
1
Antw.
2663
Views
Problem mit Filter auf Gleichheit im ALV Grid
von denno » 22.02.2005 11:11 • Verfasst in Dialogprogrammierung
4
Antw.
3312
Views
Neues Logo die Zweite
von commolus » 06.06.2013 13:09 • Verfasst in Dialogprogrammierung
3
Antw.
570
Views
Zeilenumbruch bei Listausgabe verhindern & zweite Seite erzeugen
von Sonne1234 » 28.01.2020 10:31 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 5 Stunden von DeathAndPain gelöst 22 / 2799
Daten an Tabelle binden
vor 10 Stunden von Lukas Sanders 2 / 875
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 430

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

Dialog-Container mit Toolbar/Status
vor 5 Stunden von DeathAndPain gelöst 22 / 2799
Daten an Tabelle binden
vor 10 Stunden von Lukas Sanders 2 / 875
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 430

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2467
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9050