Arbeitsbereichzugriff mit Cursor

Alles Rund um SAP®.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Arbeitsbereichzugriff mit Cursor

Beitrag von Cola (ForumUser / 19 / 0 / 0 ) »
Hallo,

ich hab folgendens Problem und zwar erstell ich zu den verschiedensten Datenbanktabellen einen Arbeitsbereich (TABLES /db/t_test) und öffne dann zu diesen einen Cusor, was auch wunderbar klappt, nur der weitere Fetch funktioniert bei einer einzigen Datenbanktabelle nicht und es kommt zu einem Quellsystemabruch.
Der einzige Unterschied der mir zu den anderen Tabellen aufgefallen wäre ist, dass die Größenkategorie um zwei Stufen (6) höher ist als bei den anderen. Kann das ein Problem darstellen? Gibt es eine Grenze was die Größe der Datenbanktabelle angeht um mit einem Cursor arbeiten zu können?

Quellcode:
open cursor with hold s_cursor for
select * from /db/t_test client specified
where client = sy-mandt and
vers = '9999999999'.

fetch next cursor s_cursor
appending corresponding fields
of table lt_test
package size lv_size.

Danke schon mal für eure Hilfen/Antworten.

MfG
Cola

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


Beitrag von edwin (Specialist / 306 / 10 / 68 ) »
Hallo,
leider hast Du nicht dazugeschrieben wie das Programm abbricht,
welche Fehlermeldung erscheint iim Kurzdump ?
ist es ein SAP oder DB (Oracle/MS...) Fehler ?
Gruss Edwin

Es wird eine Ausnahme geworfen

Beitrag von Cola (ForumUser / 19 / 0 / 0 ) »
sorry, hier kommt eine bessere erläuterung:
wenn ein fetch auf den cursor gemacht wird, wird einen ausnahme ausgelöst (cx_sy_open_sql_db) und in dem log steht dann: Quellsystemanschluß wurde abgebrochen.

MfG,
cola


* Quellsysteme broken off
catch cx_sy_open_sql_db.
....

Beitrag von edwin (Specialist / 306 / 10 / 68 ) »
Hallo,
da ich den Fehler so nicht kenne kann ich nur Vermutungen anstellen:
dauert der fetch so lange dass das System die Verbindung abbaut ?
gibt es vielleicht einen Index, den Du benutzen kannst ?

Gruss Edwin

...

Beitrag von Cola (ForumUser / 19 / 0 / 0 ) »
Hallo,
der Cursor sollte ja eigentlich sowas wie einen Index darstellen und was den fetch angeht, ich hab keine Ahnung wie lang der dauert und wie ich das feststellen könnte. Was ich weiß ist, dass wie schon gesagt die Größenkategorie eine höhere ist und dass mir sonst keine nennenswerten Unterschiede zu den anderen Tabellen aufgefallen sind. Die Menge der Datensätze ist in etwa der Durchschnitt, der anderen Tabellen und ich hab den Fetch auch schon mit mehr als einer 10fach größerer Datenmenge laufen lassen und es hat ohne weitere Probleme geklappt.
Wenn ich eine andere Lösung wüsste als übern Cursor, dann hätt ich das schon lange gemacht, weil die Methode einfach nie wirklich zuverlässig ist bzw. sein kann. Aber soweit ich das beurteilen kann, gibt es keinen anderen Weg und das heißt ich muss, das Problem mit der einen Tabelle irgendwie umgehen. Nur hab ich keine Ahnung wie (bis auf die eine Vermutung).

MfG
Cola

Beitrag von donny (Specialist / 253 / 0 / 2 ) »
Hallo Cola,

ich würde zuerst mal nach dem open cursor den Returncode abfragen. Möglicherweise hat der schon nicht funktioniert, dann kann der fetch nix machen.

Soweit ich mich erinnere wird beim ersten fetch von der Datenbank das Ergebnis ermittelt, der erste kann also durchaus sehr lange dauern. Du solltest vielleicht zwischendurch mit write oder message mal die Uhrzeit ausgeben...


Gruß
donny

Ein Kurzdump ist manchmal die Antwort auf alle Fragen

Beitrag von Cola (ForumUser / 19 / 0 / 0 ) »
Hallo,

wir haben es jetzt einfach mal zu einen Dump kommen lassen um evtl. mehr über den Fehler zu erfahren (wenn man nicht mehr weiter weiß probiert man einfach alles) und siehe da, da stand was von: konnte nicht in das Zielobjekt importiert werden. Ich hab mich so auf die Quelle versteift, dass ich das andere Ende völlig außer acht gelassen habe.
Jedenfalls hatte aus sonderbaren Gründen ein Feld auf einmal einen anderen Datentyp (ich will gar nicht wissen wie es dazu gekommen ist, schließlich hab ich die Struktur seit Ewigkeiten nicht angerührt und vorher hat es ja funktioniert, egal). Es geht wieder und ich bin glücklich :)

MfG
cola

Seite 1 von 1

Vergleichbare Themen

5
Antw.
11328
Views
GET/SET Cursor
von Gotti » 27.08.2008 14:10 • Verfasst in Dialogprogrammierung
4
Antw.
2523
Views
Set Cursor
von Roger » 15.02.2012 11:03 • Verfasst in ABAP Objects®
2
Antw.
2219
Views
CL_GUI_ALV_GRID -Cursor
von andyduerr » 07.04.2006 09:04 • Verfasst in ABAP Objects®
3
Antw.
1504
Views
Cursor positionieren
von LittleT » 30.05.2007 11:20 • Verfasst in ABAP® für Anfänger
4
Antw.
3052
Views
SET CURSOR auf Feld
von debianfan » 11.06.2018 11:32 • Verfasst in Dialogprogrammierung

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

Unbeantwortete Forenbeiträge

SD_PRINT_TERMS_OF_PAYMENT
vor einer Woche von Manfred K. 1 / 2160
BUSOBJEKT zu CMIS PHIO ermitteln
vor 4 Wochen von snooga87 1 / 3982