Update wird nicht korrekt durchgeführt - Klammerung ?

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

Update wird nicht korrekt durchgeführt - Klammerung ?

Beitrag von thomasxy (ForumUser / 36 / 0 / 0 ) »
Hallo zusammen,

ich brauche eure Hilfe.

Ich habe folgenden Update- Anweisung in meinem Report

UPDATE wlbm SET abbnr = 'FALSE'
WHERE atbnr = 1_str_wlbm_sapmatnr-atbnr
OR
atbnr = sapmatnr2 OR
atbnr = sapmatnr3 OR
atbnr = sapmatnr4 OR
atbnr = sapmatnr5 OR
atbnr = sapmatnr6 OR
atbnr = sapmatnr7
and layvr = layvr_altkatalog OR "wird nicht berücksichtigt
layvr = layvr_neu. "wird nicht berücksichtigt


Leider werden die unteren beiden Zeilen bei der Ausführung nicht berücksichtigt, obwohl Sie korrekte Daten enthalten.
Stattdessen wird das Update bei allen Einträgen gemacht egal welche Werte im Feld layvr stehen.

Kann mir jemand weiterhelfen warum die Anweisung nicht berücksichtigt wird.
Muss evtl. bei Abap mit Klammern gearbeitet werden ? oder woran könnte es liegen.

Freue mich über Tipps.

Vielen Dank

gruß
thomas

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


Beitrag von BlackMail (ForumUser / 79 / 0 / 0 ) »
Hallo thomasxy,

deine Vermutung mit der Klammerung ist schon richtig. AND bindet immer stärker als OR. Sobald also eine der ersten sechs Bedingungen wahr ist, ist der ganze Ausdruck wahr.
Ich weiß nicht, wie die Logik bei Dir aussehen muss, aber vermutlich müssen die Klammern so gesetzt werden:

Code: Alles auswählen.

UPDATE wlbm SET abbnr = 'FALSE'
WHERE ( atbnr = 1_str_wlbm_sapmatnr-atbnr
OR
atbnr = sapmatnr2 OR
atbnr = sapmatnr3 OR
atbnr = sapmatnr4 OR
atbnr = sapmatnr5 OR
atbnr = sapmatnr6 OR
atbnr = sapmatnr7 )
and layvr = layvr_altkatalog OR "wird nicht berücksichtigt
layvr = layvr_neu. "wird nicht berücksichtigt 
In dem Fall wäre dann aber der Ausdruck z. B. wahr, wenn "layvr = layvr_neu" ist, egal wie atbnr gefüllt ist. Ist das das, was du willst?

Gruß BlackMail.

Beitrag von BlackMail (ForumUser / 79 / 0 / 0 ) »
Hallo thomasxy,

deine Vermutung mit der Klammerung ist schon richtig. AND bindet immer stärker als OR. Sobald also eine der ersten sechs Bedingungen wahr ist, ist der ganze Ausdruck wahr.
Ich weiß nicht, wie die Logik bei Dir aussehen muss, aber vermutlich müssen die Klammern so gesetzt werden:

Code: Alles auswählen.

UPDATE wlbm SET abbnr = 'FALSE'
WHERE ( atbnr = 1_str_wlbm_sapmatnr-atbnr
OR
atbnr = sapmatnr2 OR
atbnr = sapmatnr3 OR
atbnr = sapmatnr4 OR
atbnr = sapmatnr5 OR
atbnr = sapmatnr6 OR
atbnr = sapmatnr7 )
and layvr = layvr_altkatalog OR "wird nicht berücksichtigt
layvr = layvr_neu. "wird nicht berücksichtigt 
In dem Fall wäre dann aber der Ausdruck z. B. wahr, wenn "layvr = layvr_neu" ist, egal wie atbnr gefüllt ist. Ist das das, was du willst?

Gruß BlackMail.

Beitrag von thomasxy (ForumUser / 36 / 0 / 0 ) »
Ich möchte dass beide Bedingungen berücksichtigt werden .

Also der Ausdruck soll nur war sein wenn atbnr korrekt gefüllt ist und die layvr= layvr_neu bzw. layvr_altkatalog.

Ist das in Abap machbar ?.

Danke

Beitrag von m.schwertle (ForumUser / 94 / 0 / 0 ) »
Ja klar, ziemlich einfach sogar (dies ist - btw - auch gar nicht ABAP-spezifisch, sondern sind SQL-Grundlagen).

Code: Alles auswählen.

UPDATE wlbm SET abbnr = 'FALSE' 
WHERE
  (
    atbnr = 1_str_wlbm_sapmatnr-atbnr OR
    atbnr = sapmatnr2 OR
    atbnr = sapmatnr3 OR
    atbnr = sapmatnr4 OR
    atbnr = sapmatnr5 OR
    atbnr = sapmatnr6 OR
    atbnr = sapmatnr7
  )
  AND
  (
    layvr = layvr_altkatalog OR
    layvr = layvr_neu
  ).
... also genau so, wie es auch schon BlackMail vorgeschlagen hat.

Beitrag von thomasxy (ForumUser / 36 / 0 / 0 ) »
prima,

danke.

Problem gelöst.

Seite 1 von 1

Vergleichbare Themen

4
Antw.
2687
Views
1
Antw.
1380
Views
FB RPY_FUNCTIONMODULE_INSERT geht nicht korrekt
von andipesel » 04.03.2008 21:56 • Verfasst in ABAP Objects®
12
Antw.
6400
Views
Tiefe, dynamische Struktur korrekt referenzieren
von ABAP_User » 05.06.2014 12:03 • Verfasst in ABAP® Core
0
Antw.
3052
Views
tabellenabgleich mittels SCU0 funktioniert nicht korrekt
von DIL » 28.07.2005 08:16 • Verfasst in Basis
1
Antw.
1332
Views
JSON Struktur wird nicht korrekt dargestellt
von Kai555 » 11.04.2024 16:56 • 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

Absprung VA02 Position
vor einer Stunde von gs3rr4 3 / 23
OPD Druck im SPOOL
vor 2 Stunden von Manfred K. 1 / 14
Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1801
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2335

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

Absprung VA02 Position
vor einer Stunde von gs3rr4 3 / 23
OPD Druck im SPOOL
vor 2 Stunden von Manfred K. 1 / 14
Hilfe zum FB MATERIAL_MAINTAIN_DARK
Gestern von black_adept gelöst 8 / 1801
HR-Entgeltnachweis
vor 2 Tagen von ChrisB 4 / 2335

Unbeantwortete Forenbeiträge

OPD Druck im SPOOL
vor 2 Stunden von Manfred K. 1 / 14
Export von Spools in XLSX
vor 5 Tagen von abapamateur 1 / 385
Feldberechnung ME32K
vor einer Woche von ZF_SAPler 1 / 988
MS-Word als Editor
letzen Monat von tekko 1 / 4486