Laufzeitfehler "SAPSQL_SQLS_INVALID_CURSOR"

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

Laufzeitfehler "SAPSQL_SQLS_INVALID_CURSOR"

Beitrag von Zwutschkerl (ForumUser / 2 / 0 / 0 ) »
Hallo Welt

Aus einem Infoset wird im Abschnitt Satzverarbeitung mittels Submit-Befehl ein anderes Infoset aufgerufen. Nach der Rückkehr ins 1. Infoset (genauer gesagt bei der nächsten Iteration der Select-Schleife) tritt der Laufzeitfehler "SAPSQL_SQLS_INVALID_CURSOR" auf. Im 2. Infoset wird zum Teil auf die selben Tabellen zugegriffen.

Was kann man tun bzw. wie kann man verhindern, dass der oben genannte Laufzeitfehler auftritt?

Vielen Dank im Voraus für konstruktive Antworten für einen blutigen ABAP-Anfänger

Schöne Grüße aus Österreich
Z.

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


Re: Laufzeitfehler "SAPSQL_SQLS_INVALID_CURSOR"

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Auch wenn man blutiger Anfaenger ist. Ist es wirklich soooo schwer, Informationen bereitzustellen, die das Problem etwas genauer beschreiben?

Warum muss man jedem Anfaenger erst schreiben, das man mit diesen wenigen Informationen auch nur pauschal das antworten kann, was man selber, in Sekunden, ueber Google findet?

Hier findest Du die Loesung: http://bfy.tw/4ZJM

Re: Laufzeitfehler "SAPSQL_SQLS_INVALID_CURSOR"

Beitrag von Zwutschkerl (ForumUser / 2 / 0 / 0 ) »
Natürlich habe ich schon vorher nach der Fehlermeldung gegoogelt, aber leider keine passende Lösung gefunden.

Welche genaueren Informationen hättest du denn gern? Ich kann doch nicht den ganzen Sorcecode hier reinkopieren!

Ich versuche, den Ablauf bzw. das Problem so detailliert wie möglich zu beschreiben:
[*]Eine Select-Anweisung in einem Infoset liefert mehrere Datensätze.
[*]Sobald sich der Inhalt eines bestimmten Feldes ändert (also ungleich dem vorhergehenden Datensatz ist), wird ein 2. Infoset aufgerufen, das auch wieder mehrere Datensätze liest. Der Aufruf schaut so aus:

Code: Alles auswählen.

    SUBMIT ('AQ03ZEL01=======Z_RL_AE41ITEMS')
      EXPORTING LIST TO MEMORY
      WITH SP$00001 EQ trans_cde
      AND RETURN.
[*]Beide Infosets schreiben die Ergebnisse zuerst jeweils in eine interne Tabelle und am Schluss mit der Funktion GUI_DOWNLOAD in eine Textdatei. (beide in die selbe Datei, die immer erweitert wird)

Code: Alles auswählen.

    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        filename = OutFile
        append = 'A'
      TABLES
        data_tab = iout.
[*]Nach dem 1. Aufruf des 2. Infosets, also wenn der Programmablauf wieder ins 1. Infoset zurückkehrt, sehe ich im Debugger, dass beim Lesen des nächsten Datensatzes in der Select-Schleife des 1. Infosets der oben genannte Fehler auftritt.

Ich hoffe, ich habe mich diesmal klarer ausgedrückt und das Problem besser beschrieben.

Schöne Grüße
Z.

Re: Laufzeitfehler "SAPSQL_SQLS_INVALID_CURSOR"

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Doppelpost wegen Systemverzoegerung
Zuletzt geändert von Unit605 am 04.03.2016 10:06, insgesamt 1-mal geändert.

Re: Laufzeitfehler "SAPSQL_SQLS_INVALID_CURSOR"

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Erstens ist es jetzt viel, viel... viiieeell besser.

Den ganzen Sourcecode hat ja auch keiner verlangt und hast Du ja auch jetzt nicht gemacht.

Normalerweise erwartet ich/man zumindesten die Stelle des Codings WO der Dump aufgetreten ist. Steht alles im Kurzdump.


Ich vermute hier 1. Debugger ist nicht gut... 2. irgendwo wird ein commit work ausgeloest..

Wenn es (nur) beim debuggen vorkommt, dann liegt es am debuggen.

Re: Laufzeitfehler "SAPSQL_SQLS_INVALID_CURSOR"

Beitrag von larsi (ForumUser / 47 / 2 / 11 ) »
Hallo Zwutschkerl,

verstehe ich das richtig, dass die Selektion in deinem Infoset 1 über eine SELECT…ENDSELECT-Schleife erfolgt und Du innerhalb dieser Schleife ggf. den SUBMIT auf das Infoset 2 machst? Falls das der Fall ist, vermute ich, dass Dir durch den SUBMIT der Datenbank-Cursor zerstört wird und Du genau deswegen den SAPSQL_SQLS_INVALID_CURSOR bekommst. Kannst Du die SELECT…ENDSELECT-Schleife ggf. auf ein SELECT…INTO TABLE umbauen und dann innerhalb eines LOOP AT... den SUBMIT ausführen?

Viele Grüße
Lars

Seite 1 von 1

Vergleichbare Themen

1
Antw.
971
Views
<***INVALID***> gepacktes Feld Export/Import
von Sn0rr3 » 19.10.2022 17:42 • Verfasst in ABAP® Core
0
Antw.
2379
Views
2
Antw.
19809
Views
Laufzeitfehler TSV_TNEW_PAGE_ALLOC_FAILED
von kbit100 » 08.05.2008 14:18 • Verfasst in ABAP® für Anfänger
2
Antw.
2980
Views
Laufzeitfehler bei Datenbankzugriffen
von KleinerEisbaer » 23.07.2008 09:50 • Verfasst in ABAP® für Anfänger
1
Antw.
3195
Views
Laufzeitfehler DBIF_RSQL_INVALID_REQUEST
von Gianpiero » 16.12.2008 14:50 • Verfasst in Basis

Ü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.