This is an old revision of the document!
=Overview=
When a barcode is scanned in TapeTrack it is sent to the Server component to be interpreted and split (or parsed) into its respective components.
=Barcode Syntax Rules=
A TapeTrack Barcode may be up to 20 characters in length and may contain a Customer-ID and Media-ID component and must contain at least a Volume-ID component.
=Parsing Logic=
The TapeTrack Server parses barcodes as follows:
#The unparsed barcode will be looked up in the Barcode Translation Table and if it is found the translated barcode will be substituted.
#When a corresponding Barcode Interpretation Definition is found the barcode is split into Customer-ID, Media-ID and Volume-ID components.
#If the Customer-ID and Media-ID components are not resolved then the Scanned Default Customer-ID and Scanned Default Media-ID values (if any) are used to set the Customer-ID and Media-ID.
#If the Customer-ID and Media-ID components are not resolved then the User Profile Default Customer-ID and User Profile Default Media-ID values (if any) are used to set the Customer-ID and Media-ID.
#If the Media-ID component remains unresloved and the Customer Properties has the No-Duplicate Volume-ID
attribute set then the server will attempt to find the Media-ID for the unique Volume-ID if the Volume-ID exists.
#Using the Customer-ID and Media-ID values the Media Properties are looked up.
#If the Media Properties has the Remove Volume-ID Suffix
value set and there is a matching suffix the suffix is removed.
#If the Media Properties have the Modulo 43 option 'AND
' there is no corresponding length exclusion all except the last digit of the component Volume-ID are processed through the Modulo 43 algorithm.
#If the last digit of the Volume-ID does not match the calculated Modulo 43 value a barcode scanning error is returned.
#If the last digit of the Volume-ID does match the calculated Modulo 43 value the barcode is returned with the Volume-ID component stripped of it's check digit.
=Additional Logic for Batch Programs=
Batch programs that parse barcodes will also check for the existence of the environment variable TMSS10BARCODECONFIG when the program starts.
This variable is used to define the path to a config file containing settings that influence how barcode is performed.
<pre class=“brush:plain”> set TMSS10BARCODECONFIG=c:\tmss\etc\barcode.cfg TMSS10ValidateBarcode </pre>
Example Batch Barcode Config File
<pre class=“brush:c”> defaults = {
customer-id = "ACME"; media-id = "DL";
}; </pre>