Einen weihnachtlichen Gruß an alle!
Da ich mit einem Notes5-Server arbeiten muss, muss ich versuchen, eine Datensatzsperre hinzubekommen.
Bisherige Lösung: Beim Schalten in den Edit-Modus durch Benutzer 1 wird vor dem Umschalten in den Edit-Modus ein Kennzeichen gesetzt (im iuDoc und im Doc) und das Doc erst mal gesichert. So kann ich ein Bearbeiten durch Benutzer 2 verhindern, in dem ich das Kennzeichen abfrage, wenn Benutzer 2 sein Doc lädt und bearbeiten will, nachdem Benutzer 1 in den Edit-Modus gegangen ist. Auch für die Abbruch-Situation (ohne Speichern) habe ich eine Lösung.
Problem ist aber: Wenn Benutzer 1 und Benutzer 2 das gleiche Doc in der Anzeige haben (Lese-Modus) und Benutzer 1 dann in den Edit-Modus geht (und somit das Kennzeichen setzt), kann trotzdem auch Benutzer 2 das Doc in den Edit-Modus schalten.
Ein Nachlesen des Dokuments beim Wechsel in den Edit-Modus über GetDocumentByUNID liest mir den Datensatz aus dem Cache ein, nicht das Doc von der Datenbank mit dem gesetzten Kennzeichen. Eine Entsprechnung von @DBLookup mit der Option "NoCache" habe ich für LotusScript nicht gefunden. Ein Arbeiten mit Evaluate ist bei @DBLookup nicht möglich.
Bekomme ich das System dazu, dass Benutzer 2 das Doc von der Datenbank in ein zweites NotesDocument neu einliest, obwohl es schon angezeigt wird.
Frohe Weihnachten!
Frank