Formula Language

The Formula language is a scripting language used by Lotus Notes.
It is often referred to as @Formula language (pronounced at-formula) because many language elements start with the @-character. It was created by Ray Ozzie during the early development of Notes. He borrowed parts of the engine and most of the compiler from the Lotus 123 spreadsheet, but unlike the spreadsheet language Formula Language was designed for primarily for string and list processing, not numerical processing. It was rewritten from scratch by Damien Katz for Notes and Domino 6. Many new features were added to the language, such as looping and dynamic execution, and performance was improved dramatically. The Formula language has two parts:
  • @Functions for calculations and simple logic
  • @Commands for performing actions in the user interface
@Functions can be used in several places throughout Lotus Notes. The most important uses are:
  • to select documents to show to the user in a view (a kind of index) or to select documents for further processing. In this case, the formula will evaluate to a 'true' (selected) or 'false' value (not selected) for each document.
  • to provide default values for fields, to transform the data entered by the user (like stripping off redundant spaces) and to validate this data.
  • to get a list of values from a Notes database or even from a relational database (using ODBC). This may be used to provide a user with a list of values to choose from.
  • to process a set of documents. The formula is placed in an agent, a program or macro that can be started by a user or by the Notes server according to a schedule. When the agent is triggered, the formula executes for each selected document (this a very limited form of a loop). This is an efficient way of changing lots of documents, if the logic is not too complicated. In case of complicated changes, LotusScript is used.
@Commands are like menu commands: they perform actions in the Lotus Notes client. Examples of actions are:
  • opening a Notes database
  • creating an e-mail
  • putting the cursor in a specific data-entry field
  • closing a window
  • starting an agent
@Commands are mainly used in buttons and the like. It is possible to combine them with @Functions, for example the command only executes if a field contains a predefined value.

 

<< PreviousWord BrowserNext >>
emperor he of han china
90 (number)
haho
emperor shang of han china
list of cities in andorra
list of cities in angola
list of cities in armenia
list of cities in azerbaijan
list of cities in chad
tiananmen
list of cities in east timor
list of cities in el salvador
list of cities in the gambia
list of cities in georgia
list of towns in hungary
list of cities in iran
list of cities in jordan
list of cities in libya
list of cities in ecuador
list of cities in the republic of macedonia
list of cities in madagascar
list of cities in moldova
list of cities in mongolia
list of cities in nepal
list of cities in palestinian authority areas
list of cities in panama
list of cities in paraguay
list of cities in peru
list of cities in somalia
list of cities in syria
list of cities in tajikistan
list of cities in tunisia
list of cities in turkmenistan
list of cities in venezuela
list of cities in zambia
list of cities in zimbabwe
simple theorems in the algebra of sets
bonsai cvs code management system
withnail and i
the aristocats
list of historical national capitals
silicon forest
the lady or the tiger?
henry norwest