====== Scan-File ======
A Scan-File is a listing of [[:object:volume|Volume-ID's]] that, through TapeTrack parsing, is converted in to a [[:concepts:scan-map|Scan-map]] of [[concepts:qualified_barcode|Fully Qualified Barcodes]] for input into [[cli:introduction|Command Line processes]].
The TapeTrack Scan-File Format allows you to specify lists of TapeTrack compatible Barcodes, along with comments and Barcode defaults.
[[variable:start|Environmental Variables]] will also be resolved before processing any [[concepts:barcode|Barcodes]] defaults or [[object:volume|Volume]] [[concepts:barcode|Barcodes]].
The syntax supports:
* [[concepts:barcode|Barcodes]]: that are to be parsed according to TapeTrack [[subsystem:barcode|Barcode Logic]].
* [[object:customer|Customer-ID]]/[[object:media|Media-ID]] defaults: that set the [[object:customer|Customer-ID]] and/or [[object:media|Media-ID]] where those values can not be determined by TapeTrack [[subsystem:barcode|Barcode Parsing]].
* Comments: that are to be ignored by any processing logic (any line starting with a #).
===== Scan-File =====
Scan files can either be [[:object:volume|Volume-ID's]] ready to process or passed in via a definition file (.ttidef) that translates an input file to extract the [[:object:volume|Volume-ID's]].
==== Direct Input ====
{{reports:reports_tmss10reconcile_tapemaster_scanfile.png}}
==== Translated Input File ====
Instead of passing a data file directly to the TapeTrack process as a scan file, a definition file is specified as the Scan file to interpret the input file for processing.
=== Input File - input.csv ===
TSMLIB_1,718315,Private,LG1SACTSM12,Data,1,058,LTO
TSMLIB_1,718868,Private,LG1SACTSM12,Data,1,028,LTO
TSMLIB_1,721008,Private,LG1SACTSM12,,1,083,LTO
TSMLIB_1,721264,Private,LG1SACTSM12,Data,1,036,LTO
TSMLIB_1,722685,Private,LG1SACTSM12,Data,1,052,LTO
TSMLIB_1,722723,Private,LG1SACTSM12,,1,079,LTO
TSMLIB_1,724335,Private,LG1SACTSM12,Data,1,066,LTO
TSMLIB_1,724525,Private LG1SACTSM12,,1,082,LTO
=== Definition File ===
# Set the input file
#
SetFile("input.csv");
#
# Set the Customer-ID and Media-ID
#
SetLiteral(CUSTOMER, "US01");
SetLiteral(MEDIA, "LTO");
#
# Set the delimiter to a CSV
#
SetCSVDelimiter(",");
#
# Extract the Volume-ID from the 2nd column
#
Extract(VOLUME, 2, 8, 0);
#
# Add the suffix to the Volume-ID
#
AddTranslation(VOLUME, "L?????", "*L5");