Perry Abrams
Skokie, IL 60076 abocbk@r.postjobfree.com cell:
PROFESSIONAL PROFILE
Software Engineer, Computer Systems Design, Programmer Analyst, Corporate
"trouble shooter" for software development problems.
STRENGTHS
. Seasoned professional with extensive experience in creation,
maintenance and enhancement of commercial software in Insurance,
Distribution, Manufacturing, Banking and Software Development
industries.
. Specializes in translating business needs to successful computer
systems.
PROFESSIONAL EXPERIENCE
Software Support
NCH Marketing Services 09/2010- 4/30/2012
155 N. Pfingsten Road
Deerfield, IL 60015
NCH Marketing Services specializes in the processing of retail store
coupons. They receive shipments of coupons submitted by retailers in one of
three processing plants in Mexico. They scan the coupons and the
Electronic data from this operation is sent to Deerfield for storage in
their database, and further processing. This processing results is a
payment to the retailer and a bill presented to the manufacturer who
sponsored the coupon offer.
Assisted with conversion from IBM Mainframe to Windows Server using Micro
Focus Mainframe Express and Microfocus Cobol..
1. PKZIP / PKUNZIP / FTP
Modified PKZIP / PKUNZIP / FTP wrapper programs for Main Frame Express.
These wrapped programs allowed standard IBM JCL to invoke PKZIP, PKUNZIP
and FTP routines.
1. Created routines to trace MVS Control Blocks in order to make JCL data
available to Cobol programs. This also included: the Job Number, Step
Number, Step Name and DSN information.
2. Printer Exits
Created user exit programs (called as data is being printed after batch
job terminates). These programs created up to three control records at
the head of print files destined to be printed on the Xerox printer via
the Barr Enterprise Print Server. Some print files were formatted as FBM
(3211 carriage control) in various record lengths. Some are formatted as
line sequential files in various record lengths with ASA carriage
control. Created several user exit programs to handle the various print
options. Enhanced these programs to split one input print file into one
or more output files depending on the presence of a SEGMENT command in
the print file. These programs were also used to prepare print files to
be displayed on the web. Wrote special printer exits to store one copy of
each output print file with multiple index rows inserted into a SQL table
to allow on-line retrieval by print class.
3. Printer Programs
Converted 20 BAL routines to COBOL. These routines used standard FCB
layouts to determine when the application program had processed enough
print lines to fill up the current print page. When this happened, the
print routine sent a signal back to the application program so that it
could execute end of page processing.
4. Created various routines, in Microfocus Cobol, to read the Mainframe
Express Catalog and to determine the dsnames and other data such as job
name, step name, job number, step number, step parameter, etc. available
to the current job.
5. Enhanced print programs to add additional data needed by Barr Enterprise
Print Server to the output print files. This included FCB entries and
DJDE entries needed for Xerox printing.
6. Modified a JCL Exit (a COBOL system routine provided by Microfocus),-
MFJUXIT, to inspect the return codes from the job steps within a job. If
a job runs normally, except that a return code value of 4 is returned
from an IDCAMS or SORT step, then the overall job return code is set to
zero.
7. Researched ESMSSQL, a MS Sql Server Resource Manager, used with Micro
Focus Enterprise Express to bridge the gap between CICS programs and MS
Sql Server Databases. Determined the problem was abandoned programs with
open updateable cursors. These programs persisted locks on records and
could only be killed by bringing the CICS region down and then up.
Several solutions were available. Specifying, via compiler directive,
that cursors were to be treated as "read only" by default (removing the
locking problem). The problem of orphan programs remained to be dealt
with. Eventually it was determined that the problem was abated when the
close connection command included the connection name.
8. Created a C# program, via Visual Studio, to convert flat sequential
files to PDF format.
9. Created command file scripts to load and unload MS SQL Server data from
and to flat files. I n addition, prepared DDL commands to modify the
layout a subset of the tables. This DDL replaced DECIMAL primary key
attributes with INT or BIGINT attributes, so that table scans would be
eliminated. The process was: unload the data to a flat file, drop and re-
create the table using the DDL script, and then re-load the data from the
flat file.
10. Created programs, in Microfocus Cobol, to convert print files to line
sequential files (each line ending with x'0a0d') in such a way that they
could be displayed via a web application. It was done to eliminate the
printing of small daily reports at the central print site. People who
needed to view the data could do so via an Internet application that
allowed them to view the data and print the reports locally if needed.
11. Created perl programs, running under CYGWIN, to modify 368 CICS
programs. These programs were modified to change CALLs to LINK commands
where the programs transferred control to a master database access
program.
12. Created perl programs, running under CYGWIN, to modify 1380 database
access programs to receive their data from DFHCOMMAREA instead of various
areas in LINKAGE SECTION. These perl programs also modified the COBOL
programs to save working storage on exit and restore working storage on
entrance using READQ TS /WRITEQ TS commands..
13. Created a perl program to accept database names and to display
associated Views. The Database attributes associated with the Table Name
was then displayed. This program also displayed the names of the DB Entry
(data access) programs associated with the Table Name.
14. Created a perl program to display all of the available databases
names. The user then selected a database and all of tables names
contained within that database was displayed. The user could then select
a table name and the attributes belonging to that table were displayed.
15. Created a document listing all of the SQL Server Tables that contained
Decimal Attributes in the Primary Key. Detailed all of: the DOS Command
files needed to export and import the data; the command files to modify
the table definitions; the format files needed; the Data Entry programs
that used each table; and the exact host variable changes needed to cope
with changes to the attribute types. I tested this document by executing
the scripts detailed in the document and actually converting the tables
on my local machine. Until a production test machine was available, my
machine was the only one that contained converted programs and converted
database data.
16. Created a system, written in COBOL, to extract data from NCH job
libraries, JCL libraries and various program libraries. These data were
used to create tables in a MetaData database. These tables allowed access
to the database, table, attributes hierarchy. In addition, I created a
perl program that asked for a table name and displayed the names of the
database access programs that accessed that database. Created an
additional program that asked for the name of a copybook and displayed
the names of the programs that use that copybook.
17. Enhanced a system written in C++ that is used to process coupons in
three Mexican plants. These programs were written over 20 years ago to
run on DOS personal computers. Modified a program called WinServ4. This
program accesses data from a MS SQL Server database and reads same into
core. When a request is received for a particular Manufacturer's data,
that data is copied from memory and sent via a socket service to the
requester. This system requires data to be processed on DOS systems and
so it is not possible to use a modern IDE to modify, compile and debug
the system. This is a complex system that has been modified extensively
over the years. I was able to cope with this system even though my C and
C++ was very rusty. Additional data was added to the result set prepared
via a stored procedure that is loaded when the program starts up. That
data is subsequently stored and recalled when requested.
18. Enhanced a Visual C# program that scans coupon barcodes and scans
coupons in the three Mexican plants. This program was very complex and
the enhancement involved storing additional data in a SQL Server table
that is used to prepare a management report indicating expired coupons.
Application Support
Patriot Technologies Inc. 11/2008-
09/2010
1150 First Ave. Suite 910;
King of Prussia, PA 19406
Phone: 610-***-****
http://www.patriottechnologies.net
N.B. On November 11, 2009 Patriot Technologies was acquired by Harris Corp
of Melbourne FL
On Site at:
Hines OI&T Field Office (OO50P4F)
Edward Hines Jr VA Hospital
P.O. Box 7008
Building 37 Room 128
Hines, IL 60141
Start Date: 11/24/08 @ Hines, Veteran's Hospital
Supported various VA national, clinical systems: including BR (Blind
Rehabilitation) and VEBECS (Blood Bank Processing) Systems. These were
replacement systems for functionality originally written in MUMPS. These
replacement systems used Oracle and MS SQL Server Databases, but in all
cases referred back to the original VistA, databases written in MUMPS, to
access the latest and greatest version of the truth. Learned MUMPS, and
FileMan in order to deal with client support issues. Used MS SQL Server and
Oracle skills to track errors and create user specified reports. Learned a
bit about the VA's VistA system. Attended a VistA Foundations class in Bay
Pines, FL.
Created scripts to run PSDUpdater reports. Created routines to compute
"Blood Donation Number Check Digit" according to ISO 7064 rules. These
routines were written in C and in Visual Basic for Applications(with
Excel). Taught VA personnel to use Visual Basic for Applications to prepare
logic for Remedy reports.
Studied the Power Shell facility, by Microsoft, which comes standard with
SQL Server 2008.Was interested in creating a script that would copy a
specified file to a specified output directory with a suffix, consisting of
YYYYMMDDHHMMSS representing a date time stamp, to the file name. This task
cannot be easily accomplished using DOS scripting. It could be done using
C, or perl or perhaps AWK. These facilities are not normally available with
MS SQL Server. To load them onto a VBECS server designated as a "Medical
Device" requires the agreement of the FDA followed by a program of testing
to insure that the functioning of the VBECS Blood Bank System has not been
altered. By using Power Shell we are attempting to avoid that re-
certification task. Wrote and tested a Power Shell script that
accomplishes this task.
Studied perl and Python and TCL on my own to enhance my capabilities.
Investigated the facilities in perl to connect to an Oracle database. Wrote
many routines in PL/SQL, SQL*Plus and SQL to report on Blind Rehabilitation
System data. Consulted with Blind Rehabilitation management to assist with
the creation of SQL reports. Used T-SQL and a MS SQL Server database to
prepare reports and to trace trouble calls for the VBECS Blood Bank system.
Studied Microsoft High Availability Clusters to provide automatic failover
for the VBECS Blood Bank System.
User Liaison
NCI Information Systems Inc. 11/2007 -
9/08
11730 Plaza America Drive Suite 700
Reston VA 20019
Phone: 703-***-****
Supported re-hosting effort (Honeywell/Bull to Sun Solaris) at Hines
Veteran's Hospital near Maywood, IL. Learned about new system and taught
VA personnel about the new UNIX system. Used Micro Focus COBOL, Java, and
teaching experience to transfer knowledge to VA personnel.
Created a series of 4 documents answering VA questions about new Sun
Solaris computer system, re-hosted computer programs, setup of their new
computing environment and details of first converted subsystem, Payment
History. Included tips on how to customize UNIX directories for individual
needs, etc.
Taught classes to VA personnel on: UNIX, Micro Focus COBOL and how to deal
with new Sun computing environment.
Taught myself how to program in 'perl'. Created program transforming data
stored in 97 Excel spreadsheets into files to be loaded, via sql Loader,
into Oracle database table. Data in Oracle database table used to create
additional 12 spreadsheets using sql Plus on Sun Solaris Unix machine(these
were created using HTML option and a *.xls file extension) and downloaded,
via FTP, to Windows for incorporation into additional supplemental
spreadsheets. Developed 4 additional dataflow reports using sql Plus.
Created VBA macro for Excel automating the process of generating 97 tab
delimited text files from Excel spreadsheets.
Subsequently used Access and Visio, creating data and VBA macros drawing
system flowcharts from data generated as by-product of running production
jobs on Honeywell Bull machine. Created a VBA macro that:
. analyzes existing Visio Drawing containing previously generated Job
Icons and relevent (Data flows) connections
. produces an Audit Report and
. adds Jobs and Data flows, known to Access Database, to the Visio
Drawing.
Created additional VBA macro automatically rebuilding three intermediate
tables once additional information was added to above system.
Created several other VBA macros displaying job description given the job
name, and macro displaying dataflow details when either connection or job
shape object highlighted.
Participated in the analysis of batch programs for the next subsystem to be
converted, Chapter 1606.
Used the Micro Focus animator to deal with "subscript out of bounds" errors
caused by differences between Honeywell / Bull machine's COBOL 74
implementation and Sun Solaris machine's Micro Focus Cobol 85
implementation.
Created system identifying Honeywell Bull components (JCL, Cobol programs
and TEX scripts) that have changed between time they were sent to Metaware
in France for processing and time they were ready to install as Production
versions on Sun Solaris Machine. Unable to freeze items being migrated:
thus always dealing with a moving target. VA personnel were modifying the
pieces we were trying to migrate while we were dealing with them. This
system hosted on the Sun Solaris under UNIX, using components written in
perl, as well as standard UNIX functionality such as "diff" and "ksh". Unix
was used due to lack of development tools on Windows machine.
Enhanced the VBA macro described above to display and update callouts on
Visio drawing according to information stored in ACCESS database.
Animated, debugged and corrected various COBOL programs in need of
correction, assisting in testing and output comparison effort.
This job ended when the Government did not re-new the contract for the 2009
fiscal year starting 10/1/2008.
Software Consultant
Nicor Corp, Naperville, IL
1844 Ferry Road
Naperville, IL 60563
630-***-**** 10/2006 - 07/2007
Nicor is a gas distribution company that operates in Northern Illinois.
They provide service to a large section of the Chicago area - outside of
the city of Chicago as well as other areas. In addition, they run a cargo
service between the US Mainland and many of the Caribbean Islands.
Took 4 month contract to hire position with Nicor Corp using Micro Focus
Cobol, and Server Express 2.0. Worked on Customer Care and Billing System
(CC&B) in the Field Activity Department.
Modified algorithms, a special kind of COBOL program, that is called by the
core CC&B logic, when configured to do so, that act as user exits to
provide custom functionality when needed. Modifications were needed to
correct errors and to enhance system functionality.
Used SqlPlus to prepare reports as HTML documents for input to Excel for
Daily ToDo Backlog Reporting. Used ORACLE to access various databases.
Used "vi" / "vim" editor to maintain and correct programs. Used "putty" to
access UNIX from Windows. Used PVCS to maintain source code. Used Micro
Focus COBOL Server Express 2.0 to compile and execute programs. Nicor
installed an extensive system for utilities, called CorDaptix by SPL, that
was heavily customized for their particular business. CorDaptix was
subsequently re-named CC&B (Customer Care and Billing) and was acquired by
Oracle Corporation. Was hired to help isolate and fix problems with this
system and they way they wished to do business.
Set up production batch job to run 9 Sql Plus reports, in Excel format, to
be followed by an FTP job to move the resultant files from UNIX to a
Windows server on a daily basis.
Worked extensively in the area of Data Repair. Creation of SQL repairing
defects in Nicor's Oracle 9i database. Worked on a project to convert
Informix stored procedures to Oracle. Wrote many PL/SQL, SqlPlus, programs
repairing data and preparing ad hoc reports.
Software Engineer Technical Specialist
TRIZETTO GROUP INC (previously Resource Information Management Systems),
Newport Beach, CA
1996 - 2006
TRIZETTO GROUP specializes in computer software that processes health
insurance claims. RIMS specialized in computer software that processed
health claims for Benefit Administrators and "small payers". TRIZETTO GROUP
also had a division called FACETS based in Newark New Jersey that
specialized in computer software that processed health claims for "large
payers". TriZetto / RIMS used Microfocus Cobol to implement its QicClaim/2
System. This product was available on multiple UNIX / LINUX platforms
including: HP-UX, IBM-AIX, Data General, and Texas Instruments.
Acted as "data layer" expert for company providing health claim processing
software for third party benefit administrators and managed care providers.
Designed systems software, created computer systems, improved system
throughput, researched problem solutions and mentored others. Provided top-
level client support for difficult problems.
. Designed and created system, in COBOL, to move 600 legacy C-ISAM
data files to Microsoft SQL Server or Oracle database on a file-by-
file basis.
. Created file handler programs, in COBOL, allowing 3000 COBOL
programs to access "database resident" data without change.
. Modified and enhanced system that copied legacy C-ISAM data to a
Microsoft SQL Server database where it was available for search and
display over Internet.
. Modified and enhanced system that made the above data available
over Internet. Business logic stored in stored procedures and
JavaScript routines.
. Designed and implemented system, in JAVA and COBOL, to replicate
changes to legacy C-ISAM data files into Microsoft SQL Server
database. In addition, changes to data contained in database
tables were automatically made in appropriate corresponding C-ISAM
data files. System created to make legacy C-ISAM data available
for display and update over Internet.
. Designed, created and implemented set of Java frameworks accessing
legacy C-ISAM data from UNIX and Windows machines. Used JNI call
to special COBOL program designed to read and write C-ISAM data
files. Framework translated data from record format to/from object
format. This capability allowed display and update of legacy data
over Internet.
. Created system, in COBOL, to overcome Micro Focus 2GB File
Limitation for huge data file exceeding this system limit. Project
involved breaking up one large file containing 19 record types into
number of smaller files logically related by directory file,
allowing collection of C-ISAM files to act as one "logical" file.
. Rewrote main data access program interfacing between the
application programs and Micro Focus file handling software
interface, ExtFH. When this COBOL program was rewritten,
throughput improved 40%. to 50%.
. Identified steps needed to improve system throughput in QicClaim/2
system. Alignment of working variables on full word boundaries,
changing display subscripts to binary, substitution of indexing for
subscripting, elimination of nested evaluate statements and use of
Cobol "sort" verb instead of writing, and reading temporary C-ISAM
to do sort function.
. Worked on ePlan portal to display legacy data upon the web using
JavaScript. Modified code to comply with HIPAA requirements for
Claims Status Queries, etc.
Senior Technical Consultant
CNA INSURANCE COMPANIES, Chicago, IL 1985 - 1995
CNA is a large multi-line insurance company based in Chicago, Illinos. One
of their offerings was Group Health Insurance. This was one of many
different types of insurance that CNA dealt in.
Provided computer software services to Group Health Systems area. This
area used a very large IBM Mainframe computer system (3090 Model 500/J).
Created new software, maintained and enhanced existing software,
participated in design of new on-line Group Health Processing system.
Investigated new software technologies for possible use, evaluated
client/server software products and installed client/server software
products into CNA Network.
. Analyzed and designed system using "Object Oriented Paradigm" and
Smalltalk, providing file activity sheets and status reports for
property and casualty insurance lines in CNA branch offices.
. Designed system automating Special Handling Instructions supporting
Major Accounts. System used artificial intelligence shell program.
(NEXPERT Object).
. Created and implemented Nashville Letter System in ALF programming
language of TextDBMS. This system allowed the elimination of the
word processing department at the Nashville office.
. Designed logic and wrote computer program, in COBOL, converting
documents coded for PENTA photocomposition system into form useable
by TextDBMS document management system. This program allowed the
creation of Group Benefit Booklets on a streamlined basis.
. Designed and created "meta" program, in COBOL, to customizing
skeleton claims adjudication programs with card image input
defining the order of benefit determination and associated
parameters. Output program calculated benefits paid for Group
Health Claims on specific employer's health plan with CNA. I also
demonstrated an approach to using the computer to automatically
create the custom programs needed for this task.
. Isolated user requirements for new on-line health claims
adjudication system using Joint Application Development (JAD)
techniques, Yourdon Constantine Design Methodology, and Excelerator
to prepare process models, data flow diagrams, and data dictionary
entries.
. Created special software routines, in COBOL and BAL, extending
capabilities of vendor supplied and CNA written software.
PRIOR EXPERIENCE:
Served in the capacity of Programmer through Project Leader and Systems
Designer. Was Manager of Data Processing for a small import / export
company for ten years.
EDUCATION:
University of Illinois, Urbana, IL, M.S. Mathematics
University of Illinois, Urbana, IL, B.S. Mathematics
PROFESSIONAL ASSOCIATIONS:
Member Association for Computer Machinery (ACM)
Associate Member Institute of Electrical and Electronic Engineers Inc.
(IEEE)
LANGUAGE/PRODUCT EXPERIENCE:
COBOL, CICS, TELON, BAL, Intertest, Expediter, Documerge, Yourdon
Constantine Design Methodology, JAD, CASE (Excelerator), METHOD/1,
Structured Analysis, Structured Design, Structured Programming, WORD /
EXCEL for Windows, Visio, Crystal Reports, Microsoft Publisher, Smalltalk
by Digitalk, Parts V, Team V, ENVY, Window Builder Pro, Object Oriented
Analysis, Object Oriented Design, Object Oriented Programming, Artificial
Intelligence Products: ART-IM, ADS, NEXPERT Object, Smart Elements, C/S
Elements. VSAM, JCL, ISPF, TSO, PANVALET, CONDOR, SYBASE, IDMS, IMS/DB,
SQL. Micro Focus Cobol, C, UNIX, Linux, "vi" editor, TeleTerm, Putty, Unix
scripting, awk, perl, PVCS, Visual Basic, Visual C++ Rel. 5.0, Netron,
HP/ALLBASE, Microsoft SQL Server 6.5/7.0/2000/2008 R2; "isql" utility,
"sqlcmd" utility,"bcp" utility, TRANSACT SQL stored procedures, views and
functions; Oracle 9i, Oracle 10g,Oracle Bulk Data Loader (sqlldr), Oracle
Stored Procedures, Oracle SQLPlus, PL/SQL, Internet research, Micro Focus
Net Express / Server Express, UML, Rational Rose, ERWin, Borland JBuilder
3.5/4.0, Java SDK 1.2, Java Enterprise Beans(EJB), JNI, Swing/AWT, JDBC,
Weblogic's Tengah Application Server, Inprise Application Server. ePlan
Product from HealtheWare - a TriZetto Group Company, Java-Script, Microsoft
IIS, Microsoft MTS, Relativity JDBC 2.0 driver by Liant, Data Direct
Drivers. Microsoft Visual Studio, Fujitsu COBOL for .NET, C#, CC&B
(Customer Care and Billing), VBA for Access, VBA for Excel, VBA for Visio,
MUMPS, FileMan. Microfocus Mainframe Express, Visual Studio 2010, C#.NET,
Cygwin, bash shell, perl DBI and ODBC to SQL Server.
MACHINE/OPERATING SYSTEM EXPERIENCE:
(Amdahl 5830, OS/MVS); (IBM 3090 Model 500 J, OS/MVS/ESA); (IBM 4381,
DOS/VSE); (IBM PC, DOS / WINDOWS, Windows NT/Client, Windows NT/Server,
Windows 2000, WINDOWS XP Professional); (Data General - UNIX); (IBM, AIX
UNIX); (Hewlett Packard - UA UNIX); (HP UA Linux);(Texas Instruments -
UNIX); (Novell, DOS). (HP UNIX / Microsoft Server Express 2.0). Windows XP,
Windows 7.