Schnellere Anzeige von Dokumenten

Dokumente, deren zugrundeliegende Maske eine der Funktionen @DbLookup oder @DbColumn verwendet, benötigen oft beim Öffnen vergleichsweise lange bis zur Anzeige im Notes Client - auch wenn die Dokumente nur im "Lesen-Modus" betrachtet werden.

Warum ist das so?

Das liegt daran, dass bestimmte berechnete oder editierbare Felder ihre Formeln auch beim lesenden Öffnen eines Dokumentes ausführen.

Das Ausführen der Feld-Formeln wird man nicht verhindern können, aber die "Lookup-Funktionen" müssen ja nicht immer ausgeführt werden.

Was kann man als Entwickler dagegen unternehmen?

In den entsprechenden Feldformeln sollten die "Lookup-Funktionen" eben nicht ausgeführt werden, wenn ein Dokument nur zur Anzeige am Bildschirm im Notes Client geöffnet wird. Die @If-Funktion ist hierbei der Schlüssel.

1. Beispiel: Schlüsselwortliste-Formel mit @DbColumn

@DbColumn(class:cache; server:database; view; columnNumber)

sollte geändert werden in:

@If( !@IsNewDoc & @IsDocBeingLoaded;
        @Return("");
        @DbColumn(class:cache; server:database; view; columnNumber)
)

2. Beispiel: Schlüsselwortliste-Formel mit @DbLookup

@DbLookup(class:cache; server:database; view; key; columnNumber; keywords)

sollte geändert werden in:

@If( !@IsNewDoc & @IsDocBeingLoaded;
        @Return("");
        @DbLookup(class:cache; server:database; view; key; columnNumber; keywords)
)

Hinweis zur Funktion @Return

Aus der HCL Online-Hilfe:

Immediately stops the execution of a formula and returns the specified value. This is useful when you only want the remainder of the formula to be executed only if certain conditions are True.

@Return (Formula Language)
N/A