X9Utilities Update and Split are parameter driven tools that can manipulate and process existing x9.37 files. These tools are parameter driven, where they use an input xml file which allows operations to be targeted to specific record types and fields that then contain specific values. This is done using either a values list, or a more complex RegEx string that allows defines a matching string to be applied to the field value. In this manner, detailed operations can be fully controlled at the field level. If you have the need for update and/or split processing, we will work with you on your initial XML definitions, which will ensure your successful use of our tools.
X9Utilities Update
Update allows the content of specific fields within an existing x9.37 file to be updated subject to their current value. Update can be run against either forward presentment or returns files. Update is designed to allow individual fields to be updated, perhaps as needed by a downstream application or another processor.
Update operates on a file-in and file-out basis. All fields within the x9.37 file are eligible for update. This operation can be as simple as replacing the content of a field with another value, or replacing only certain values with a new value. However, it can be more complex, such as:
- Altering a certain digits or characters against a matching value (using a mask) a d then replacing that with some other new value.
- Replacing the value of a given field with a look-back value from an earlier record occurrence. For example, update bundle header fields from values that might exist in either the file header or cash letter header.
- Performing a table lookup using values from earlier record occurrences. For example, updating the payor deposit routing number in an addenda record using an external file, where that assignment is defined by item sequence number and amount.
On completion of each run, a summary report is produced that outlines the before-after value combinations that have been updated for this processing run.
X9Utilities Split
Split allows the items within an existing x9.37 file to be divided into a variable number of output x9.37 files. Split can be run against either forward presentment or returns files. Split is designed to allow the items within a file to be divided for subsequent redistribution. This can be especially useful for return files, where those files must be divided for subsequent processing within your organization.
Split operates against a single input file, while creating multiple output files. The input file can be split based on any field within the various header records (file header, cash letter header, or bundle header), or within the individual items themselves. A logical split-key is created from user defined input fields, where all items that are associated within a unique key are then written to a user defined output file. An optional catch-all file can be defined which will contain all unselected items.
Split will automatically recompute trailer record totals (counts and amounts) based on the items that included in each respective output file. Summary totals can be optionally written in either text or XML format for each created output file.
X9Utilities Import
Import reads a CSV file and then writes the individual data records to an output x9 file. Import is the exact opposite of our Export tool. You can use Export output as Import input. You should take a detailed look at the output CSV that is created by X9Assist Export using the “records and fields” layout, which is the layout that must be provided to the Import function.
Additionally, Import is utilized by our standard Make/Generate function to load the finalized x9.37 file, once all records and fields have been populated. As part of this overall process, Import has the responsibility of drawing images from our templates. This is possible because Make/Generate provides information within a “<<di>>” draw image string that instructs import as to how the image should be drawn.
As a result of this, field 52.19 is populated in one of these two manners:
- a fully qualified image name, enclosed in quote marks, with forward file separators;
- or a <<di>> string that directs import to draw an image from a template.
A typical <<di>> string is formatted as follows:
<<di|amount=20518|language=English|format=business3|na=[default]|na=[default]|na=[default]|na=[default]|micr=C18*459C A017770019A 34450778C B0000020518B|serial=18459|payee=Test Transaction|memo=ISN: 44000020|bank=[default]|signature=[default]>>
In the above example, the default values are assigned from the X9Assist options xml file. We would recommend that you do not do that, but instead provide explicit values for all fields.