Für die Massenverarbeitung von Daten werden mehrere Sessions. Zu unterschiedlichen Objekten müssen hierbei Daten angepasst und gesperrt werden. Wird nun in der einen Session eine Sperre über das Sperrobjekt (SM12) gesetzt, so kann eine andere Session die Daten zum selben Objekt nicht sperren und quittiert dies mit einem Fehler.
--
Wie könnte man das Problem nun lösen?
- Wäre es sinnvoll in der zweiten Session eine Schleife (mit Timeout) einzubauen, welche prüft, ob die Sperre noch existiert? Biete die SAP hier vielleicht schon Standardfunktionen?
Technischer Hintergrund:
Die mehreren Session entstehen im Verbucher. Die Sperre wird erst am Ende des Verbuchungsprozesses wieder gelöst. Wenn nun also mehrere Session warten, könnte es zum Deadlock kommen...
Fachlicher Hintergrund:
Es sollen FI Belege in der Massenverarbeitung (mehrere Session) erzeugt werden. Bei jedem Beleg wird gegen das Budget geprüft. Dafür muss das Budget gesperrt werden. Wenn nun in der einen Session das Buget gesperrt ist, so kann in einer anderen Session das Budget nicht auch gesperrt werden.