693
Lotus® Domino Designer Programming Guide, Volume 1: Overview and Formula Language Version7 G210-2370-00

Prgramming Guide, Volume 1: Overview and Formula …File/prog1.… · Lotus ® Domino Designer Programming Guide, ... List concatenation operator. . . . . . . . 123 ... Prgramming

Embed Size (px)

Citation preview

  • Lotus Domino Designer

    Programming Guide, Volume 1: Overview and Formula Language

    Version

    7

    G210-2370-00

  • Note: Before using this information and the product it supports, read the information in "Notices" at the end of this document.

    First Edition (December, 2005) This edition applies to IBM Lotus Domino Designer 7 (product number L-GHUS-5RWNHM), and to all subsequent releases and modifications, until otherwise indicated in new editions. Copyright International Business Machines Corporation 1994, 2005. All rights reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

  • Contents

    Chapter 1. Programming Overview . . . 1 Programming in IBM Lotus Domino Designer . . . 1 Where to use scripts and formulas . . . . . . . 1 Table of programmable design elements . . . . . 2 Toolbars . . . . . . . . . . . . . . . . 3

    To create a new toolbar button . . . . . . . 4 Examples: Toolbars . . . . . . . . . . . 4

    Replication formulas . . . . . . . . . . . . 5 Examples: Replication formulas . . . . . . . 5

    Agents . . . . . . . . . . . . . . . . 5 Examples: Agents . . . . . . . . . . . . 6

    Actions . . . . . . . . . . . . . . . . 7 Examples: Actions . . . . . . . . . . . 8

    Hotspots . . . . . . . . . . . . . . . . 9 Examples: Hotspots . . . . . . . . . . . 10

    Form, selection, and column formulas . . . . . 11 Form formulas . . . . . . . . . . . . 11 Selection formulas . . . . . . . . . . . 12 Column formulas . . . . . . . . . . . 12

    Window title, section access, and insert subform formulas . . . . . . . . . . . . . . . 13

    Window title formulas . . . . . . . . . . 13 Section access formulas . . . . . . . . . 14 Insert subform formulas . . . . . . . . . 14

    Section title and hidden paragraph formulas . . . 14 Section title formulas . . . . . . . . . . 14 Hidden paragraph formulas . . . . . . . . 15

    Hidden column and row custom color formulas . . 15 Hidden column formulas . . . . . . . . . 15 Row custom color formulas . . . . . . . . 15

    Named element formulas . . . . . . . . . . 15 To enter a named element formula: . . . . . 15 Examples: Named element formulas . . . . . 16

    Image formulas . . . . . . . . . . . . . 16 Examples: Image formulas . . . . . . . . 16

    Events . . . . . . . . . . . . . . . . 17 Examples: Events . . . . . . . . . . . 17

    Field design formulas . . . . . . . . . . . 19 Default value formulas . . . . . . . . . 19 Input translation formulas . . . . . . . . 19 Input validation formulas . . . . . . . . 19 Input enabled formulas . . . . . . . . . 20 HTML attributes formulas . . . . . . . . 20 Value formulas for computed fields . . . . . 20 Keyword field formulas . . . . . . . . . 20

    Event descriptions . . . . . . . . . . . . 21 LotusScript subroutines and functions . . . . 31 LotusScript Declarations and Options areas . . . 31 Current document in onLoad and PostOpen . . 31 Compatibility issues . . . . . . . . . . 31 Forward compatibility . . . . . . . . . . 33 Backwards compatibility . . . . . . . . . 33 onHelp and HelpRequest . . . . . . . . . 33

    Event sequencing . . . . . . . . . . . . 33

    Chapter 2. User Interface . . . . . . . 37 Accessing the Programmers pane . . . . . . . 37 Exploring the Programmers pane . . . . . . . 37 Exploring the Java interface in the Programmers pane . . . . . . . . . . . . . . . . . 39 Using the Info List . . . . . . . . . . . . 40

    Adjusting the size of the Info List . . . . . . 40 Using the Objects tab . . . . . . . . . . . 40

    Programming an objects properties and events 41 Using the Reference tab . . . . . . . . . . 41

    Pasting information from the Reference tab into the Script area . . . . . . . . . . . . 42 Using shortcut keys to access the Reference tab 42

    Using the Errors box . . . . . . . . . . . 42 Using the Script area . . . . . . . . . . . 42

    Setting Script area properties . . . . . . . 43 Setting text properties . . . . . . . . . . 43 Setting format properties . . . . . . . . . 43 Moving the insertion point while editing text in the Script area . . . . . . . . . . . . 43 Selecting text . . . . . . . . . . . . . 44 Editing text with key combinations . . . . . 44 Editing text with menu commands . . . . . 44 Saving and deleting text in the Script area . . . 45 Renaming an object, subprogram, or class . . . 45 Automatically completing statements . . . . . 45

    Writing Java in an agent . . . . . . . . . . 47 Viewing output from a Java agent . . . . . . 48 Adding resource, class, or archive files to an agent . . . . . . . . . . . . . . . 48 Including a script library on the class path . . . 48 Compiling Java . . . . . . . . . . . . 48 Exporting Java . . . . . . . . . . . . 48 Importing Java . . . . . . . . . . . . 49

    Writing JavaScript in the Programmers pane . . . 49 To program an object event in JavaScript . . . 49 Writing JavaScript in a page header . . . . . 50 Compiling JavaScript . . . . . . . . . . 50 Importing and exporting JavaScript . . . . . 50

    Writing LotusScript in the Programmers pane . . . 50 Defining global variables and subprograms . . . 51 Creating an additional script in LotusScript . . . 51 Completing a LotusScript block statement automatically . . . . . . . . . . . . . 52 Completing a LotusScript %directive automatically . . . . . . . . . . . . . 52 Compiling LotusScript . . . . . . . . . . 52 Importing and exporting LotusScript . . . . . 52

    Exploring the LotusScript Debugger . . . . . . 53 Using the LotusScript Debugger . . . . . . 54 Selecting a subprogram . . . . . . . . . 54 Stepping through a script . . . . . . . . . 55 Debugging with breakpoints . . . . . . . . 55 Using the debugger utilities . . . . . . . . 56

    Using the Remote Debugger . . . . . . . . . 57 To enable remote debugging on the server . . . 57

    iii

  • To enable remote debugging in the agent . . . 58 To start the Remote Debugger . . . . . . . 58 To debug a scheduled LotusScript agent remotely 58

    Debugging Java code remotely . . . . . . . . 59 To enable Java debugging on a Notes client . . 60 To enable Java debugging in an agent, Web service, or script library . . . . . . . . . 60 To connect a debugger to the JVM . . . . . . 60 Security considerations . . . . . . . . . 61

    Using Script Libraries . . . . . . . . . . . 61 To create a script library . . . . . . . . . 61 To access an existing script library . . . . . . 62 Incorporating a LotusScript script library . . . 62 Incorporating a Java script library . . . . . . 62 Incorporating a Javascript script library . . . . 63

    Recompiling all LotusScript . . . . . . . . . 63 To recompile all the LotusScript code in a database . . . . . . . . . . . . . . 64

    Writing formulas in the Programmers pane . . . 64 To enter a formula in the Programmers pane . . 64 Using the formula window . . . . . . . . 65

    Using the Programmers pane for Simple action(s) 65

    Chapter 3. Programming Domino for Web Applications . . . . . . . . . . 67 Formula language . . . . . . . . . . . . 67

    Where formulas work on the Web . . . . . . 67 @Functions on the Web . . . . . . . . . 68 @Commands on the Web . . . . . . . . . 71

    Web agents . . . . . . . . . . . . . . 79 Setting up a Web agent . . . . . . . . . 79 Activating a Web agent . . . . . . . . . 79 LotusScript and Java in Web agents . . . . . 80 Examples: Web agents . . . . . . . . . . 80

    JavaScript . . . . . . . . . . . . . . . 82 JavaScript events . . . . . . . . . . . 83 JavaScript in HTML . . . . . . . . . . 84 JavaScript object model . . . . . . . . . 86 Domino objects . . . . . . . . . . . . 90

    Web services . . . . . . . . . . . . . . 91 Web services terminology . . . . . . . . . 91 Web services in Domino Designer . . . . . . 92 Web services on a Domino server . . . . . . 95 Java and LotusScript mappings . . . . . . . 95 Examples: Web services . . . . . . . . . 103 Examples: Web services data descriptions . . . 107

    Server configuration for Web browsers . . . . . 111 The browser.cnf file . . . . . . . . . . 111 Language cross-reference . . . . . . . . 111 111 Dynamic HTML sections . . . . . . . . . 111

    Chapter 4. Formula Language Rules 113 Using the syntax rules . . . . . . . . . . 113

    Lexical elements . . . . . . . . . . . 113 General syntax rules . . . . . . . . . . 114

    Using variables . . . . . . . . . . . . . 114 Fields . . . . . . . . . . . . . . . 114 Temporary variables . . . . . . . . . . 116

    Using constants . . . . . . . . . . . . . 117 Text constants . . . . . . . . . . . . 117

    Numeric constants . . . . . . . . . . . 118 Time-date constants . . . . . . . . . . 118

    Using operators . . . . . . . . . . . . 120 Operators and precedence . . . . . . . . 120 Order of evaluation for operations . . . . . 121 Assignment operator . . . . . . . . . . 121 List subscript operator . . . . . . . . . 122 List concatenation operator . . . . . . . . 123 Unary operators . . . . . . . . . . . 123 Arithmetic operators . . . . . . . . . . 123 Text operator . . . . . . . . . . . . 123 Comparison operators . . . . . . . . . 123 Logical operators . . . . . . . . . . . 123 Operations on lists . . . . . . . . . . 124

    Using @functions . . . . . . . . . . . . 126 Syntax . . . . . . . . . . . . . . . 126 Return values . . . . . . . . . . . . 126 Side-effects . . . . . . . . . . . . . 127 @Commands . . . . . . . . . . . . 127 Order of evaluation for formula statements . . 128

    Using reserved words . . . . . . . . . . 129 Examples: Using keywords . . . . . . . . 129

    Specifying form and view names in formulas . . . 130 Debugging formulas . . . . . . . . . . . 130

    Chapter 5. Formula Language Coding Guidelines . . . . . . . . . . . . . 133 Formulas . . . . . . . . . . . . . . . 133

    Writing formulas that evaluate to a result . . . 133 Writing formulas that perform actions . . . . 134 Working with lists . . . . . . . . . . . 135 Using conditional statements . . . . . . . 138 Using iterative statements . . . . . . . . 139

    Writing messages and getting user input . . . . 140 Writing messages to the user . . . . . . . 140 Getting user input with @Prompt and @PickList 141 Filling out a form with @DialogBox . . . . . 143 Getting and setting environment variables . . . 143

    Handling errors . . . . . . . . . . . . 144 Syntax errors . . . . . . . . . . . . 144 Run-time errors . . . . . . . . . . . 144

    Working with @functions . . . . . . . . . 146 Working with @commands . . . . . . . . . 147 Performing string operations . . . . . . . . 148

    Converting data types . . . . . . . . . 148 Concatenating, comparing, and determining length . . . . . . . . . . . . . . . 149 Locating and extracting substrings . . . . . 151 Trimming, repeating, adding a new line, and changing case . . . . . . . . . . . . 153

    Performing arithmetic operations . . . . . . . 154 Examples: Performing arithmetic operations . . 155

    Performing time-date operations . . . . . . . 156 Examples: Performing time-date operations . . 158

    Accessing the user environment . . . . . . . 158 Examples: Accessing the user environment . . 159

    Accessing the current database and view . . . . 160 Database and view attributes . . . . . . . 160 Window title and column formula @functions 160 Examples: Accessing the current database and view . . . . . . . . . . . . . . . 161

    iv Prgramming Guide, Volume 1: Overview and Formula Language

  • Accessing the current document in the formula language . . . . . . . . . . . . . . . 161

    Examples: Accessing the current document . . 163 Accessing data outside the current document and database . . . . . . . . . . . . . . . 164

    Examples: Accessing data outside the current document and database . . . . . . . . . 165

    Accessing external databases through LS:DO using @functions . . . . . . . . . . . . . . 166

    Examples: Accessing external databases through LS:DO using @functions . . . . . . . . . 166

    Chapter 6. Formula Language @Functions A-Z . . . . . . . . . . 167 Where does this @function work? (Part 1 A -- D) 167 Where does this @function work? (Part 1 E -- K) 170 Where does this @function work? (Part 1 L -- R) 174 Where does this @function work? (Part 1 S -- Z) 177 Where does this @function work? (Part 2 A -- D) 181 Where does this @function work? (Part 2 E -- K) 184 Where does this @function work? (Part 2 L -- R) 188 Where does this @function work? (Part 2 S -- Z) 191 @Functions with ECL security . . . . . . . . 195 @Abs . . . . . . . . . . . . . . . . 196

    Syntax . . . . . . . . . . . . . . . 196 Parameters . . . . . . . . . . . . . 196 Return value . . . . . . . . . . . . 196 Usage . . . . . . . . . . . . . . . 196 Language cross-reference . . . . . . . . 196 Examples: @Abs . . . . . . . . . . . 197

    @Abstract . . . . . . . . . . . . . . 197 Syntax . . . . . . . . . . . . . . . 197 Parameters . . . . . . . . . . . . . 197 Return value . . . . . . . . . . . . 198 Keywords . . . . . . . . . . . . . 198 Rules . . . . . . . . . . . . . . . 200 Files . . . . . . . . . . . . . . . 201 Language cross-reference . . . . . . . . 203 Examples: @Abstract . . . . . . . . . . 203

    @Accessed . . . . . . . . . . . . . . 203 Syntax . . . . . . . . . . . . . . . 203 Return value . . . . . . . . . . . . 203 Usage . . . . . . . . . . . . . . . 204 Usage in workflow applications . . . . . . 204 Usage in column or selection formulas . . . . 204 Language cross-reference . . . . . . . . 204 Examples: @Accessed . . . . . . . . . . 204

    @ACos . . . . . . . . . . . . . . . 204 Syntax . . . . . . . . . . . . . . . 204 Parameters . . . . . . . . . . . . . 205 Return value . . . . . . . . . . . . 205 Language cross-reference . . . . . . . . 205 Examples: @ACos . . . . . . . . . . . 205

    @AddToFolder . . . . . . . . . . . . . 205 Syntax . . . . . . . . . . . . . . . 205 Parameters . . . . . . . . . . . . . 205 Usage . . . . . . . . . . . . . . . 205 Language cross-reference . . . . . . . . 205 Examples: @AddToFolder . . . . . . . . 206

    @Adjust . . . . . . . . . . . . . . . 206 Syntax . . . . . . . . . . . . . . . 206

    Parameters . . . . . . . . . . . . . 206 Return value . . . . . . . . . . . . 207 Usage . . . . . . . . . . . . . . . 207 Calculating due dates . . . . . . . . . 207 Language cross-reference . . . . . . . . 207 Examples: @Adjust . . . . . . . . . . 207

    @AdminECLIsLocked . . . . . . . . . . 208 Syntax . . . . . . . . . . . . . . . 208 Return value . . . . . . . . . . . . 208 Usage . . . . . . . . . . . . . . . 208

    @All . . . . . . . . . . . . . . . . 208 Syntax . . . . . . . . . . . . . . . 208 Return value . . . . . . . . . . . . 208 Usage . . . . . . . . . . . . . . . 208 Examples: @All . . . . . . . . . . . . 209

    @AllChildren . . . . . . . . . . . . . 209 Syntax . . . . . . . . . . . . . . . 209 Return value . . . . . . . . . . . . 209 Usage . . . . . . . . . . . . . . . 209

    @AllDescendants . . . . . . . . . . . . 209 Syntax . . . . . . . . . . . . . . . 209 Return value . . . . . . . . . . . . 209 Usage . . . . . . . . . . . . . . . 209 Examples: @AllChildren and @AllDescendants 210

    @Ascii . . . . . . . . . . . . . . . . 211 Syntax . . . . . . . . . . . . . . . 211 Parameters . . . . . . . . . . . . . 211 Return value . . . . . . . . . . . . 211 Usage . . . . . . . . . . . . . . . 211 Examples: @Ascii . . . . . . . . . . . 212

    @ASin . . . . . . . . . . . . . . . . 212 Syntax . . . . . . . . . . . . . . . 212 Parameters . . . . . . . . . . . . . 212 Return value . . . . . . . . . . . . 212 Language cross-reference . . . . . . . . 212 Examples: @ASin . . . . . . . . . . . 212

    @ATan . . . . . . . . . . . . . . . . 212 Syntax . . . . . . . . . . . . . . . 212 Parameters . . . . . . . . . . . . . 212 Return value . . . . . . . . . . . . 213 Language cross-reference . . . . . . . . 213 Examples: @ATan . . . . . . . . . . . 213

    @ATan2 . . . . . . . . . . . . . . . 213 Syntax . . . . . . . . . . . . . . . 213 Parameters . . . . . . . . . . . . . 213 Return value . . . . . . . . . . . . 213 Language cross-reference . . . . . . . . 214 Examples: @ATan2 . . . . . . . . . . 214

    @AttachmentLengths . . . . . . . . . . . 214 Syntax . . . . . . . . . . . . . . . 214 Parameters . . . . . . . . . . . . . 214 Return value . . . . . . . . . . . . 214 Usage . . . . . . . . . . . . . . . 214 Language cross-reference . . . . . . . . 215 Examples: @AttachmentLengths . . . . . . 215

    @AttachmentModifiedTimes . . . . . . . . 215 Syntax . . . . . . . . . . . . . . . 215 Parameters . . . . . . . . . . . . . 215 Return value . . . . . . . . . . . . 215 Examples: @AttachmentModifiedTimes . . . . 216

    @AttachmentNames . . . . . . . . . . . 216

    Contents v

  • Syntax . . . . . . . . . . . . . . . 216 Parameters . . . . . . . . . . . . . 216 Return value . . . . . . . . . . . . 216 Language cross-reference . . . . . . . . 216 Examples: @AttachmentNames . . . . . . 217

    @Attachments . . . . . . . . . . . . . 217 Syntax . . . . . . . . . . . . . . . 217 Parameters . . . . . . . . . . . . . 217 Return value . . . . . . . . . . . . 217 Usage in a Column Formula . . . . . . . 217 Examples: @Attachments . . . . . . . . 217

    @Author . . . . . . . . . . . . . . . 217 Syntax . . . . . . . . . . . . . . . 217 Return value . . . . . . . . . . . . 217 Usage . . . . . . . . . . . . . . . 218 Language cross-reference . . . . . . . . 218 Examples: @Author . . . . . . . . . . 218

    @Begins . . . . . . . . . . . . . . . 218 Syntax . . . . . . . . . . . . . . . 218 Parameters . . . . . . . . . . . . . 218 Return value . . . . . . . . . . . . 219 Usage . . . . . . . . . . . . . . . 219 Examples: @Begins . . . . . . . . . . 219

    @BrowserInfo . . . . . . . . . . . . . 219 Syntax . . . . . . . . . . . . . . . 219 Parameters . . . . . . . . . . . . . 219 Return value . . . . . . . . . . . . 219 Usage . . . . . . . . . . . . . . . 220 Language cross-reference . . . . . . . . 220 Examples: @BrowserInfo . . . . . . . . 220

    @BusinessDays . . . . . . . . . . . . . 221 Syntax . . . . . . . . . . . . . . 221 Parameters . . . . . . . . . . . . . 221 Return value . . . . . . . . . . . . 221 Usage . . . . . . . . . . . . . . . 221 Examples: @BusinessDays . . . . . . . . 221

    @Certificate . . . . . . . . . . . . . . 222 Syntax . . . . . . . . . . . . . . . 222 Parameters . . . . . . . . . . . . . 222 Return value . . . . . . . . . . . . 223 Usage . . . . . . . . . . . . . . . 223 Language cross-reference . . . . . . . . 223 Examples: @Certificate . . . . . . . . . 223

    @Char . . . . . . . . . . . . . . . . 223 Syntax . . . . . . . . . . . . . . . 223 Parameters . . . . . . . . . . . . . 223 Return value . . . . . . . . . . . . 224 Usage . . . . . . . . . . . . . . . 224 Language cross-reference . . . . . . . . 224 Examples: @Char . . . . . . . . . . . 224

    @CheckAlarms . . . . . . . . . . . . . 225 Syntax . . . . . . . . . . . . . . . 225 Usage . . . . . . . . . . . . . . . 225 Language cross-reference . . . . . . . . 225

    @CheckFormulaSyntax . . . . . . . . . . 225 Syntax . . . . . . . . . . . . . . . 225 Parameters . . . . . . . . . . . . . 225 Return value . . . . . . . . . . . . 225 Usage . . . . . . . . . . . . . . . 226 Examples: @CheckFormulaSyntax . . . . . 226

    @ClientType . . . . . . . . . . . . . . 226

    Syntax . . . . . . . . . . . . . . . 226 Return value . . . . . . . . . . . . 226 Usage . . . . . . . . . . . . . . . 226 Examples: @ClientType . . . . . . . . . 226

    @Command . . . . . . . . . . . . . . 227 Syntax . . . . . . . . . . . . . . . 227 Usage . . . . . . . . . . . . . . . 227 Exceptions . . . . . . . . . . . . . 227

    @Compare . . . . . . . . . . . . . . 228 Syntax . . . . . . . . . . . . . . . 228 Parameters . . . . . . . . . . . . . 228 Return value . . . . . . . . . . . . 228 Usage . . . . . . . . . . . . . . . 228 Language cross-reference . . . . . . . . 229 Examples: @Compare . . . . . . . . . . 229

    @ConfigFile . . . . . . . . . . . . . . 230 Syntax . . . . . . . . . . . . . . . 230 Return value . . . . . . . . . . . . 230 Usage . . . . . . . . . . . . . . . 230 Examples: @ConfigFile . . . . . . . . . 230

    @Contains . . . . . . . . . . . . . . 230 Syntax . . . . . . . . . . . . . . . 230 Parameters . . . . . . . . . . . . . 230 Return value . . . . . . . . . . . . 230 Usage . . . . . . . . . . . . . . . 231 Language cross-reference . . . . . . . . 231 Examples: @Contains . . . . . . . . . . 231

    @Cos . . . . . . . . . . . . . . . . 231 Syntax . . . . . . . . . . . . . . . 231 Parameters . . . . . . . . . . . . . 231 Return value . . . . . . . . . . . . 231 Language cross-reference . . . . . . . . 232 Examples: @Cos . . . . . . . . . . . 232

    @Count . . . . . . . . . . . . . . . 232 Syntax . . . . . . . . . . . . . . . 232 Parameters . . . . . . . . . . . . . 232 Return value . . . . . . . . . . . . 232 Language cross-reference . . . . . . . . 232 Examples: @Count . . . . . . . . . . . 232

    @Created . . . . . . . . . . . . . . . 233 Syntax . . . . . . . . . . . . . . . 233 Return value . . . . . . . . . . . . 233 Usage . . . . . . . . . . . . . . . 233 Language cross-reference . . . . . . . . 233 Examples: @Created . . . . . . . . . . 233

    @Date . . . . . . . . . . . . . . . . 234 Syntax . . . . . . . . . . . . . . . 234 Parameters . . . . . . . . . . . . . 234 Return value . . . . . . . . . . . . 234 Language cross-reference . . . . . . . . 235 Examples: @Date . . . . . . . . . . . 235

    @Day . . . . . . . . . . . . . . . . 235 Syntax . . . . . . . . . . . . . . . 235 Parameters . . . . . . . . . . . . . 235 Return value . . . . . . . . . . . . 235 Language cross-reference . . . . . . . . 235 Examples: @Day . . . . . . . . . . . 235

    @DB2Schema . . . . . . . . . . . . . 236 Syntax . . . . . . . . . . . . . . . 236 Parameters . . . . . . . . . . . . . 236 Return value . . . . . . . . . . . . 236

    vi Prgramming Guide, Volume 1: Overview and Formula Language

  • Usage . . . . . . . . . . . . . . . 236 Examples: @Day . . . . . . . . . . . 237

    @DbColumn (Domino data source) . . . . . . 237 Syntax . . . . . . . . . . . . . . . 237 Parameters . . . . . . . . . . . . . 237 Return value . . . . . . . . . . . . 238 Specifying the server and database . . . . . 238 Notes . . . . . . . . . . . . . . . 238 Specifying a view or folder . . . . . . . . 238 Specifying the column number . . . . . . 239 Accessing the return values . . . . . . . 239 Usage . . . . . . . . . . . . . . . 239 Server agents and security . . . . . . . . 239 Other agents and security . . . . . . . . 240 Language cross-reference . . . . . . . . 240 Examples: @DbColumn (Domino data source) 240

    @DbColumn (ODBC data source) . . . . . . . 240 Syntax . . . . . . . . . . . . . . 240 Parameters . . . . . . . . . . . . . 240 Return value . . . . . . . . . . . . 242 Specifying the data source . . . . . . . . 242 Specifying IDs and passwords . . . . . . . 242 Specifying the table name . . . . . . . . 242 Specifying null handling . . . . . . . . . 243 Specifying Distinct . . . . . . . . . . 243 Specifying sort . . . . . . . . . . . . 243 Usage . . . . . . . . . . . . . . . 244 Language cross-reference . . . . . . . . 244 Examples: @DbColumn (ODBC data source) . . 244

    @DbCommand (Domino data source) . . . . . 245 Syntax . . . . . . . . . . . . . . 245 Parameters . . . . . . . . . . . . . 245 Usage . . . . . . . . . . . . . . . 245 Examples: @DbCommand (Domino data source) 246

    @DbCommand (ODBC data source) . . . . . . 246 Syntax . . . . . . . . . . . . . . 247 Parameters . . . . . . . . . . . . . 247 Return value . . . . . . . . . . . . 247 Specifying the data source . . . . . . . . 248 Specifying IDs and passwords . . . . . . . 248 Specifying the command string . . . . . . 248 Specifying null handling . . . . . . . . . 248 Accessing values found . . . . . . . . . 249 Usage . . . . . . . . . . . . . . . 249 Examples: @DbCommand (ODBC data source) 250

    @DbExists . . . . . . . . . . . . . . 250 Syntax . . . . . . . . . . . . . . . 250 Parameters . . . . . . . . . . . . . 250 Return value . . . . . . . . . . . . 250 Usage . . . . . . . . . . . . . . . 250 Language cross-reference . . . . . . . . 250 Examples: @DbExists . . . . . . . . . . 251

    @DbLookup (Domino data source) . . . . . . 251 Syntax . . . . . . . . . . . . . . 251 Parameters . . . . . . . . . . . . . 251 Return value . . . . . . . . . . . . 252 Specifying the server and database . . . . . 252 Notes . . . . . . . . . . . . . . . 253 Specifying a view . . . . . . . . . . . 253 Specifying a key . . . . . . . . . . . 253 Specifying a field name . . . . . . . . . 254

    Specifying the column number . . . . . . 254 Accessing the return values . . . . . . . 255 Usage . . . . . . . . . . . . . . . 255 Server agents and security . . . . . . . . 255 Other agents and security . . . . . . . . 255 Examples: @DbLookup (Domino data source) 255

    @DbLookup (ODBC data source) . . . . . . . 256 Syntax . . . . . . . . . . . . . . 256 Parameters . . . . . . . . . . . . . 256 Return value . . . . . . . . . . . . 258 Specifying the data source . . . . . . . . 258 Specifying IDs and passwords . . . . . . . 258 Specifying the table name . . . . . . . . 258 Specifying null handling . . . . . . . . . 258 Specifying key_column and key . . . . . . 259 Specifying Distinct . . . . . . . . . . 259 Specifying sort . . . . . . . . . . . . 260 Accessing the values found . . . . . . . . 260 Usage . . . . . . . . . . . . . . . 260 Examples: @DbLookup (ODBC data source) . . 260

    @DbManager . . . . . . . . . . . . . 261 Syntax . . . . . . . . . . . . . . . 261 Return value . . . . . . . . . . . . 261 Language cross-reference . . . . . . . . 261 Examples: @DbManager . . . . . . . . . 261

    @DbName . . . . . . . . . . . . . . 262 Syntax . . . . . . . . . . . . . . . 262 Return value . . . . . . . . . . . . 262 Usage . . . . . . . . . . . . . . . 262 Language cross-reference . . . . . . . . 262 Examples: @DbName . . . . . . . . . . 263

    @DbTitle . . . . . . . . . . . . . . . 263 Syntax . . . . . . . . . . . . . . . 263 Return value . . . . . . . . . . . . 263 Language cross-reference . . . . . . . . 263 Examples: @DbTitle . . . . . . . . . . 263

    @DDEExecute . . . . . . . . . . . . . 264 Syntax . . . . . . . . . . . . . . . 264 Parameters . . . . . . . . . . . . . 264 Return value . . . . . . . . . . . . 264 Usage . . . . . . . . . . . . . . . 264 Examples: @DDEExecute . . . . . . . . 265

    @DDEInitiate . . . . . . . . . . . . . 265 Syntax . . . . . . . . . . . . . . . 266 Parameters . . . . . . . . . . . . . 266 Return value . . . . . . . . . . . . 266 Usage . . . . . . . . . . . . . . . 266 Initiation failures . . . . . . . . . . . 266

    @DDEPoke . . . . . . . . . . . . . . 267 Syntax . . . . . . . . . . . . . . 267 Parameters . . . . . . . . . . . . . 267 Usage . . . . . . . . . . . . . . . 267

    @DDETerminate . . . . . . . . . . . . 267 Syntax . . . . . . . . . . . . . . . 267 Parameters . . . . . . . . . . . . . 267 Return value . . . . . . . . . . . . 268 Usage . . . . . . . . . . . . . . . 268

    DEFAULT . . . . . . . . . . . . . . 268 Syntax . . . . . . . . . . . . . . . 268 Usage . . . . . . . . . . . . . . . 268 Language cross-reference . . . . . . . . 268

    Contents vii

  • Examples:DEFAULT . . . . . . . . . . 268 @DeleteDocument . . . . . . . . . . . . 269

    Syntax . . . . . . . . . . . . . . . 269 Usage . . . . . . . . . . . . . . . 269 Language cross-reference . . . . . . . . 269 Examples: @DeleteDocument . . . . . . . 269

    @DeleteField . . . . . . . . . . . . . 269 Syntax . . . . . . . . . . . . . . 269 Usage . . . . . . . . . . . . . . . 269 Language cross-reference . . . . . . . . 270 Examples: @DeleteField . . . . . . . . . 270

    @DialogBox . . . . . . . . . . . . . . 270 Syntax . . . . . . . . . . . . . . . 270 Parameters . . . . . . . . . . . . . 270 Return value . . . . . . . . . . . . 271 Usage . . . . . . . . . . . . . . . 272 Sharing of field values . . . . . . . . . 272 Language cross-reference . . . . . . . . 272 Examples: @DialogBox . . . . . . . . . 272

    @Do . . . . . . . . . . . . . . . . 273 Syntax . . . . . . . . . . . . . . . 273 Parameters . . . . . . . . . . . . . 273 Return value . . . . . . . . . . . . 273 Usage . . . . . . . . . . . . . . . 273 Examples: @Do . . . . . . . . . . . . 273

    @DocChildren . . . . . . . . . . . . . 273 Syntax . . . . . . . . . . . . . . . 274 Parameters . . . . . . . . . . . . . 274 Return value . . . . . . . . . . . . 274 Usage . . . . . . . . . . . . . . . 274 Language cross-reference . . . . . . . . 274 Examples: @DocChildren . . . . . . . . 274

    @DocDescendants . . . . . . . . . . . . 275 Syntax . . . . . . . . . . . . . . . 275 Parameters . . . . . . . . . . . . . 275 Return value . . . . . . . . . . . . 275 Usage . . . . . . . . . . . . . . . 276 Language cross-reference . . . . . . . . 276 Examples: @DocDescendants . . . . . . . 276

    @DocFields . . . . . . . . . . . . . . 276 Syntax . . . . . . . . . . . . . . . 276 Return value . . . . . . . . . . . . 276 Usage . . . . . . . . . . . . . . . 276 Language cross-reference . . . . . . . . 277 Examples: @DocFields . . . . . . . . . 277

    @DocLength . . . . . . . . . . . . . . 277 Syntax . . . . . . . . . . . . . . 277 Return value . . . . . . . . . . . . 277 Usage . . . . . . . . . . . . . . . 277 Language cross-reference . . . . . . . . 278 Examples: @DocLength . . . . . . . . . 278

    @DocLevel . . . . . . . . . . . . . . 278 Syntax . . . . . . . . . . . . . . . 278 Return value . . . . . . . . . . . . 278 Usage . . . . . . . . . . . . . . . 278 Language cross-reference . . . . . . . . 278 Examples: @DocLevel . . . . . . . . . 278

    @DocLock . . . . . . . . . . . . . . 279 Syntax . . . . . . . . . . . . . . . 279 Parameters . . . . . . . . . . . . . 279 Usage . . . . . . . . . . . . . . . 279

    Language cross-reference . . . . . . . . 279 Examples: @DocLock . . . . . . . . . . 280

    @DocMark . . . . . . . . . . . . . . 280 Syntax . . . . . . . . . . . . . . . 280 Parameters . . . . . . . . . . . . . 280 Usage . . . . . . . . . . . . . . . 280 Language cross-reference . . . . . . . . 280

    @DocNumber . . . . . . . . . . . . . 281 Syntax . . . . . . . . . . . . . . . 281 Parameters . . . . . . . . . . . . . 281 Return value . . . . . . . . . . . . 281 Usage . . . . . . . . . . . . . . . 281 Language cross-reference . . . . . . . . 281 Examples: @DocNumber . . . . . . . . 281

    @DocOmittedLength . . . . . . . . . . . 282 Syntax . . . . . . . . . . . . . . . 282 Return value . . . . . . . . . . . . 282 Usage . . . . . . . . . . . . . . . 282 Examples: @DocOmittedLength . . . . . . 282

    @DocParentNumber . . . . . . . . . . . 282 Syntax . . . . . . . . . . . . . . . 282 Parameters . . . . . . . . . . . . . 283 Return value . . . . . . . . . . . . 283 Usage . . . . . . . . . . . . . . . 283 Language cross-reference . . . . . . . . 283 Examples: @DocParentNumber . . . . . . 283

    @DocSiblings . . . . . . . . . . . . . 283 Syntax . . . . . . . . . . . . . . . 283 Return value . . . . . . . . . . . . 283 Usage . . . . . . . . . . . . . . . 284 Language cross-reference . . . . . . . . 284 Examples: @DocSiblings . . . . . . . . . 284

    @DocumentUniqueID . . . . . . . . . . 284 Syntax . . . . . . . . . . . . . . . 284 Usage . . . . . . . . . . . . . . . 284 Language cross-reference . . . . . . . . 285 Examples: @DocumentUniqueID . . . . . . 285

    @Domain . . . . . . . . . . . . . . . 285 Syntax . . . . . . . . . . . . . . . 285 Return value . . . . . . . . . . . . 286 Usage . . . . . . . . . . . . . . . 286 Language cross-reference . . . . . . . . 286 Examples: @Domain . . . . . . . . . . 286

    @DoWhile . . . . . . . . . . . . . . 286 Syntax . . . . . . . . . . . . . . . 286 Parameters . . . . . . . . . . . . . 286 Return value . . . . . . . . . . . . 286 Usage . . . . . . . . . . . . . . . 287 Language cross-reference . . . . . . . . 287 Examples: @DoWhile . . . . . . . . . . 287

    @EditECL . . . . . . . . . . . . . . 287 Syntax . . . . . . . . . . . . . . . 287 Parameters . . . . . . . . . . . . . 287 Usage . . . . . . . . . . . . . . . 287 Language cross-reference . . . . . . . . 287 Examples: @EditECL . . . . . . . . . . 288

    @EditUserECL . . . . . . . . . . . . . 288 Syntax . . . . . . . . . . . . . . . 288 Usage . . . . . . . . . . . . . . . 288 Language cross-reference . . . . . . . . 288

    @Elements . . . . . . . . . . . . . . 288

    viii Prgramming Guide, Volume 1: Overview and Formula Language

  • Syntax . . . . . . . . . . . . . . . 288 Parameters . . . . . . . . . . . . . 288 Return value . . . . . . . . . . . . 288 Usage . . . . . . . . . . . . . . . 288 Examples: @Elements . . . . . . . . . . 288

    @EnableAlarms . . . . . . . . . . . . . 289 Syntax . . . . . . . . . . . . . . . 289 Usage . . . . . . . . . . . . . . . 289 Language cross-reference . . . . . . . . 289

    @Ends . . . . . . . . . . . . . . . . 289 Syntax . . . . . . . . . . . . . . . 289 Parameters . . . . . . . . . . . . . 289 Return value . . . . . . . . . . . . 290 Examples: @Ends . . . . . . . . . . . 290

    ENVIRONMENT . . . . . . . . . . . . 290 Syntax . . . . . . . . . . . . . . . 290 Usage . . . . . . . . . . . . . . . 290 Language cross-reference . . . . . . . . 290

    @Environment . . . . . . . . . . . . . 290 Syntax . . . . . . . . . . . . . . . 291 Parameters . . . . . . . . . . . . . 291 Return value . . . . . . . . . . . . 291 Usage . . . . . . . . . . . . . . . 291 Language cross-reference . . . . . . . . 291 Examples: @Environment, @SetEnvironment, and ENVIRONMENT . . . . . . . . . 292

    @Error . . . . . . . . . . . . . . . . 293 Syntax . . . . . . . . . . . . . . . 293 Return value . . . . . . . . . . . . 293 Usage . . . . . . . . . . . . . . . 293 Language cross-reference . . . . . . . . 293 Examples: @Error . . . . . . . . . . . 293

    @Eval . . . . . . . . . . . . . . . . 294 Syntax . . . . . . . . . . . . . . . 294 Parameters . . . . . . . . . . . . . 294 Return value . . . . . . . . . . . . 294 Usage . . . . . . . . . . . . . . . 294 Language cross-reference . . . . . . . . 294 Examples: @Eval . . . . . . . . . . . 294

    @Exp . . . . . . . . . . . . . . . . 295 Syntax . . . . . . . . . . . . . . . 295 Parameters . . . . . . . . . . . . . 295 Usage . . . . . . . . . . . . . . . 295 Language cross-reference . . . . . . . . 295 Examples: @Exp . . . . . . . . . . . 295

    @Explode . . . . . . . . . . . . . . . 295 Syntax . . . . . . . . . . . . . . . 295 Parameters . . . . . . . . . . . . . 295 Return value . . . . . . . . . . . . 296 Language cross-reference . . . . . . . . 296 Examples: @Explode . . . . . . . . . . 296

    @Failure . . . . . . . . . . . . . . . 297 Syntax . . . . . . . . . . . . . . . 297 Parameters . . . . . . . . . . . . . 297 Return value . . . . . . . . . . . . 297 Usage . . . . . . . . . . . . . . . 297 Language cross-reference . . . . . . . . 297 Examples: @Failure . . . . . . . . . . 297

    @False . . . . . . . . . . . . . . . . 297 Syntax . . . . . . . . . . . . . . 298 Return value . . . . . . . . . . . . 298

    Usage . . . . . . . . . . . . . . . 298 Language cross-reference . . . . . . . . 298 Examples: @False . . . . . . . . . . . 298

    FIELD . . . . . . . . . . . . . . . . 298 Syntax . . . . . . . . . . . . . . . 298 Usage . . . . . . . . . . . . . . . 298 Language cross-reference . . . . . . . . 298 Examples: FIELD . . . . . . . . . . . 299

    @FileDir . . . . . . . . . . . . . . . 299 Syntax . . . . . . . . . . . . . . . 299 Parameters . . . . . . . . . . . . . 299 Return value . . . . . . . . . . . . 299 Usage . . . . . . . . . . . . . . . 299 Examples: @FileDir . . . . . . . . . . 299

    @FloatEq . . . . . . . . . . . . . . . 300 Syntax . . . . . . . . . . . . . . . 300 Parameters . . . . . . . . . . . . . 300 Return value . . . . . . . . . . . . 300 Usage . . . . . . . . . . . . . . . 300 Examples: @FloatEq . . . . . . . . . . 300

    @FontList . . . . . . . . . . . . . . . 300 Syntax . . . . . . . . . . . . . . . 300 Return value . . . . . . . . . . . . 301 Usage . . . . . . . . . . . . . . . 301 Examples: @FontList . . . . . . . . . . 301

    @For . . . . . . . . . . . . . . . . 301 Syntax . . . . . . . . . . . . . . . 301 Parameters . . . . . . . . . . . . . 301 Return value . . . . . . . . . . . . 302 Usage . . . . . . . . . . . . . . . 302 Language cross-reference . . . . . . . . 302 Examples: @For . . . . . . . . . . . 302

    @FormLanguage . . . . . . . . . . . . 303 Syntax . . . . . . . . . . . . . . . 303 Return value . . . . . . . . . . . . 303 Usage . . . . . . . . . . . . . . . 303 Language cross-reference . . . . . . . . 303 Examples: @FormLanguage . . . . . . . . 303

    @GetAddressBooks . . . . . . . . . . . 303 Syntax . . . . . . . . . . . . . . . 303 Parameters . . . . . . . . . . . . . 303 Return value . . . . . . . . . . . . 303 304 Examples: @GetAddressBooks . . . . . . . 304

    @GetCurrentTimeZone . . . . . . . . . . 304 Syntax . . . . . . . . . . . . . . . 304 Return value . . . . . . . . . . . . 304 Usage . . . . . . . . . . . . . . . 304 Examples: @GetCurrentTimeZone . . . . . 304

    @GetDocField . . . . . . . . . . . . . 304 Syntax . . . . . . . . . . . . . . . 304 Parameters . . . . . . . . . . . . . 304 Return value . . . . . . . . . . . . 305 Usage . . . . . . . . . . . . . . . 305 Language cross-reference . . . . . . . . 305 Examples: @GetDocField . . . . . . . . 305

    @GetField . . . . . . . . . . . . . . 305 Syntax . . . . . . . . . . . . . . . 305 Parameters . . . . . . . . . . . . . 306 Return value . . . . . . . . . . . . 306 Usage . . . . . . . . . . . . . . . 306 Language cross-reference . . . . . . . . 306

    Contents ix

  • Examples: @GetField . . . . . . . . . . 306 @GetFocusTable . . . . . . . . . . . . 306

    Syntax . . . . . . . . . . . . . . . 306 Parameters . . . . . . . . . . . . . 306 Return value . . . . . . . . . . . . 307 Usage . . . . . . . . . . . . . . . 307 Examples: @GetFocusTable . . . . . . . . 307

    @GetHTTPHeader . . . . . . . . . . . . 307 Syntax . . . . . . . . . . . . . . . 307 Parameters . . . . . . . . . . . . . 307 Return value . . . . . . . . . . . . 308 Usage . . . . . . . . . . . . . . . 308 Language cross-reference . . . . . . . . 308 Examples: @GetHTTPHeader . . . . . . . 308

    @GetIMContactListGroupNames . . . . . . . 308 Syntax . . . . . . . . . . . . . . . 308 Return value . . . . . . . . . . . . 308 Usage . . . . . . . . . . . . . . . 309

    @GetPortsList . . . . . . . . . . . . . 309 Syntax . . . . . . . . . . . . . . . 309 Parameters . . . . . . . . . . . . . 309 Return value . . . . . . . . . . . . 309 Usage . . . . . . . . . . . . . . . 309 Examples: @GetPortsList . . . . . . . . 309

    @GetProfileField . . . . . . . . . . . . 309 Syntax . . . . . . . . . . . . . . . 309 Parameters . . . . . . . . . . . . . 310 Return value . . . . . . . . . . . . 310 Usage . . . . . . . . . . . . . . . 310 Language cross-reference . . . . . . . . 310 Examples: @GetProfileField . . . . . . . . 310

    @GetViewInfo . . . . . . . . . . . . . 311 Syntax . . . . . . . . . . . . . . . 311 Parameters . . . . . . . . . . . . . 311 Return value . . . . . . . . . . . . 311 Usage . . . . . . . . . . . . . . . 311 Examples: @GetViewInfo . . . . . . . . 312

    @HardDeleteDocument . . . . . . . . . . 312 Syntax . . . . . . . . . . . . . . . 312 Usage . . . . . . . . . . . . . . . 312 Language cross-reference . . . . . . . . 312

    @HashPassword . . . . . . . . . . . . 312 Syntax . . . . . . . . . . . . . . . 313 Parameters . . . . . . . . . . . . . 313 Return value . . . . . . . . . . . . 313 Usage . . . . . . . . . . . . . . . 313

    @Hour . . . . . . . . . . . . . . . 313 Syntax . . . . . . . . . . . . . . . 313 Parameters . . . . . . . . . . . . . 313 Return value . . . . . . . . . . . . 313 Language cross-reference . . . . . . . . 313 Examples: @Hour . . . . . . . . . . . 313

    @If . . . . . . . . . . . . . . . . . 314 Syntax . . . . . . . . . . . . . . . 314 Parameters . . . . . . . . . . . . . 314 Usage . . . . . . . . . . . . . . . 314 Language cross-reference . . . . . . . . 314 Examples: @If . . . . . . . . . . . . 314

    @IfError . . . . . . . . . . . . . . . 315 Syntax . . . . . . . . . . . . . . . 315 Parameters . . . . . . . . . . . . . 315

    Return value . . . . . . . . . . . . 315 Usage . . . . . . . . . . . . . . . 316 Language cross-reference . . . . . . . . 316 Examples: @IfError . . . . . . . . . . 316

    @Implode . . . . . . . . . . . . . . 316 Syntax . . . . . . . . . . . . . . . 316 Parameters . . . . . . . . . . . . . 316 Return value . . . . . . . . . . . . 317 Language cross-reference . . . . . . . . 317 Examples: @Implode . . . . . . . . . . 317

    @InheritedDocumentUniqueID . . . . . . . 317 Syntax . . . . . . . . . . . . . . . 317 Usage . . . . . . . . . . . . . . . 317 Language cross-reference . . . . . . . . 317 Examples: @InheritedUniqueID . . . . . . 318

    @Integer . . . . . . . . . . . . . . . 318 Syntax . . . . . . . . . . . . . . . 318 Parameters . . . . . . . . . . . . . 318 Return value . . . . . . . . . . . . 318 Usage . . . . . . . . . . . . . . . 318 Language cross-reference . . . . . . . . 318 Examples: @Integer . . . . . . . . . . 319

    @IsAgentEnabled . . . . . . . . . . . . 319 Syntax . . . . . . . . . . . . . . . 319 Parameters . . . . . . . . . . . . . 319 Return value . . . . . . . . . . . . 319 Usage . . . . . . . . . . . . . . . 319 Language cross-reference . . . . . . . . 319 Examples: @IsAgentEnabled . . . . . . . 319

    @IsAppInstalled . . . . . . . . . . . . 320 Syntax . . . . . . . . . . . . . . . 320 Parameters . . . . . . . . . . . . . 320 Return value . . . . . . . . . . . . 320 Usage . . . . . . . . . . . . . . . 320

    @IsAvailable . . . . . . . . . . . . . . 320 Syntax . . . . . . . . . . . . . . . 320 Parameters . . . . . . . . . . . . . 320 Return value . . . . . . . . . . . . 320 Usage . . . . . . . . . . . . . . . 320 Language cross-reference . . . . . . . . 321 Examples: @IsAvailable . . . . . . . . . 321

    @IsCategory . . . . . . . . . . . . . . 321 Syntax . . . . . . . . . . . . . . . 321 Parameters . . . . . . . . . . . . . 321 Return value . . . . . . . . . . . . 321 Usage . . . . . . . . . . . . . . . 322 Examples: @IsCategory . . . . . . . . . 322

    @IsDB2 . . . . . . . . . . . . . . . 322 Syntax . . . . . . . . . . . . . . . 322 Parameters . . . . . . . . . . . . . 322 Return value . . . . . . . . . . . . 322 Usage . . . . . . . . . . . . . . . 323 Examples: @IsDB2 . . . . . . . . . . . 323

    @IsDocBeingEdited . . . . . . . . . . . 323 Syntax . . . . . . . . . . . . . . . 323 Return value . . . . . . . . . . . . 323 Usage . . . . . . . . . . . . . . . 323 Language cross-reference . . . . . . . . 324 Examples: @IsDocBeingEdited . . . . . . . 324

    @IsDocBeingLoaded . . . . . . . . . . . 324 Syntax . . . . . . . . . . . . . . . 324

    x Prgramming Guide, Volume 1: Overview and Formula Language

  • Return value . . . . . . . . . . . . 324 Usage . . . . . . . . . . . . . . . 324 Examples: @IsDocBeingLoaded . . . . . . 324

    @IsDocBeingMailed . . . . . . . . . . . 324 Syntax . . . . . . . . . . . . . . . 324 Return value . . . . . . . . . . . . 325 Usage . . . . . . . . . . . . . . . 325 Examples: @IsDocBeingMailed . . . . . . 325

    @IsDocBeingRecalculated . . . . . . . . . 325 Syntax . . . . . . . . . . . . . . . 325 Return value . . . . . . . . . . . . 325 Usage . . . . . . . . . . . . . . . 325 Examples: @IsDocBeingRecalculated . . . . . 326

    @IsDocBeingSaved . . . . . . . . . . . 326 Syntax . . . . . . . . . . . . . . . 326 Return value . . . . . . . . . . . . 326 Usage . . . . . . . . . . . . . . . 326 Examples: @IsDocBeingSaved . . . . . . . 326

    @IsDocTruncated . . . . . . . . . . . . 326 Syntax . . . . . . . . . . . . . . 327 Return value . . . . . . . . . . . . 327 Usage . . . . . . . . . . . . . . . 327 Language cross-reference . . . . . . . . 327 Examples: @IsDocTruncated . . . . . . . 327

    @IsEmbeddedInsideWCT . . . . . . . . . 327 Syntax . . . . . . . . . . . . . . 327 Return value . . . . . . . . . . . . 327 Usage . . . . . . . . . . . . . . . 328 Language cross-reference . . . . . . . . 328 Examples: @IsEmbeddedInsideWCT . . . . . 328

    @IsError . . . . . . . . . . . . . . . 328 Syntax . . . . . . . . . . . . . . . 328 Parameters . . . . . . . . . . . . . 328 Return value . . . . . . . . . . . . 328 Language cross-reference . . . . . . . . 328 Examples: @IsError . . . . . . . . . . 328

    @IsExpandable . . . . . . . . . . . . . 329 Syntax . . . . . . . . . . . . . . . 329 Parameters . . . . . . . . . . . . . 329 Return value . . . . . . . . . . . . 329 Usage . . . . . . . . . . . . . . . 329 Examples: @IsExpandable . . . . . . . . 330

    @IsMember . . . . . . . . . . . . . . 330 Syntax . . . . . . . . . . . . . . . 330 Parameters . . . . . . . . . . . . . 330 Return value . . . . . . . . . . . . 330 Usage . . . . . . . . . . . . . . . 330 Language cross-reference . . . . . . . . 331 Examples: @IsMember . . . . . . . . . 331

    @IsModalHelp . . . . . . . . . . . . . 331 Syntax . . . . . . . . . . . . . . . 331 Return value . . . . . . . . . . . . 331 Usage . . . . . . . . . . . . . . . 331 Language cross-reference . . . . . . . . 331

    @IsNewDoc . . . . . . . . . . . . . . 331 Syntax . . . . . . . . . . . . . . . 331 Return value . . . . . . . . . . . . 331 Usage . . . . . . . . . . . . . . . 332 Language cross-reference . . . . . . . . 332 Examples: @IsNewDoc . . . . . . . . . 332

    @IsNotMember . . . . . . . . . . . . . 332

    Syntax . . . . . . . . . . . . . . . 332 Parameters . . . . . . . . . . . . . 332 Return value . . . . . . . . . . . . 333 Usage . . . . . . . . . . . . . . . 333 Examples: @IsNotMember . . . . . . . . 333

    @IsNull . . . . . . . . . . . . . . . 333 Syntax . . . . . . . . . . . . . . 333 Parameters . . . . . . . . . . . . . 333 Return value . . . . . . . . . . . . 334 Usage . . . . . . . . . . . . . . . 334 Examples: @IsNull . . . . . . . . . . . 334

    @IsNumber . . . . . . . . . . . . . . 334 Syntax . . . . . . . . . . . . . . 334 Parameters . . . . . . . . . . . . . 334 Return value . . . . . . . . . . . . 334 Usage . . . . . . . . . . . . . . . 334 Language cross-reference . . . . . . . . 334 Examples: @IsNumber . . . . . . . . . 335

    @IsResponseDoc . . . . . . . . . . . . 335 Return value . . . . . . . . . . . . 335 Usage . . . . . . . . . . . . . . . 335 Language cross-reference . . . . . . . . 335 Examples: @IsResponseDoc . . . . . . . . 335

    @IsText . . . . . . . . . . . . . . . 335 Syntax . . . . . . . . . . . . . . . 335 Parameters . . . . . . . . . . . . . 336 Return value . . . . . . . . . . . . 336 Language cross-reference . . . . . . . . 336 Examples: @IsText . . . . . . . . . . . 336

    @IsTime . . . . . . . . . . . . . . . 336 Syntax . . . . . . . . . . . . . . . 336 Parameters . . . . . . . . . . . . . 336 Return value . . . . . . . . . . . . 336 Language cross-reference . . . . . . . . 336 Examples: @IsTime . . . . . . . . . . 337

    @IsUnavailable . . . . . . . . . . . . . 337 Syntax . . . . . . . . . . . . . . . 337 Parameters . . . . . . . . . . . . . 337 Return value . . . . . . . . . . . . 337 Usage . . . . . . . . . . . . . . . 337 Language cross-reference . . . . . . . . 337 Examples: @IsUnavailable . . . . . . . . 337

    @IsValid . . . . . . . . . . . . . . . 337 Syntax . . . . . . . . . . . . . . . 337 Return value . . . . . . . . . . . . 338 Usage . . . . . . . . . . . . . . . 338 Language cross-reference . . . . . . . . 338 Examples: @IsValid . . . . . . . . . . 338

    @IsVirtualizedDirectory . . . . . . . . . . 338 Syntax . . . . . . . . . . . . . . . 338 Return value . . . . . . . . . . . . 338 Examples: @IsVirtualizedDirectory . . . . . 338

    @Keywords . . . . . . . . . . . . . . 338 Syntax . . . . . . . . . . . . . . . 339 Parameters . . . . . . . . . . . . . 339 Return value . . . . . . . . . . . . 339 Usage . . . . . . . . . . . . . . . 339 Examples: @Keywords . . . . . . . . . 340

    @LanguagePreference . . . . . . . . . . 340 Syntax . . . . . . . . . . . . . . . 341 Parameters . . . . . . . . . . . . . 341

    Contents xi

  • Return value . . . . . . . . . . . . 341 Usage . . . . . . . . . . . . . . . 341 Language cross-reference . . . . . . . . 341 Examples: @LanguagePreference . . . . . . 341

    @LaunchApp . . . . . . . . . . . . . 342 Syntax . . . . . . . . . . . . . . . 342 Parameters . . . . . . . . . . . . . 342 Usage . . . . . . . . . . . . . . . 342 Language cross-reference . . . . . . . . 342

    @LDAPServer . . . . . . . . . . . . . 342 Syntax . . . . . . . . . . . . . . . 342 Examples: @LDAPServer . . . . . . . . 342

    @Left . . . . . . . . . . . . . . . . 342 Syntax . . . . . . . . . . . . . . . 343 Parameters . . . . . . . . . . . . . 343 Return value . . . . . . . . . . . . 343 Language cross-reference . . . . . . . . 343 Examples: @Left . . . . . . . . . . . 343

    @LeftBack . . . . . . . . . . . . . . 343 Syntax . . . . . . . . . . . . . . . 343 Parameters . . . . . . . . . . . . . 343 Return value . . . . . . . . . . . . 344 Language cross-reference . . . . . . . . 344 Examples: @LeftBack . . . . . . . . . . 344

    @Length . . . . . . . . . . . . . . . 344 Syntax . . . . . . . . . . . . . . . 344 Parameters . . . . . . . . . . . . . 344 Return value . . . . . . . . . . . . 344 Language cross-reference . . . . . . . . 345 Examples: @Length . . . . . . . . . . 345

    @Like . . . . . . . . . . . . . . . . 345 Syntax . . . . . . . . . . . . . . . 345 Parameters . . . . . . . . . . . . . 345 Return value . . . . . . . . . . . . 345 Language cross-reference . . . . . . . . 345 Examples: @Like . . . . . . . . . . . 346

    @Ln . . . . . . . . . . . . . . . . 346 Syntax . . . . . . . . . . . . . . . 346 Parameters . . . . . . . . . . . . . 346 Return value . . . . . . . . . . . . 346 Usage . . . . . . . . . . . . . . . 346 Language cross-reference . . . . . . . . 346 Examples: @Ln . . . . . . . . . . . . 346

    @Locale . . . . . . . . . . . . . . . 346 Syntax . . . . . . . . . . . . . . . 347 Parameters . . . . . . . . . . . . . 347 Supported language codes . . . . . . . . 347 Language cross-reference . . . . . . . . 350 Examples: @Locale . . . . . . . . . . 350

    @Log . . . . . . . . . . . . . . . . 351 Syntax . . . . . . . . . . . . . . . 351 Parameters . . . . . . . . . . . . . 351 Return value . . . . . . . . . . . . 351 Usage . . . . . . . . . . . . . . . 351 Examples: @Log . . . . . . . . . . . 351

    @LowerCase . . . . . . . . . . . . . . 352 Syntax . . . . . . . . . . . . . . 352 Parameters . . . . . . . . . . . . . 352 Return value . . . . . . . . . . . . 352 Usage . . . . . . . . . . . . . . . 352 Language cross-reference . . . . . . . . 352

    Examples: @LowerCase . . . . . . . . . 352 @MailDbName . . . . . . . . . . . . . 352

    Syntax . . . . . . . . . . . . . . . 352 Return value . . . . . . . . . . . . 352 Usage . . . . . . . . . . . . . . . 353 Language cross-reference . . . . . . . . 353 Examples: @MailDbName . . . . . . . . 353

    @MailEncryptSavedPreference . . . . . . . . 353 Syntax . . . . . . . . . . . . . . . 353 Return value . . . . . . . . . . . . 354 Usage . . . . . . . . . . . . . . . 354 Examples: @MailEncryptSavedPreference . . . 354

    @MailEncryptSentPreference . . . . . . . . 354 Syntax . . . . . . . . . . . . . . . 354 Return value . . . . . . . . . . . . 354 Usage . . . . . . . . . . . . . . . 354 Language cross-reference . . . . . . . . 354 Examples: @MailEncryptSentPreference . . . . 354

    @MailSavePreference . . . . . . . . . . . 355 Syntax . . . . . . . . . . . . . . . 355 Return value . . . . . . . . . . . . 355 Usage . . . . . . . . . . . . . . . 355 Language cross-reference . . . . . . . . 355 Examples: @MailSavePreference . . . . . . 355

    @MailSend . . . . . . . . . . . . . . 355 Syntax . . . . . . . . . . . . . . 355 Parameters . . . . . . . . . . . . . 356 Usage . . . . . . . . . . . . . . . 357 Sending rich text fields . . . . . . . . . 357 Mail-related fields in a document . . . . . . 358 Language cross-reference . . . . . . . . 358 Examples: @MailSend . . . . . . . . . 358

    @MailSignPreference . . . . . . . . . . . 358 Syntax . . . . . . . . . . . . . . . 358 Return value . . . . . . . . . . . . 359 Usage . . . . . . . . . . . . . . . 359 Language cross-reference . . . . . . . . 359 Examples: @MailSignPreference . . . . . . 359

    @Matches . . . . . . . . . . . . . . 359 Syntax . . . . . . . . . . . . . . . 359 Parameters . . . . . . . . . . . . . 359 Return value . . . . . . . . . . . . 359 Language cross-reference . . . . . . . . 360 Examples: @Matches . . . . . . . . . . 360

    @Max . . . . . . . . . . . . . . . . 361 Syntax . . . . . . . . . . . . . . . 361 Parameters . . . . . . . . . . . . . 361 Return value . . . . . . . . . . . . 361 Usage . . . . . . . . . . . . . . . 361 Examples: @Max . . . . . . . . . . . 361

    @Member . . . . . . . . . . . . . . 362 Syntax . . . . . . . . . . . . . . . 362 Parameters . . . . . . . . . . . . . 362 Return value . . . . . . . . . . . . 362 Examples: @Member . . . . . . . . . . 362

    @Middle . . . . . . . . . . . . . . . 363 Syntax . . . . . . . . . . . . . . . 363 Parameters . . . . . . . . . . . . . 363 Return value . . . . . . . . . . . . 363 Language cross-reference . . . . . . . . 363 Examples: @Middle . . . . . . . . . . 363

    xii Prgramming Guide, Volume 1: Overview and Formula Language

  • @MiddleBack . . . . . . . . . . . . . 364 Syntax . . . . . . . . . . . . . . . 364 Parameters . . . . . . . . . . . . . 364 Return value . . . . . . . . . . . . 365 Examples: @MiddleBack . . . . . . . . . 365

    @Min . . . . . . . . . . . . . . . . 365 Syntax . . . . . . . . . . . . . . . 365 Parameters . . . . . . . . . . . . . 365 Return value . . . . . . . . . . . . 365 Usage . . . . . . . . . . . . . . . 366 Examples: @Min . . . . . . . . . . . 366

    @Minute . . . . . . . . . . . . . . . 366 Syntax . . . . . . . . . . . . . . 366 Parameters . . . . . . . . . . . . . 366 Return value . . . . . . . . . . . . 366 Language cross-reference . . . . . . . . 366 Examples: @Minute . . . . . . . . . . 366

    @Modified . . . . . . . . . . . . . . 367 Syntax . . . . . . . . . . . . . . 367 Return value . . . . . . . . . . . . 367 Usage . . . . . . . . . . . . . . . 367 Language cross-reference . . . . . . . . 367 Examples: @Modified . . . . . . . . . . 367

    @Modulo . . . . . . . . . . . . . . . 367 Syntax . . . . . . . . . . . . . . 367 Parameters . . . . . . . . . . . . . 368 Return value . . . . . . . . . . . . 368 Usage . . . . . . . . . . . . . . . 368 Language cross-reference . . . . . . . . 368 Examples: @Modulo . . . . . . . . . . 368

    @Month . . . . . . . . . . . . . . . 368 Syntax . . . . . . . . . . . . . . 368 Parameters . . . . . . . . . . . . . 368 Return value . . . . . . . . . . . . 369 Language cross-reference . . . . . . . . 369 Examples: @Month . . . . . . . . . . 369

    @Name . . . . . . . . . . . . . . . 369 Syntax . . . . . . . . . . . . . . . 369 Parameters . . . . . . . . . . . . . 369 Usage . . . . . . . . . . . . . . . 372 Language cross-reference . . . . . . . . 373 Examples: @Name . . . . . . . . . . . 373

    @NameLookup . . . . . . . . . . . . . 374 Syntax . . . . . . . . . . . . . . . 374 Parameters . . . . . . . . . . . . . 374 Return value . . . . . . . . . . . . 375 Usage . . . . . . . . . . . . . . . 375 Examples: @NameLookup . . . . . . . . 375

    @Narrow . . . . . . . . . . . . . . . 376 Syntax . . . . . . . . . . . . . . . 376 Parameters . . . . . . . . . . . . . 376 Return value . . . . . . . . . . . . 376 Usage . . . . . . . . . . . . . . . 376 Language cross-reference . . . . . . . . 376 Examples: @Narrow . . . . . . . . . . 376

    @NewLine . . . . . . . . . . . . . . 376 Syntax . . . . . . . . . . . . . . . 376 Return value . . . . . . . . . . . . 377 Usage . . . . . . . . . . . . . . . 377 Language cross-reference . . . . . . . . 377 Examples: @NewLine . . . . . . . . . . 377

    @No . . . . . . . . . . . . . . . . 377 Syntax . . . . . . . . . . . . . . 378 Return value . . . . . . . . . . . . 378 Usage . . . . . . . . . . . . . . . 378 Examples: @No . . . . . . . . . . . . 378

    @NoteID . . . . . . . . . . . . . . . 378 Syntax . . . . . . . . . . . . . . . 378 Return value . . . . . . . . . . . . 378 Usage . . . . . . . . . . . . . . . 378 Language cross-reference . . . . . . . . 378

    @Nothing . . . . . . . . . . . . . . 378 Syntax . . . . . . . . . . . . . . 378 Return value . . . . . . . . . . . . 379 Usage . . . . . . . . . . . . . . . 379

    @Now . . . . . . . . . . . . . . . . 379 Syntax . . . . . . . . . . . . . . 379 Parameters . . . . . . . . . . . . . 379 Return value . . . . . . . . . . . . 379 Usage . . . . . . . . . . . . . . . 379 Language cross-reference . . . . . . . . 380 Examples: @Now . . . . . . . . . . . 380

    @OptimizeMailAddress . . . . . . . . . . 380 Syntax . . . . . . . . . . . . . . . 380 Parameters . . . . . . . . . . . . . 380 Return value . . . . . . . . . . . . 380 Usage . . . . . . . . . . . . . . . 380 Examples: @OptimizeMailAddress . . . . . 380

    @OrgDir . . . . . . . . . . . . . . . 381 Syntax . . . . . . . . . . . . . . . 381 Return value . . . . . . . . . . . . 381 Usage . . . . . . . . . . . . . . . 381 Examples: @OrgDir . . . . . . . . . . 381

    @Password . . . . . . . . . . . . . . 381 Syntax . . . . . . . . . . . . . . 381 Parameters . . . . . . . . . . . . . 381 Return value . . . . . . . . . . . . 381 Usage . . . . . . . . . . . . . . . 381 Examples: @Password . . . . . . . . . 382

    @PasswordQuality . . . . . . . . . . . 382 Syntax . . . . . . . . . . . . . . . 382 Parameters . . . . . . . . . . . . . 382 Return value . . . . . . . . . . . . 382 Usage . . . . . . . . . . . . . . . 382 Language cross-reference . . . . . . . . 382

    @Pi . . . . . . . . . . . . . . . . . 382 Syntax . . . . . . . . . . . . . . . 382 Return value . . . . . . . . . . . . 382 Language cross-reference . . . . . . . . 383 Examples: @Pi . . . . . . . . . . . . 383

    @PickList . . . . . . . . . . . . . . . 383 Syntax . . . . . . . . . . . . . . . 383 Parameters . . . . . . . . . . . . . 383 Return value . . . . . . . . . . . . 385 Usage . . . . . . . . . . . . . . . 385 Language cross-reference . . . . . . . . 386 Examples: @PickList . . . . . . . . . . 386

    @Platform . . . . . . . . . . . . . . 386 Syntax . . . . . . . . . . . . . . . 386 Parameters . . . . . . . . . . . . . 386 Return value . . . . . . . . . . . . 386 Usage . . . . . . . . . . . . . . . 387

    Contents xiii

  • Language cross-reference . . . . . . . . 388 @PolicyIsFieldLocked . . . . . . . . . . . 388

    Syntax . . . . . . . . . . . . . . 388 Parameters . . . . . . . . . . . . . 388 Return value . . . . . . . . . . . . 388 Usage . . . . . . . . . . . . . . . 388 Examples: @PolicyIsFieldLocked . . . . . . 388

    @PostedCommand . . . . . . . . . . . 388 Syntax . . . . . . . . . . . . . . . 388 Paramters . . . . . . . . . . . . . 389 Usage . . . . . . . . . . . . . . . 389

    @Power . . . . . . . . . . . . . . . 389 Syntax . . . . . . . . . . . . . . 389 Parameters . . . . . . . . . . . . . 389 Return value . . . . . . . . . . . . 389 Language cross-reference . . . . . . . . 389 Examples: @Power . . . . . . . . . . 389

    @Prompt . . . . . . . . . . . . . . . 390 Summary of Dialog Box Styles . . . . . . 390 Syntax . . . . . . . . . . . . . . . 390 Parameters . . . . . . . . . . . . . 390 Return value . . . . . . . . . . . . 392 Usage . . . . . . . . . . . . . . . 392 Language cross-reference . . . . . . . . 392 Examples: @Prompt . . . . . . . . . . 392

    @ProperCase . . . . . . . . . . . . . 393 Syntax . . . . . . . . . . . . . . . 393 Parameters . . . . . . . . . . . . . 394 Return value . . . . . . . . . . . . 394 Usage . . . . . . . . . . . . . . . 394 Language cross-reference . . . . . . . . 394 Examples: @ProperCase . . . . . . . . . 394

    @Random . . . . . . . . . . . . . . 394 Syntax . . . . . . . . . . . . . . . 394 Usage . . . . . . . . . . . . . . . 394 Language cross-reference . . . . . . . . 394 Examples: @Random . . . . . . . . . . 394

    @RefreshECL . . . . . . . . . . . . . 395 Syntax . . . . . . . . . . . . . . . 395 Parameters . . . . . . . . . . . . . 395 Usage . . . . . . . . . . . . . . . 395 Examples: @RefreshECL . . . . . . . . . 395

    @RegQueryValue . . . . . . . . . . . . 395 Syntax . . . . . . . . . . . . . . . 395 Parameters . . . . . . . . . . . . . 395 Return value . . . . . . . . . . . . 395 Usage . . . . . . . . . . . . . . . 396 Examples: @RegQueryValue . . . . . . . 396

    REM . . . . . . . . . . . . . . . . 396 Syntax . . . . . . . . . . . . . . . 396 Usage . . . . . . . . . . . . . . . 396 Language cross-reference . . . . . . . . 396 Examples: REM . . . . . . . . . . . 396

    @Repeat . . . . . . . . . . . . . . . 397 Parameters . . . . . . . . . . . . . 397 Return value . . . . . . . . . . . . 397 Usage . . . . . . . . . . . . . . . 397 Language cross-reference . . . . . . . . 397 Examples: @Repeat . . . . . . . . . . 397

    @Replace . . . . . . . . . . . . . . . 398 Syntax . . . . . . . . . . . . . . . 398

    Parameters . . . . . . . . . . . . . 398 Return value . . . . . . . . . . . . 398 Language cross-reference . . . . . . . . 398 Examples: @Replace . . . . . . . . . . 398

    @ReplaceSubstring . . . . . . . . . . . 399 Syntax . . . . . . . . . . . . . . . 399 Parameters . . . . . . . . . . . . . 399 Return value . . . . . . . . . . . . 399 Usage . . . . . . . . . . . . . . . 399 Language cross-reference . . . . . . . . 399 Examples: @ReplaceSubstring . . . . . . . 400

    @ReplicaID . . . . . . . . . . . . . . 400 Syntax . . . . . . . . . . . . . . . 400 Return value . . . . . . . . . . . . 400 Usage . . . . . . . . . . . . . . . 400 Language cross-reference . . . . . . . . 400 Examples: @ReplicaID . . . . . . . . . 400

    @Responses . . . . . . . . . . . . . . 400 Syntax . . . . . . . . . . . . . . . 400 Return value . . . . . . . . . . . . 400 Usage . . . . . . . . . . . . . . . 401 Language cross-reference . . . . . . . . 401 Examples: @Responses . . . . . . . . . 401

    @Return . . . . . . . . . . . . . . . 401 Syntax . . . . . . . . . . . . . . 401 Parameters . . . . . . . . . . . . . 401 Return value . . . . . . . . . . . . 401 Usage . . . . . . . . . . . . . . . 401 Language cross-reference . . . . . . . . 401 Examples: @Return . . . . . . . . . . 401

    @Right . . . . . . . . . . . . . . . 402 Syntax . . . . . . . . . . . . . . . 402 Parameters . . . . . . . . . . . . . 402 Return value . . . . . . . . . . . . 402 Language cross-reference . . . . . . . . 402 Examples: @Right . . . . . . . . . . . 403

    @RightBack . . . . . . . . . . . . . . 403 Syntax . . . . . . . . . . . . . . . 403 Parameters . . . . . . . . . . . . . 403 Return value . . . . . . . . . . . . 403 Language cross-reference . . . . . . . . 403 Examples: @RightBack . . . . . . . . . 403

    @Round . . . . . . . . . . . . . . . 404 Syntax . . . . . . . . . . . . . . . 404 Parameters . . . . . . . . . . . . . 404 Return value . . . . . . . . . . . . 404 Usage . . . . . . . . . . . . . . . 404 Language cross-reference . . . . . . . . 404 Examples: @Round . . . . . . . . . . 404

    @Second . . . . . . . . . . . . . . . 405 Syntax . . . . . . . . . . . . . . . 405 Parameters . . . . . . . . . . . . . 405 Return value . . . . . . . . . . . . 405 Language cross-reference . . . . . . . . 405 Examples: @Second . . . . . . . . . . 405

    SELECT . . . . . . . . . . . . . . . 405 Syntax . . . . . . . . . . . . . . . 405 Usage . . . . . . . . . . . . . . . 406 Language cross-reference . . . . . . . . 406 Examples: SELECT . . . . . . . . . . 406

    @Select . . . . . . . . . . . . . . . 407

    xiv Prgramming Guide, Volume 1: Overview and Formula Language

  • Syntax . . . . . . . . . . . . . . . 407 Parameters . . . . . . . . . . . . . 407 Examples: @Select . . . . . . . . . . . 407

    @ServerAccess . . . . . . . . . . . . . 407 Syntax . . . . . . . . . . . . . . . 407 Parameters . . . . . . . . . . . . . 407 Return value . . . . . . . . . . . . 409 Examples: @ServerAccess . . . . . . . . 409

    @ServerName . . . . . . . . . . . . . 409 Syntax . . . . . . . . . . . . . . . 409 Return value . . . . . . . . . . . . 409 Language cross-reference . . . . . . . . 410 Examples: @ServerName . . . . . . . . 410

    @Set . . . . . . . . . . . . . . . . 410 Syntax . . . . . . . . . . . . . . . 410 Parameters . . . . . . . . . . . . . 410 Usage . . . . . . . . . . . . . . . 410 Language cross-reference . . . . . . . . 410 Examples: @Set . . . . . . . . . . . . 410

    @SetDocField . . . . . . . . . . . . . 411 Syntax . . . . . . . . . . . . . . . 411 Parameters . . . . . . . . . . . . . 411 Usage . . . . . . . . . . . . . . . 411 Language cross-reference . . . . . . . . 411 Examples: @SetDocField . . . . . . . . . 411

    @SetEnvironment . . . . . . . . . . . . 412 Syntax . . . . . . . . . . . . . . . 412 Parameters . . . . . . . . . . . . . 412 Usage . . . . . . . . . . . . . . . 412 Language cross-reference . . . . . . . . 413

    @SetField . . . . . . . . . . . . . . . 413 Syntax . . . . . . . . . . . . . . . 413 Parameters . . . . . . . . . . . . . 413 Usage . . . . . . . . . . . . . . . 413 Language cross-reference . . . . . . . . 413 Examples: @SetField . . . . . . . . . . 413

    @SetHTTPHeader . . . . . . . . . . . . 414 Syntax . . . . . . . . . . . . . . . 414 Parameters . . . . . . . . . . . . . 414 Return value . . . . . . . . . . . . 414 Usage . . . . . . . . . . . . . . . 414 Language cross-reference . . . . . . . . 414 Examples: @SetHTTPHeader . . . . . . . 414

    @SetProfileField . . . . . . . . . . . . 415 Syntax . . . . . . . . . . . . . . . 415 Parameters . . . . . . . . . . . . . 415 Return value . . . . . . . . . . . . 415 Usage . . . . . . . . . . . . . . . 415 Language cross-reference . . . . . . . . 415 Examples: @SetProfileField . . . . . . . . 415

    @SetTargetFrame . . . . . . . . . . . . 416 Syntax . . . . . . . . . . . . . . . 416 Parameters . . . . . . . . . . . . . 416 Usage . . . . . . . . . . . . . . . 416 Language cross-reference . . . . . . . . 416 Examples: @SetTargetFrame . . . . . . . 417

    @SetViewInfo . . . . . . . . . . . . . 417 Syntax . . . . . . . . . . . . . . . 417 Parameters . . . . . . . . . . . . . 417 Usage . . . . . . . . . . . . . . . 418 Examples: @SetViewInfo . . . . . . . . . 418

    @Sign . . . . . . . . . . . . . . . . 418 Syntax . . . . . . . . . . . . . . . 418 Parameters . . . . . . . . . . . . . 418 Return value . . . . . . . . . . . . 418 Language cross-reference . . . . . . . . 418 Examples: @Sign . . . . . . . . . . . 419

    @Sin . . . . . . . . . . . . . . . . 419 Syntax . . . . . . . . . . . . . . . 419 Parameters . . . . . . . . . . . . . 419 Return value . . . . . . . . . . . . 419 Language cross-reference . . . . . . . . 419 Examples: @Sin . . . . . . . . . . . . 419

    @Sort . . . . . . . . . . . . . . . . 419 Syntax . . . . . . . . . . . . . . . 419 Parameters . . . . . . . . . . . . . 419 Return value . . . . . . . . . . . . 420 Usage . . . . . . . . . . . . . . . 420 Examples: @Sort . . . . . . . . . . . 421

    @Soundex . . . . . . . . . . . . . . 422 Syntax . . . . . . . . . . . . . . 422 Parameters . . . . . . . . . . . . . 422 Return value . . . . . . . . . . . . 422 Usage . . . . . . . . . . . . . . . 422 Examples: @Soundex . . . . . . . . . . 422

    @Sqrt . . . . . . . . . . . . . . . . 422 Syntax . . . . . . . . . . . . . . . 422 Parameters . . . . . . . . . . . . . 422 Language cross-reference . . . . . . . . 422 Examples: @Sqrt . . . . . . . . . . . 422

    @StatusBar . . . . . . . . . . . . . . 423 Syntax . . . . . . . . . . . . . . . 423 Return value . . . . . . . . . . . . 423 Usage . . . . . . . . . . . . . . . 423 Examples: @StatusBar . . . . . . . . . 423

    @Subset . . . . . . . . . . . . . . . 423 Syntax . . . . . . . . . . . . . . . 423 Parameters . . . . . . . . . . . . . 423 Return value . . . . . . . . . . . . 423 Examples: @Subset . . . . . . . . . . 423

    @Success . . . . . . . . . . . . . . . 424 Syntax . . . . . . . . . . . . . . 424 Return value . . . . . . . . . . . . 424 Usage . . . . . . . . . . . . . . . 424 Examples: @Success . . . . . . . . . . 424

    @Sum . . . . . . . . . . . . . . . . 424 Syntax . . . . . . . . . . . . . . . 424 Parameters . . . . . . . . . . . . . 424 Return value . . . . . . . . . . . . 424 Usage . . . . . . . . . . . . . . . 424 Language cross-reference . . . . . . . . 425 Examples: @Sum . . . . . . . . . . . 425

    @Tan . . . . . . . . . . . . . . . . 425 Syntax . . . . . . . . . . . . . . . 425 Parameters . . . . . . . . . . . . . 425 Return value . . . . . . . . . . . . 425 Language cross-reference . . . . . . . . 425 Examples: @Tan . . . . . . . . . . . 425

    @TemplateVersion . . . . . . . . . . . . 426 Syntax . . . . . . . . . . . . . . . 426 Return value . . . . . . . . . . . . 426 Usage . . . . . . . . . . . . . . . 426

    Contents xv

  • @Text . . . . . . . . . . . . . . . . 426 Syntax . . . . . . . . . . . . . . . 426 Parameters . . . . . . . . . . . . . 426 Return value . . . . . . . . . . . . 426 @Text with timedate components . . . . . 426 @Text with number values . . . . . . . . 427 Usage . . . . . . . . . . . . . . . 427 Language cross-reference . . . . . . . . 428 Examples: @Text . . . . . . . . . . . 428

    @TextToNumber . . . . . . . . . . . . 428 Syntax . . . . . . . . . . . . . . . 428 Parameters . . . . . . . . . . . . . 428 Return value . . . . . . . . . . . . 429 Usage . . . . . . . . . . . . . . . 429 Language cross-reference . . . . . . . . 429 Examples: @TextToNumber . . . . . . . . 429

    @TextToTime . . . . . . . . . . . . . 429 Syntax . . . . . . . . . . . . . . . 429 Parameters . . . . . . . . . . . . . 429 Return value . . . . . . . . . . . . 429 Usage . . . . . . . . . . . . . . . 430 Language cross-reference . . . . . . . . 430 Examples: @TextToTime . . . . . . . . . 430

    @ThisName . . . . . . . . . . . . . . 430 Syntax . . . . . . . . . . . . . . . 430 Return value . . . . . . . . . . . . 430 Usage . . . . . . . . . . . . . . . 430 Language cross-reference . . . . . . . . 430 Examples: @ThisName . . . . . . . . . 431

    @ThisValue . . . . . . . . . . . . . . 431 Syntax . . . . . . . . . . . . . . . 431 Return value . . . . . . . . . . . . 431 Usage . . . . . . . . . . . . . . . 431 Language cross-reference . . . . . . . . 431 Examples: @ThisValue . . . . . . . . . 431

    @Time . . . . . . . . . . . . . . . . 431 Syntax . . . . . . . . . . . . . . . 432 Parameters . . . . . . . . . . . . . 432 Return value . . . . . . . . . . . . 432 Language cross-reference . . . . . . . . 432 Examples: @Time . . . . . . . . . . . 432

    @TimeMerge . . . . . . . . . . . . . 433 Syntax . . . . . . . . . . . . . . . 433 Parameters . . . . . . . . . . . . . 433 Return value . . . . . . . . . . . . 433 Examples: @TimeMerge . . . . . . . . . 433

    @TimeToTextInZone . . . . . . . . . . . 433 Syntax . . . . . . . . . . . . . . . 433 Parameters . . . . . . . . . . . . . 433 Return value . . . . . . . . . . . . 434 Examples: @TimeToTextInZone . . . . . . 434

    @TimeZoneToText . . . . . . . . . . . . 434 Syntax . . . . . . . . . . . . . . . 434 Parameters . . . . . . . . . . . . . 435 Return value . . . . . . . . . . . . 435 Usage . . . . . . . . . . . . . . . 435 Examples: @TimeZoneToText . . . . . . . 435

    @Today . . . . . . . . . . . . . . . 435 Syntax . . . . . . . . . . . . . . . 435 Return value . . . . . . . . . . . . 436 Usage . . . . . . . . . . . . . . . 436

    Language cross-reference . . . . . . . . 436 Examples: @Today . . . . . . . . . . . 436

    @Tomorrow . . . . . . . . . . . . . . 436 Syntax . . . . . . . . . . . . . . . 436 Return value . . . . . . . . . . . . 436 Usage . . . . . . . . . . . . . . . 436 Language cross-reference . . . . . . . . 437 Examples: @Tomorrow . . . . . . . . . 437

    @ToNumber . . . . . . . . . . . . . . 437 Syntax . . . . . . . . . . . . . . . 437 Parameters . . . . . . . . . . . . . 437 Return value . . . . . . . . . . . . 437 Usage . . . . . . . . . . . . . . . 437 Language cross-reference . . . . . . . . 437 Examples: @ToNumber . . . . . . . . . 438

    @ToTime . . . . . . . . . . . . . . . 438 Syntax . . . . . . . . . . . . . . . 438 Parameters . . . . . . . . . . . . . 438 Return value . . . . . . . . . . . . 438 Usage . . . . . . . . . . . . . . . 438 Language cross-reference . . . . . . . . 438 Examples: @ToTime . . . . . . . . . . 438

    @Transform . . . . . . . . . . . . . . 438 Syntax . . . . . . . . . . . . . . . 439 Parameters . . . . . . . . . . . . . 439 Return value . . . . . . . . . . . . 439 Usage . . . . . . . . . . . . . . . 439 Language cross-reference . . . . . . . . 439 Examples: @Transform . . . . . . . . . 439

    @Trim . . . . . . . . . . . . . . . . 440 Syntax . . . . . . . . . . . . . . . 440 Parameters . . . . . . . . . . . . . 440 Return value . . . . . . . . . . . . 440 Usage . . . . . . . . . . . . . . . 440 Language cross-reference . . . . . . . . 440 Examples: @Trim . . . . . . . . . . . 440

    @True . . . . . . . . . . . . . . . . 440 Syntax . . . . . . . . . . . . . . . 440 Return value . . . . . . . . . . . . 441 Language cross-reference . . . . . . . . 441 Examples: @True . . . . . . . . . . . 441

    @Unavailable . . . . . . . . . . . . . 441 Syntax . . . . . . . . . . . . . . 441 Usage . . . . . . . . . . . . . . . 441 Language cross-reference . . . . . . . . 441 Examples: @Unavailable . . . . . . . . . 441

    @UndeleteDocument . . . . . . . . . . . 442 Syntax . . . . . . . . . . . . . . . 442 Usage . . . . . . . . . . . . . . . 442 Examples: @UndeleteDocument . . . . . . 442

    @Unique . . . . . . . . . . . . . . . 442 Syntax . . . . . . . . . . . . . . . 442 Parameters . . . . . . . . . . . . . 442 Return value . . . . . . . . . . . . 442 Usage . . . . . . . . . . . . . . . 443 Language cross-reference . . . . . . . . 443 Examples: @Unique . . . . . . . . . . 443

    @UpdateFormulaContext . . . . . . . . . 443 Syntax . . . . . . . . . . . . . . . 443 Usage . . . . . . . . . . . . . . . 443 Examples: @UpdateFormulaContext . . . . . 443

    xvi Prgramming Guide, Volume 1: Overview and Formula Language

  • @UpperCase . . . . . . . . . . . . . . 444 Syntax . . . . . . . . . . . . . . 444 Parameters . . . . . . . . . . . . . 444 Return value . . . . . . . . . . . . 444 Usage . . . . . . . . . . . . . . . 444 Language cross-reference . . . . . . . . 444 Examples: @UpperCase . . . . . . . . . 444

    @URLDecode . . . . . . . . . . . . . 444 Syntax . . . . . . . . . . . . . . . 444 Parameters . . . . . . . . . . . . . 445 Return value . . . . . . . . . . . . 445 Examples: @URLDecode . . . . . . . . . 445

    @URLEncode . . . . . . . . . . . . . 445 Syntax . . . . . . . . . . . . . . . 445 Parameters . . . . . . . . . . . . . 445 Return value . . . . . . . . . . . . 446 Usage . . . . . . . . . . . . . . . 446 Examples: @URLEncode . . . . . . . . . 446

    @URLGetHeader . . . . . . . . . . . . 446 Syntax . . . . . . . . . . . . . . . 446 Parameters . . . . . . . . . . . . . 446 Return value . . . . . . . . . . . . 447 Usage . . . . . . . . . . . . . . . 447 Examples: @URLGetHeader . . . . . . . 447

    @URLHistory . . . . . . . . . . . . . 447 Syntax . . . . . . . . . . . . . . . 447 Parameters . . . . . . . . . . . . . 448 Usage . . . . . . . . . . . . . . . 448 Examples: @URLHistory . . . . . . . . 448

    @URLOpen . . . . . . . . . . . . . . 448 Syntax . . . . . . . . . . . . . . . 449 Parameters . . . . . . . . . . . . . 449 Usage . . . . . . . . . . . . . . . 450 Language cross-reference . . . . . . . . 451 Examples: @URLOpen . . . . . . . . . 451

    @UrlQueryString . . . . . . . . . . . . 451 Syntax . . . . . . . . . . . . . . . 452 Parameters . . . . . . . . . . . . . 452 Return value . . . . . . . . . . . . 452 Usage . . . . . . . . . . . . . . . 452 Examples: @UrlQueryString . . . . . . . 452

    @UserAccess . . . . . . . . . . . . . 452 Syntax . . . . . . . . . . . . . . . 452 Parameters . . . . . . . . . . . . . 453 Return value . . . . . . . . . . . . 453 Usage . . . . . . . . . . . . . . . 454 Language cross-reference . . . . . . . . 454 Examples: @UserAccess . . . . . . . . . 454

    @UserName . . . . . . . . . . . . . . 454 Notes . . . . . . . . . . . . . . . 454 Syntax . . . . . . . . . . . . . . 454 Parameters . . . . . . . . . . . . . 455 Return value . . . . . . . . . . . . 455 Usage . . . . . . . . . . . . . . . 455 Language cross-reference . . . . . . . . 455 Examples: @UserName . . . . . . . . . 455

    @UserNameLanguage . . . . . . . . . . 456 Syntax . . . . . . . . . . . . . . . 456 Parameters . . . . . . . . . . . . . 456 Return value . . . . . . . . . . . . 456 Usage . . . . . . . . . . . . . . . 456

    Language cross-reference . . . . . . . . 456 Examples: @UserNameLanguage . . . . . . 457

    @UserNamesList . . . . . . . . . . . . 457 Syntax . . . . . . . . . . . . . . . 457 Return value . . . . . . . . . . . . 457 Usage . . . . . . . . . . . . . . . 457 Examples: @UserNamesList . . . . . . . 457

    @UserPrivileges . . . . . . . . . . . . 457 Syntax . . . . . . . . . . . . . . 458 Return value . . . . . . . . . . . . 458 Usage . . . . . . . . . . . . . . . 458 Language cross-reference . . . . . . . . 458 Examples: @UserPrivileges . . . . . . . . 458

    @UserRoles . . . . . . . . . . . . . . 458 Syntax . . . . . . . . . . . . . . . 458 Return value . . . . . . . . . . . . 458 Usage . . . . . . . . . . . . . . . 458 Language cross-reference . . . . . . . . 459 Examples: @UserRoles . . . . . . . . . 459

    @V2If . . . . . . . . . . . . . . . . 459 Syntax . . . . . . . . . . . . . . . 459 Usage . . . . . . . . . . . . . . . 459 Language cross-reference . . . . . . . . 459

    @V3UserName . . . . . . . . . . . . . 459 Syntax . . . . . . . . . . . . . . 460 Return value . . . . . . . . . . . . 460 Usage . . . . . . . . . . . . . . . 460 Language cross-reference . . . . . . . . 460 Examples: @V3UserName . . . . . . . . 460

    @V4UserAccess . . . . . . . . . . . . . 461 Syntax . . . . . . . . . . . . . . . 461 Parameters . . . . . . . . . . . . . 461 Return value . . . . . . . . . . . . 461 Usage . . . . . . . . . . . . . . . 461 Language cross-reference . . . . . . . . 462 Examples: @V4UserAccess . . . . . . . . 462

    @ValidateInternetAddress . . . . . . . . . 462 Syntax . . . . . . . . . . . . . . . 462 Parameters . . . . . . . . . . . . . 462 Return value . . . . . . . . . . . . 463 Possible error messages . . . . . . . . . 463 Usage . . . . . . . . . . . . . . . 463 Examples: @ValidateInternetAddress . . . . 463

    @VerifyPassword . . . . . . . . . . . . 464 Syntax . . . . . . . . . . . . . . . 464 Parameters . . . . . . . . . . . . . 464 Return value . . . . . . . . . . . . 464 Usage . . . . . . . . . . . . . . . 464 @Language cross-reference . . . . . . . . 464 Examples: @VerifyPassword . . . . . . . 464

    @Version . . . . . . . . . . . . . . . 464 Syntax . . . . . . . . . . . . . . . 465 Return value . . . . . . . . . . . . 465 Usage . . . . . . . . . . . . . . . 465 Language cross-reference . . . . . . . . 465

    @ViewShowThisUnread . . . . . . . . . . 465 Syntax . . . . . . . . . . . . . . . 465 Parameters . . . . . . . . . . . . . 466 Return value . . . . . . . . . . . . 466 Usage . . . . . . . . . . . . . . . 466

    @ViewTitle . . . . . . . . . . . . . . 466

    Contents xvii

  • Syntax . . . . . . . . . . . . . . 466 Return value . . . . . . . . . . . . 466 Usage . . . . . . . . . . . . . . . 466 Language cross-reference . . . . . . . . 466 Examples: @ViewTitle . . . . . . . . . 466

    @WebDbName . . . . . . . . . . . . . 467 Syntax . . . . . . . . . . . . . . 467 Return value . . . . . . . . . . . . 467 Usage . . . . . . . . . . . . . . . 467 Language cross-reference . . . . . . . . 467 Examples: @WebDbName . . . . . . . . 467

    @Weekday . . . . . . . . . . . . . . 467 Syntax . . . . . . . . . . . . . . . 467 Parameters . . . . . . . . . . . . . 468 Return value . . . . . . . . . . . . 468 Language cross-reference . . . . . . . . 468 Examples: @Weekday . . . . . . . . . . 468

    @While . . . . . . . . . . . . . . . 468 Syntax . . . . . . . . . . . . . . . 468 Parameters . . . . . . . . . . . . . 468 Return value . . . . . . . . . . . . 468 Usage . . . . . . . . . . . . . . . 468 Language cross-reference . . . . . . . . 469 Examples: @While . . . . . . . . . . . 469

    @Wide . . . . . . . . . . . . . . . . 469 Syntax . . . . . . . . . . . . . . . 469 Parameters . . . . . . . . . . . . . 469 Return value . . . . . . . . . . . . 469 Usage . . . . . . . . . . . . . . . 469 Language cross-reference . . . . . . . . 469 Examples: @Wide . . . . . . . . . . . 469

    @Word . . . . . . . . . . . . . . . 470 Syntax . . . . . . . . . . . . . . . 470 Return value . . . . . . . . . . . . 470 Language cross-reference . . . . . . . . 470 Examples: @Word . . . . . . . . . . . 470

    @Year . . . . . . . . . . . . . . . . 471 Syntax . . . . . . . . . . . . . . . 471 Parameters . . . . . . . . . . . . . 471 Return value . . . . . . . . . . . . 471 Language cross-reference . . . . . . . . 471 Examples: @Year . . . . . . . . . . . 471

    @Yes . . . . . . . . . . . . . . . . 471 Syntax . . . . . . . . . . . . . . 471 Return value . . . . . . . . . . . . 471 Usage . . . . . . . . . . . . . . . 471 Language cross-reference . . . . . . . . 471 Examples: @Yes . . . . . . . . . . . 471

    @Yesterday . . . . . . . . . . . . . . 472 Syntax . . . . . . . . . . . . . . 472 Return value . . . . . . . . . . . . 472 Usage . . . . . . . . . . . . . . . 472 Language cross-reference . . . . . . . . 472 Examples: @Yesterday . . . . . . . . . 472

    @Zone . . . . . . . . . . . . . . . . 472 Syntax . . . . . . . . . . . . . . . 472 Parameters . . . . . . . . . . . . . 472 Return value . . . . . . . . . . . . 472 Usage . . . . . . . . . . . . . . . 473 Time zones that are not full-hour increments from GMT . . . . . . . . . . . . . 473

    Language cross-reference . . . . . . . . 473 Examples: @Zone . . . . . . . . . . . 474

    Chapter 7. Formula Language @Commands A-Z . . . . . . . . . . 475 Using @Commands . . . . . . . . . . . 475

    Syntax . . . . . . . . . . . . . . . 475 Parameters . . . . . . . . . . . . . 475 Return value . . . . . . . . . . . . 475

    @Commands with ECL security . . . . . . . 475 AddBookmark @Command . . . . . . . . . 477

    Syntax . . . . . . . . . . . . . . 477 Parameters . . . . . . . . . . . . . 477 Usage . . . . . . . . . . . . . . . 478 Examples: AddBookmark . . . . . . . . 478

    AddDatabase @Command . . . . . . . . . 478 Syntax . . . . . . . . . . . . . . 478 Parameters . . . . . . . . . . .