.

HCLSoftware Business Partner
Domino Consulting Services
CRUCIAL Notes Tools
+1 212-599-2048

Domino Consulting Services
CRUCIAL Notes Tools
Domino administration
Notes development

Facebook Twitter YouTube
Chat now       
.
ProductsDownloadsNewsAbout usContact


Need a Domino Consultant? Call NotesMail +1 212-599-2048 - HCLSoftware Business Partner

FORMULA LANGUAGE


Order of evaluation for formula statements
Lotus Domino evaluates formulas from top to bottom and left to right, completing each statement before proceeding to the next, except that @PostedCommand and a few @Command functions are executed in order after all other @functions complete execution. Formula language contains several @functions for control logic.

Except for @commands, the formula language operates on back-end Notes objects. For example, a field named in a formula refers to the field as it exists in storage and the FIELD reserved word modifies a stored field. @Commands operate in the user interface; changes made there are not reflected in the back-end until a document is saved. You cannot intersperse back-end and user interface accesses of the same document and get correct results.

Evaluation of @commands

Execution of an @PostedCommand function occurs after all other @functions in the formula. For instance, look at the following formula:

@PostedCommand([CommandName]; Argument);
@If(Condition; TrueStatement; FalseStatement);
FIELD X := "Text"

The first statement is executed last.

Execution of an @command function occurs in the order it appears with some exceptions. The exceptions, like @PostedCommands, execute at the end of the formula. Each exception has an equivalent @command that executes immediately.

The following table lists the @commands that execute last and their corresponding @commands that execute immediately.

Note The functions that get evaluated immediately are new with Release 6.
Evaluated after @functionsEvaluated immediately
EditClearClear
EditProfileEditProfileDocument
FileCloseWindowCloseWindow
FileDatabaseDeleteDatabaseDelete
FileExitExitNotes
FolderFolderDocuments
NavigateNextNavNext
NavigateNextMainNavNextMain
NavigateNextSelectedNavNextSelected
NavigateNextUnreadNavNextUnread
NavigatePrevNavPrev
NavigatePrevMainNavPrevMain
NavigatePrevSelectedNavPrevSelected
NavigatePrevUnreadNavPrevUnread
ReloadWindowRefreshWindow
ToolsRunBackgroundMacrosRunScheduledAgents
ToolsRunMacroRunAgent
ViewChangeSwitchView
ViewSwitchFormSwitchForm

@If function

@If executes one statement or another depending on whether a logical value is True or False:

@If(LogicalValue; TrueStatement; FalseStatement)

@Do function

@Do executes a number of statements in sequence and can be used as an execution path within an @If function:

@If(LogicalValue; @Do(TrueStatement1; TrueStatement2); FalseStatement)

Any @Command functions within an @Do function are executed in order after all other @functions, both within and without the @Do function, are executed.

@Return function

@Return stops execution of the formula:

@If(LogicalValue; @Return(""); "")