Select auf Tabelle abhängig vom BUKR

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

Select auf Tabelle abhängig vom BUKR

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
Hallo,

ich bin leicht am verzweifeln, da ich keine Ahnung habe wieso mir gewisse Datensätze selektiert werden.

Code: Alles auswählen.

 Tabelle aus dem Dictionary in interne Tabelle laden.
  SELECT prps~pbukr prps~posid prps~objnr prps~prart jest~stat
    FROM prps JOIN jest on prps~objnr = jest~objnr
    into CORRESPONDING FIELDS OF TABLE lt_xpa
    WHERE prps~pbukr = wa_itab-pbukr AND
          jest~inact <> 'X' AND
          jest~stat = 'I0002' OR
          jest~stat = 'I0045'.
In der Variabel wa_itab_pbukr ist der Value '1140'.

Trotzdem spuckt mir die Abfrage folgende Datensätze aus:
table.gif
Wie kann er mir diese DS ausgeben, der BUKR 9700 ist ja ungleich mit 1140.

Liegt das an meiner Abfrage?

Viel Dank und Mahlzeit!

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


Re: Select auf Tabelle abhängig vom BUKR

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Liegt an der Abfrage, setz den OR-Teil mal in Klammern, das sollte es meiner Ansicht nach sein.

Also so dann:

Code: Alles auswählen.

SELECT prps~pbukr prps~posid prps~objnr prps~prart jest~stat
    FROM prps JOIN jest on prps~objnr = jest~objnr
    into CORRESPONDING FIELDS OF TABLE lt_xpa
    WHERE prps~pbukr = wa_itab-pbukr AND
          jest~inact <> 'X' AND
          ( jest~stat = 'I0002' OR
          jest~stat = 'I0045' ).

Anderfalls selektiert er dir nämlich einmal alle Sätze, wo gilt:
prps~pbukr = wa_itab-pbukr AND
jest~inact <> 'X' AND
jest~stat = 'I0002'
UND alle Sätze wo gilt jest~stat = 'I0045' .

Gruß

Folgende Benutzer bedankten sich beim Autor km216 für den Beitrag:
Spookykid


Re: Select auf Tabelle abhängig vom BUKR

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
ok, funktioniert. Ich finde es trotzdem merkwürdig, dass er ohne Klammern den wa_itab-pbukr ignoriert. SQL ist halt immer so ne Sache ;-)
Ist das nur bei OR so ? Wenn ich AND benutze ist es von der Schachtelung ja eigentlich nichts anderes.

Re: Select auf Tabelle abhängig vom BUKR

Beitrag von km216 (Specialist / 151 / 6 / 11 ) »
Er ignoriert es ja nicht, sondern interpretiert es nur anders...
Wenn du nicht explizit Klammern setzt, werden die in diesem Fall implizit so gesetzt:

Code: Alles auswählen.

SELECT prps~pbukr prps~posid prps~objnr prps~prart jest~stat
    FROM prps JOIN jest on prps~objnr = jest~objnr
    into CORRESPONDING FIELDS OF TABLE lt_xpa
    WHERE ( prps~pbukr = wa_itab-pbukr AND
          jest~inact <> 'X' AND
           jest~stat = 'I0002' ) OR
          jest~stat = 'I0045' .
 
Aber warum das jetzt so ist, kann ich auch nicht ganz genau erklären... Aber ich bin sicher, hier gibt es Leute, die das können ;)

Re: Select auf Tabelle abhängig vom BUKR

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
km216 hat geschrieben:Liegt an der Abfrage, setz den OR-Teil mal in Klammern, das sollte es meiner Ansicht nach sein.

Also so dann:

...

[/code]

Anderfalls selektiert er dir nämlich einmal alle Sätze, wo gilt:
prps~pbukr = wa_itab-pbukr AND
jest~inact <> 'X' AND
jest~stat = 'I0002'
UND alle Sätze wo gilt jest~stat = 'I0045' .

Gruß
BTW: Im Prinzip funktioniert OR für meine Zwecke. Da er ja abbricht, sobald ein "true" Wert gefunden wurde. Exklusives oder um beide Werte zu überprüfen scheint es in ABAP nicht zu geben, bzw. nur bei der Bitshift-Logik, oder?

Re: Select auf Tabelle abhängig vom BUKR

Beitrag von black_adept (Top Expert / 4103 / 128 / 945 ) »
km216 hat geschrieben:[...]
Aber warum das jetzt so ist, kann ich auch nicht ganz genau erklären... Aber ich bin sicher, hier gibt es Leute, die das können ;)
Da brauchts keinen hier - SAP kann das ganz gut selber: http://help.sap.com/abapdocu_70/en/ABENLOGEXP_BOOLE.htm
Oder man ruft die F1-Hilfe im Editor zu "OR" auf und geht in die darüberliegende Doku "log_exp - boolean operators and brackets "
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1769
Views
Select aus einer Tabelle mit Bedingung aus weiteren Tabelle
von Dyrdek » 02.01.2017 13:16 • Verfasst in ABAP® für Anfänger
0
Antw.
1584
Views
Lieferant abhängig von Einkaufsorganisation
von said1980 » 26.02.2006 10:28 • Verfasst in ABAP® für Anfänger
0
Antw.
1116
Views
Mitarbeiter abhängig von VKORG
von gs3rr4 » 15.07.2014 12:18 • Verfasst in ABAP® für Anfänger
1
Antw.
2562
Views
Abstimmkonten für Kreditoren abhängig
von Margarete » 27.03.2017 11:18 • Verfasst in Financials
1
Antw.
664
Views
Zwei ALV abhängig voneinander machen
von retsch » 13.05.2023 13: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

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.