Medicine Monitor Conversion Assistant C# Program to Assist with Data Conversions
ca.cs | caAnalyze.cs | caGraph.cs | caReports.cs | caTables.cs | caTools.cs | caUtils.cs | caValidations.cs | makefile |

I coded Conversion Assistant when migrating several companies to a new billing system. A conversion process converted the legacy data into a new format stored in a DB2 database. The Conversion Assistant was used during the conversion process to monitor table population and run automated integrity checks. It also contained a number of balancing and audit reports. The program had the ability switch between databases by clicking in a tree view of databases. There was a GUI screen for transferring (FTP) files and a documentation section that contained instructions for running the entire conversion process.

I did not have Visual Studio available, so I used Microsoft Visual C# 2005 Command Line Compiler version 8.00.50727.42 (csc.exe). I used a make file to control the build process. The IBM data service provider (IBM.Data.DB2.dll) was included in the build.

Main Screen

Shows connection to a database at version 2.5.10.  Database functions enabled. 

Clicking on a database in the tree view will connect to that database.  Once connected, the company name and number are displayed in the title bar.  Also, the database name and version numbers are displayed  in the status bar at the bottom of the screen. Once connected, the database menu options and icons are enabled for the database functions.

Clicking on another database in the tree view will disconnect from the current database and connect to the new database. Clicking on the root node ("databases") will disconnect from all databases.

Table Population Screen

Table population bar and pie charts for tables by category.  Populated table counts also given.

Fully converted database.

AC = Customer Tables Populated /  Total Number of Customer Tables.
CO = Company Tables Populated /  Total Number of Company Tables.

First column of list boxes contains the name of all populated tables with their row counts.
Second column of list boxes contains the name of all tables which are not populated.

Bar graph shows the percentage of each category of tables that are populated.  Also listed above, e.g. 77 populated/168 total.

Table Population Screen

An empty database -- before any data was converted.

Invoice Date Report

Report of the invoice dates for a converted post bill database.  Contains logic to test if the various invoice dates are in sync.

Balance Report

Balance report for a converted post bill database.

Charge Report

Charge counts and amounts for a converted post bill database.

General Information Report

A quick check of Plant, Trouble, Patronage, products, white pages and other table counts.

FTP Download from Unix to Local PC

Automated process for pulling files from Unix to local pc. Conversions are run on Unix while the programs are developed on the PC.  We frequently pull files down to the PC for program testing and to view using WINSQL through a Transoft ODBC driver.


Database Validations

Allows selection of database validations to be executed.

Company Table Analysis

Answers a set of questions concerning the data in the company tables.   The question mark icons means the answer is information.  Check mark icon means data is as expected.  Yellow exclamation mark is a warning. Red exclamation mark is an error.  Also have analysis for other table groups (System, SP, etc.).

Help - About Screen

Displays version number,  date, and author.