Deploy_Rattail Option for LOC SMS

The Deploy_Rattail option adds export hooks to (some of) the deployment mechanisms for a server instance of SMS.

What It Does

Whenever a "deploy auxiliary" or "deploy changes" process occurs on the server, the deployed data is written to CSV files within the server's folder structure.

It uses the concept of a "batch" (generic term, not the same as a batch in SMS) which is used to "group" the CSV files, so that it may be possible to determine which go together and which came first, etc. Each batch is given a numeric identifier zero-padded to 8 digits. This identifier is incremented between batches (i.e. deployments). Batch identifiers use a counter which is unique to the batch type; i.e. "auxiliary" batch IDs increment separately from "change" batch IDs.

Deploy Auxiliary

Anytime auxiliary data is deployed from the SMS server, all (supported) auxiliary data is written to a batch of CSV files in the Storeman\XchRattail\Auxiliary folder. As of this writing, an example of the output would be:

Note that even though the user is prompted as to which auxiliary data they would like to deploy, all auxiliary data is written to a CSV batch regardless of the user's choice. In fact, the CSV data is written before the user is even prompted to choose which data to deploy. This is due to a technical limitation of the hooks made available by the SMS deploy auxiliary script.

Deploy Changes

Anytime changes are deployed from the SMS server, all changed data records (i.e. exactly what is being deployed) is written to a batch of CSV files in the Storeman\XchRattail\Changes folder.

As of this writing, support exists for most of the common tables, and includes both changes and deletions. No files are written for tables which contain no changes or deletions.

In addition to the change/delete files themselves, two "boundary" files are also generated. These currently serve the purpose of letting a file monitor process know when the batch is truly finished being written, as the monitor may simply wait until the "end boundary" file appears. This is done in case the monitor may wish to process the changes/deletions in a particular order, i.e. instead of the order in which DEPLOY_RATTAIL generates them.

As of this writing, an example of the output might be:

To see a full list of which types of changes and deletions are supported, it's probably best to go straight to the source.


Installing Deploy_Rattail is similar to installing any other "official" SMS option. Specific steps are outlined below.

  1. Download the latest option file from here.

  2. Rename the option file to and place it in the \Storeman\Install\Options folder on your SMS server.

  3. Open Launchpad 901, go to Company Setup, Options tab, and click the Others button.
  4. Select the DEPLOY_RATTAIL entry and click "Unzip and install selected options".

  5. Once the option has been unzipped, choose "Override all files" and then click the Install button.

Note that you do not technically need to choose "Override all files" when installing the option for the first time. However, subsequent installs do not seem to go quite right unless you choose it.


By default, the option will always write CSV files for all data which is supported by the option. However if desired, you may disable either hook entirely, or disable the export of particular tables within each hook. To view the configuration, log in to SMS Pro as the Programmer user, and choose Execute -> Edit Config Files from the drop-down menu. On the left you will see a Rattail Ini config section; expand this to view and/or edit the current configuration for the option.

Utilities/LOCSMS/DeployRattail (last edited 2018-07-09 18:38:49 by LanceEdgar)