Zitat Zitat von bofrost Beitrag anzeigen
Klar das muss ich sowieso, wenn der Client sofort antworten muss... aber das ändert am Ablauf trotzdem nichts... entweder ich lass den Ablauf gleich und sperr die Sätze während der eingabe oder ich bring beim Speichern die Meldung "hallo lieber User deine Arbeit war um sonst!"
Nein. Prüfe die Satzsperre vor Arbeitsbeginn und dann braucht der User auch nicht erst nach getaner Arbeit benachrichtigt werden. Alles andere verbietet sich sofern die Satzsperre durch interaktiver User-Arbeit erzeugt wird. Da ist die Wartezeit nämlich unbekannt und kann durch zwischenzeitliches Mittagessen auch gerne ausgedehnt werden.

Zitat Zitat von bofrost Beitrag anzeigen
Ja so langsam bin ich auch am Zweifeln ob es so schlimm ist, wenn ein Prozess etwas länger die Satzsperre hält... das funktioniert sogar schon seit über 20 Jahren so
Vor 20 Jahren war das nicht weiter wild, da nahezu alle Applikationen so verfuhren. Heutzutage ist dies nicht mehr State-of-the-Art und du solltest Dich mit der Analyse bezüglich einer Änderung beschäftigen.

Um es klar zu sagen, jede hier angesprochene Zwischenlösung ist Gurke.
Ein Batch-Job der eine interaktive Änderung in einem zeitlich unbestimmten Rahmen durchführt ist .... naja.... suboptimal. Der Verlust der Synchronität sollte vermieden werden. Denke immer daran, daß dem ändernden User ja mitgeteilt werden muss, daß die Daten geändert wurden oder geändert werden können. In beiden Fällen muss er dies überprüfen/arbeiten, da dem User nicht bekannt ist, inwiefern er die letzte Änderung durchführte oder ob evtl. seine Änderung erneut überschrieben wurde.

Deine wirkliche Altlast sind die anhaltenden Satzsperren. Diese Logik behältst Du bei oder Du änderst die Altlast. Alle Tricks um dieses Problem zu umgehen wird zu - und da stimme ich Herrn Bender zu - vergrößerten Problemen führen. Da Du ja aber zeitliche Probleme hast, 1800 proggis anzupassen-sofern dies überhaupt möglich ist- mag eine "Zwischenlösung" sinnvoll sein.

Da die aktuelle Applikation Wartezeiten vorweist stellt sich mir die Frage warum das Browserprogramm dies nicht dürfen sollte. Dies wäre dann nämlich keine Zwischenlösung sondern der Applikation angepasst.