Tabelle Sperrung (Codeunit)

9. April 2025 11:43

Hallo,

ich habe eine Codeunit, welche mit ca. 10 Tabellen arbeittn. Die meisten Tabellen sind als temporäre globale Variablen angelegt und werde am Ende der Berechnung in die richtige Tabelle geschrieben.
Dadurch ist die Ausführung schneller.
Diese Codeunit kann sowohl manuell gestartet werden als auch mittels der Aufgabenwarteschlange.
Nun habe ich das Problem, wenn die Codeunit über die Warteschlange gestartet wird und ich diese manuell starte das es immer wieder zu Tabellen Sperrungen kommt und das Programm abbricht.
Alle betroffenen Tabellen, in welche Daten geschrieben werden haben eine PPLNr Feld und dieses Feld ist im Key enthalten.
Die Ausführung mittels der Warteschlange dauert ca. 20 Minuten und startet sich nach 10 Minuten wieder. Die manuelle Ausführung dauert ca. 10 Minuten, da einige Berechnung nicht gemacht werden.
Die Codeunit macht eine Produktionsplanung. Wobei die Warteschlange eine Grobplanung macht und die manuelle Ausführung eine Feinplanung erstellt.

Habe ich da zu einfach gedacht bei der Erstellung dieses Programmes. :shock:
Sind temporäre Tabellen auch gleich bei der Sperrung wie richtige Tabellen?
Ich habe einige Schleifen mit Findset in welchen diese Tabellen bearbeiten bzw. auch Daten eingefügt werden. Wobei ich hier immer das Feld

Wie könnte ich das lösen. Ich würde gerne eine Lösung haben, wo bei gleichzeitig berechnet werden könnten.

Re: Tabelle Sperrung (Codeunit)

9. April 2025 13:02

Hey,
mir ist aufgefallen, dass COMMIT; in manchen Fällen helfen kann, Sperrprobleme zu vermeiden – besonders bei größeren Datenmengen oder parallelen Prozessen.
Könnte es in deinem Fall (z. B. zwischen PPLNr-Blöcken) sinnvoll sein, das gezielt einzusetzen?