Open Source X9.37 Programs

Copyright Norman Graham, 2011, 2010, 2009

The purpose of check exchange is to share.


Open Source X9.37 Program Name Description Other Info
1. Example2Text.exe convert X9.37 to text. Simple C++ Open Source Example Code that converts and x9 file to ascii text. See agentX9.exe for a similar compiled executable if you do not wish to compile yourself.
2. Example2Text.exe
revision 2.0
This enhances the first example. Use pimpl and namespace, also display account number (annex A)

Hide details from the header files, and make things easier to "lib".   This type of hiding is called pimpl or cheshire-cat.   Also use this method for the application class.

Use namespace.

Display account number (annex A rules).

3. Example2Text.exe
revision 3.0
Write the x9.37 Images into files and an inventory file.

The data file contains information about the images in the file.

** This is also included in the "agentX9.exe" executable on this site.

Sample 4  Check tiff files for x9.100.181-2007 compliance.

More coming.  

I'll work on this when I dont have anything else to do.


Additional Notes: The ANSI standards x9.37-dstu-2003 and x9.100, are documents which define tables of "magic" numbers. While this is not cool C++, it is a fact of the x9 world.  Fields have a type, fields have a key, fields have a position, fields have a length, and this is what the X9 standard specifies.    For the most part I've tried to put these magic numbers into tables, but the key then becomes it's own magic number.    Also note: Field postions are not all fixed in the records and therefore interface and implementation get meshed into the classical example of bad design noted by Bootch when he was pushing his "Bootch" notation. This is likely due to the fact that these standards have their roots in old COBOL banking punched cards and the design dates back to the 1960's, perhaps even back as far as the 1950's.   If this standard were started from scratch today, then I have a strong feeling it would be xml.    In some ways the definition of the data cannot exist without the data which is backwards by todays logic.



Valid XHTML 1.0 Transitional