The system can be configured to automatically assign Unique ID’s (a.k.a. serial numbers or Lot Numbers) to parts. This way the person who is assigning the serial numbers does not have to know what the last assigned number was. Furthermore it prevents errors in the input.

The automated options can be enabled on the NV tab, by clicking the automated UID check mark. After the check mark is clicked, additional input fields will appear.

In the Syntax String input field the syntax for the automated UID can be defined. The string can be build by a combination of the following parts:

  • MM: Month
  • YY: 2 Digit Year
  • YYYY: 4 Digit Year
  • DD: Day of the Month
  • WW: Week
  • N{5}: Numeric Sequencer, in this case 5 digits, padded with leading zero's
  • N{0}: Numeric Sequencer with a '0' defined will grow with the number. (  i.e. 9-->10  ... 99--> 100 ) 
  • L{MM}: Escape string to enter literals
  • S{2}: Part Record Sequencer
  • VAR{X}: Add the value of any name-value that is availabe on the Part Record to the string

The Literal is used to prevent conflicts with other characters, so it is possible to use a hyphen without the Literal. But it is better to use Literals (L{xxx}) when you do not want to use any of the formatting strings.

Syntax String Examples for Automated UID


Simple sequence number

String Format: N{1}
Results in: 1, 2, 3...

The number of digits will grow to represent the complete number.

Simple sequencer with leading zero's

String Format: N{5}
Results in: 00001, 00002, 00003

In this case the number of digits is fixed. When the number passes 99999, the counter will reset. If there are no other parts in the syntax string that will make the serial number unique (e.g. date parts, see below), and if the generated serial number already exists, the system will not create the serial number and will notify the user that the syntax string has to be changed.

Adding a literal part

Literal parts can be added anywhere in the syntax definition string, by using 'L' with the literal part between brackets.

Syntax String: L{FAA}N{4}L{-A0}
Results in: FAA0001-A0, FAA0002-A0, FAA0003-A0

Serial Numbers that include date Information

Information of the current date can be included at the moment the serial number is generated. This can be controlled by using the following strings in the UID definition String

  • MM: (2 Digit Month: 01, 02, ... 12)
  • YY: (2 Digit Year: 08, 09, ...)
  • YYYY: (4 Digit Year: 2008, 2009, ...)
  • DD: (Day of the Month: 01, 02, ... 31)
  • WW: (Week number according to ISO 8601)

When Weeks and years are used, the program will change the year (subtract 1) for the first partial week of the year, this way the generated serial numbers will remain in sequence.

String Format: L{FR}YYMML{-}N{4}
Results in: FR0808-0001, FR0808-0002, FR0808-0003 … (provided the current date is somewhere in August 2008)

Serial Numbers that refrence other Part Record Information

Part Records on a Traveler can be part of a Lot e.g. a lot with name 'LT001'. If you want to assign partnumbers like LT001-01, LT001-02, ... to the parts on the Traveler you can do this by taking the following steps:

  1. Assign a Name-Value to the Step Definition of the 'Sequencer' Type.

    This will take care that each Part Record on the Traveler will be assigned a sequence number, starting from 1, 2, 3 ...

  2. Add an Unique ID Name-Value type for the serial number.
  3. Add the Lot Name-Value as a variable (this is similar as adding variables for calculations)
  4. Use the following syntax: VAR{A}L{-}S{2}
    • 'A' is the variable that is added an that refers to the Lot
    • The hyphen is added by L{-}
    • And S{2} refers to the sequencer and will be using 2 digits


Adding Variables to Syntax

Adding Variables in the syntax is possible by Defining Variables.  The syntax for a defined variable will be as follows:


The Variable Definition Help Link will explain in better detail the creating and usage of variables in your syntax.


Alpha Serialization

To use an Alphabetic Serialization style the syntax is as follows:

  • A{1} = A. B, C, D, E, etc.
  • A{2} = AA, AB, AC, AD, AE, ... BA, BB, BC, etc.

Combining techniques is also possible.  For instance: 

  • S{4}A{2} = 0000AA, 0000AB, 0000AC, ...0000BA, 0000BB, ... 0000ZZ, 0001AA, 0001AB, etc.


Define and Edit Variables Converters

You can further process a defined variable on your UID/Lot NV by using a converter.  For instance, a variable might be returning a internal EZ-MES Job Number, or Date that is in milliseconds.  You may possibly want the Unique ID of the Job Number, or the Date in a more user friendly format.

In the example below, I am trying to get the UID of a previously consumed part.  This presents challenges because the actual data saved on a Consumption NVR is much different than just the Unique ID of the Part selected.  Rather is is the JSON string that contains the internal Part Record Job number followed by the Quantity consumed.  

So my first goal is to define the Variable of the consumption NV.  The image below shows it defined as CW in the 'Define Variables' section.

Now I pulldown 'Job Name Convert' from the 'Define and Edit Variables Converters' Section.  Choose the variable CW from the Tab Pulldown, and hit the Plus Icon to Add it into the 'Tag(s) to Data Convert section.

Now if I declare the variable in the Syntax textbox it will return a converted result.

 Useful Links