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 Configuration | Usage |
---|---|
x9.dstu-no-field-validations | File level structural validations are applied with minimal field validations. |
x9.37 | The 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-2006 | The 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-2008 | The x9.100-187-2008 standard which is widely accepted through the industry. |
x9.100-187_UCD-2008 | The x9.100-187-2008 standard with the associated Universal Companion Document applied. This standard is widely accepted by many financial institutions. |
x9.100-187-2016 | The 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-2018 | The x9.100-187-2016 standard with the associated Universal Companion Document applied. This standard is increasingly accepted by many financial institutions. |
x9.CPA_015 | The Canadian CPA 015 standard which is based on x9.100-187-2006 and is implemented within Canada. |
x9.Frb | The 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:
Column | Content | Notes |
---|---|---|
1 | X9 record number | Record number within the x9 file where the error occurred. |
2 | Record type | X9 record type or 8888 if the error is related to an image within a type 52 record. |
3 | Field number | X9 field number or 9999 if the error. |
4 | Field name | Field name associated with the error. |
5 | Error name | Internally 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. |
6 | Error severity | Error severity (severe, error, warn, or info). |
7 | Message text | Error message text. |
8 | Supplemental Information | Supplemental 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
Switch | Description |
-awx | Abort 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”. |
-j | A summary JSON file will be created with a suffix of “_summary.json” in the same folder as the output x9 file. |
-t | A summary text file will be created with a suffix of “_summary.txt” in the same folder as the input x9 file. |
-x | A summary XML file will be created with a suffix of “_summary.xml” in the same folder as the input x9 file. |
-l | Will list all x9 records to the system log. |
-rn | Indicates that nulls are to be repaired to blanks. Defaults to false. |
-rfz | Indicates that field zero (the four byte record prefix) should be repaired as possible. Defaults to false. |
-ri | Indicates that images should be repaired. Defaults to false. |
-rif | Provides 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. |
-rxf | Provides 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. |
-rl | Indicates 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. |
-batch | Invokes 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.