Uuident
This keyword declares a UUID variable.
Syntax
Local Uuident NAME
Local Uuident NAME(DIMENSIONS)
Variable Uuident NAME(DIMENSIONS)
Value Uuident NAME(DIMENSIONS)
Const Uuident NAME(DIMENSIONS)
NAME
is the name of the variable declaredLENGTH
is an integer value between 0 and 20.DIMENSIONS
can be:- a single numeric value 'DIM' (meaning that we have an array with an index range from '0' to 'DIM-1')
- a range of numeric values 'INDEX1'..'INDEX2' (the index varies between 'INDEX1' and 'INDEX2')
- several indexes or index ranges separated by a comma (for multiple dimension arrays, up to 4 dimensions are possible).
Several variable declarations can be done on the same line, separated by a comma.
Local declarations create the variables in the current local variable class that is not seen by nested or calling sub-programs. The Call / Subprog, func / Funprog insulate the local variables, as well as the calls of method by fmet.
Const, Variable and Value declarations state the arguments sent by a Call, func, or fmet. With these syntaxes, the dimensions and the index ranges can be omitted as soon as the parenthesis are present (the dimension and index ranges are defined by the calling program).
Example
# Direct declarations
Local Uuident MYUUID, USERUUID, ITEMUUID : # Local UUID variables
Local Uuident MYUUID_ARRAY(1..10) : # An array of 10 UUIDs
# A sub-program sending UUID and returning a result
Funprog SEND_PICTURES(MYUUID)
Variable Uuident MYUUID(,) : # A 2 dimensions matrix of UUID is sent as references
...
End SEND_STATUS
# A sub-program storing UUID
Subprog STORE_UUIDS(UUID)
Value Uuident UUID(1..3) : # An array of 3 elements is sent (a copy is done when passing the arguments)
...
End
Comments
There is still a Global declaration variable that exists for variables that have to be seen in the scope of a process execution, but its use is strongly discouraged.
"UUID" class properties are declared with the AUUID
data type. A default "UUID" property, called AUUID
, is automatically added to the class description when a class is created. Uuident
declarations are rarely used.
Implicit data type conversion
There are no implicit type conversions for Uuident. All type conversions must be explicitly specified in the script.
See also
UUID, Nulluuid, Touuid, Getuuid, Global, Local, Variable, Value, Const, Tinyint, Shortint, Date, Integer, Float, Double, Decimal, Char, Clbfile, Blbfile, Datetime, Instance.