Range mit IN-Operator in dynamischer Where-Bedingung

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Range mit IN-Operator in dynamischer Where-Bedingung

Beitrag von fawkes (ForumUser / 14 / 0 / 0 ) »
Hallo!

Ich möchte gerne eine Range per IN in eine dynamisch Where-Bedingung aufnehmen. Leider bringt er anschließend den Laufzeitfehler SAPSQL_IN_ILLEGAL_LIST. Anhand des Fehlertextes schließe ich, dass er, so wie es aussieht, nur IN (...) zulässt.

Weiß jemand doch noch eine Möglichkeit, denn ich habe so etwa 22 Ranges, die auch noch abgefragt werden müssen.

Hier noch ein Beispiel meines aktuellen Testcodings:

wa_where = 'k~kunnr IN kunnr'.
append wa_where to it_where.

* Selektion
SELECT * INTO CORRESPONDING FIELDS OF TABLE it_work
FROM kna1 AS k INNER JOIN knvv AS u
ON k~kunnr = u~kunnr
WHERE (it_where).



Vielen Dank schon mal im vorraus!!!!

MfG

Fawkes

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


Re: Range mit IN-Operator in dynamischer Where-Bedingung

Beitrag von JHM (Top Expert / 1212 / 2 / 202 ) »
fawkes hat geschrieben:Weiß jemand doch noch eine Möglichkeit, denn ich habe so etwa 22 Ranges, die auch noch abgefragt werden müssen.
Welches Reales habt ihr?
aus der Hilfe hat geschrieben: Die Überprüfung einer Selektionstabelle ist seit Release 6.40 in einem dynamischen logischen Ausdruck möglich.
Wenn es nicht mit dem IN-Operator wegem dem Realese nicht geht, mußt du die Rangetabelle(n) selber auflösen und daraus einen Select basteln.
Gruß Hendrik

Beitrag von fawkes (ForumUser / 14 / 0 / 0 ) »
Hallo!

Wir haben noch 4.6C (hoffentlich) bald NetWeaver.

Dann muss ich sie wohl oder übel auflösen.

Danke für die schnelle Antwort!

MfG

Fawkes

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo zusammen,

wenn ich mich nicht irre, können dynamisch Ranges erst ab 6.40 eingesetzt werden.
Vorher müsste das manuell aufgelöst werden.

22 Ranges sind schon eine ziemlich große Anzahl, die auch schnell zu einem Pufferüberlauf der SQL-Anweisung (ca. 4-8Kbyte) für die Datenbank führen kann, da der SAP-SQL-Prozessor den SELECT nicht, wie bei FOR ALL ENTRIES, in mehrere separate Anweisungen aufteilen kann.

Daher solltest Du dir hier ohnehin eine andere Lösung überlegen, da jeder Wert einer Range-Tabelle mit allen Werten der anderen Tabellen verknüpft und in entsprechende logische Bedingungen übersetzt werden müssen.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von TWP (Specialist / 445 / 0 / 1 ) »
Mal ne Frage, ist das die erste Zeile in der Tabelle oder hat diese mehrere Zeilen? ggf. mal den Inhalt der aktuellen Selektionstabelle posten.

Bei letztern sollte man die Verküpfungen (or / and ) mal prüfen ob die stimmen.

Gruß
Thomas

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2003
Views
dynamischer Operator
von bliP! » 22.05.2006 14:24 • Verfasst in ABAP Objects®
3
Antw.
2246
Views
Select mit dynamischer Range
von platx » 15.08.2009 10:59 • Verfasst in ABAP® für Anfänger
2
Antw.
1395
Views
Subquery in dynamischer Where-Bedingung
von Stefan7777 » 22.11.2005 10:36 • Verfasst in ABAP® Core
5
Antw.
3592
Views
SO in SELECT-Anweisung mit dynamischer Where-Bedingung
von Marcus » 08.10.2005 17:49 • Verfasst in ABAP® Core
13
Antw.
8609
Views
Dynamischer Selection Screen mit dynamischer Suchhilfe
von Johnny11 » 26.03.2014 08:19 • Verfasst in ABAP® Core

Ü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 4 Tagen von GastX 6 / 4401
Meine Inbox
vor 4 Tagen von Rabea1103 1 / 2676
PCL2 Cluster auslesen
vor 6 Tagen von DeathAndPain 2 / 3894
FUBA 'HR_INFOTYPES_OPERATION'
vor 6 Tagen von Bright4.5 3 / 9165

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 4 Tagen von GastX 6 / 4401
Meine Inbox
vor 4 Tagen von Rabea1103 1 / 2676
PCL2 Cluster auslesen
vor 6 Tagen von DeathAndPain 2 / 3894
FUBA 'HR_INFOTYPES_OPERATION'
vor 6 Tagen von Bright4.5 3 / 9165