Domino Designer 6: Formula Language Course

Course Code: LN 34
Course Abstract: This lecture-lab course involves significant hands-on coding experience using the formula language. It only peripherally explores the principles of programming and does not attempt to cover every option of every function. The course takes a task-oriented approach, during which participants will increase their understanding of how Domino applications operate.
Audience: This course is designed for Domino Programmers.
Duration: 1 day
Learning Outcomes:

Upon completion of this course, the participant will be able to:
>Extend knowledge of the formula language
>Use the formula language to meet application goals
>Apply extensive programming and debugging experience to ensure mastery of key @Functions and @Commands
>Use @Functions to operate on multi-value variables and Fields
>Describe how to conditionally execute code based on document state and user identity
>Explain data inheritance and inter-document relationships
>Use well-known locations to store configuration information
>Interact with users with prompts and dialog boxes
>Build an understanding of data validation and error trapping

Course Topics:

Topic 1: Using the Formula Language
Programming languages used in Domino
Advantages of the formula language
Object model programming
Where to use formula language
Event code interplay
Formula results
Ancillary event triggers
Exercise: Formula return values quiz
Exercise: Printer-friendly display I

Topic 2: Variable and Field Assignment
Valid variable and Field names
Temporary variables
Self-referential Field events
Get Field values
Set Field values
Appending temporary variable and Field values
Formula context
Reserved and internal Field names
Exercise: Printer-friendly display II

Topic 3: Formula Toolbox
Matching and equivalence
String matching
String parsing
String replacement
Random number
Time/date functions
Data type conversion
Exercise: Data type conversion
Data testing
DEFAULT keyword

Topic 4: Multi-Value Variables and Fields
What is a multi-value list?
Multi-value functions
Converting single-value list to multi-value list
Converting a multi-value list to a single-value list
Element count
Selecting a value from the list
Exercise: @Subset and @Implode
Pair-wise and Permutation operators
Determining if a value is in the list
Replacing an item in the list
Minimum and maximum value
Compare ASCII values
Sort a list
Summing a list
Exercise: Summing numbers
Date range
Dynamic tables
Looping functions
@For loop
Reuse temporary variables
@While loop
Exercise: @While
@DoWhile loop
@Transform
@Nothing

Topic 5: Conditional Evaluation
Single @If with multiple conditions
Multiple actions using @Do
Aborting execution with @Return
Multiple @If statements
Conditional save and mail send
Conditional evaluation based on document state
Exercise: Document state
Conditional evaluation based on user identity
Exercise: User rights

Topic 6: Data Inheritance
Configuring inheritance
Inheritance caveats
Conditional inheritance
Exercise: Inheritance
Requiring inheritance
Disallowing pasted documents
Inheriting Rich Text
"Inheritance" across databases

Topic 7: Database Lookup
@NameLookup
@Db function overview
Where to use lookup functions
Lookups and security
@DbColumn Function
Static Field lists
External Field lists
Exercise: @DbColumn
@DbLookup function
@DbLookup parameters using Notes
Error trapping
Exercise: @DbLookup
Creating unique keys
Multiple return values
Document refresh issue
Limiting lookups
Overcoming the size limits
General lookup performance tips

Topic 8: Document Relationships
When to use Response documents
Designing Response documents
Creating response documents
Response document internals
Creating the response hierarchy after the fact
ComposeWithReference
ComposeWithReference flags
Another way to relate documents
Primary key relationship
Field reference by document UNID
Exercise: Document ID relationship
Lookup versus direct Field reference
One-to-many relationships
Updating related documents
"Doclink" to parent

Topic 9: Well-Known Locations
Well-known location techniques
Local NOTES.INI access
Environment function syntax
Environment restrictions
Environment read/set sequence
Exercise: Environment variable
Reading the Windows Registry
Lookups
Profile documents
Profile documents and security
Create Profile document
Write to Profile document Fields
Read from Profile document Fields
[NoPersist] option
Exercise: Profile document

Topic 10: User Prompts
@StatusBar
Where to call prompts and picklists
Using the data from prompts and picklists
@Prompt syntax
Password prompt
Directories
File prompts
Exercise: @Prompt
@PickList syntax
Exercise: Picklist
Limitations of prompts and picklists
Execution by temporary variables
Preview pane caveat
Where to call @Dialogbox
@DialogBox syntax
@Dialogbox caveats
Button types
Exercise: Dialog box
Optional dialog box keywords
Which dialog box to use?

Prerequisites: It assumes that you have:
>Thorough knowledge of the Domino Designer development environment, including Form and View design, as well as how to use properties boxes, and how to set the ACL
>Mastered the topics covered in Basic Applications for Domino Designer 6.
Though not required, experience in any computer programming or application scripting language (including spreadsheet formulas) is helpful in understanding how to maximize the use of the formula language.
Note: All fields are required
At the present time we do not offer training for individuals or groups less then 6 individuals. We apologize for any inconvenience.


We Value Your Privacy!

Ready to get started or in need of more information? Contact us today.

Go To Blog Virtual Learning