TapeTrack Documentation

Because there is more to tape management than you ever realized

User Tools

Site Tools


cli:tmss10sync

TMSS10Sync

Synchronize an input file or ODBC connection data with a TapeTrack Framework Server.

For further details including requirements, implementation and integration see the TapeTrack Sync Guide

Synopsis

TMSS10Sync [-A attributeindex] [-F recordcount] [-M] [-S logonstring] [-T] [-a] [-c configfile] [-d deffile] [-l] [-p] [-s] [-t]

Description

TMSS10Sync is a command-line utility that allows the user to run ad-hoc and automated synchronization between text files, CSV files and ODBC connections to update commonly used TapeTrack database fields.

In addition to being able to synchronize data, the program can also perform complex date calculation and String manipulation procedures to edit the data that is being synchronized.

The program relies on three separate software engines that are built one on top of the other.

  1. INI Parse Engine This component is responsible for reading the Definition File, parsing the processing directives, resolving variables, and including any embedded Definition File sections.
  2. Import Engine This component is responsible for reading data from the import file or ODBC connection, extracting data into respective fields, and performing any data manipulation.
  3. Sync Engine This component responsible for updating the TapeTrack Server with any fields which have been specified to be updated.

Options

The options which apply to the TMSS10Sync command are:

  • -S The Logon String argument sets the Server Logon Information.
  • -c The config file argument specifies the path to the Batch Configuration File.
  • -A Sets the Attribute index for any field imported as the DESCRIPTION field. The value of the Attribute index should be an Integer between 0 and 200. The default of 0 represents the inbuilt Description field. Values of 1 through 200 represent user-defined Extended Attribute values.
  • -F Instructs the program to simply read in the contents of stdin and write out a formatted report on stdout with a ruler every recordcount records. This can be helpful for establishing the offset and length of the fields that are being synchronized from a text file. No other processing will be performed.
  • -M Executes the program to run in Dump Mode. Dump mode processes the input synchronization as it would in the regular update mode but instead of performing any updates the program will write a list of proposed update fields for each record to the stdin.
  • -T Sets the Do Not Slot Flag for each updated Volume.
  • -a Adds any new Volumes to the TapeTrack database. In the event that this argument is not specified and newly encountered Volumes will be skipped and added to the Not-Added Count.
  • -d Sets the path to the Import Definition File. The Import Definition file is responsible for instructing the program on how to interpret the input file or ODBC connection. If not specified it defaults to the file default.ttidef in the current working directory.
  • -l Lists all of the supported processing directives, which will be written to stdout. A list of valid ODBC Drivers and DSNs will also be listed. No further processing is performed.
  • -p Instructs to Sync Engine to pass the value in the VOLUME field to TapeTrack's Barcode Parsing Engine, where it will be split into the CUSTOMER, MEDIA and VOLUME fields. Barcode Parsing can also be further managed using the Barcode section of the Configuration File.
  • -s Automatically sets the SLOT field to the relative record number of the record being processed.
  • -t Instructs the program to run in Test Mode. In Test Mode, all three engines will be invoked, but no updates will be performed. Test Mode differs from Dump Mode in that Dump Mode will not run the Sync Engine while Test Mode will, but without performing updates.
When running in Dump Mode the program will only run the INI Parse Engine and the Import Engine. It will not run the Sync Engine. As a result, any functionality that relies on the Sync Engine, such as the Barcode Parse Option will not be invoked. Further, functions that relate to data interpretation such as date parsing will also not be run.

To run data through all three engines without performing updates, TMSS10Sync can be run in test mode (attribute -t).

Exit Status

  • zero Program has ended successfully.
  • non-zero Program has not ended successfully.

Environment

Files

  • stdout Formatted output, Record Dump output or Scan-File Output.
  • stderr Diagnostic messages.
  • stdin Sync input file.

Examples

List supported Processing Directives.

[jsmith@z1090 ~]$ TMSS10Sync -l < syntax.txt

Run program in Dump Mode.

[jsmith@z1090 ~]$ TMSS10Sync -M < input.txt

Produce a formatted listing with a ruler every 10 records.

