Laufzeitfehler - Ursache?

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Laufzeitfehler - Ursache?

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Moin moin,

ich erhalte den Dump
Laufzeitfehler DBIF_RSQL_INVALID_RSQL
Ausnahme CX_SY_OPEN_SQL_DB
bei einem Select, der so aussieht:

Code: Alles auswählen.

 SELECT objek atinn atwrt
 FROM ausp
 INTO TABLE gt_ausp
 WHERE objek IN gr_objek.
Ich habe den Text zum Kurzdump gelesen, aber so richtig klar wird mir das nicht, warum der Select abbricht. in gr_objek sind ca. 34.000 Sätze der Art "IEQ" mit je einer Objektnummer. Ist das schon zuviel?

Die gt_ausp ist auf jeden Fall korrekt deklariert.


Ralf *gerade etwas ratlos....
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

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


Re: Laufzeitfehler - Ursache?

Beitrag von ewx (Top Expert / 4846 / 311 / 641 ) »
ralf.wenzel hat geschrieben:in gr_objek sind ca. 34.000 Sätze der Art "IEQ" mit je einer Objektnummer. Ist das schon zuviel?
jepp! Nimm FOR ALL ENTRIES...

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
JUPP!

Hab mir deshalb mal ne Grobe Faustregel erschaffen!

Bis 2000 geht noch RANGE,
aber ab 2000 lieber mit FAE machen.

Re: Laufzeitfehler - Ursache?

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
ewx hat geschrieben:jepp! Nimm FOR ALL ENTRIES...
Danke, ich hab den Select umgeschrieben, jetzt ist der Fehler weg. Ich hätte gedacht, Range ist immer schneller.



Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von black_adept (Top Expert / 4089 / 127 / 940 ) »
DeathGuardian hat geschrieben:JUPP!

Hab mir deshalb mal ne Grobe Faustregel erschaffen!

Bis 2000 geht noch RANGE,
aber ab 2000 lieber mit FAE machen.
Lustige Faustregel :)

Der Select bricht m.W. deswegen ab, wenn die Größe der übergebenen Range einen gewissen Schwellwert übersteigt.
1.)
Wenn man z.B. eine Range über eine Materialnummer hat ( Pro Zeile in Range 1+2+18+18 = 39 Zeichen ) hat man viel weniger Zeilen zur Verfügung als wenn man eine Range über Werke hat ( pro Zeile 1+2+4+4 = 11 zeichen ).

2.)
Der Schwellwert wie viel Zeichen man an eine Datenbank für Selects weiterreichen darf kann irgendwo in den Profilparametern eingestelt werden. Evtl. mal eure Basisbetreuer fragen wie viel das ist.
Somit kann ein System z.B. schon bei grad mal 600 Materialnummern rumzicken, während ein anderes tolerant auch 3000 Materialnummern zulässt.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von ralf.wenzel (Top Expert / 3924 / 200 / 280 ) »
Danke für die tolle Antwort. Hier lernt man auch als alter Hase noch was.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
meines Wissens hängt das an der Größe des SQL-Puffers, der an die Datenbank übergeben wird: bei Ranges muss der gesamte, erzeugte SQL-String in diesen Puffer passen, der z.T. 4KB groß ist. Daher hängt es auch von der Länge des Range-Feldes ab, wieviele Zeilen noch durchgehen.

Beim FAE werden dagegen mehrere, einzelne SQL-Anweisungen erzeugt, die dann im Ergebnis irgendwie zusammengeführt werden.
Gruß
Ereglam


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

Seite 1 von 1

Vergleichbare Themen

16
Antw.
9064
Views
Doppelte BADI-Implementierung - Ursache?
von vman » 13.07.2011 17:32 • Verfasst in ABAP® für Anfänger
4
Antw.
3332
Views
ABAP Debugger - Funktionen fehlen - Ursache?
von Julian Feige » 17.08.2018 15:23 • Verfasst in ABAP® Core
2
Antw.
2786
Views
Laufzeitfehler
von Gast » 13.06.2005 09:28 • Verfasst in ABAP® für Anfänger
13
Antw.
5281
Views
Laufzeitfehler READ_REPORT_LINE_TOO_LONG
von cuncon » 07.05.2018 15:11 • Verfasst in ABAP® für Anfänger
6
Antw.
5991
Views
Laufzeitfehler POSTING_ILLEGAL_STATEMENT
von overbull » 18.03.2015 11:16 • Verfasst in ABAP® Core

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 767
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2389
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8974