Sperrobjekte: Freigeben von Sperren bei Commit/Rollback ?

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

Sperrobjekte: Freigeben von Sperren bei Commit/Rollback ?

Beitrag von MNordlicht (ForumUser / 9 / 0 / 0 ) »
Hallo,

für eine benutzerspezifische Datenbanktabelle habe ich ein Sperrobjekt angelegt.
Eine Liste von Datensätzen (identifiziert über ein Schlüsselfeld) wird für einen Bearbeitungslauf gesperrt. Jede Sperre wird mit Angabe des Schlüssels gesetzt.
Wenn nun bei der Bearbeitung der erste Fall abgearbeitet ist, wird ein Commit bzw. Rollback abgesetzt. Ab diesem Zeitpunkt sind alle Sperren auf dieser Tabelle wieder vom System entfernt worden.
Wie kann ich das verhindern?
Es sollte die Sperre nur aufgehoben werden für den Satz, der gerade bearbeitet wurde.

Danke für eure Hilfe.
MNordlicht

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


Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo MNordlicht,

dann musst Du die Sperren auch so setzen, das der jeweilige Satz explizit gesperrt wird.

Du kannst nicht 'Teil*' sperren, aber 'Teil5' freigeben wollen.
Gruß
Ereglam


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

Sperrobjekte: Freigeben von Sperren bei Commit/Rollback ?

Beitrag von Gast ( / / 0 / 3 ) »
Hi,

jeder Satz wird einzeln gesperrt, indem bei Aufruf des Sperr-Bausteins der Schlüssel des jeweiligen Satzes übergeben wird.
Deshalb erstaunt es mich ja so, dass bei einem Commit alle Sätze entsperrt werden.

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
wie sehen denn die Aufrufe von Enqueue und Dequeue aus?
Gruß
Ereglam


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

Beitrag von zzcpak (Expert / 673 / 5 / 68 ) »
man beachte unter Umständen auch die Doku von COMMIT und Konsorten
Wirkung Es wird ein Datenbank-Commit ausgeführt und damit eine logische Verarbeitungseinheit (LUW) abgeschlossen (s.
Transaktionsverarbeitung). Das heißt, daß
- alle Datenbankveränderungen festgeschrieben werden so, daß sie nicht mehr mit ROLLBACK WORK widerrufen werden können,
und
- alle Datenbanksperren freigegeben werden.

scope auf 3 setzen

Beitrag von sbuhmann (ForumUser / 8 / 0 / 0 ) »
CALL FUNCTION 'ENQUEUE ...

scope auf 3 setzen

scope auf 1 setzen

Beitrag von sbuhmann (ForumUser / 8 / 0 / 0 ) »
Sorry, ich meinte auf 1 setzen ...

Re: scope auf 1 setzen

Beitrag von MNordlicht (ForumUser / 9 / 0 / 0 ) »
Hi,

der Hinweis mit dem SCOPE ist goldrichtig.
Danke.

sbuhmann hat geschrieben:Sorry, ich meinte auf 1 setzen ...
MNordlicht

Seite 1 von 1

Vergleichbare Themen

37
Antw.
8391
Views
Problem mit COMMIT / ROLLBACK
von ralf.wenzel » 30.11.2018 15:37 • Verfasst in ABAP® Core
6
Antw.
6383
Views
Commit und Rollback, auch bei RFC und BAPI
von m.schwertle » 21.11.2007 08:23 • Verfasst in ABAP® für Anfänger
2
Antw.
1884
Views
BAPI_ACC_DOCUMENT_POST und Rollback
von Frank Meyer » 21.08.2009 15:59 • Verfasst in ABAP® Core
1
Antw.
1883
Views
Rollback bei BAPIs
von Troilus » 19.02.2008 13:53 • Verfasst in ABAP® für Anfänger
11
Antw.
5804
Views
Ist Timeout-Verlängerung mit ROLLBACK WORK möglich?
von DeathAndPain » 05.10.2018 17:32 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Regex in where
vor einer Stunde von tar 8 / 177
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

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.

Aktuelle Forenbeiträge

Regex in where
vor einer Stunde von tar 8 / 177
Daten an Tabelle binden
Gestern von Bright4.5 3 / 1489

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822