Dump DBIF_RSQL_INVALID_RSQL

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

Dump DBIF_RSQL_INVALID_RSQL

Beitrag von F12_man (ForumUser / 11 / 0 / 0 ) »
Hallo zusammen,

Bin grad an einer art Batch Job dran und möchte daten aus einem anderen system ins sap bringen.

Hole mir die Daten aus einer DB2 Tabelle und will diese nun über einen Update ins SAP bringen.

wenn ich nun den update machen will und es mehr als 2000 datensätze sind bekomm ich den Dump. DBIF_RSQL_INVALID_RSQL.

Die frage ist, ob ich den Dump richtig versteh, das es eine begrenzung gibt, oder das der fehler woanderst herkommt.


Hier noch die auszüge des dumps:

Fehleranalyse


Es ist eine Ausnahme aufgetreten, die weiter unten näher erläutert wird.
Die Ausnahme, der die Klasse 'CX_SY_OPEN_SQL_DB' zugeordnet ist,
wurde in der Prozedur "SET_SAP_DATA" "(FORM)" weder abgefangen,
noch durch eine RAISING-Klausel propagiert.
Da der Aufrufer der Prozedur nicht mit dem Auftreten der Ausnahme
rechnen konnte, wurde das laufende Programm abgebrochen.
Der Grund für die Ausnahme ist:

Das aus der SAP-Open SQL-Anweisung erzeugte SQL-Statement verstößt gegen
eine Restriktion des dem R/3-System zugrundeliegenden Datenbanksystems.

Mögliche Fehlerursachen:
o Die maximale Größe eines SQL-Statements wurde überschritten.
o Das Statement enthält zu viele Eingabevariablen.
o Die Eingabedaten benötigen mehr Platz als vorhanden.
o ...

Details finden sich in der Regel im Systemlog (SM21) und im
Entwickler-Trace des jeweiligen Workprozesses (ST11).
Im Entwickler-Trace werden im Fehlerfalle häufig die aktuell geltenden
Restriktionen mitausgegeben.


Hinweise zur Fehlerbehebung


Die Ausnahme muß entweder verhindert werden, innerhalb der Prozedur
"SET_SAP_DATA" "(FORM)" abgefangen werden oder
ihr potentielles Auftreten in der RAISING-Klausel der Prozedur
deklariert werden.
Um die Ausnahme zu verhindern, beachten Sie bitte folgendes:
Das betreffende SAP-Open SQL Statement muß in mehrere Statements
aufgeteilt werden.
Entstand das Problem durch die Verwendung einer zu großen Tabelle
in einem IN [range tab] Konstrukt, so kann statt dessen die Verwendung
des FOR ALL ENTRIES-Zusatzes angezeigt sein.
Bei Verwendung dieses Zusatzes wird das Statement unter Beachtung der
Restriktionen des jeweiligen Datenbanksystems in geeignete Portionen
zerlegt.

Falls der Fehler in einem nicht modifizierten SAP-Programm vorkommt
findet sich vielleicht eine Vorablösung im SAP-Hinweissystem.
Falls Sie selbst Zugang zum SAP-Hinweissystem haben, so suchen Sie
bitte zunächst mit folgenden Schlagworten:


Danke und Grüßle

F12_man

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Wenn ich das richtig sehe, kommt bei dir irgendwo mal ein SQL vor welcher in der Where-Bedinung mit einem Range arbeitet, in diesem mehr als 2000 Sätze stehen.
Das vertragen viele Datenbanken leider nicht! (in dem Fall ist es ja intern ein SQL mit einer Wherebedinung welche 2000 Oder-Verknüpfungen hat)

Deshalb gibt es ja die möglichkeit über FOR ALL ENTRIES, da dieser einen NESTED LOOP macht(sprich er erzeugt dadurch intern mehrere SQL´s.

Bei UPDATES kann man ja aber auch das ganze in mehreren Etapen machen.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
442
Views
<***INVALID***> gepacktes Feld Export/Import
von Sn0rr3 » 19.10.2022 17:42 • Verfasst in ABAP® Core
0
Antw.
1968
Views
2
Antw.
1909
Views
Dump HTTP_OUT_OF_MEMORY
von GünterL » 14.06.2024 12:52 • Verfasst in ABAP® Core
0
Antw.
1255
Views
DUMP-Analyse
von Tellerchen58 » 20.01.2011 10:16 • Verfasst in ABAP® Core
2
Antw.
6123
Views
select sum( (var) ) --> dump
von freeze » 29.07.2008 10:51 • 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

IBAN und BUT0BK
Gestern von waltersen gelöst 8 / 9030
Splitter-AlV erscheint nicht
Gestern von qyurryus 2 / 1574

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.