Exploring alternatives? Our products offer more value than the competition, and are trusted by more than 75% of the top-20 financial institutions in North America. Connect with us at sales@x9ware.com and start a free evaluation today.

X9Utilities Validate – Repair

Validate reads an x9 file in industry defined formats and applies x9 data and image validations against the parsed records. Identified validation errors are written to an output CSV file.

The x9 configuration which is used for the validation process is provided on the command line. Since field level validations can vary widely across the various x9 specifications, the errors that are identified can vary substantially subject to which x9 specification is applied to the file. Generally, the x9.37 specification is the most lenient of standards, which means that it will generate the fewest number of errors against any given file. However, when running a validation, you need to consider and apply the specific x9 configuration which best meets your application requirements.

The following x9 configurations can be used for file validations:

X9 ConfigurationUsage
x9.dstu-no-field-validationsFile level structural validations are applied with minimal field validations.
x9.37The DSTU x9.37 which was the first x9.37 standard originally defined in 2003 and is the most basic and commonly used standard throughout the industry.
x9.100-180-2006The x9.100-180-2006 standard which is very infrequently used within the industry due to more drastic changes that were implemented (including the type 52 image record) and the associated complexities that resulted from the technical direction that was taken.
x9.100-187-2008The x9.100-187-2008 standard which is widely accepted through the industry.
x9.100-187_UCD-2008The x9.100-187-2008 standard with the associated Universal Companion Document applied. This standard is widely accepted by many financial institutions.
x9.100-187-2016The x9.100-187-2016 standard which is increasingly accepted through the industry. This standard includes the type 62 credit record and was the first (beyond x9.100-180-2006) to add credit support.
x9.100-187_UCD-2018The x9.100-187-2016 standard with the associated Universal Companion Document applied. This standard is increasingly accepted by many financial institutions.
x9.CPA_015The Canadian CPA 015 standard which is based on x9.100-187-2006 and is implemented within Canada.
x9.FrbThe Federal Reserve Bank (FRB) standard which is accepted by a large number of institutions and processors.

Exit Status

Validate will set the overall run exit status as follows:

  • -3 = input file not found
  • -2 = invalid function
  • -1 = aborted
  • 0 = run successfully with no errors
  • 1 = run successfully with informational message(s)
  • 2 = run successfully with warning message(s)
  • 3 = run successfully with error message(s)
  • 4 = run successfully with severe error message(s)

The following CSV file is created by validate as an indication of the errors which have been found within the x9 file:

ColumnContentNotes
1X9 record numberRecord number within the x9 file where the error occurred.
2Record typeX9 record type or 8888 if the error is related to an image within a type 52 record.
3Field numberX9 field number or 9999 if the error.
4Field nameField name associated with the error.
5Error nameInternally assign error name. A complete list of all errors can be found in /xml/messages/messages.xml. Be advised that that error messages and potentially their names can change from release to release of the SDK.
6Error severityError severity (severe, error, warn, or info).
7Message textError message text.
8Supplemental InformationSupplemental information concerning this specific error.

Repair

Repair reads an x9.37 file in industry defined formats and applies the same validation standards as implemented in our validate process. This validation includes both data and images. An output CSV file is written to describe any resulting errors, after the repair operation has been performed. This CSV file is in the same general format as that created by our validate function.

See topic “Supported x9 Configurations” for configurations that are supported by validate.

Command line switches (parameters) are used to further control the Repair operation. By default, the x9.37 rules will be applied to the x9 file during validation. However, you can also use a command line switch to apply an alternate x9 configuration for the validation process.

Command line options

SwitchDescription
-awxAbort when the selected output file already exists. The default action is to allow output files to be overwritten. Setting switch -awx will force an abort instead of overwriting the existing file.
-config:Use a specific x9 configuration. When this parameters is omitted, the file header will be inspected to determine the most appropriate x9 configuration to be used. However, you may also provide a specific “-config:” value. For example, this parameter could be specified as “-config:x9.37″ or “-config:x9.100-187-2008″.
-exto:Defines the output extension to be assigned to the created output x9 file when that file name is not explicitly specified on the command line; default is “new”.
-jA summary JSON file will be created with a suffix of “_summary.json” in the same folder as the output x9 file.
-tA summary text file will be created with a suffix of “_summary.txt” in the same folder as the input x9 file.
-xA summary XML file will be created with a suffix of “_summary.xml” in the same folder as the input x9 file.
-lWill list all x9 records to the system log.
-rnIndicates that nulls are to be repaired to blanks. Defaults to false.
-rfzIndicates that field zero (the four byte record prefix) should be repaired as possible. Defaults to false.
-riIndicates that images should be repaired. Defaults to false.
-rifProvides the fields that are to be included in the repair operation. This is a string of one or more recordType or recordType:fieldNumber values, separated by commas. This list represents all of the fields that are eligible for repair. This list does not identify images, since image repair is indicated separately using the “-ri” switch. Each value in this list is either a recordType or recordType:fieldNumber. When only the record type is provided, then it implies that all fields within that record type are eligible for repair. An example of this repair string might be: -rif:”1,10,20,25.8,70,90,99”. This string indicates that all fields in record types 1, 10, 20, 25, 70, 90, and 99 can be repaired, along with field 25.8 in the type 25 record.
-rxfProvides the fields that are to be excluded from repair operation. This is a string of one or more recordType or recordType:fieldNumber values, separated by commas. This list represents all of the fields that are not eligible for repair. This list does not identify images, since image repair is indicated separately using the “-ri” switch. Each value in this list is either a recordType or recordType:fieldNumber. When only the record type is provided, then it implies that all fields within that record type are eligible for repair. An example of this repair string might be: -rxf:”25.8”. This string indicates that all fields can be repaired except for 25.8, which is to be explicitly excluded.
-rlIndicates that final validation errors will be written to the output CSV file. These errors represent those fields and conditions that are identified after field level repair operations have been applied.
-batchInvokes batch (folder based processing; see that earlier topic for more information.
-workUnit:Assigns command line parameters and files from an xml file that was previously created and saved by the X9Utilities facility within X9Assist. This allows you to easily repeat an X9Assist task directly in X9Utilities batch.

Exit status

Repair sets the same exit status as posted by the validate function.

Error File Columns

The output csv error file is formatted exactly as created by the validate function. There are some additional rows, inserted as the beginning, that summarize the number of image actions that have been taken.

Scroll to Top