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 / 8 / 0 / 0 ) » 4. Dez 2019 11:55

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


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

Beitrag von jesse001 (ForumUser / 6 / 2 / 0 ) » 4. Dez 2019 12:55

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 / 3301 / 90 / 841 ) » 4. Dez 2019 13:37

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.07
Basis: 7.40

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

Beitrag von cecslucas (ForumUser / 8 / 0 / 0 ) » 4. Dez 2019 13:47

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 / 3301 / 90 / 841 ) » 5. Dez 2019 13:13

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.07
Basis: 7.40

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

Beitrag von DeathAndPain (Top Expert / 1184 / 132 / 256 ) » 6. Dez 2019 08:12

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 / 3301 / 90 / 841 ) » 6. Dez 2019 21:45

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.07
Basis: 7.40

Seite 1 von 1

Aktuelle Forenbeiträge

Objekt implementiert Interface? gelöst
vor 37 Minuten von a-dead-trousers 2 / 18
Anzahlungsrechnung drucken
vor 17 Stunden von Sebastian82 3 / 76
PopUp bei Fakturaerstellung
vor 17 Stunden von jocoder 2 / 51
Generische Objekte in der Massenverarbeitung
vor 18 Stunden von TravellingEntwickler 2 / 611
Unterschiedliche Konditionen AB und Rechnungdruck
Gestern von Sebastian82 1 / 45

Unbeantwortete Forenbeiträge

Unterschiedliche Konditionen AB und Rechnungdruck
Gestern von Sebastian82 1 / 45
Änderungsbelege für Kundenfelder im BP
vor 4 Tagen von GerryRe 1 / 1992
Transaktionen MEIS / VE01
vor einer Woche von SAP_ENTWICKLER 1 / 2463
Cl_gui_html_viewer Problem
vor einer Woche von YoeBoy 1 / 2007