Select Endselect - Shortdum beim Debuggen


Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Moderatoren: Jan, Steff

Select Endselect - Shortdum beim Debuggen

Beitragvon JohnLocklay » 20.11.2018, 08:50

Moin.

Ich bin ja kein Freund von Select Endselect schleifen.. leider kam es jetzt dazu das
ich in einem älteren Programm auf eine gestoßen bin.
Da ich auf der suche nach einem Bug war befand ich mich im Debugger als ich auf diese Stelle traf.
Jedesmal wenn ich mit F5 einen weiter hoppsen wollte beendete sich das Programm mit nem Shortdump.

DBIF_RSQL_INVALID_CURSOR
CX_SY_OPEN_SQL_DB
Unzulässige Unterbrechung einer Datenbankselektion.

Als ich den Select dann durch einen select single ersetzt habe passierte der Dump dann nicht mehr.

Nur so aus Neugier (wir wollen ja alle weiterlernen) Weiss jemand warum das so passiert?
Kommt eine select endselect schleife nicht damit klar?

Grüße

J.
Code once - Think twice
JohnLocklay
Specialist
 
Beiträge: 136
Registriert: 10.05.2016, 11:14
Dank erhalten: 2 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Select Endselect - Shortdum beim Debuggen

Beitragvon zzcpak » 20.11.2018, 09:20

stell doch mal das entsprechende Coding ein.
Hört sich danach an, als ob innerhalb der SELECT-Schleife z.B. eine MESSAGE ausgegeben wurde o.ä.
zzcpak
Expert
 
Beiträge: 610
Registriert: 29.07.2003, 15:10
Dank erhalten: 52 mal

Re: Select Endselect - Shortdum beim Debuggen

Beitragvon ewx » 20.11.2018, 09:29

Auszug aus der SAP-Hilfe:
SAP-Hilfe hat geschrieben:Innerhalb einer SELECT-Schleife dürfen keine Anweisungen ausgeführt werden, die zu einem Datenbank-Commit oder Datenbank-Rollback und dadurch zum Schließen des zugehörigen Datenbank-Cursors führen.

Ein Break-Point löst einen impliziten COMMIT aus.

Merkwürdigerweise funktioniert es jedoch trotzdem manchmal, einen SELECT-ENDSELECT mit Einzelschritt zu debuggen.

Für diese Nachricht hat ewx einen Dank bekommen :
JohnLocklay
ewx
Top Expert
 
Beiträge: 3835
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 320 mal

Re: Select Endselect - Shortdum beim Debuggen

Beitragvon ralf.wenzel » 20.11.2018, 10:05

Das hängt davon ab, ob man den Prozess exklusiv für sich hat oder nicht.


Ralf

Für diese Nachricht hat ralf.wenzel einen Dank bekommen :
JohnLocklay
ralf.wenzel
Top Expert
 
Beiträge: 3301
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 200 mal
Ich bin: Freiberufler/in

Re: Select Endselect - Shortdum beim Debuggen

Beitragvon JohnLocklay » 20.11.2018, 10:23

ralf.wenzel hat geschrieben:Das hängt davon ab, ob man den Prozess exklusiv für sich hat oder nicht.
Ralf


Moin Ralf. Was meinst Du damit ob man den Prozess für sich hat?
Meinst Du damit einen parallelen Zugriff durch einen anderen User?
Code once - Think twice
JohnLocklay
Specialist
 
Beiträge: 136
Registriert: 10.05.2016, 11:14
Dank erhalten: 2 mal
Ich bin: Entwickler/in

Re: Select Endselect - Shortdum beim Debuggen

Beitragvon ralf.wenzel » 20.11.2018, 11:10

Leider kann man die Seite nicht verlinken:

"Exklusiver Modus bedeutet, dass die analysierte Anwendung während des Debuggings einen Work-Prozess des Applikationsservers exklusiv belegt. Im nicht exklusiven Modus sind die Debugger-Funktionen eingeschränkt. Im nicht exklusiven Modus verlangt das System nach jeder Debugger-Interaktion ein Rollout in der Anwendung. Daher muss ein impliziter Datenbank-Commit ausgeführt werden. Dies hat folgende Konsequenzen:
● Ein Debugging ist zwischen den Anweisungen SELECT und ENDSELECT nicht möglich, weil der Datenbank-Cursor bei einer impliziten Datenbank-COMMIT-Anweisung geschlossen werden muss.
Die weitere Programmausführung wird in diesem Fall abgebrochen.
· Ein Debugging ist für Konvertierungs- und Feld-Exits nicht möglich.
· Wegen des impliziten Datenbank-Commits können inkonsistente Datenstände auf der Datenbank auftreten.
Aus diesem Grund ist der nicht exklusive Modus in Produktivsystemen nicht möglich.
"

Ralf
ralf.wenzel
Top Expert
 
Beiträge: 3301
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 200 mal
Ich bin: Freiberufler/in

Re: Select Endselect - Shortdum beim Debuggen

Beitragvon black_adept » 20.11.2018, 14:07

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3131
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 533 mal
Ich bin: Freiberufler/in

Re: Select Endselect - Shortdum beim Debuggen

Beitragvon ralf.wenzel » 21.11.2018, 07:43

Danke, irgendwie ist der Link den ich der Adresszeile entnommen habe, ins Leere gegangen.


Ralf
ralf.wenzel
Top Expert
 
Beiträge: 3301
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 200 mal
Ich bin: Freiberufler/in


Zurück zu ABAP® Core

  Aktuelle Beiträge   
Applikations-Toolbar dynamisch erzeugen
vor 8 Stunden von ralf.wenzel 0 Antw.
CP_BD_DIRECT_INPUT_PLAN
Gestern von Gottschall 0 Antw.
Logische Datenbank: Selektieren mit Loop
vor 4 Stunden von deejey 12 Antw.
Globale Konstanten - Organisationseinheiten
vor 13 Stunden von ralf.wenzel 5 Antw.
Kein Zugriff auf Dateien im Applikationsserver
Gestern von zzcpak 1 Antw.

  Ähnliche Beiträge beta
Zwischen Select und Endselect wird nicht alles selektiert
31.01.2006, 19:39 von Frank Münker 18 Antw.
TRY / ENTRY beim SELECT
21.10.2016, 17:04 von Lucyalison 7 Antw.
Select-Kriterium beim Baustein TABLE_ENTRIES_GET_VIA_RFC
02.05.2005, 14:41 von MichaelP 2 Antw.
RFC debuggen
03.05.2005, 09:59 von LoLo 3 Antw.
RFC debuggen
04.09.2008, 18:38 von michlbartl 4 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

cron