Autor Thema: HCL Locking Problem  (Gelesen 1862 mal)

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 440
  • Geschlecht: Männlich
HCL Locking Problem
« am: 21.12.21 - 10:51:49 »
Hallo Forum,

habe ein Locking Problem, was ich nicht abfangen kann. Vielleicht hat jemand einen Ansatz hierfür:

Situation:
1)   Für die Anwendung ist das HCL Locking aktiviert.
2)   Ich öffne am Client 1 das Dokument1 im Lesemodus.
3)   Ich öffnen nun am Client 2 dasselbe Dokument1 und bearbeite und speichere es ab. (Verändere es also)
4)   Am Client 1 erstelle ich nun ein Responsedokument zum im Lesemodus geöffneten Dokuemnt1 was auch gleichzeitig eine Änderung in einem Feld des Dokument1 (ParentDok) mit sich bringt.

Nun das Problem:
Um die Änderung vom Response-Dok in das Dokument1 schreiben zu können prüfe ich, ob dieses gelockt ist. Wenn nein, schalte ich das Dokument1 in den Edit-Mode (Somit wird es gelockt) um zu verhindern, dass zufällig parallel jemand das Dokument1 bearbeitet.

Mache ich das wie beschrieben kommt jedoch die HCL Meldung, dass das Dokument1 inzwischen im Hintergrund verändert wurde (Vom Client2). Das ist soweit ja auch korrekt.

Nun die Frage dazu:
Kann ich irgendwie die Info erhalten, dass ein im UI geöffnetes Dokument1 bereits im Hintergrund verändert wurde?
Ich kann ja nicht in den Edit Mode umschalten, um ein Reload durchzuführen, da sonst die HCL Meldung kommt, dass das Dokument1 aufgrund einer Änderung im Hintergrund neu geöffnet werden muss.

Ich finde auch keine Möglichkeit die Fehlermeldung abzufangen um z.B. im Errorhandler dann das Ganze sauber klären zu können.

Ist das überhaupt möglich?

 
Grüße
Bernd

PS.
Ich wünsche allen ein frohes Weihnachtsfest, einen guten Rutsch in's neue Jahr, viele spannende Notes Projekte und vor allem Gesundheit!
Arbeite klug, nicht hart.

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: HCL Locking Problem
« Antwort #1 am: 21.12.21 - 11:59:26 »
Ich würde das geöffnete Dokument erneut aus dem Backend mit getDocumentByUNID holen.
Darüber lassen sich dann auch Vergleiche, wie Änderungsdatum etc. auswerten.
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: HCL Locking Problem
« Antwort #2 am: 21.12.21 - 12:03:34 »
Oder alternativ nur den "Bearbeiten" Modus zulassen  ;D
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 440
  • Geschlecht: Männlich
Re: HCL Locking Problem
« Antwort #3 am: 21.12.21 - 13:28:45 »
Hi,

ja klar, das sind alles Möglichkeiten die aber das eigentliche Problem umgehen.

Ziel soll eben sein, nicht in den Edit Modus wechseln zu müssen wenn das nicht notwendig ist.
Ich habe gehofft, dass man eine Backendänderung evtl. per Befehl auslesen kann oder dass man die Fehlermeldung von HCL abfangen kann.

Wenn das nicht geht, werde ich das Dokument in den Edit Mode umschalten und nur dann zulassen, dass Antweortdokumente erzeugt werden.

Grüße
Bernd
Arbeite klug, nicht hart.

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 236
  • Geschlecht: Männlich
Re: HCL Locking Problem
« Antwort #4 am: 22.12.21 - 07:37:13 »
Zu Deiner Frage kannst Du Folgendes abprüfen:
Code
Evaluate(|@GetDocField("| & <UNID Deines Dokuments> & |"; "$Revisions")|

Und den zurückgegebenen Wert mit Deinem Stand von $Revisions vergleichen:
- gleich viele Einträge?
- letzter Eintrag jeweils gleich?
- Achtung: Hierbei auch berücksichtigen, dass das Dokument noch kein Feld $Revisions haben kann.

ABER: Was machst Du denn, wenn das Dokument noch gelockt ist vom Client 2?

Wie kommt das Feld dann in das Dokument?

-Werner

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 440
  • Geschlecht: Männlich
Re: HCL Locking Problem
« Antwort #5 am: 22.12.21 - 09:48:56 »
Hallo Werner,

danke für die Rückmeldung.
Ich werde mal testen, ob das alle so funktioniert.

Am einfachsten wäre es natürlich gewesen, wenn das UI Dokument eine Funktion hätte, die bei der Abfrage ob sich das Dokument inzwischen im Hintergrund geändert hat, ein True oder False zurückliefert.

Grüße
Bernd
Arbeite klug, nicht hart.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz