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 declared
  • LENGTH 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.