| 
 | 
 | 
For explanations of the symbols used in the syntax diagram, see Syntax Symbols.
The variable-definition option
                          is used to define a single field/variable that may be single-valued
                          (scalar-definition) or multi-valued
                          (array-definition).
               
| variable-name | 
 | (format-length) | 
 | 
 | 
 | 
 | init-definition | 
 | [emhdpm] | ||||||
| ( | 
 | 
 | ) | DYNAMIC | |||||||||||
| HANDLE OF
                                                   OBJECT | |||||||||||||||
| variable-name | 
 | (format-length/array-definition) | 
 | 
 | 
 | 
 | array-init-definition | 
 | [emhdpm] | |||||||
| ( | 
 | 
 | /array-definition) | DYNAMIC | ||||||||||||
| (array-definition) HANDLE OF
                                                   OBJECT | ||||||||||||||||
| Syntax Element | Description | 
|---|---|
| variable-name | Variable Name: The name to be assigned to the variable. Rules for Natural
                                                  variable names apply. With  For information on naming conventions for user-defined variables, see Naming Conventions for User-Defined Variables in Using Natural. | 
| format-length | Format/Length Definition: For information on format/length definition of user-defined variables, see Format and Length of User-Defined Variables in the Programming Guide. | 
| HANDLE OF OBJECT | Handle of Object: Used in conjunction with NaturalX. A handle identifies a dialog element in code and is stored in handle variables. For further information, see NaturalX in the Programming Guide. | 
| A,UorB | Data Type: Alphanumeric (A), Unicode (U) or binary (B) for dynamic variables. | 
| 
                                                   array-definition | Array Dimension Definition: With an
                                                   For further information, see Array Dimension Definition. | 
| DYNAMIC | DYNAMIC Option: A field may be defined as  For more information on processing dynamic variables, see Introduction to Dynamic Variables and Fields. | 
| 
                                                CONSTANT | CONSTANT Option: The variable/array is to be treated as a named constant. The constant value(s) assigned will be used each time the variable/array is referenced. The value(s) assigned cannot be modified during program execution. See also Field Definitions, User-Defined Constants, Defining Named Constants in the Programming Guide. Notes: 
 | 
| INIT | INIT Option: The variable/array is to be assigned an initial value.
                                                  This value will also be used when this variable/array is referenced in a
                                                   If no  For further information, see Field Definitions, Initial Values in the Programming Guide.  
                                                  With  | 
| init-definition | Initial-Value Definition: With the
                                                   | 
| array-init-definition | Initial/Constant Values for an
                                                     Array: The array is to be assigned an initial value. This value
                                                  will also be used when this array is referenced in a
                                                   With an
                                                   For further information, see Initial/Constant Values for an Array. | 
| emhdpm | EM, HD, PM Parameters for
                                                     Field/Variable: With this option, additional parameters to be in effect for a field/variable may be defined. For further information, see EM, HD, PM Parameters for Field/Variable. | 
The following table shows the default initial values that are provided with the various formats:
| Format | Default Initial Value | 
|---|---|
| B, F, I, N, P | 0 | 
| A, U | (blank) | 
| L | FALSE | 
| D | D' ' | 
| T | T'00:00:00' | 
| C | ( AD=D) | 
| Object Handle | NULL-HANDLE | 
Fields declared as DYNAMIC do not have any initial
                              value because their field length is zero by default.