Check Formula Syntax

Beim Erstellen von Aktionen, die in Masken oder Ansichten eingebunden werden sollen überprüft Lotus Notes automatisch beim Speichern, ob die Syntax der eingegebenen Formel richtig ist.

Was aber, wenn man eine Formel an ein db.search übergeben möchte? Man kann natürlich die zu verwendende Formel im Developer Client von Lotus Notes überprüfen lassen und dann in seinen Script Code einbinden. Das funktioniert solange, wie man mit starren Formeln arbeitet.
Wie prüft man aber die Validität einer Formel, wenn diese z.B. über ein Konfigurationsdokument eingegeben wird.
( z.B. in !!HELP!! ) ?

Seit Version 6 gibt es die Formel @CheckFormulaSyntax( Feldname ). Feldname enthält die zu prüfende Formel.

CAPTION	:= "Formula Syntax Check";
SYNTAX_OK:= "Formula Syntax is OK";

Result	:= @CheckFormulaSyntax(nFormula);
Error	:= Result[1];
Line:= Result[2];
Column:= Result[3];

@If(Error = "1";
	@Prompt([Ok]; CAPTION; SYNTAX_OK);
	@Prompt([Ok]; CAPTION; "Line " + Line + " Column " + Column +": " + Error)
)

Wie ich eingangs erwähnt habe, gibt es die Formel erst ab Version 6. Aber auch unter R5 lässt sich die syntaktische Richtigkeit einer Formel überprüfen. Dazu bedarf es aber der Notes API. Die hier beschriebene Version funktioniert auf Windows Clients.

Read More