Ctid$

Has one parameter.

Description:

The one optional parameter is a date time in the format of YYYY-MM-DD HH:MM:SS, or YYYY-MM-DDTHH:MM:SS. If this parameter is omitted or blank, the current date time plus milliseconds is used. If the parameter specifies only a date, a random time is used. If the parameter specifies only a time, the current date is used for the date component.

Moxie.Build Time Ordered Unique Identifier which may be more suitable for transactional records and IDs than a purely random value such as a CUID or GUID.

A CTID is a 20 byte hex string and is made up of the following components when used without a parameter:

When used with a date time parameter, a CTID is a 20 byte hex string made of the following components:

The advantages of using a CTID over a CUID are:

The disadvantages of using a CTID over a CUID are:

Example Simple MOX Topy Query Usage:

[New] MyVal1 = Ctid$
[New] MyVal2 = Ctid$ "2099-12-31 23:59:59"

Example Alias Attributes with support for both default behaviour and assignment via Date and Time fields:

Next=Custom
[If] Alias = * Then $Ctid
[If] Alias = # Then Ctid$ (Date && Time)

Example back to back Ctid$ values with a Sleep 1 in between these two blocks. Spaces added for readability here are not included in actual values.

Date   Milli.   Id  Random
0223C  439D4D0  00  E3C507
0223C  439D4D0  01  C883F2
0223C  439D4D0  02  4E3A19
0223C  439D4D0  03  5263C7
0223C  439D4D0  04  61FFC2
0223C  439D4D0  05  7E81E5
0223C  439D4D0  06  579DA0
                 
0223C  439D4DF  00  9BCD0E
0223C  439D4DF  01  F5BE4E
0223C  439D4DF  02  A1888C
0223C  439D4DF  03  4066FF
0223C  439D4DF  04  F892C9
0223C  439D4DF  05  7117A3
0223C  439D4DF  06  8F4293