This guide provides information on using HCL Domino Designer and programming language reference information.
Welcome to the LotusScript® Language section of Domino® Designer Help.
This chapter describes the run-time error messages in the LotusScript® language.
The disk drive door is not closed.
The following features are new for developers in HCL Domino® Designer 12.
Accessibility features assist users who have a disability, such as restricted mobility or limited vision, to use information technology content successfully.
Welcome to the Application Design section of Domino® Designer Help.
Welcome to the Application Management section of Domino® Designer Help.
Domino® Query Language (DQL) is a facility running on a Domino server that provides a terse, shorthand syntax for finding documents. It supports a wide variety and complexity of search terms. It leverages existing design elements, avoiding the need to write detailed code to access them. DQL consolidates all methods in Domino for searching document contents.
Composite applications are a key element in a service-oriented architecture (SOA) and contextual collaboration strategy. The ability to create and edit composite applications lets you easily integrate different types of components and technologies.
Domino® Designer includes two types of design elements to assist you in managing data contained in DB2® enabled Notes® databases:
This section contains general guidelines and examples that show where to use Java, LotusScript, and the formula language.
This section documents the formula language.
This chapter introduces LotusScript® and describes, in general terms, how to use the script editor to write and modify scripts, how to compile scripts, and how to use the debugger to locate problems in the logic of your applications.
This chapter describes the rules for writing the basic elements of a script in the LotusScript® language.
This chapter provides information about LotusScript® constants and variables and the data types of the values that they can represent.
This chapter describes the set of LotusScript® operators, how they may be combined with operands to form expressions, and how those expressions are evaluated.
This chapter describes file handling in the LotusScript® language.
This chapter describes error processing in the LotusScript® language.
This chapter describes two kinds of custom data structures that you can define in LotusScript®. Each can hold data of different types in a single data structure.
The flow of execution of a script generally follows the sequence of statements in the script. This chapter describes the behavior of particular statements that alter the flow of execution.
This chapter describes how to use multiple threads and synchronization to manage HTTP agents with Domino®.
This chapter discusses the role that LotusScript® plays with HCL products, your operating environment, other programs, and interactive user applications.
This chapter describes the use of statements, built-in functions, subs, data types, and directives in the LotusScript® language.
This appendix describes LotusScript® language limits of several kinds: for example, the legal ranges in data representation, the limits on numerical specifications within statements, and the maximum number of different kinds of elements that can be defined in a script.
The LotusScript® language and functionality on the UNIX™ platform, the Macintosh platform, and the IBM i® platform differ in various ways from the language and functionality described in the rest of this language reference. This appendix describes the differences.
This appendix provides an overview of REXX integration in the LotusScript® language.
This appendix lists the LotusScript® aliases and their equivalent text.
This chapter describes the compile-time error messages in the LotusScript® language.
The following conditions could have caused this error:
The result of a numeric operation, value conversion, or assignment is outside the range of allowable values for the result data type.
There is not enough system memory to perform an operation.
When accessing an array, either the number of subscripts does not match the given array's defined dimensions, or the size of one or more subscripts does not match the given array's bounds.
You used a numeric expression whose value at run time is out of the legal range, in one of these contexts:
In a mathematical operation, there was an attempt to divide by zero. It is impossible to divide by zero.
This error occurs when LotusScript® code tries to use a value of the wrong datatype for the context in which it is used.
There is too little available memory for string storage, either at compile time or at run time.
One of the following conditions could have caused this error:
You are using a C-callout function to call a DLL entry point with a different calling convention than the one used to implement the DLL entry point.
An internal error occurred.
You tried to access a file that does not exist, or you specified a file number that is currently not assigned to a file. For example, using Print # to print to a file that has not first been opened generates this error.
You referred to a file that cannot be found.
You tried to create a file with the same name as a file that already exists on disk.
You tried to save a file on a disk that did not have enough room for the file.
You tried to read from a file using a record number that is either invalid (negative) or out-of-bounds (larger than the number of records in the file).
You specified a file using an invalid DOS file name.
You have too many files open in LotusScript®.
You specified an invalid drive.
You specified a path that cannot be found.
You tried to access an instance of a LotusScript® class or product class, but either of the following was true:
You tried to convert a NULL value to another value type. NULL cannot be converted to another value type.
You attempted to delete an instance of a class that is still in use in your program.
You tried to write to a file that is marked read-only on disk.
In a statement or function that requires an open file, you specified a file that is not open.
You tried to write data into a record that is too small for the amount of data you are writing.
You used a list tag that does not exist in a list.
You tried to use a module that is incompatible with this release of LotusScript®.
The function signature of an external C-callout function has been corrupted.
A required operation code has not been implemented.
You tried to use a product object that does not exist.
The software from which you invoked LotusScript® is missing a procedure needed to manage product objects.
You tried to unload the currently running module.
You have exceeded the allowable maximum number of nested calls to functions or subs within a single module.
The total storage space in memory of the dynamic array exceeds the allowable maximum of 64K. For example:
An error occurred in evaluating a constant expression. The error is explained in one of the following messages:
You tried to use a LotusScript® function, statement, or directive that your operating system or platform does not support. For example, the CreateObject statement is not supported on UNIX™ or HCL Nomad.
You referred to a variable, constant, function, or property with a data type suffix character that does not match its declared data type. For example:
You referred to a nonexistent member of a class. For example:
You referred to a variable of type Variant as though it contained an object reference, but no such reference has been assigned to it. For example:
You referred to a variable of type Variant as though it held an array or list, but it does not hold one of these. For example:
You called a function or sub that is a member of a user-defined class and passed it either too few or too many arguments. For example:
You referred to something as though it were a member function or sub of a class when no such function or sub has been defined for that class. For example:
You defined a sub as a member of a class and then referred to that sub as though it were a member function, property, or variable. For example:
You defined a function as a member of a class and specified its return type as something other than Variant or object reference. You then referred to that function as though its return type were an object reference or a Variant holding an array, list, or object reference. For example:
You defined a property as a member of a class and then referred to that property in an inappropriate way. For example:
You tried to assign a value to a property of a product object, but the product has defined that property to be read-only. This means that you can retrieve but cannot assign that property's value.
You declared a list variable as a class member. When you subsequently referred to that list, you either omitted a subscript or included more than one subscript. A reference to a list must include one, and only one, subscript. For example:
You referred to a variable, property, function, or sub that was defined as a Private member of a class. Private members are not visible outside of the class to which they belong. For example:
You called a member sub or function of a product class and omitted one or more of the arguments that it expected. For example, assume a product class Walden that has a member sub Move that has two integer parameters:
The product from which you are running LotusScript® has disabled the function, statement, or directive that you attempted to use.
Either of the following situations could have produced this error:
You used more than a single subscript in referring to a member of a collection. For example, assuming a collection class IntegerCollection:
You referred to a product object as though it were a collection, but it isn't a collection. For example, assuming the product class ProdADT, which is not a collection class:
You tried to refer to a nonexistent member of a collection. For example, assuming a collection class IntegerCollection:
You attempted to access a member of a collection, but the product was unable to comply with your request correctly.
An error occurred when you tried to refer to an OLE Automation object.
You referred to an undefined member of an OLE Automation object, or you attempted to assign a value to an OLE Automation object property that is read-only.
You called a method of an OLE Automation object and included too few or two many arguments. The number of arguments must be the same as the number of parameters defined for the method.
You called a method of an OLE Automation object and included one or more arguments whose data type differs from the corresponding parameters in the method's definition. The data type of each argument must be the same as the data type of the corresponding parameter.
You tried to assign a value to the target in a ForAll block. For example:
You entered an expression that LotusScript® is unable to evaluate because the expression contains too many elements. For example, an expression consisting of hundreds of values separated by arithmetic operators would cause this error because the result of each individual arithmetic operation has to be saved on the stack until they can all be combined to calculate the value of the expression as a whole, and there isn't enough room on the stack to save them all.
You used a ReDim statement in a context in which it is inappropriate:
You tried to create an instance of a product class but the product encountered an error condition (such as Out of Memory) and was unable to create the object.
You tried to refer to a property of an instance of a product class but the product encountered an error condition when you tried to do so.
You tried to refer to a method (member sub or function) of an instance of a product class but the product encountered an error condition when you tried to do so.
You tried to delete an instance of a product class but the product encountered an error condition when you tried to do so.
The return type of the event does not match the return type of the function when attaching an event function to an object through a variant.
The event handler for an object is a sub and the user-defined procedure is a function, or vice-versa, when attaching an event handler to an object through a variant.
The number of parameters do not match when accessing an object property through a variant.
An argument list is specified when accessing an object member variable through a variant.
A set operation is attempted through a variant on an object property that does not define Property Set.
A get operation is attempted through a variant on an object property that does not define Property Get.
A string is generated at run-time that exceeds the size limit of 32,000 characters.
A set operation is attempted on a product variable that is read-only.
An product object is returned for a class not registered with LotusScript®.
An attempt is made to write to a member when accessing a collection object through a variant.
An array access through a variant has the wrong number of subscripts.
This section documents the Java/CORBA classes.
Connectors provide native access to a wide variety of DBMS products, ODBC, the platform File system, Enterprise Resource Planning systems, and Transaction Processing systems.
As part of providing additional Java™ reference documentation, Domino® Designer ships with a help plugin that contains Javadoc™ for additional Domino Designer related APIs.
Close the disk drive door.