Both sides previous revisionPrevious revision | |
barcode-processing [2018/08/10 02:29] – Scott Cunliffe | barcode-processing [2018/08/10 02:40] (current) – removed Scott Cunliffe |
---|
====== Barcode Processing ====== | |
| |
| |
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 [[:master:customer|Customer-ID]] and [[:master:media|Media-ID]] component and must contain at least a [[master:volumes|Volume-ID]] component. | |
| |
| |
barcode format: CUST.MEDIA.VOLUME \\ | |
{{common:common_barcode_fully_qualified.png}} | |
| |
barcode format: VOLUME \\ | |
{{common:common_barcode_volume.png}} | |
==== Parsing Logic ==== | |
| |
The TapeTrack Server parses barcodes as follows: | |
| |
The unparsed barcode will be looked up in the [[subsystem:barcode|Barcode Translation Table]] and if it is found the translated barcode will be substituted. | |
| |
When a corresponding [[Barcode Interpretation Definition|Barcode Interpretation Definition]] is found the barcode is split into [[:master:customer|Customer-ID]], [[:master:media|Media-ID]] and [[:master:volumes|Volume-ID]] components. | |
| |
If the [[:master:customer|Customer-ID]] and [[:master:media|Media-ID]] components are not resolved then the [[desktop:scan_window#Setting-the-Default-Customer-ID-and-Media-ID|Scanned Default Customer-ID]] and [[desktop:scan_window#Setting-the-Default-Customer-ID-and-Media-ID|Scanned Default Media-ID]] values (if any) are used to set the [[:master:customer|Customer-ID]] and [[:master:media|Media-ID]]. | |
| |
If the [[:master:customer|Customer-ID]] and [[:master:media|Media-ID]] components are not resolved then the [[master/user#defaults| User Profile Default Customer-ID]] and [[master/user#defaults|User Profile Default Media-ID]] values (if any) are used to set the [[:master:customer|Customer-ID]] and [[:master:media|Media-ID]]. | |
| |
If the [[master:media|Media-ID]] component remains unresloved and the [[master:customer#options| Customer Properties]] has the ''Dissallow Customer Duplicates'' attribute set then the server will attempt to find the [[master:media|Media-ID]] for the unique [[master:volumes|Volume-ID]] if the [[master:volumes|Volume-ID]] exists. | |
| |
Using the [[master:customer|Customer-ID]] and [[master:media|Media-ID]] values the [[master:media#options-tab|Media Properties]] are looked up. | |
| |
If the [[master:media#options-tab| Media Properties]] has the ''Remove Barcode Suffix'' value set and there is a matching suffix, the suffix is removed. | |
| |
If the [[master:media#options-tab | Media Properties]] have the Modulo 43 option **AND** there is no corresponding length exclusion all except the last digit of the component [[master:volumes|Volume-ID]] are processed through the Modulo 43 algorithm. | |
| |
If the last digit of the [[master:volumes|Volume-ID]] does not match the calculated Modulo 43 value a barcode scanning error is returned. | |
| |
If the last digit of the [[master:volumes|Volume-ID]] does match the calculated Modulo 43 value the barcode is returned with the [[master:volumes|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 {{EnvVariable|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. | |
| |
<sxh> | |
set TMSS10BARCODECONFIG=c:\tmss\etc\barcode.cfg | |
TMSS10ValidateBarcode | |
</sxh> | |
| |
==Example Batch Barcode Config File== | |
| |
<sxh> | |
defaults = | |
{ | |
customer-id = "ACME"; | |
media-id = "DL"; | |
}; | |
</sxh> | |
| |
=== Programs that load the Barcode Config File === | |
| |
[[cli:tmss10sync|TMSS10Sync]] \\ | |
[[cli:tmss10inventory|TMSS10Inventory]] \\ | |
[[cli:tmss10validatebarcode|TMSS10ValidateBarcode]] \\ | |
| |
| |
== See Also == | |
[[technote:modulo43-barcodes|Modulo 43]] | |
| |
[[Category:Barcode Scanning]] | |
| |
| |