[jsmith@z1090 ~]$ TMSS10Sync -F 10 < input.txt > output.txt
Changelog
2021-05-24Fixed bug when using TMSSLEVELNAME and TMSSNOLEVELSLOT variables (#127)
2020-11-24Added support for JSON output
2020-01-23Added HOMEREPOSITORY and HOMESLOT fields
2020-01-23Added skip existing Volumes argument
2019-03-30Added TMSSPRINTRAWINPUT variable
2019-02-25Added support for HTML output
2019-02-09Added support for Excel output
2019-01-06Added return code list to end of all command line programs that use the TapeTrack API
2018-12-26Added support to skip update of fields when value is !Bypass!
2018-12-26Fixed bug where Bypass mode would cause a crash because of message
2018-01-31Added support to skip update of fields when value is !Bypass!,
2018-01-27Added USAGE and GENERATION fields
2018-01-27Added skip option to boolean sync values (ENCRYPTED, SCRATCH, QUALITYCHECK). To bypass specify 'unknown' or '-1' (rather than true or false)
2017-04-18Added field list to list (-l) output
2017-02-02Added STOCKID to importable fields
2016-12-17Fixed Parse option (-p) to use the defined Customer-ID and Media-ID as default
2016-11-18Added SetPermanentExpiryDateValue
2016-11-18Changed SetPermanentDateValue to SetPermenentMoveDateValue
2016-11-18Added fast forward code to reduce runtime
2016-11-18Enhanced argument parser to allow arguments in format *FI:filename that allows loading of arguments from a file
2016-09-30Added EXPIRYDATE and SetExpiryDateFormat to sync
2016-03-02Added Hashing functionality to AddTranslation (template of '#' will return X-FFFFFFFF)
2015-12-26Fixed bug in AddRepositoryOnMoveDate logic where non-matching Repository filter was being used
2015-12-26Fixed bug where program would crash if the Customer scope changed and the initial scope was OK, but new scope was not
2015-12-26Fixed bug with logic to see if Move Date was permanent
2015-12-26Added -e argument to produce optional error list CSV file
2015-12-26Added check for existing Customer-ID to reduce bandwith of faulty sync data
2015-12-26Changed SetPermanentMoveDateValue to a range which now includes 'P' (Past) and 'F' (Future)
2015-12-26Added flags to Volume Filter syntax (customer.media.volume@repository+flags)
2015-12-26Added INCLUSION support for AddString
2015-12-26Added error message when using AddTranslation type directives reference a field that has not been referenced
2015-08-24Changed hascontents to contentcount and change contentcount to a filter rather than bool
2015-08-24Added iscontainer and hascontents to the config file filter logic
2015-08-17Fixed bug where MOVEDATE would not parse past 2038
2015-06-06Fixed bug where AddTranslation2 would cause crash when using comparison field that has not been previously set
2015-06-05Fixed bug where AddTranlation2 would cause crash when using comparison field that has not been previously set
2015-05-20Added ADDTRANSLATIONFROMSQL instruction
2015-05-17Added additional diagnostic messages to both RepositoryOnMoveDate and RepositoryOnWriteTime
2015-05-17Added extra argument to AddRepositoryOnMoveDate. Arg1 now sets a Current Repository filter
2015-05-17Added logic to not run RepositoryOnWriteDate logic if RepositoryOnMoveDate sets a value
2015-05-16Added environmental varialbe TMSSCANFILEUNQUALIFIED which will load and check volumes without Customer-ID and Media-ID qualifiers
2015-05-16Added environmental varialbe TMSSSCANFILENOPARSE which will presume scanfile items are only Volumes and not parse them, saving time
2015-05-16When loading scanfile from import definition, added CUSTOMER and MEDIA keywords to set defaults
2015-05-16When loading scanfile from import definition, changed keyword from VOLUME to BARCODE
2015-05-16Added TMSSUNQUALIFIEDVOLUME environmental variable which forces all barcodes to be printed without Customer-ID and Media-ID
2015-05-04Added support for AD passwords to all command line programs (check for environmental variable TMSSNOMD5)
2015-04-06Added CleanVolume keyword which will remove any invalid characters from a Volume (such as embedded '/' etc)
2015-03-23Added AddSkipOnScratch keyword which allows you to skip a move if a Volume is Scratch and has a current Target Repository that matches a filter
2015-03-23Added STAGE and QUALITYCHECK items as Sync fields
2015-02-03Changed logic so that Warnings appear as updates and may also list an error
2015-02-03Added 'w' option to consider Warnings not an error
2015-02-03Added substring support to AddTranslation logic
2014-11-30Changed behavior of Extract instruction in Import engine so that when the offset is zero CSV mode processing will process the raw text record
2014-11-19Changed server argument parser to allow colon in password to support z/OS DD name files
2014-11-02Added AddRepositoryOnWriteTime keyword which allows you to set a Repository based upon a number of days from a Write Date
2014-10-26Upgraded development environment from Visual Studio 2012 to Visual Studio 2013
2014-09-17Added ConditionalEmbed option to INI engine to allow conditional embed of INI code
2014-08-09Changed 'Moving Volume from...' message to 'Changing Target Repository from...' as this better reflects what is occuring
2014-08-09Added SeCSVDelimiter option to import engine to allow direct CSV field selection
2014-08-09Added SetODBC and SETSQL options to import engine to allow ODBC field selection
cli/tmss10sync.txt · Last modified: 2022/05/30 23:52 by scunliffe