|
November 2010 - Present
A
non-profit organization supported interfaces to its PledgeMaker business
system, many of which were handled using the LockBox utility. Recently, the interfaces consisted of
imports to user data tables not directly supported by LockBox. The LockBox utility permitted these
types of imports, and the user would need to code logic in the LockBox
pre-processor to handle them. In
order to minimize the modifications to the LockBox pre-processor, I developed
an application to permit the user to import a file and process it immediately.
The
application was developed in ASP.NET using C# and would import a file into a
CLOB field in an Oracle database table.
The application permitted the user to browse for the file and had a drop
down list box to indicate the type of import being processed. A job stream was associated with each
import type and execution parameters could also be entered on the screen. When the user had set all the fields on
the form and pressed the import button, the file was imported to the CLOB field
in the table, and the job to process it was submitted to the Oracle job
queue. This interface was used to support
functions such as updating Oracle costs, loading beginning balances for
departmental products, and importing sales transactions from the BookLog
business system.
September 2010 - October 2010
A
manufacturing plant used MAS500 to run its business system. If a routing was updated for a part and
used in other bills of material, the routing was only updated in one place and
the other bills would still point to the prior routing which was now inactive. I developed a .NET program that would
scan all the routings and generate a list of routings where an inactive routing
was being used. The user could
press a button and the system would update these routings to point to the
active standard routing.
It
was possible for sales orders to be entered for items that were
discontinued. The user would not
be aware that the item was discontinued unless it was out of stock. I developed a customization to the
sales order screen that alerted the user that the item was discontinued after
he tabbed off the part number.
An
application had been developed in VB 5 to permit the user to obtain a snapshot
of open orders for a time period versus the capacity to produce for the time
period. The system used an Access
database to handle the parts to be considered, the part families to be
considered, and the production capacity for the part family. The Access database contained tables to
support the system and also linked to the MAS500 SQL server database for sales
orders and parts. The VB5 system
used two versions of the Access database, a network copy and a local copy. Each time the application was launched
by a user, the local database was compared to the network database to determine
if changes had been made to the network database that should be propagated to
the local copy. A custom property named
version was added to the tables and
database to keep track of changes that needed to be propagated.
When
new parts needed to be included in the system, a manual procedure was used to
locate the part item key in MAS500, the part family in the Access database, and
then manually enter the information in the appropriate Access table. The version property of the table and database was updated manually as
well so the changes would be propagated to the local database. The manufacturer embedded the color of
it products in the last few characters of the part number. As new colors were added, the new parts
numbers needed to be manually added to the system. I wrote a .NET program that would permit a user to input a
partial part number and the parts matching it were located in the MAS500 database
as well as the existing parts in the Access database. The user could see which parts were already loaded in the
system and which ones were not. He
could select the ones to be loaded, and with a push of a button, he could load
the parts into the Access database for the part family. The program would also update the version property of the table and the
database so the changes would be propagated to the local database.
July 2010 - August 2010
A
leasing organization was converting from Sage Accpac version 5.4 to 5.6. I had previously developed several
customizations and triggers for the customer that interfaced to several of
their external systems. The external
systems were used to bring in AP transactions, AR transactions, and some
LockBox transactions. The AR
system permitted them to hold AR transactions in a working batch and allowed
additions to be made to the AR batch until all transactions had been
entered. An optional field would
be set indicating the AR record was ready to be processed, and during the next
run, the record would be moved from the working batch to a processing batch and
posted to the system. The systems
used .NET and Accpac COM API objects.
I moved the systems to the latest release of .NET and made the
appropriate modifications to be compatible with version 5.6 of Sage Accpac.
May 2010 - June 2010
A
manufacturing plant used MAS500 as its business system. The plant needed to have several of its
reports customized to include additional information. I modified the reports and worked with them to publish the
new version to the appropriate individuals. The manufacturer had two product lines and sold its products
exclusively through sales reps.
The sales reps were assigned to territories by zip codes, and there
could be two reps assigned to a zip code depending on the product lines they
sold. The list of reps was kept in
an Excel spreadsheet and I had developed a .NET program earlier to update the
reps in the MAS500 system for reps that had been changed in the spreadsheet.
Over
time, it was discovered that reps may not be correct for new customers assigned
in a zip code. The issue was that
personnel may select the incorrect rep when entering a new customer, and since
the rep was not changed in the master rep Excel spreadsheet, the rep number was
not corrected. I developed a .NET
program to change all reps based on the current value of the rep number in the
Excel spreadsheet. This .NET
program was scheduled to run once a month after the nightly backups.
February 2010 - April 2010
A
non-profit organization used PledgeMaker to handle subscriptions, donations,
and pledges. One of the
departments in the organization had an Access database with customer mailing
lists. The customer could be
associated with one or more interests that the organization supported. I matched customer addresses in the
departmental list to customer addresses in the PledgeMaker system in order to
return the customer ID in the PledgeMaker system. I then used the PledgeMaker Lockbox facility to load the
customers in PledgeMaker that were not already loaded in PledgeMaker. I developed procedures to load the
PledgeMaker system with the interests identified by the departmental database
using the PledgeMaker ID number and the interest from the departmental
database.
After
the PledgeMaker database was loaded, I developed a web form in ASP.NET using C#
to permit mailing lists to be requested and emailed to the requestor. The user would log into the system,
request one of the various lists available, apply filters to the list, and
submit it. The list would be
emailed to the requestor. One
filter that was of particular value was the ability to generate lists within a given
mileage range around a zip code.
For example, a conference to be held in Chicago could be sent to
individuals within a 200 mile radius of zip code 60606.
December 2009 - January 2010
A
manufacturer of microscopes had converted its business system and the new
business system did not handle serialized and lot controlled product in the same
manner as the prior system. When
customers called with questions about their microscopes, the technicians needed
to access orders in the prior system to obtain product information, often
including lot or serial number information. The prior system used a BTREIVE database, and the new system
used SQL Server. I developed procedures
to move the data from the prior system to SQL Server. I created a Crystal Report that would permit the technician
to look up orders by customer number, invoice number, order number, or part
number. The lookup permitted input
of individual numbers, ranges of numbers, or multiple individual and ranges of
numbers. I developed a stored procedure
as the source for the Crystal Report that parsed the parameters and returned
the appropriate record set.
August 2009 - November 2009
A retailer who outsourced its distribution sold its products at events held around the country. Products sold at the events were sourced from the distribution center using a special order code. I
modified the Oracle PL/SQL order entry interface to move the inventory required for event sales from the distribution bin location to an event
sales bin location. The inventory for the event was
entered into a point of sale system, and when the event was over, an
export of the sales was created. I developed another PledgeMaker LockBox interface to load the event sales into working tables. I
developed a web form to permit the user to maintain the part number in
the working tables since not all parts sold at the event were stocked. The
web form also contained an option to permit the user to process the
event sales transactions to generate GL and inventory transactions. The
order processing interface was also modified to account for the
inventory that was returned to the distribution site after the event
sale was complete.
July 2009 - August 2009
A medical device manufacturer was replacing several printers used to label its products. The printers being replaced were 15 years old and used a serial interface. The software that printed the labels was custom written in VB and wrote to the printers using the printer command set. The label definitions were stored in an Access database and label data was stored on an AS/400. The new system was developed in Microsoft Access using Label Matrix and the printers were network connected. When
a label was to be printed, label information would be retrieved from
the AS/400, an Access table would be populated with the label data, and
the Label Matrix print utility would be called to print the appropriate
label definition.
April 2009 - June 2009
A
retailer was outsourcing the distribution of its products to a third
party. I developed interfaces between its Oracle and PledgeMaker
business systems to the outsourcing company. The retailer had a web
order entry system and I developed an Oracle stored procedure to send
these orders to the outsourcing company in an XML format using FTP.
The outsourcing company would send back these orders and orders taken
by their personnel and I would create Oracle GL entries for the sales
including commission entries, and Oracle inventory transactions. The
inventory transactions affected a certain bin location so the retailer
could monitor inventory levels at the outsourcing site by looking at
its own inventory records. The outsourcing company charged for its
services using a two tiered approach. I developed a system to enter
the GL transactions into Oracle for these charges. Receipts, purchase
orders, and adjustments were sent from the outsourcing company to the
retailer on a daily basis. These transactions were sent using FTP and
a PledgeMaker lockbox interface was developed to enter them into the
Oracle inventory system and to receive the purchase orders. Several
web forms were developed to review transactions and orders in the
interface tables.
April 2009 - May 2009
I
had developed an accounts payable interface for a railcar leasing
company from its SQL Server custom database into Sage Accpac. Some of
the charges in the payables invoice were actually the responsibility of
the customer and could be billed back to the customer. I modified the
application which created the AP invoices to create a database with
charges that were the responsibility of the customer. I created
another .NET application to generate AR invoices from the charge back
database. The user interface to this application permitted the user to
create invoices for railroad versus non-railroad customers and allowed
the user to select the invoices to create for railroad customers.
February 2009 - March 2009
A
windows and door retailer was upgrading from Sage Accpac 5.2 to Sage
Accpac 5.5. I had written several .NET interfaces to Sage Accpac and
needed to revise them to work with version 5.5. One of the biggest
changes was in the handling of optional fields. In version 5.2 the
optional fields were contained in the Sage Accpac master and detail
tables, while in version 5.5 the optional fields are in tables of their
own. I modified the databases and .NET programs to support the new
version of Sage Accpac.
January 2009
A
plastic part molder was currently acknowledging orders by printing them
out and then faxing the printouts to its customers. Some of the
customers had asked about receiving acknowledgments as an Email. I
modified their SQL database to contain fields to support the Email
process and modified their VB order system to Email them. New fields
were added to the screen to permit the entry of the Email address and
then checkboxes were added to the order print screen to permit the user
to indicate whether the order acknowledgment should be emailed or not.
January 2009
I
had previously developed an interface for a plastics manufacturer from
their custom order system to their QuickBooks accounting system. They
had made some changes to the GL accounts and wanted to change the
accounts associated with parts as they were imported into QuickBooks.
I made the appropriate database changes to handle the new accounts and
modified the import program to use the new account information.
November 2008 - January 2009
A
non-profit was partnering with an external firm and needed to share
customer information with them. I assisted in the conversion of four
DMAS customer files to send to an external organization. I created a
query on the AS/400 to convert all fields in the files to character
format and downloaded them to a PC. I developed the SQL loader control
files and shell scripts to load them into temporary tables. I moved
the data to working tables and in the process I converted the date
fields and set the precision on the numeric fields. I matched the DMAS
customer records to the existing records in PledgeMaker and loaded
those that were not already in PledgeMaker using the Lockbox facility.
I then used the PledgeMaker customer, telephone, and address tables in
conjunction with the DMAS tables and created customer and ship to
records in the format provided by the external organization.
November 2008
I
had previously developed an AR invoice automation program for a railcar
leasing company. This program took information from a SQL server
database containing railcar charges and created AR invoices in a Sage
Accpac system using Sage Accpac APIs. Data fields which do not map
directly from one system to another may be contained in Sage Accpac
optional fields on the appropriate table. The leasing company wanted 3
additional fields added to the AR invoice detail table to facilitate
lookup between the two systems. I modified the .NET program which
creates the AR invoices to add the optional fields.
August 2008 - November 2008
An
audit firm that audits payables from customers to look for
inconsistencies such as duplicate payments and missed discounts was
looking to develop a system for demonstrating their software to
potential customers. I created a virtual machine with their software
and sample data that could be used to demonstrate the features of the
software. The virtual machine is saved on a CD and can be copied to a
PC for use whenever needed. Data can be manipulated during the
demonstration, and then can be refreshed by copying it again from the
CD. The concept was enhanced to use virtual machines to perform
audits. I set up the software to run on a virtual machine and
procedures to integrate next year's data with the present data.
October 2008
A
legal firm was migrating from GroupWise and WordPerfect to Microsoft
Outlook 2007 and Word 2007. One week before implementation, the client
needed classes taught in Word 2007 and Outlook 2007. The one day
classes were customized for the client so they could be condensed to a
half day, and I taught 13 half-day sessions.
July 2008
I
converted an Oracle system of about 15 forms and 10 reports from Forms
version 6 to Forms version 10g. I then documented the procedure for
converting from Oracle forms and reports version 6 to version 10g.
This included configuring the application server and using the report
object. In order to customize the reporting process, a custom table
was created to hold a record for each user. The table contained a
report server name, the report source path, and the report output
path. This permitted different versions of a report to be printed
based on the user ID and to place output files on the server in a
user's secure directory.
June 2008 - July 2008
A
manufacturer of medical instruments was modifying its packs labeling
system, which was written in VB and utilized data from both an Access
database and an AS/400. The proposed labeling system would permit the
user to enter a shop order number into a screen and then the system
would display labeling information for the part number associated with
the shop order. The user would be prompted to mount the proper pouch
size for the pack and then the system would download the label format
to the printer. The system tracked each time a label was printed by
date and user, and a report was developed to provide shop order label
printing history.
January 2008 - June 2008
A
non-profit was streamlining its business processes and making changes
to some of its existing systems and procedures. In January 2008, I
wrote a .NET interface between the web order system in an Oracle
database and the shipping system in a MS SQL server database. The .NET
program read the Oracle web order table looking for records that had
not yet been processed. It would create a record in the MS SQL
shipping table using data from the web order table. When the order was
shipped, the shipping system would create a tracking record in a MS SQL
table. The .NET would read the tracking table and update the web order
with the tracking information.
In March 2008, I wrote an ASP.NET
application to permit members to electronically renew their memberships
from the web. The application would place a record in an Oracle
tracking table for the membership year including a randomly generated
PIN number. An Oracle report was developed to generate a renewal
letter to be sent to a member including his ID number, PIN number, and
a web site address. I wrote the web application to permit the member
to enter his ID number and PIN and renew the membership online and
update his record in the Oracle database.
In May, 2008, I
planned and implemented the PledgeMaker credit card encryption
feature. This included enabling the credit card encryption facility,
running a script to convert all credit cards from human readable to
encrypted format, and modifying all user procedures to use the
encrypted credit card field. The Lockbox import specifications and
procedures were also modified to use encrypted credit card information.
In
June, 2008, I moved the retirement fund records from the S/36 file to
an Access database and then sent the records to a third party
administrator. This included developing Access tables to hold the
data, moving the data to another Access table with decimal fields
properly set, and then exporting the table to an Excel spreadsheet for
transmission to the third party administrator. Several queries were
written to sum the dollar amounts by department to reconcile them with
totals from the S/36 file. The retirement funds withheld from the
payroll system needed to be forward to the third party administrator as
a spreadsheet. I wrote a .NET program to accept a text file from the
payroll system, entered it into an Oracle table, and then used OLE
automation to start Excel and create the spreadsheet from the Oracle
table. The program also created GL transactions for the Oracle GL
system and placed them in the GL interface table.
October 2007 - January 2008
A
manufacturer of medical instruments was modifying its labeling
process. The proposed labeling system would permit the user to enter a
shop order number and then print the labels for the shop order by
pressing a foot pedal to print each label. The label templates were
created using the Label Matrix software package. A barcoded shop order
number would be scanned into the system. The program I created using
VB (Visual Basic) would read shop order information from the AS/400
using an ODBC connection. The part number from the shop order would be
used to access other AS/400 tables to get description information,
language information, and other fields to be printed on the labels such
as temperature range and expiration date. The system would print a
sample label when the shop order was accessed and print a closing label
with label counts when the shop order was closed. An audit report was
available to print shop order statistics.
September 2007 - December 2007
A
floral wholesaler was upgrading its Sage Accpac system and was
implementing the EPOS cash register system to front end the order entry
and invoice process. The EPOS program that placed invoices into the
Sage Accpac did not insert the custom fields at the header level and
did not properly set the accounting information. I wrote a .NET
program to read all EPOS orders, credit orders, and layaway orders that
have not yet been processed through day-end and inserted the
appropriate fields at the header level, changed the GL accounts, and
set the sales rep based on fields in the EPOS order. The .NET program
was later to be executed using the Process Scheduler application. When
the Process Scheduler executed a program, 4 command line parameters
were passed to it. One of the parameters was a log file name. This
log file was written to at the completion of the program with a status
indicating if the process completed successfully or not. I modified
the .NET program to accept the 4 parameters and write to the log file.
The program was also modified to monitor the EPOS directory and would
not start unless the directory was empty.
August 2007 - September 2007
A
manufacturing company was implementing Quick Books as its accounting
system. They had a custom written system to process orders and
invoices. The system was written in VB and the data was stored in an
Access database. I modified the system to produce import files for
Quick Books when invoices were printed, finished goods were placed into
inventory, and items were shipped.
July 2007
An
instrument manufacturer converted from a MAX ERP system to MAS500.
Some of the data from the MAX business system would not migrate to
MAS500 due to incompatibilities between the systems. Therefore, many
personnel had two computers at their desks; one for MAS500 and one for
MAX inquiries. The previous system used a BTRIEVE database on a Novell
server and the company was worried about what would happen to the data
in the event the Novell server went down. I downloaded the data from
the BTRIEVE database tables and loaded the data into a SQL server
database with the same structure as existed in BTRIEVE. The Crystal
Reports that had been written against the BTRIEVE database were
modified to use the SQL database and users now only needed on computer
at their desk.
January 2007 April 2007
A
railcar leasing company had just split off from its parent company and
needed to provide accounting and other services for the new entity.
The Sage Accpac software was installed for accounting. Invoices needed
to be imported for mileage, railroad, and equalization transactions
from another system. I developed a .Net program to read tables in a
custom data base and create A/R invoice batches for these invoices.
Other invoices from a separate source needed to be imported into Sage
Accpac and I wrote a .Net program to create invoices for these
transactions. These invoices, however, were not complete when entered
into the invoice batch. As such, they were entered into a working
batch and updated in the working batch as information concerning the
invoice arrived. When the invoice information was complete, they would
update an optional field value to indicate the invoice was complete,
and run a .Net program I wrote to move the completed invoices from the
working batch to a new batch for processing.
December 2006 March 2007
I
learned the Microsoft CRM 3.0 software package. I installed the system
and made several customizations to it. The customizations included
implementing an assembly into workflow rules and creating new
entities. Custom reports were developed using the new entity and
several Excel pivot table reports were also created. I also taught
8526 Microsoft CRM 3.0 Installation and Configuration course and 8525
Microsoft CRM 3.0 Customization course.
March 2006
I
taught a one week course in RPG for a group of consultants. The course
included RPG III, RPG IV, PRG ILE, and RPG Free. The consultants used
a fourth generation language for most of its development work and the
development tool generated RPG code. The consultants could not
effectively debug their code since they did not know RPG so this course
provided them with the tools to debug their code.
December 2005 October 2006
A
health care facility was implementing the Accpac accounting software
and needed to import invoices from three different sources. I wrote
several custom applications in .NET (VB) to automate this process. The
.NET programs read invoice transaction files and converted them into a
format that could be imported using the Accpac import facility. The
Accpac import API was called by the .NET program and the invoices were
moved to a success or failure directory depending on the results of the
import. Some of the transactions did not contain valid Accpac
information. As the conversion of the data occurred, the Accpac
database was accessed in order to determine if setup information was
available to process the transactions. If the data was present, the
transaction was created normally. If setup information was not
present, default information was used to import the transactions. The
user would complete the setup information and execute a .NET program to
reprocess the data in the Accpac transaction batches.
July 2005 August 2005
A
state Department of Agriculture was implementing ACCPAC as its general
ledger package. The first department to be effected was the Bureau of
Weights and Measures. This department provided inspection and
certification of scales, pumps, and other measuring devices. As
customers were invoiced for their inspections, some did not pay
promptly. A collection procedure was followed in order to track the
customer invoice status as it moved through the collection process.
Status information for each invoice will be tracked using ACCPAC
optional fields at the invoice header level. I wrote an ACCPAC VBA
macro to permit a user to maintain the optional fields in order to
track the status of invoices. I also provided training for users on
Crystal Reports and writing VBA macros.
June 2005 March 2006
A
college was installing a point of sale system and a software package
(CampusVue) to track students. I worked on a project to provide an
interface between CampusVue and the college's ACCPAC General Ledger.
This included writing triggers on the CampusVue MS SQL database as well
as writing triggers on the ACCPAC MS SQL database to keep the two
systems in sync. Transactions were also generated in XML format to
pass information to ACCPAC from CampusVue.
August 2004 June 2005
I
worked on a project for a microscope manufacturer to convert from their
existing MAX business system to MAS500. I helped with the mapping of
data from the existing system to the new system and wrote conversion
programs, queries, and functions to take data from MAX and format it to
be loaded into MAS500. This conversion included migrating the existing
BTRIEVE database to several Access databases on the Novell server. The
Access databases were placed on a Windows 2003 server and queries were
performed to create tables with transaction data that could be exported
to text files and subsequently imported into MAS500 using MAS500 APIs.
I also downloaded data and placed it into a format that could be used
by a keystroke generator (macro) program in order to load data into
MAS500 that was not supported by an API. After the conversion I began
to write custom reports against the MAS500 MS SQL database.
June 2004 December 2006
I
began to work on a project for a state department of transportation to
design and implement a system to replace the existing system used for
collecting licenses, fees, and taxes. The new system used the ACCPAC
General Ledger application on an Oracle database platform. I wrote
several Oracle triggers that enforced business rules, facilitated the
processing of credit cards, updated customer records and invoices when
a check was returned for insufficient funds, and provided a method for
performing modified cash accounting.
March 2004 May 2004
A
corporate holding company was consolidating one of its divisions into
its corporate structure. I wrote programs to convert open purchase
orders from the division's JBA system to the corporate JD Edwards
system. This entailed using the JDE address book to cross-reference
division vendors, using the JDE item file, location file, and constant
file to pick up other necessary information. This conversion was
performed for several business units including a foreign business unit.
I
also converted a stand-alone system that inventoried artwork and
display samples used to exhibit and demonstrate products. This
entailed adding data elements to the JDE data dictionary, using
Software Versions Repository (SVR) to describe files, adding elements
to the JDE User Defined Code Types (UDC) table, and using JDE action
code authority to validate users. The TURNOVER software package was
used to track all objects associated with the system as they were
promoted from test to production.
Specifications
for the conversion and validation of these systems were written in
Microsoft Word. These specifications included mapping documents,
program descriptions, file descriptions, and testing procedures.
Showcase queries and reports, SQL queries, and other AS/400 RPG reports
were developed to assist with system validation.
March 2004
I was asked to serve on the Vatterott College Accounting with Data Processing (ADP) Advisory Committee.
February 2004 June 2004
I
worked with a college on a project to consolidate individual ACCPAC
systems at remote campuses to a centralized ACCPAC system at corporate
headquarters. I customized several ACCPAC screens used in accounts
receivable, payables batch processing, and customer maintenance. The
customizations were written in VB and were used to limit the access of
data so only the campus to which the student was enrolled would be able
to see his information. A trigger was written in the ACCPAC SQL Server
database to place the account set in the description of adjustment
batches.
The
college purchased another school in Texas that used Excel to track
billing for each student. I wrote macros in VB to extract data from
these billing spreadsheets to create credit, debit, and cash
transactions to be entered into ACCPAC.
October 2003 March 2004
I
worked on a project to automate the interfaces between the corporate
information system and an ACCPAC business system for a supplier of
windows and doors located in St. Louis, MO. This entailed developing a
system in VB.NET to read comma separated value files of proposal
information created by the Proposal Writer software package. The
proposals were loaded into a Microsoft SQL Server database for
subsequent acceptance and tracking. As proposals were accepted,
non-company parts would have ACCPAC purchase orders created for them.
Company parts would wait in the database to be acknowledged by the
corporate system. An interface was developed to read the corporate
acknowledgment file, match and accept the proposals, and send them to
the ACCPAC purchasing system.
I
also developed a system in VB.NET to handle accessory inventory. The
system would read a text file of advanced shipping notification (ASN)
information and create a database in SQL Server of accessory items.
These items would be received into the system and await subsequent
issue to a job site. A provision was also made to permit the items to
be sent to a third party for outside processing. Crystal Reports were
developed to track the items and to issue picking and packing tickets
for them.
A
third system was also developed in VB.NET to track sales for sales
people. It provided a means to set yearly sales goals for sales people
on a weekly basis, and then track the actual sales to the sales goal.
Profit margin dollars and percents were also tracked with the system.
August 2003
Participated
in a four week program for the University of Phoenix and became
certified to teach in their Online program. I began to teach online
(WEB) classes for them.
March 2003
I
developed a customer contact management system for a supply company
located in St. Louis, MO. The system provided the company the ability
to maintain customer information and follow-up information on its
customers. They have the ability to enter data on tabs that are used
to organize the information for the customer. There is a tab for call
logs that is used to track phone calls and visits to the customer
site. There is a customer profile tab that describes the customer's
business. There is a tab for comments about the customer, another one
that identifies the types of products the customer purchases, and
another that tracks competitive information.
March 5-7, 2003
Received training at Computer Associates in Plano, TX, to become a Visual Basic developer for the ACCPAC software product.
June 2001 Present
Provided
consulting and programming services for a plastic molding company
located in St. Louis, MO. The company had converted its order system
from dBase to Visual Basic and Access and their programmer left. I
supported the system and provided enhancements to it. I developed
Crystal reports and automated several paper intensive functions such as
scheduling cards and standards review board forms. I also helped
during the relocation of the business with support for the network and
workstations. I migrated the software from VB 5 to VB 6 and the
database from Access 97 to Access 2000.
January 2001
Passed the examination to become a certified VBA developer for the Great Plains Dynamics software product.
June 2000 Present
Worked
on the implementation of Oracle and PledgeMaker for the World
Headquarters of a religious organization located in St. Louis, MO. I
was initially involved with converting data from several custom written
systems and DMAS running on an AS/400 computer and a S/36 computer. I
wrote programs to load data into batches for importing into Oracle
using SQL loader. I also loaded data directly into Oracle tables using
Microsoft Access queries with an ODBC connection.
After
the conversion effort was over I began to develop programs in PL/SQL,
SQL, Form Builder and Report builder to support, enhance, and interface
the two applications. I wrote programs to bring transactions into many
of the Oracle open interface tables such as GL, projects, inventory,
AP, and bank statements for reconciliation. I also wrote programs to
extract data from Oracle tables and place it into a format for
importing into other custom applications such as the Access system that
printed certificates.
I
wrote database triggers, fine grain security predicate statements, and
developed procedures to send E-mail messages. I used a Gateway to gain
access to a SQL server database containing time clock information for
interfacing to Oracle. I also used database packages to send E-mail
using SMTP and to send E-mail with attachments using the OLE package to
interface to the local Outlook E-mail system. I wrote CL programs on
the AS/400 and shell scripts on the UNIX server to FTP files between
the two systems to keep inventory records reconciled.
In
October, 2002, I wrote a system that interfaces to the PrimeTime time
clock system. The system used an Oracle Gateway database to point to
the SQL server time clock database and the local Oracle database. The
system retrieved time clock punches from the SQL server and computed
the hours to be paid to the employee. It provided the ability to enter
holiday, vacation, sick, and extra pay into the system as well as to
maintain the amount of hours to be paid. Edit reports were written to
assist with data maintenance, and an export function was provided to
create transactions to be sent to Oracle payroll as well as the
existing payroll system running on the AS/400.
In
January, 2003, I began a project to automate the processing of monthly
allotment transactions for the Foreign Missions Department. This
allotment process is likened to a payroll for Foreign Missions. The
system needed to handle a monthly support amount (paycheck) as well as
provide the ability to handle other transactions such as housing
allowances, COLA adjustments, retirement payments, school allowances,
and deductions and additions to other projects or items such as Bible
Schools, libraries, car insurance, telephones, etc.
The
allotment process is performed on a monthly basis and there are about
1200 transactions that are created and sent each month. The
transactions are sent as invoices to Accounts Payables through the open
interface file and are imported into the Oracle system. They are then
processed and payments are made by check, by wire, and by electronics
funds transfers. Some of these transactions hit Oracle Projects, and
they are coded in such a way that W2 information may be generated from
them. The prior system took 3 people 5 days to perform the allotment
function, and the new system takes 3 people about a half day to perform
the allotment function. The new system also provides superior
reporting capabilities.
In
October, 2003, I began a project to automate the Canadian Self
Employment tax payment calculation. Each month an estimated tax
payment needs to be made by the Canadian missionaries to the Canadian
government. Spreadsheets had been used to perform the function and
there was one spreadsheet for each missionary and spouse. Each year
all spreadsheets were modified to reflect changes in tax code
percentages and exemption amounts. The new system provided tables for
maintaining tax codes and forms for maintaining missionary tax
information. It provided a user interface to retrieve expenditures
from the projects tables that had tax implications, process them, and
create a PDF report file and an Excel spreadsheet that could be sent to
the Canadian representative to be used for filing the taxes and sending
the Self Employment tax payments to the Canadian government.
In
June 2004, I wrote an application to print registration badges. The
church was holding conferences throughout the United States and needed
a method to print registration badges at the remote locations.
Registration information was contained in an Oracle database located in
St. Louis, MO. A web application was developed to select records that
had not yet been printed and place them in a text file on the web
server. I wrote an application in Microsoft Access to print the
badges. The application provided the following features and
functions: accessed the web page to create the text file of
registrations to be printed; used FTP to transfer the text file from
the remote site to the local PC; imported the text file into an Access
table for printing; printed the badges in batches. The application
was parameter driven to support printing for various conferences, batch
sizes, file names, and file locations.
From
November, 2004, through December, 2004, I worked on a conversion of the
PledgeMaker software. This included modifying programs to use the new
batch tables, modifying triggers, modifying LockBox definitions and
procedures to use the new tables, and writing the user custom posting
routine for posting pledge transaction batches.
January 2000 May 2000
Provided
consulting and programming services for a manufacturer of scales that
was located in Chicago, IL. I worked on a project to stabilize the
implementation of JD Edwards and its associated EDI transactions using
the Harbinger EDI translator. I provided mapping services and
programming services to enhance the functionality of JD Edwards and
satisfy customer requirements for orders, shipping transactions, and
invoices. I developed several SQL script utilities to move orders,
shipping notices, and invoices from one environment to another for
testing. I also documented the EDI order processing flow to facilitate
the testing process.
December 1999
Taught
a two-week course in COBOL for a state government agency. The course
was aimed at new employees and was designed to give them a strong
foundation in the COBOL language as well as with sequential and indexed
files. They were also taught how to use Panvalet to submit JCL job
streams and to view and print their programs and output from within
Panvalet.
November 1999 December 1999
Worked
with the Foreign Missions Division of a religious organization located
in St. Louis, MO, to develop a system for printing certificates of
appreciation. Several certificate forms were developed containing
pictures, graphics, and text fields depending on the type of missionary
being supported. Each certificate was printed in its entirety on a
blank sheet of paper using a color laser printer. The system permitted
a user to select the group of certificates to be printed using various
selection criteria. During the print process, the certificates were
grouped by mailing address, the appropriate certificate type was
generated, and a mailing label was printed after the last certificate
for an address was processed. The certificates were stuffed into a
window envelop along with the label and were ready for mailing. The
new system greatly reduced the handling and costs associated with
printing 65,000 certificates.
September 1999 October 1999
Worked
on the development of EDI 820 electronic funds transfers for a shipping
company located in Greenwich, CT. The funds transactions were
generated by JD Edwards in five operating environments. They were
placed in intermediate files and read by the Extol EDI package for
mapping to Citibank. There were four types of transaction sets that
were created based on the type of wire transfer that was being sent.
Data transmissions were all encrypted using a black box encryption
device. Passwords were required to validate all communications
sessions and were required to be changed every thirty days. I
developed maps, Extol custom conversion routines, and a system to
automate the changing of the password.
June 1999 September 1999
Worked
on the implementation of Dynamics for a Chesterfield, MO, company that
refurbishes and repairs aircraft. I developed an interface from
Dynamics into their custom Work Order system that was written in
Microsoft Access. The interface added items to a work order as
purchase orders were entered into Dynamics. It also tracked parts that
were sent out to other vendors for repair (sublet parts) and updated
the Access Work Order system with the cost of these parts as they were
received. I also developed an interface from the Access Work Order
system to send invoices from Access to Dynamics by creating invoice
batches in Dynamics. The Dynamics interface and Access interface were
developed using Visual Basic and ODBC connectivity.
December 1998
Provided
programming services for a window distribution company in St. Louis,
MO, to modify the processing of commissions by their Dynamics business
system. Dynamics supports Visual Basic for Applications (VBA) and I
enhanced the invoice creation process to generate commissions based on
customer requirements using VBA. I also wrote several Crystal Reports
for management.
August 1998 June 1999
Provided
consulting and programming services for a Chicago, IL, manufacturer of
smoke detection devices. I performed mapping functions for EDI
transactions to upgrade trading partners to version 4010, a Y2K
compliant version of EDI. I modified JBA programs and custom written
programs to support release 3.5 of JBA. I also taught Visual Basic 6
courses for the Information Systems Department. I worked with a member
of the IT staff to develop an Excel function using VB commands to
generate a text file that would be used to generate an AS/400 Client
Access data entry macro to update a customer database. Monarch was
also used to format AS/400 print file data so it could be loaded into a
PC based system.
April 1998 May 1999
Designed
and developed a Visual Basic 5 program for a grocery chain located in
St. Louis, MO, to interface a point of sale system into a General
Ledger system. The POS system created an ASCII text report file with
account totals that needed to be imported into the GL system. The VB
program used an Access database to hold configuration data for the
stores, data offsets into the report file for GL account names, and a
cross-reference table for converting POS account names to GL account
numbers. The POS system was replaced with a new version and the VB
program was updated to version 6 when modifications were made to it to
process the new text file report formats. The VB program used radio
buttons, command line parameters, and the printer object.
August 1997 June 1998
Provided
consulting and programming services for a manufacturer of medical
devices located in St. Louis, MO, to develop a labeling system. The
system had to satisfy ISO 9000 and FDA requirements for labeling. The
system had to be able to access data in real-time from an AS/400 that
contained labeling information. The system read and maintained a
Microsoft Access label specification database residing on a Novell
network. It also provided drivers for three different printers: a
label printer only; a label printer that printed labels then applied
them to a box; and a label printer that printed on plastics bags that
were subsequently filled with product, heat sealed, and then cut. The
system was developed in Visual Basic 5. It used ODBC and RDA objects
to access data on the AS/400 and the Access database. Visual Basic
classes were developed to define label properties, field properties,
and printer drivers. Command line parameters were used to customize
each workstation at startup to select the appropriate printer type.
Collections were used to hold data internally that was needed to build
the printer commands. The MSCOMM control was used to write to the
serial printer devices. The system also had to download fonts and
bitmaps for each device type to properly print text and graphics on the
labels.
March 1997 December 1998
Provided
consulting and programming services for the World Headquarters of a
religious organization located in St. Louis, MO. I served as a member
of a project team to evaluate hardware and software solutions for a
business system to run the ten diverse divisions of the church. I also
provided consulting and programming services for the Foreign Missions
Division to install a network and to develop a Microsoft Access
database that could be used to run its business. Data from the
churchs AS/400 would be uploaded daily to a PC in the Foreign Missions
department. I wrote a Visual Basic 5 program to upload the data. The
data would either be in an AS/400 report format or would be a fixed
width data file. An Access table was used to determine which
processing routine to execute based on the name of the AS/400 data
file. The Microsoft Jet Engine and its associated database objects
were used to connect the Access database to the VB application. SQL
statements were used to access the tables to insert, update, and delete
records. Visual Basic command line parameters were used to automate
the process and the user could click an icon on the desktop that
contained the appropriate configuration commands. A series of about 10
Crystal Reports were compiled and installed on users PCs to provide
the ability to access, sort, and filter the data. I also assisted
another programmer with Access macros and functions on this database
and several other Access databases that she had developed.
May 1995 April 1997
Provided
design and programming services for an electrical equipment
manufacturer located in Fayetteville, NC, to develop an engineering
system for the Enclosed Control product line. The engineering portion
of the system was written on the PC in FoxPro for Windows and was used
to convert a smart catalog number consisting of over a million possible
combinations into a bill of material. This bill of material would be
printed for the shop and would be passed to the AS/400 for processing
as a MAPICS batch. Labels would also be created and passed to the
AS/400 for storage. When the labels for the order were requested, they
would be placed on an AS/400 shared folder. A Visual Basic 4 program
used a timer control to monitor the AS/400 shared folder for the
presence of labels, and would send them to the appropriate Weber
printer for printing. The Visual Basic program used INI files for
determining which forms were mounted in the four printers, and used
asynchronous processing to start a DOS batch file that was built by the
VB program to ultimately print the labels. This system won a corporate
award for its impact on the business process.
A modification
center had been built at the plant to handle quick turn-around
products. The mod center would assemble common generic products that
could easily be modified by the addition of lights, pushbuttons, or
meters. The Product Line Manager had developed an Excel spreadsheet
with a series of about 30 tables that could be used to determine which
catalog numbers fell into the mod category, which assembly would be
used as the base to modify, and what parts to use to create the end
product. I developed Excel macros using Visual Basic for Applications
to automate this process. The macros contained more than 2000 lines of
VB code. Each of the 1400 base assemblies had to be loaded into the
MAPICS product structure file on the AS/400. I developed another macro
using VBA to build a sequential file containing the transactions needed
to load the item master and product structure files.
August 1994 April 1995
Designed
and developed AS/400 RPG programs to manage complaints for an
intraocular lens company located in Clearwater, FL. The system was
used to follow inquiries concerning products and to determine if the
inquiry was considered to be a complaint by FDA guidelines. If the
inquiry were considered to be a complaint, MDR reports would be
generated using information gathered from the inquiry. This system
also interfaced to a dBase system that tracked serial numbers and lots
to determine if a problem was an isolated case or may be related to an
entire lot. Monarch was used to extract data from the AS/400 to be
sent to the dBase system for review.
March 1994 June 1999
Provided
consulting services for a microscope manufacturer to assist with
selecting hardware and software to run their business system. Also
assisted with the implementation of the business system, including
training, conversion program specification, and network support.
Continued to support the company by writing more than 150 Crystal
Reports to manage their business. Wrote several applications in Visual
Basic 3 to enhance their business system. These applications included
a system to cost their bills of material using data from the business
system, from an Excel worksheet, and from a FoxPro database; a system
to help them forecast using quantity projections contained in an Excel
spreadsheet that were massaged to match financial projections; a system
to help schedule manufacturing based on the availability of required
documents such as purchase orders, deposits, letters of credit, etc.
The Visual Basic programs used database objects to access BTRIEVE,
Microsoft Access, and FoxPro databases and used OLE automation to start
and access Excel applications and objects.
January 1994 February 1995
Taught classes in Word, Excel, Visual Basic 3, and Visual Basic 4 at a community college.
August 1993 April 1994
Wrote
COBOL programs on an IBM mainframe for an electrical equipment
manufacturer in Muncie, Indiana, to receive EDI purchase orders (850
transactions). These transactions were used to build intermediate
files that loaded customer orders into a Dunn & Bradstreet business
system. Also wrote COBOL programs to build the intermediate invoice
files. Wrote reconciliation reports for the transaction sets using
EASYTRIEVE.
August 1992 September 1993
Provided
consulting services for an electrical equipment repair facility in
Pittsburgh, PA, to help them select hardware and software for
processing their business. Also wrote a disaster/recovery plan for
their network and arranged for off-site backup of their AS/400 system
backups.
August 1992 September 1992
Wrote
dBase programs for a company to track consignment inventory of
intraocular lenses. An issue of a lens from consignment inventory
would occur by wanding a bar-coded serial number. This would result in
an invoice being generated for the sale of the lens as well as a
replenishment order being issued for a replacement. These transactions
were transmitted to an AS/400 by modem for processing. Replenishment
order information was also transmitted to the dBase program by modem
and receipt processing occurred by reconciling the items received to
the electronic replenishment on a serial number basis.
November 1991 September 1992
Wrote
COBOL programs on a DEX VAX platform for an electrical equipment
manufacturer to accept EDI invoices (810 transactions). These
transactions were written to a VAX database for matching against
purchase orders and receivers and loaded into the accounts payable
system if they matched. Also wrote FoxPro programs on the DEC VAX to
interface the invoice information to the FoxPro shipping system.
February 1991 October 1991
Wrote
COBOL programs on a DEC VAX for a transformer manufacturer to accept
EDI purchase orders (850 transactions) and change orders (860
transactions). These transaction sets built data files that were input
to their order entry system for processing. Used SQL commands to
create views and procedures to produce reports and queries for users.
July 1990 January 1991
Wrote
course material and taught classes for a community College. Topics
included AS/400 command language (CL), Office/400, and RPG/400.
July 1990 October 1991
Performed CAD drafting for an electrical manufacturer. Four drafters were employed to do electrical drawings.
|