Vancouver Utilities - Price List (May 2021)

A1. Vancouver Utilities Introduction
A2.  License Agreement Overview
A3.  License Agreement Classes
B1. Prices including the Mainframe to Unix & Linux migration tools.
B3.  Prices for customers not requiring mainframe to UNIX & Linux tools.
B7. Prices for on-site training & remote support services.
C1. Vancouver Utilities contents (installation directories)
D1. Differences between class A & class B packages
E1. Source code for compile on any ANSI C Unix/Linux system
E2.  Update Contents, Policies,& Frequencies
F1. Free Sample Conversions of COBOL, JCL,& DATA files
G1. Preparations for UV Software Onsite Training & Conversion Assistance
H1. Training plan - for Mainframe Conversions
I1. Training plan - for Vancouver Utilities general use
- uvhd,uvhdcob,uvsort,uvcp,uvlist,uvcopy,pre-programmed jobs, etc
J1. Self-study suggestions prior to onsite training course
K0. Optional Enhancements that can be made during conversion
L1. Preparation for On-site Conversion
- sending JCL & COBOL for conversion evaluation
N1. Partnerships with UV Software
N2.  Partnership applicability
O1. Non Disclosure Agreement
P1. License Agreement for UV Software Partners
U1. License Agreement for UV Software Customers
V1. License Agreement for IBM Data Conversion Teams

Goto:   Begin this document End this document UVSI Home-Page

A1. Vancouver Utilities Price List - Introduction

The Vancouver Utilities is a general purpose package of powerful data manipulation tools from UV Software Inc. The package has been widely used to convert mainframe COBOL shops to Unix/Linux systems, but is equally important for ongoing file maintenance.

This package fills the 'gaps' in Unix/Linux system software that were supplied by proprietary data management on mainframe systems. For example these utilities will process Micro Focus compatible indexed files. Without these utilities, you would have to write COBOL programs to perform even the simplest file maintenance on indexed files.

A utility package such as this is essential to the successful operation and maintenance of mainframe systems converted to UNIX. Mainframe systems depended heavily on utilities such as DATA & SORT which are column orientated & packed decimal capable. Unix/Linux systems have no such utilities & this package fills that void.

UV Software endeavors to provide a high quality product of value to you, but makes no guarantee as to the usefulness of the product for any particular application. UV Software assumes no responsibility for loss of data or any other losses that may occur while using the product supplied.

The Vancouver Utilities software package for Unix & Linux systems is proprietary to & copyrighted by UV Software Inc. The product is supplied to the user under license for use as specified in this document.

 ============================================================================
 Owen Townsend, UV Software, 4667 Hoskins Rd., North Vancouver BC, V7K2R3
         Tel:   604-980-5434          Fax: 604-980-5404
         Email: owen@uvsoftware.ca    Web: https://www.uvsoftware.ca
 Copyright(C) 1993-2021, UV Software Inc, All rights reserved
 ============================================================================

Goto:   Begin this document End this document UVSI Home-Page

A2. Vancouver Utilities Price List - Introduction

License Agreements

The purchaser of the Vancouver Utilities software package is entitled to load the software on any number of computers at any one site (business address). The license also covers any second site that serves as a backup (fail-over) for the first site.

The number of users executing the software is unlimited, both locally and remotely via online/networked terminals (or computers emulating terminals). Users who wish to load or download the Vancouver Utility programs to other related business sites must purchase licenses for the additional sites (at 1/2 the price of the 1st site).

No part of the Vancouver Utilities may be transferred to any unlicensed site without express written agreement from UV Software. No outputs from the mainframe conversion tools may be transferred to any other unlicensed without express written agreement from UV Software. A licensee's backup (failover) site is exempt form these no-transfer restrictions.

The license holder may not remove the UV Software copyright notice or the registration number from any source or documentation. Source code is provided for license classes A and B, and these sites may modify the source code if they so desire. UV Software encourages suggestions for improvements and usually implements suggestions which are judged likely to be useful to other existing and future users of the Vancouver Utilities.

The User License may be transferred (within the limitations expressed here), but only if re-registered with UV Software.

If you are a consultant or Systems Integrator, please see section 'N1' and/or 'P1' (partnerships with UV Software).

The above is only a brief summary of the license agreements which are presented in a more detail at the end of this document.

Please see the 'User Agreement' begining on page 'U1'. You may download a WORD document from https://www.uvsoftware.ca/UserAgreement.doc.

Also see the 'Partner Agreement' begining on page 'P1'. You may download a WORD document from https://www.uvsoftware.ca/PartnerAgreement.doc.

Goto:   Begin this document End this document UVSI Home-Page

A3. Classes of License Agreements

class A
  • for mainframe users converting to Unix or Linux
  • also applies to Windows with WSL (Windows Subsystem for Linux)
  • includes source code to be compiled on the user's system
  • precompiled binaries included for Linux & Windows (command window)
  • includes All conversion utilities:
  • JCL to Korn shell or Perl script conversion
  • COBOL program conversion to Micro Focus COBOL
  • DATA file conversion from EBCDIC to ASCII (preserving packed fields)
  • DATA file conversion to pipe delimited text for loading RDBMS's
    unpacking & editing packed/binary fields (separate signs & decimals)
class B
  • for customers NOT requiring mainframe JCL to Korn shell or Perl
  • for Unix, Linux, (or Windows with Windows 10 WSL bash support).
  • includes source code to be compiled on the user's system
  • precompiled binaries included for Linux & Windows
Note
  • all classes include the general purpose data manipulation
    utilities (uvcopy, uvsort, uvlist, uvcp, uvhd, uvqrpg).
  • all classes include over 500 pre-programmed jobs
  • all classes include over 500 Korn shell scripts
  • See descriptions of these items in uvintro.htm.

Royalty to Byte Designs

The prices include a royalty to Byte Designs (www.bytedesigns.com) for the D-ISAM object library which is required to support access to Micro Focus COBOL compatible indexed files (IDXFORMAT1).

Royalty to Ubiquitous Software

The prices also include a royalty to Ubiquitous Software for the internal sort algorithm used in 'uvsort'. Note that the Unix system sort can not sort mainframe data files because they typically do not have the LineFeeds required by the unix system sort. uvsort is also required to sort Indexed files and to sort on packed decimal fields.

additional licenses for other locations

The first license covers all computers at any 1 location (street address). Licenses for additional locations of the same business entity are available at 50% of the first license. If you have more than 10 locations please call UV Software for the details.

Goto:   Begin this document End this document UVSI Home-Page

B1. Vancouver Utilities - Price List

class A - Mainframe Conversion & Utilties with source


 Class A package price: $9600 US
 ===============================

class A Maintenance

Class A 3 years maintenance is $2400 US & provides up to 40 hours per year of free email/telephone support. More than 40 hours per year would probably indicate major assistance with user applications, which is available at $80 per hour working from our home office (vs on-site). Note that any reported software defects (bugs) are always corrected at no charge and with the highest priority possible. Maintenance provides you with free updates of new versions of Vancouver Utilities whenever requested.

class A support with no maintenance

Class A licenses include up to 8 hours of free email or telephone support (total for installation lifetime). Customer feedback is encouraged and we will not charge to implement your suggestions for enhancements that we think could be useful to to other future customers. Of course, any reported software defects (bugs) are fixed at no charge.

The Vancouver Utilities are continuously enhanced and we suggest you update to the latest version every 2 years. New versions of the class A package are $1600 without a maintenance package.

Delivery of Software

We can supply a short term userid & password for FTP download from our website. The zip or tar.gz files are about 30 megabytes.

Goto:   Begin this document End this document UVSI Home-Page

B2. Vancouver Utilities - Price List

class A Documentation

Documentation is on the website & is supplied on the distribution media in text and HTML format. You could print hard-copy documentation after installation as explained at https://www.uvsoftware.ca/install.htm#K1 - K2. K1/K2 covered the original base set of user guides, but many more sections of documentation have been added over many years.

K1/K2 suggests printing on 3 hole punched paper & mounting in 3 ring binders with Avery BIG-TABs to identify sections, but you can access the documentation using whatever method works for you.

  1. HTML documentation at 'www/uvsoftware.ca'. The homepage has about 20 major subjects and some of these are sub-menus to various related subjects. We think the many hyperlinks make it easy to find what you are looking for.

  2. The original documentation was prepared with the 'vi' text editor & then converted to HTML for the website. You can search the text documentation in the /home/uvadm/doc/... directory with linux tools such as grep & then read desired sections with 'vi' or your favorite editor.

  3. You can print the text documentation for vital documents with the supplied script 'uvlp13D' which prints Duplex at 13 cpi & observes the '*eject' controls to format pages lgoically. Here are a few examples:


 #3a. uvlp13D doc/install.doc  <-- print the installation guide
      =======================

 #3b. uvlp13D doc/uvsort.doc   <-- print the uvsort guide
      ======================

Goto:   Begin this document End this document UVSI Home-Page

B3. Vancouver Utilities - Price List

class B - Utilities without JCL converters


 Class B package price: $4800 US
 ===============================

class B Maintenance options

Class B 3 years maintenance is $1800 US & provides up to 20 hours per year of free email/telephone support. More than 20 hours per year would probably indicate major assistance with user applications, which is available at $80 per hour working from our home office (vs on-site). Note that any reported software defects (bugs) are always corrected at no charge and with the highest priority possible. Maintenance provides you with free updates of new versions of Vancouver Utilities whenever requested.

class B support withpout maintenance

Class B licenses include up to 6 hours of free email or telephone support (total for installation lifetime). Customer feedback is encouraged and we will not charge to implement your suggestions for enhancements that we think could be useful to to other future customers. Of course, any reported software defects (bugs) are fixed at no charge.

The Vancouver Utilities are continuously enhanced and we suggest you update to the latest version every 2 years. New versions of the class B package are $1000 without a maintenance package.

Delivery of Software

We can supply a short term userid & password for FTP download from our website. The zip or tar.gz files are about 30 megabytes.

Goto:   Begin this document End this document UVSI Home-Page

B4. Vancouver Utilities - Price List

class B Documentation

Documentation is on the website & is supplied on the distribution media in text and HTML format. You could print hard-copy documentation after installation as explained at https://www.uvsoftware.ca/install.htm#K1 - K2. K1/K2 covered the original base set of user guides, but many more sections of documentation have been added over many years.

K1/K2 suggests printing on 3 hole punched paper & mounting in 3 ring binders with Avery BIG-TABs to identify sections, but you can access the documentation using whatever method works for you.

  1. HTML documentation at 'www/uvsoftware.ca'. The homepage has about 20 major subjects and some of these are sub-menus to various related subjects. We think the many hyperlinks make it easy to find what you are looking for.

  2. The original documentation was prepared with the 'vi' text editor & then converted to HTML for the website. You can search the text documentation in the /home/uvadm/doc/... directory with linux tools such as grep & then read desired sections with 'vi' or your favorite editor.

  3. You can print the text documentation for vital documents with the supplied script 'uvlp13D' which prints Duplex at 13 cpi & observes the '*eject' controls to format pages lgoically. Here are a few examples:


 #3a. uvlp13D doc/install.doc  <-- print the installation guide
      =======================

 #3b. uvlp13D doc/uvsort.doc   <-- print the uvsort guide
      ======================

Goto:   Begin this document End this document UVSI Home-Page

B7. on-site Training & Conversion assistance

Weekly Rate - USA & Canada

Weekly Rate - outside USA & Canada

Email &/or Telephone Support

Email & telephone support is included in the purchase price. The hours per month varies with the purchase class (see class A,B above). Email & Telephone support beyond the monthly limit will be charged at $80 US per hour if the work is performed at UV Software's home office. This would include online work or work that might be prepared offline and Emailed to the customer.

Customer Suggestions implemented at no charge

Good suggestions are implemented at no charge if they would improve the product and might apply to other future customers. This policy is designed to encourage customer feedback and suggestions for enhancements to the Vancouver Utilities.

Goto:   Begin this document End this document UVSI Home-Page

C1. Vancouver Utilities - Contents

The software may be delivered on CD or downloaded in a zip file (uvadm.zip about 20 MB) or a tar file (uvadm.tar about 50 MegaBytes). The install guide install.htm recommends setting up account 'uvadm' to serve as the Vancouver Utilities administrator. Un-zipping or un-taring creates about 2000 files in about 25 sub-directories in $UV (usually /home/uvadm) as follows:

 /home/uvadm
 :-----batDOS          <-- BAT files for VU on native Windows
 :-----binDOS          <-- binaries for VU on native Windows (cc by MinGW)
 :-----bin             <-- binaries (uvcopy,uvsort,etc) distros are Ubuntu
 :-----ctl               - control files for various purposes
 :-----dat1              - test data files
 :-----doc               - Vancouver Utilities documentation (text)
 :-----dochtml         <-- documentation in HTML (same as on www.uvsoftware.ca)
 :-----env               - profiles for Unix/Linux, bash_profiles & common_profiles
 :-----hdr               - hdr files for C compiles
 :-----htmlcode          - merged into dochtml when text converted to HTML
 :-----lib               - libraries for C compiles (subfunctions,DISAM,etc)
 :-----mvstest         <-- test/demos for MVS JCL/COBOL mainframe conversions
 :     :-----...         - many subdirs omitted, see JCLcnv1demo.htm#3B2
 :-----pf              <-- Parameter Files for uvcopy & uvqrpg
 :     :-----adm         - administrative jobs
 :     :-----demo        - demo jobs
 :     :-----IBM         - IBM mainframe conversion jobs
 :     :-----util        - utility jobs
 :-----sf              <-- Script Files
 :     :-----adm         - administrative scripts
 :     :-----demo        - demo scripts
 :     :-----IBM         - IBM mainframe conversion scripts
 :     :-----util        - utility scripts
 :-----sfun            <-- ksh functions (used in converted JCL/scripts)
 :-----src             <-- Vancouver Utilities C source code
 :-----srcf              - C source for various sub-functions
 :-----tbls              - miscellaneous tables
 :-----tf                - test files for various examples in doc
 :-----tmp               - tmp subdir (test/demo outputs)
 :-----vsetest         <-- test/demos for VSE JCL/COBOL mainframe conversions
 :     :-----...         - many subdirs omitted, see VSEJCL.htm

From a functionality viewpoint, the following 3 directories are important:


 #1. src - C source programs: uvcopy,uvsort,uvcp,uvhd,uvqrpg,etc (about 20)
         - conversion utilities for JCL, COBOL,& DATA
         - uvcopy is the most powerful data manipulation utility, an interpreter
           driven by 'parameter files' stored in /home/uvadm/pf/...

 #2. pf - parameter files for uvcopy/uxcopy
        - sub-directoried to adm, demo, util, IBM (conversion jobs)
        - over 700 total, 211 in IBM/...

 #3. sf - Korn shell scripts calling various Utilities
        - sub-directoried to adm, demo, util, IBM (conversion jobs)
        - over 500 total, 142 in IBM/...

Goto:   Begin this document End this document UVSI Home-Page

D1. class A & class B - differences

The essential difference between class A & class B is that class B omits the JCL converters from the source program library (/home/uvadm/src/...)

C programs in Vancouver Utilities

JCL converters (class A only)

jclunix41.c
  • VSE JCL to Korn shell converter
jclunix51.c
  • MVS JCL to Korn shell converter

C program Utilities (class A & B)

uvcopy.c
  • data file manipulation utility
  • interpreter for 700+ utility jobs
uvcp.c
  • file utility (copy, reformat, etc)
uvhd.c
  • file investigation utility (browse,search,select,acum,translate)
  • displays files with packed/binary in vertical hexadecimal
uvhdcob.c
  • similar to uvhd with COBOL fieldnames beside datafield contents
uvlist.c
  • text file (& documentation) listing utility
uvqrpg.c
  • report generator
uvsort.c
  • SORT utility, replacment for mainframe SORT
  • unix/linux system sort cannot handle mainframe type files, with
    packed/binary fields & fixed length records without LineFeeds
pcloverlay.c
  • convert a PCL print document to a laser printer overlay
uvoverlay.c
  • prepend an overlay onto a datafile for printing

Korn shell scripts

Over 500 Korn shell scripts are provided in the sf/... library. These would be useful at any Unix site, and many are especially useful to mainframe sites converting to Unix. For example there are over 20 'rename' scripts will save you hours of keyboarding when you want to mass change filenames in a directory: (renameL - renames to lower case, renameX - changes extensions, renameAA - replaces Any pattern with Any other, etc).

uvcopy jobs

Over 500 uvcopy pre-programmed jobs are supplied in the pf/ library. 'uvcopy' is essential to running mainframe applications on Unix/Linux systems, because it can do many things not possible with the standard unix/linux utilities such as: processing 'packed decimal' fields, handling 'Indexed files' (compatible with Micro Focus COBOL),& field addressing by column# (common in mainframe utilities, but not in unix utilities).

uvcopy can be used to replace various mainframe utilties such as: IDCAMS, IEBGENER, DITTO, FILEAID, EASYTRIEVE, QUIKJOB, etc.

Goto:   Begin this document End this document UVSI Home-Page

E1. Source code for compile on ANSI C

Unix/Linux users will receive source code to be compiled and linked on their machines in order to accommodate the various Unix/Linux systems.

This package is sold directly to the end user and is tailored to the individual customer. Major components such as uvcopy & uvsort contain a unique license#. The license# and the customer's name are displayed in the program initialization messages.

Source Code Modifications

Source code is included for compilation on the user's systems. You may need to make some changes to interface with the software on your system such as the ISAM file system. Please see further discussion of the ISAM interface in the installation guide (install.doc).

You may make other source code changes if desired provided there is no conflict with the license agreement. For example you may not change the initial message in the uvcopy program which contains your license number & company name without written permission from UV Software Inc.

If you are planning other changes or wish to offer suggestions, we would appreciate discussing these with you in case they would be of benefit to all users.

User License Agreement

Please see the 'User Agreement' begining on page 'U1'. You may download a WORD document from https://www.uvsoftware.ca/UserAgreement.doc.

Goto:   Begin this document End this document UVSI Home-Page

E1. Update Packages

The Vancouver Utilities are updated continuously. The updates include enhancements to existing programs, new utilities, and many additions to the application library.

The application library is a collection of over 500 Korn shell scripts, and over 700 parameter files for the uvcopy interpreter. These perform various jobs useful to end users. Many of these were suggested by the users themselves. We do not charge to implement customer suggestions for enhancements that we think could be useful to to other future customers.

Update Policies & Frequencies

Incremental updates are made every month, and we suggest you would want to update annually or at least every 2 years. You will not be forced to take updates and you will not be automatically billed for them.

Feedback encouraged

Customer emails are sent out every month or two describing recent additions and enhancements. We welcome any feedback you may have. Please do not hesitate to ask whenever we can help. If you are not sure how to perform some data file update (reformatting, record selection, sorting, etc), we will be pleased to show you how uvcopy & uvsort make these jobs much easier than writing COBOL programs.

Goto:   Begin this document End this document UVSI Home-Page

F1. Free Sample Conversions

The easiest way to appreciate the Vancouver Utility conversions, is to send some samples of your JCL, COBOL programs,& DATA files to UV Software for conversion & return by email attachments (usually within 1 or 2 days).

sample conversions for JCL

MVS or VSE JCL is converted to Korn shell scripts for Unix, Linux, or Windows with WSL (Windows Subsystem for Linux). Please send from 5 to 10 JCLs that reflect the variety of JCL in your shop.

Be sure to include all referenced PROCs and any control card library members (for SORT FIELDS, etc). If possible please 'zip' or 'tar' into 1 file and send as an email attachment.

JCL conversions are the most popular requests. The resulting Korn shell scripts have the steps demarcated more clearly than the original JCL and restarts are built in for every step. The shell scripts are much more powerful than the original JCL which is important for future enhancements.

sample conversions for COBOL

There is not much conversion required for COBOL, especially if Micro Focus COBOL is intended for the target Unix/Linux/windows system, since Micro Focus handles most of the mainframe COBOL constructs.

But the Vancouver Utilities for COBOL conversions can save a lot of manual editing since they include user modifiable search/replace tables to handle reserved word conflicts, etc. They also convert to lower case (except for constants in quotes). This provides a more modern appearance and makes it much easier to use editors such as 'vi' on the new system.

If you do send COBOL programs, be sure to include all COBOL copybooks that are referenced by the COBOL programs.

sample conversions for EBCDIC DATA files

You may send binary attachments of your EBCDIC data files with packed fields for conversion to ASCII with packed fields preserved. Or you may be more interested in converting them to pipe delimited, all text (with packed fields unpacked & edited), suitable for loading Oracle & SQL Relational DataBases. The SQL Loader control file is also generated automatically.

Be sure to include the COBOL copybooks describing the record layouts.

Goto:   Begin this document End this document UVSI Home-Page

G1. Preparations for Onsite Training & Conversion Assistance

Preparations for Onsite Visit

UV Software recommends 4 to 6 weeks of onsite training & assistance to quick-start your conversion. In the first 3 or 4 weeks, we can usually do the training & convert all the JCL, COBOL,& DATA and get you started testing. The testing & parallel running could take 6 months or a year for large sites. To get optimum results from the onsite visit, please ensure the following preparations are made.

Hardware

  1. Select a server such as Dell, HP, IBM Power, Sun Fire. Configuration might include 16 gigs memory, 8 discs of 500 Gig SCSI or 1 TB SATA, using hardware RAID to mirror 2 discs for the OS and 6 discs for application data.

  2. Backup tape drive. You might select an LTO tape drive to backup the entire system. RAID makes system failure very unlikely, so full backups could be weekly. I suggest daily backups for the application libraries and data using USB's (use 31 USBs labelled with day of month).

  3. 3480/3490 tape drives - outdated.

  4. Laser printer with Duplex capability (HP PCL5 compatible) - on the network & configured in Unix/Linux - 50 ppm simplex (30 ppm duplex) - suggestions: Lexmark T652DTN or HP laserjet P4115DN - we have scripts to fit mainframe reports (132 col x 66 lines) on 8 1/2 x 11 (by printing Landscape at 13cpi & 8lpi, Simplex or Duplex)

    Software

  5. Select & install your Operating System. UV Software recommends Red Hat Linux or Ubuntu.

  6. Select & install a COBOL compiler. UV Software recommends Micro Focus COBOL (current version Visual COBOL for Eclipse 2.2 update 2).

  7. UV Software will install the 'Vancouver Utilities Mainframe conversion pkg the first day onsite. We might not send prior to coming onsite, because we are busy customizing the conversion utilities based on the customers sample JCLs.

Note
  • UV Software could do the OS & COBOL installs if you do not yet have a
    sysadmin who can do them.

Goto:   Begin this document End this document UVSI Home-Page

G2. Preparations for Onsite Training & Conversion Assistance

select your conversion team

  1. Select your conversion team to receive the training & perform the conversion. Conversion teams are usually 3 or 4 (but we will train as many as desired). It is convenient if 1 of these can be the system administrator for your unix/linux system.

  2. Note that somebody on the team must have the root password. We will not normally need root access but we will need it to install the Vancouver Utilities & sometimes transferred files have incorrect permissions that we can correct only with root access.

    setup users, profiles,& file systems

  3. Setup user login accounts for your team. Also setup 'uvadm' & 'appsadm' as recommended by UV Software. See https://www.uvsoftware.ca/install.htm Assign a common groupid to the team users, uvadm,& appsadm (suggest 'apps'). Note that the supplied profiles have umask 002 so files will be 664 & directories 755, which allows our group to work on the common set of libraries & data.

  4. See recommended profiles at: https://www.uvsoftware.ca/admjobs.htm#Part_1 A 'stub_profile' is installed in each users homedir which calls a common_profile stored in the 'appsadm' homedir. These are powerful concepts that make system administration much easier.

  5. Plan the directory structure for your libraries & data, see suggestions at https://www.uvsoftware.ca/jclcnv1demo.htm#3B1 - 3B6.

Note
  • UV Software can do the user/profile setups & help you plan the
    directory structures.

Goto:   Begin this document End this document UVSI Home-Page

G3. Preparations for Onsite Training & Conversion Assistance

transfer Mainframe files to Unix/Linux

  1. Transfer Mainframe JCL to Unix/Linux - if your mainframe does not have 'zip', transfer to a PC, also translating to ASCII, then zip & FTP to Unix/Linux - be sure to transfer all referenced PROCs & SYSIN/INCLUDE modules (these should be in separate zip files) - you might date stamp your zip files in case of multiple transfers you might name them as jclYYMMDD.zip & procYYMMDD.zip

  2. Transfer Mainframe control card libraries (SYSIN, PARM) - zip file might be named as parmYYMMDD.zip

  3. Transfer Mainframe COBOL to Unix/Linux - transfer to a PC, translating to ASCII, then zip & FTP to Unix/Linux - be sure to transfer all copybooks in a separate zip file - zip files might be named as cblYYMMDD.zip & cpyYYMMDD.zip

  4. Transfer Mainframe DATA to Unix/Linux - must FTP binary (FTP ASCII will destroy packed/binary fields) - might not transfer all data files before the onsite visit begins, but please transfer enough data to test some JCL/scripts - for initial testing, can you identify some JCLs that require only sequential & indexed (VSAM) files, with no database or online preparation.

  5. Transfer Mainframe LISTCAT reports that describe the DATA files. - UV Software will extract data file information into control files to improve the conversion of both JCL & DATA

    JCL/COBOL preview by UV Software

  6. For a faster and more efficient conversion, please send us all mainframe JCL,PROCs,Parms,COBOL,& Copybooks several weeks prior to the scheduled on-site conversion. We will spend up to 1 week (at no extra charge) investigating & optimizing the conversions for your particular coding habits.

No DATA files are required. But if desired, you could send the data files for just 1 small standalone system for us to parallel & return the reports for you to compare to the mainframe.

Goto:   Begin this document End this document UVSI Home-Page

G4. Preparations for Onsite Training & Conversion Assistance

Classroom Setup

  1. Classroom or boardroom table - PCs/laptops on network to Unix/Linux - terminal emulator (PUTTY is a free download) - 2 projectors & screens, 1st for current instructor or student project & a 2nd to show relevant documentation from the UV Software website - if easy, enough PCs/laptops for each student or 2 students/laptop - students take turns showing their work on the projector - for only 2 or 3 students could even manage without projector if we have a 21+ inch monitor - laser printer in the classroom or nearby (on network & configured to unix)

  2. Classroom hours: - Let UV Software know what hours will work for you & your personnel - We know they probably have other ongoing responsibilities, and we have many other conversion activities to perform when not in class. - Might be 1/2 days 5 days a week, or might be full days Tues, Wed, Thurs (some personnel may have Mon/Fri off)

  3. Internet access - the terminal on the network to unix/linux is usually a PC with terminal emulator (Putty) & therefore should have access to the Internet - We have found it convenient to access the UV Software Internet web site to display documentation which students can relate to their hardcopy doc - We also need to be able to read our email via webmail to our ISP

Note
  • on the first day (after installing Vancouver Utilties), UV Software will
    print the documentation and mount in 3-ring binders for each student
  • classes begin on day 2 or 3 (see Training Plan on page 'H1').

other preparations

  1. Please discuss these preparations with UV Software before we arrive on-site. Please tell us about the backgrounds of the conversion team members, so we can have a better idea of the training required.

  2. Please arrange security cards so UV Software can work at least part of the weekends. If required ask 1 staff member to work with UV Software.

  3. Please see the optional enhancements that can be made during the conversion (begining on page 'K0'). May discuss with UV Software.

  4. If you think of any additonal enhancements that you would like to make during the conversion, please discuss them with UV Software. We often make suggested enhancements at no charge when we think such enhancements would be useful to other future customers.

    advance copy of Vancouver Utilities

  5. If you have personnel with the time to do self-study before UV Software comes on-site, you could request early delivery of the Vancouver Utilities. See course outline on following pages & self-study suggestions on page 'J1'. See Vancouver Utilities installation at install.htm#B1 - B6.

Goto:   Begin this document End this document UVSI Home-Page

H1. Onsite Training & Conversion Assistance

On-site Conversion Training Plan

UV Software recommends a 4 to 6 week on-site visit to train the conversion team in using the Vancouver Utilities to convert mainframe JCL, COBOL,& DATA to Korn shell scripts, Micro Focus COBOL,& ASCII data files for Unix/Linux systems.

Initially we will need at least 3 days a week in the classroom (or 5 half days). After the first 2 weeks, we can reduce this as the team members begin to work independently testing their assigned systems.

The primary document for mainframe conversion can be found on the UV Software web site at https://www.uvsoftware.ca/jclcnv1demo.htm.

  1. For mainframers new to Unix/Linux, there is much to be learned about the Unix/Linux environment required to run jobs on Unix/Linux. It is vital to understand the Vancouver Utility profiles & functions that support the execution of converted scripts. See JCLcnv1demo.htm#Part_1

  2. We will study the sample conversions which list the original JCL followed by the converted Korn shell script equivalents for several test/demo jobs. See sample conversions at JCLcnv1demo.htm#Part_2, conversion instructions at JCLcnv1demo.htm#Part_3 & executions JCLcnv1demo.htm#Part_4

  3. After we understand the JCL conversions, we will perform them & execute the resulting Korn shell scripts using supplied test files. Part 4 also lists the expected outputs from the demo JCL/scripts & COBOL programs.

  4. In addition to learning the Vancouver 'Conversion Utilities' it is vital to learn how to use the Vancouver 'Data Utilities' (uvsort,uvcp,uvhd,uvcopy,etc) that replace various mainframe utilities (SORT,IDCAMS,DITTO,Easytrieve,etc). 'uvhd' is the first utility that students need to learn - to investigate & verify conversions of mainframe data files with packed/binary fields.

  5. Rather than teach the Vancouver 'Data Utilities' in isolation, we will teach them when the need arises, during our conversion & execution of the JCL/COBOL test/demo jobs. For a summary of the utilities most useful to conversions, please see https://www.uvsoftware.ca/cnvaids.htm.

  6. After the sample conversions & executions, we will begin conversion of the customer JCL, COBOL,& DATA, following the step by step guide in JCLcnv1demo.htm#Part_3.

Goto:   Begin this document End this document UVSI Home-Page

H2. Onsite Training & Conversion Assistance

  1. The mass conversion scripts make it easy to quickly convert all mainframe JCL and COBOL files. The Vancouver Utilties also make it easy to generate the 'DATA' conversion jobs (from COBOL copybooks), but executing them takes much longer than for JCL & COBOL, because the DATA files are usually much larger, and they first have to be transferred from the mainframe. See data conversions at DATAcnv1.htm#Part_3 (1 file at a time) or Part 6 (all files in directory).

  2. Our initial objective is to convert enough data files to allow us to begin testing some JCL/scripts & COBOL programs. Then we will assign each team member a JCL/script to be tested & the results compared to the mainframe.

  3. It usually takes 2 or 3 weeks to get to this point (where we can begin testing). The team members can now work independently testing their assigned systems & consulting with the UV Software instructor as required.

  4. For the remaining 2 or 3 weeks that UV Software is onsite, we usually meet in the classroom for only 2 hours a day to discuss common problems & continue training on the utilities that are relevant to the site (file maintenance, Easytrieve conversions, etc).

Goto:   Begin this document End this document UVSI Home-Page

I1. Onsite Training & Conversion Assistance

Onsite Vancouver Utilities Training Plan

This 'utilities' training plan is applicable to both mainframe conversion sites and to sites that do not need mainframe conversion tools, but do need general purpose utilities, to replace mainframe data utilities that are missing on Unix/Linux systems.

Applicable sites for 'utilties only' training may have already migrated using tools from other vendors, who do not provide the extensive utilities offered by UV Software to replace mainframe utility functions that are otherwise not available on Unix/Linux systems.

The Vancouver Utilities can replace mainframe utilities such as SORT, IDCAMS, IEBGENER, DITTO, EASYTRIEVE, etc with uvsort, uvsort, uvcp, uvhd, etc.

We recommend 2 weeks for this training, versus the 4 to 6 weeks recommended for the mainframe conversion training.

Vancouver Utilities course outline

We will not give a day by day outline, since the course will be customized to the needs of each customer, but here is a list of suggested activities & topics.

  1. The first day on-site, UV Software will install the software, and print documentation for each student (two three ring binders with tabs). The customers sysadmin should be involved in the installation.

  2. Profiles - need to be modified to provide access to the Vancouver Utility programs & scripts. UV Software recommends the 'stub' & 'common' profile system, that allows sysadmins to update the 'common profile' that is invoked by the 'stub profile' in each user's home directory. Please see the profiles described at https://www.uvsoftware.ca/admjobs.htm#Part_1.

Note
  • to learn the basic Vancouver Utilities (uvhd,uvsort,uvcp,uvlist,uvcopy)
    we will follow the Training Guide https://www.uvsoftware.ca/uvtrain.htm
  • referring to the program references as required (uvhd.doc,uvsort.doc,etc)
  1. uvhd - file investigation utility, for files with packed/binary fields. uvhd is every customers favorite utility, an interactive utility that displays records in vertical hexadecimal, and prompts for commands to browse, search, select, update, search/replace, etc. See uvhd documentation at https://www.uvsoftware.ca/uvhd.htm.

  2. uvhdcob - similar to uvhd, but also shows the COBOL copybook fieldnames beside the data contents. Excellent for verifying data conversions. You can see at a glance any mismatches between the data field contents & the COBOL field definitions. The 'v' Verify command will search the file for invalid digits or signs in unpacked or packed numeric fields, and for unprintable characters in pic x fields.

Goto:   Begin this document End this document UVSI Home-Page

I2. Onsite Training & Conversion Assistance

  1. uvsort - sort utility for Unix/Linux with mainframe capabilities. The Unix system sort will NOT sort mainframe type files that do not have Linefeeds, may be indexed, and may have packed decimal sort fields. uvsort has the functionality of mainframe SORT - record select, reformat, etc. Also note that uvsort has all the commonly used functions of SyncSort and the entire Vancouver Utility package is a fraction of the SYNCSORT price. See uvsort documentation at https://www.uvsoftware.ca/uvsort.htm.

  2. uvcp - is a command line data utility that can copy files, converting record formats between: fixed, variable, sequential, indexed, text, RDW, etc). uvcp (& uvsort,uvcopy,etc) are compatible with Micro Focus COBOL file formats IDXFORMAT1,3,& 8 (fixed indexed, variable sequential or indexed). uvcp also provides record select, reformat, etc (similar to uvsort). See uvcp documentation at https://www.uvsoftware.ca/uvcp.htm.

  3. uvlist - is a utility for listing text files on laser printers. uvlist scripts are provided to print files at various cpi,lpi,margins,etc. For example, 'uvlp13LD' will print mainframe reports (132 cols x 66 lines) on 8 1/2 by 11 at 13 cpi, 8 lpi, Landscape, Duplex with margins for 3 hole punched paper. 'uvlp12D' is used to print the UV Software documentation. uvlist is great for listing scripts, programs, etc, because the page headings tell you vital info such as: filename, date, userid, filesize, page#, etc. See uvlist documentation at https://www.uvsoftware.ca/uvlist.htm.

    8. uvcopy

'uvcopy' is the most powerful of the Vancouver Utilities. It is ideal for processing data files migrated from the mainframe, because it can handle packed decimal fields, Indexed files, etc. None of the usual Unix/Linux system utilities can do this.

uvcopy is an interpreter for its 'parameter files' stored in the 'pf' library. Over 500 pre-programmed 'uvcopy jobs' are supplied in /home/uvadm/pf/... These jobs are used for many of the UV Software conversions, but many are useful for ongoing operations. For example to create a record layout from a COBOL copybook, you could use the 'cobmap1' job as follows:


 uvcopy cobmap1,fili1=cpys/armaster,filo1=maps/armaster
 ======================================================

Many sites use uvcopy to perform tasks that they might have previously performed with Easytrieve or other mainframe utilties. For example some sites receive input from their customers on Excel spread sheets. uvcopy provides instructions to convert the ',' or '|' delimited export file from Excel into whatever fixed field record layout the site's COBOL programs require. See the Excel uvcopy demo at https://www.uvsoftware.ca/uvcopy5.htm#A1.

Note the uvcopy documentation is split into 7 books (uvcopy1 - uvcopy7). begining at https://www.uvsoftware.ca/uvcopy1.htm.

Goto:   Begin this document End this document UVSI Home-Page

I3. Onsite Training & Conversion Assistance

Pre-programmed jobs

There are over 500 pre-programmed jobs supplied with the Vancouver Utilities, to perform various useful tasks at Unix/Linux sites. They are documented in functional groups (AIDjobs,CMPjobs,COPYjobs,LISTjobs,REPjobs,SCANjobs,etc). Here is a brief description of a few of the most useful pre-programmed jobs.

9. Cross References

There are several pre-programmed jobs to create cross references for COBOL programs, copybooks, MVS JCL, VSE JCL, and the Korn shell scripts converted from MVS/VSE JCL. See documentation at https://www.uvsoftware.ca/xrefjobs.htm

 xcobcall1  - list of all CALLED-PROGRAMs in each PROGRAM
 xcobcall2  - crossref all PROGRAMS calling any 1 CALLED-PROGRAM
 xcobcopy1  - list all COPYBOOKS in any 1 PROGRAM
 xcobcopy2  - crossref all PROGRAMS copying any 1 COPYBOOK
 xcobfile2  - crossref all PROGRAMS using each external-file
 xkshfile1 - list all DATAFILES used in any 1 ksh SCRIPT
 xkshfile2 - crossref show all ksh SCRIPTs using any 1 DATAFILE
 xkshprog1 - list all PROGRAMs executed in any 1 ksh SCRIPT
 xkshprog2 - crossref show all ksh SCRIPTS executing any 1 PROGRAM

10. Data file Comparisons

The mainframe had extensive data file compare utilities that are absent on Unix/Linux systems. Vancouver Utilities fill this void. Please see https://www.uvsoftware.ca/cmpjobs.htm.

The 'CMPjobs' are designed for mainframe type files that may have packed/binary fields & do not have the LineFeeds required by the Unix/Linux 'diff' utility.

The pre-programmed job 'uvcmp1' prints mismatched record pairs in vertical hexadecimal with '*'s highlighting the differences. For example here is just 1 record pair from the demo shown at https://www.uvsoftware.ca/cmpjobs.htm#1D2.

 uvcmp1 - compare 2 files, print mismatched records, '*' flag diffs
 2008/05/24_16:35:30 uop=q1p30r256s8t500000v2x0y0z1r64
 recsize  reccount   file-size  typ Report=rpts/warmas1.cmp
 1:   64         8           0  RSF  File1=dat1/warmas1
 2:   64         8           0  RSF  File2=dat1/warmas1a
                       1         2         3         4         5         6
 f#rec#byte# 0123456789012345678901234567890123456789012345678901234567890123
 ============================================================================
 1    1    0 33333 11111 refrigerator      961231 3-year 991231 000006733   .
             3333323333327667666767672222223333332327667233333323333333332220
             3333301111102562975214F200000096123103D951209912310000006733000A
                                               ** *      **  **      ****
 2    1      33333 11111 refrigerator      961215 4-year 001215 000005500   .
             3333323333327667666767672222223333332327667233333323333333332220
             3333301111102562975214F200000096121504D951200012150000005500000A
                                               ** *      **  **      ****

CMPjobs provide for various file types (fixed, variable, sequential, indexed, ASCII, EBCDIC) and there are options for up to 4 exclude fields (date/time,etc).

Goto:   Begin this document End this document UVSI Home-Page

I4. Onsite Training & Conversion Assistance

11. Table Summary Reports

You can use a pre-programmed 'TABLEjob' to read thru your data file, building a table in memory, based on a specified argument field, accumulating 1 or 2 amount/quantity fields. At EOF, the table is dumped to a report file sorted in sequence by the argument field.

For example, here is the command to create the product summary table shown at: https://www.uvsoftware.ca/tablejobs.htm#C1


 uvcopy table2,fili1=dat1/sales3,uop=a30b6c38d6e53f9r64
 ======================================================
 - create a summary table of sales by product#
 a30b6 - defines the product# (start byte 30, length 6)
 c38d6 - defines the quantity (start byte 38, length 6)
 e53f9 - defines the $ amount (start byte 53, length 9)
 r64   - defines the record size

sample Table Summary report

 table2  2003/04/26_20:15:34  Sales Summary by Product#
 tbl#001 pg#001     -argument-            -acum#1-    %        -acum#2-    %
 line#  count    %  product               quantity
     1       2  10  BBQ001                      12   12        1,420.12   31
     2       1   5  CHR001                      22   22          440.22    9
     3       5  25  HAM001                      41   41        1,390.41   30
     4       2  10  HAX129                      10   10          600.10   13
     5       2  10  SAW051                      24-  24-         560.24-  12-
     6       1   5  SCR012                      21   21          210.21    4
     7       4  20  TAB013                      17   17           29.83-
     8       3  15  WHIP75                       1    1        1,030.01   22
            20*100   *TOTAL*                   100 *100        4,501.00 *100

'table2' is a pre-programmed job to create table summary reports without having to write uvcopy instructions. 'table2' requires 120 uvcopy instructions, since it needs to interpret the user's options (a30b6,etc) into the actual uvcopy instructions.

If you wrote a custom uvcopy job to create the above table summary, it would require only 12 uvcopy instructions. This is because it requires only 1 instruction (tbl) to build the table & 1 instruction (tbp) to output at EOF. See uvcopy job 'sltbl1' listed at https://www.uvsoftware.ca/tablejobs.htm#G2

I think you will agree that a COBOL program to create the above summary table would probably take hundreds of lines of code. COBOL would require a lot of code to create new entries for new arguments, add to existing entries on matching arguments, calculate percentages based on the 100% total line, and dump the table in argument sequence.

Goto:   Begin this document End this document UVSI Home-Page

I5. Onsite Training & Conversion Assistance

customer chosen sub-systems

There are several sub-systems that customers might choose to implelement. We call these sub-systems because they require some setup (vs pre-programmed jobs), but they can be extremely useful. Here are a few suggestions.

12. genacum2 - generate jobs to accum ALL numeric fields

'genacum2' is a Vancouver Utility to generate uvcopy jobs to accumulate all numeric fields (packed/zoned/binary) in 1 or all data files. The jobs are generated automatically from the 'cobmap' record layout (which is generated from the COBOL copybook).

You might use these reports to verify data file conversions, OR to get a 2nd opinion on suspicious looking totals on your COBOL reports.

We can use your copybooks to generate jobs to accumulate All numeric fields for All your data files. Then you can run them whenever the need arises. Here is the sample from the documentation at https://www.uvsoftware.ca/datacnv1.htm#8F1


 uvcopy pfa1/customer.master <-- execute job to accumulate all numeric fields
 ===========================

sample report

 genacum2  RCSZ=00256 DataFile=d2asc/custmas1
 2009/02/26_09:22:03  copybook=cpys/custmas1.cpy
 line# Field-Name                 occurs start lth type         field-total
    1  cm-num                             0005 006  n            7,259,353
    2  cm-thisyr-sales                12  0124 005 pns           99,697.93
    3  cm-lastyr-sales                12  0184 005 pns           45,440.85
          Record count        32         Hash-Total             21,773,231 **

Goto:   Begin this document End this document UVSI Home-Page

I6. Onsite Training & Conversion Assistance

13. uvhdc2 - makes uvhdcob easier to use

'uvhdcob' (already covered as item #4) is 1 of the basic Vancouver Utilties that displays data field contents beside the COBOL copybook fieldnames. 'uvhdc2' is a script that makes uvhdcob much easier to use.

Using 'uvhdcob' directly, you must specify both the data-file-name & the copybook-name, which might involve long path-names since they are usually in different file systems.

Using the 'uvhdc2' script, you need only specify the data-file-name with one level of sub-directory. This avoids long path-names & means you can run it from anywhere.

This is enabled by setting up a control file to relate the data-file-name to the copybook. See details at https://www.uvsoftware.ca/uvhdcob.htm#H1 - H6. Here is the sample command & display shown on page H3.


 uvhdc2 ar/customer.master    <-- uvhdc2 script requires only data-file-name
 =========================      - omitting copy-book-name required by uvhdcob
 rec#       1 fieldname occurs  bgn end typ<------ data (hex if typ=p/b) ----->
 001 cm-num                       0   5 n  130140
 002 cm-delete                    6   9
 003 cm-name                     10  34    EVERGREEN MOTORS LTD.
 004 cm-adrs                     35  59    1815 BOWEN ROAD
 005 cm-city                     60  75    NANAIMO
 006 filler001                   76  76
 007 cm-prov                     77  78    BC
 008 filler002                   79  79
 009 cm-postal                   80  89    V9S1H1
 010 cm-phone                    90 101    250-754-5531
 011 cm-contact                 102 119    LARRY WRENCH
 012 cm-thisyr-sales       012  120 124pns 001234567C
 013 cm-lastyr-sales       012  180 184pns 001234567D
 014 filler003                  240 255    C 19950531

Goto:   Begin this document End this document UVSI Home-Page

I7. Onsite Training & Conversion Assistance

14. convert data files to RDBMS Tables

The vancouver Utilities can convert your fixed length data files to "delimited","format" for loading Relational Database tables, and also generate the scripts to create & load the RDBMS Tables.

https://www.uvsoftware.ca/sqldemo.htm shows you how to generate all these automatically from your COBOL copybooks. Here is the sample data file and "delimited","file" used to demo these procedures (see pages 9A1 & 9A2).

      130140 EVERGREEN MOTORS LTD.  1815 BOWEN ROAD        NANAIMO          BC
      139923 JOHNSTONE BOILER       1250 EAST PENDER ST.   VANCOUVER        BC
      150825 RIGGERS INDUSTRIAL     960 - 6TH AVENUE       HOPE             BC

 uvcopy delimcust1,fili1=dat1/cust1,filo1=dat1/cust1.txt
 =======================================================
 - convert fixed-field format to "delimited","format"
      130140,"EVERGREEN MOTORS LTD.","1815 BOWEN ROAD","NANAIMO","BC"
      139923,"JOHNSTONE BOILER","1250 EAST PENDER ST.","VANCOUVER","BC"
      150825,"RIGGERS INDUSTRIAL","960 - 6TH AVENUE","HOPE","BC"

Creating tables manually would be very laborious for files with many fields. UV Software provides uvcopy job 'sqlcreate1' to automatically generate Oracle batch-files to create tables. The job also generates the SQL*LOADER control file to load the table. These jobs are demonstrated at SQLdemo.htm, and more extensively documented at DATAcnv1.htm#4F1 - 4F5.


 sqlcreateA cust1.cpy   <-- generate scripts to create & load RDBMS Table
 ====================

Oracle batch-file to create table

 /* create_cust1.sql - SQL batch file to create a table */
 /* --> sqlplus user/pass @sqls/create_cust1.sql <--    */
 DROP TABLE cust1;
 CREATE TABLE cust1 (
 cm_num                        number   (06)   , --#001 9(6).
 cm_name                       char     (0022) , --#002 x(22).
 cm_adrs                       char     (0022) , --#003 x(22).
 cm_city                       char     (0016) , --#004 x(16).
 cm_prov                       char     (0002)   --#005 x(2). );
 exit;

Oracle control file to LOAD table

 -- load_cust1.ctl - SQL*LOADER control file to load Oracle table
 -- --> sqlldr user/pass control=sqls/load_cust1.ctl <--
 load data infile 'd4pipe/cust1.dat' into table cust1
 fields terminated by '|' optionally enclosed by '"'
 ( cm_num                  , --number   (06)   , --#001 9(6).
   cm_name                 , --char     (0022) , --#002 x(22).
   cm_adrs                 , --char     (0022) , --#003 x(22).
   cm_city                 , --char     (0016) , --#004 x(16).
   cm_prov                   --char     (0002) , --#005 x(2).)

Goto:   Begin this document End this document UVSI Home-Page

I8. Onsite Training & Conversion Assistance

writing new uvcopy jobs

Up to this point we have been illustrating pre-programmed uvcopy jobs to solve various problems by specifying options &/or generating jobs from your COBOL copybooks.

Of course you will encounter many situations where you must write new code to solve unique data file problems or create customized reports.

uvcopy is ideal for these situations because it can do many things not possible with the standard unix/linux utilities (such as processing packed decimal fields & handling Indexed files compatible with Micro Focus COBOL).

15. table summary example

Given
  • customer master sales file of 256 byte records
  • this year monthly sales in 12 * 5 byte packed fields starting at 120
  • last year monthly sales in 12 * 5 byte packed fields starting at 180
  • province code in bytes 77-78
Required
  • write a job to create the table summary report shown below
  • how may lines of code would it take in COBOL ?
 cmtbl1  2009/03/18_06:49:31  sales by province (this yr & last yr) dat1/custmas1
 tbl#001 pg#001     -argument-            -acum#1-    %        -acum#2-    %
 line#  count    %  province          thisyr sales         lastyr sales
    1        3   9  AB                      323.13    0        1,534.06    3
    2       10  31  AL                   27,274.33   27       33,552.35   73
    3       16  50  BC                   64,877.23   65        3,494.47    7
    4        3   9  YK                    7,223.24    7        6,859.96   15
            32*100   *TOTAL*             99,697.93 *100       45,440.84 *100

uvcopy job to create table summary report

 # cmtbl1 - table analysis of customer master sales history file
 opr='$jobname - summarize sales (thisyr&lastyr) by province'
 fili1=?dat1/custmas1,rcs=256,typ=RSF
 filo1=?tmp/$jobname,rcs=80,typ=LSTt
 @run
        opn     all
 # begin loop to read all customer master sales history records
 # - crossfooting & accumulating (tabling) thisyr & lastyr totals
 loop   get     fili1,a0(256)
        skp>    eof
        xft     $ca1,a120(5p),12
        xft     $ca2,a180(5p),12
        tblt1f2 a77(2),'province;thisyr sales;lastyr sales',$ca1,$ca2
        skp     loop
 # end of file - print/edit the table to a file for: lp, cat,or vi
 eof    tbpt1s1 filo1,'sales by province (this yr & last yr)'
        cls     all
        sysv1   'cat $filo1'
        eoj

See more table summary jobs at https://www.uvsoftware.ca/tablejobs.htm#G1

Goto:   Begin this document End this document UVSI Home-Page

I9. Onsite Training & Conversion Assistance

16. convert Delimited to Fixed-Field for COBOL programs

Several UV Software customers have COBOL applications that require fixed field record inputs. These unix/linux sites may have remote clients that create data inputs using excel spread-sheets. They can export the spread-sheet data to a pipe delimited text file & email it to the unix/linux processing site.

sample Delimited input from Excel

      000100|Owen Townsend|4667 Hoskins Rd|North Vancouver|BC|V5P3V8|
      000200|Gordon Campbell|1234 Government St.|Victoria|BC|V1P2G3|
      000300|Stephen Harper|24 Sussex Drive|Ottawa|ON|K1Y2L6|
      000400|George Bush|1600 Pennsylvannia|Washingtom|DC|00001|
      000500|Bill Gates|1 Microsoft Way|Redmond|WA|98052|

sample Fixed-Field output for COBOL

 000100    Owen Townsend       4667 Hoskins Rd     North Vancouver     BC V5P3V8
 000200    Gordon Campbell     1234 Government St. Victoria            BC V1P2G3
 000300    Stephen Harper      24 Sussex Drive     Ottawa              ON K1Y2L6
 000400    George Bush         1600 Pennsylvannia  Washingtom          DC 00001
 000500    Bill Gates          1 Microsoft Way     Redmond             WA 98052

Output: 00-09=cust# 10-29=name 30-49=adrs 50-69=city 70-71=prov 73-79=zip


 uvcopy delim2fix,fili1=data/nameadrsd,filo1=tmp/nameadrsf  <-- execute job
 =========================================================

 uvcopy delim2fix  <-- same as above, since file I/O defaults as shown above
 ================    - coded in job below with '?' which prompts to allow change

uvcopy job to convert Delimited to Fixed

 # delim2fix - demo convert pipe delimited data to fixed length records
 rop=r1x2    # Run OPtions to prompt user for outfile display (dflt more)
 fili1=?dat1/nameadrs2d,rcs=128,typ=LST
 filo1=?tmp/nameadrs2f,rcs=80,typ=RST
 @run
       opn   all                    open files
 loop  get   fili1,a0(128)          get next delimited record into area 'a'
       skp>  eof
       fix   b0(20),a0(80),6,'|'    convert to fixed 20 byte fields in area 'b'
       mvc   c0(6),b0               cust# to output cols 00-05
       mvc   c10(60),b20            name, adrs, city to 10-29,30-49,50-69
       mvc   c70(2),b80             province to 70-71
       mvc   c73(7),b100            zip code to 73-79
       put   filo1,c0(80)           write out current record
       skp   loop                   return to get next record
 eof   cls   all                    close files
 # sysv1 'more $filo1' run option 'rop=r1x2' prompts to display (more default)
       eoj                          end job

See more delimited file conversions at: https://www.uvsoftware.ca/uvcopy5.htm

Goto:   Begin this document End this document UVSI Home-Page

I10. Onsite Training & Conversion Assistance

17. ADMjobs

https://www.uvsoftware.ca/admjobs.htm describes several subsystems that are used when UV Software converts mainframe systems to Unix/Linux. Some of these may also apply to any Unix/Linux site.

Part1
  • setting up profiles (powerful 'stub' & 'common' profile concepts).
Part2
  • RAID arrays, partitioning,& file system design.
Part3
  • Backup & restore, ondisc backups for instant recovery.
Part4
  • Advanced zip file backups run by cron, for 30 days, 12 months, 7 years.
Part5
  • using 'cron' to run backups & other jobs (nightly,weekly,monthly)
Part6
  • console logging - replaces the mainframe console logs
Part7
  • useful scripts for Unix/Linux sites
Part8
  • Networking & System Administration

18. Cross-References

 xcobcall1  - list of all CALLED-PROGRAMs in each PROGRAM
 xcobcall2  - crossref all PROGRAMS calling any 1 CALLED-PROGRAM
 xcobcopy1  - list all COPYBOOKS in any 1 PROGRAM
 xcobcopy2  - crossref all PROGRAMS copying any 1 COPYBOOK
 xcobfile2  - crossref all PROGRAMS using each external-file
 xcobsql1   - list all SQL Includes in any 1 PROGRAM
 xcobsql2   - crossref all PROGRAMS using any 1 SQL Include
 xkshfile1 - list all DATAFILES used in any 1 ksh SCRIPT
 xkshfile2 - crossref show all ksh SCRIPTs using any 1 DATAFILE
 xkshprog1 - list all PROGRAMs executed in any 1 ksh SCRIPT
 xkshprog2 - crossref show all ksh SCRIPTS executing any 1 PROGRAM

sample COBOL copybook cross-ref

xcobcopy2 ** crossref all PROGRAMS using each COPYBOOK ** Keyword=copy:include Exclude=unix Include=.cpy page# 1 Directory=/home/mvstest/testlibs/cbls Options=a16b16c4e3l1q0i7 =======================================================2008/04/05_11:46:21

  custmas.cpy      car100.cbl      car120.cbl      car130.cbl      car140.cbl
  ____________6    car150.cbl      car200.cbl
 *paymas.cpy       cpy100.cbl
  saledtl.cpy_2    car150.cbl      car200.cbl
  sdline.cpy       car200.cbl
  stline.cpy       car200.cbl
Note
  • the '*' above indicates missing copybooks
  • this crossref script runs an additional uvcopy job
  • to check existence of the copybook in the 'cpys' subdir

Goto:   Begin this document End this document UVSI Home-Page

J1. self-study prior to onsite course

If you have time before the onsite training course, you could do some self-study. If you have a considerable amount of time, you could request an early shipment of the Vancouver Utility software, install it on your machine, & run some of the sample conversions & utility test/demos.

UV Software will usually need to re-install the latest version when they come onsite, since there may well be some customizations made, based on sample JCLs sent to UV Software prior to coming onsite.

The following pages will suggest a few items for self-study. We will simply pick 1 or 2 examples of the many available in each major conversion area.

self-study - JCL conversion

I suggest you start with JCLcnv1demo.htm#Part_2 which illustrates several JCL conversions to equivalent Korn shell scripts. For VSE sites the link would be VSEJCL.htm#Part_1.

self-study - COBOL conversion

For a sample COBOL program conversion, see MVSCOBOL.htm#Part_2 or for VSE see VSECOBOL.htm#Part_2.

self-study - DATA conversion

For DATA file conversion, I suggest you start with DATAcnv1.htm#Part_3 which illustrates how the COBOL copybooks are used to generate a 'uvcopy job' to translate EBCDIC character fields, but preserve packed/binary fields.

Usually you do not need to modify the uvcopy job before execution, but if you have files with redefined records, then you do have to insert a few instructions to test the 'record-type' & branch to the appropriate bank of conversion code generated for that record type.

The 'uvcopy' interpretive code has proven to be a powerful advantage over many conversions. uvcopy is essential to mainframe conversions because it supplies capabilities that are lacking in any of the unix/linux tools, such as processing packed decimal fields & compatibility with Micro Focus COBOL (Indexed files & big-end binary fields).

If you have a mainframe background, the uvcopy instructions may look familiar to you since many are based on the 360 assembler. But don't let the word assembler scare you since this language has all the power of assembler, but without the complexity - it is interpretive, just edit the code & rerun.

Goto:   Begin this document End this document UVSI Home-Page

J2. self-study prior to onsite course

self-study - CNVaids.doc

In addition to the JCL,COBOL,& DATA converters, the Vancouver utilities includes a large number of conversion aids ('CNVaids.doc').

We recommend you get familiar with the conversion aids available before you begin your conversions. When you encounter a problem during conversions, you will then know if there is a conversion aid to solve that problem.

In this overview of CNVaids.doc, we will pick only a few of the many aids available to hopefully arouse your interest & get you started on the self-study.

CNVaids - rename_ scripts

There are many 'rename' scripts (in /home/uvadm/sf/util/...) that we have found useful in mainframe conversions. These scripts can save you a lot of manual keying. It can be very awkward renaming many long filenames. Here are just a few of the 27 scripts available:

renameL
  • rename all filenames in a directory to lower case
renameU
  • rename all filenames in a directory to UPPER case
renameX
  • rename all files, changing 1 specified extension to an alternate
rename-X
  • remove specified extension from all files in directory
rename+X
  • add a specified extension to all files in directory

You can see illustrations at CNVaids.htm#1C1 & you can see these scripts listed at scripts1.htm#Part_1.

self-study - Cross-References

Cross-References are an essential aid to any conversion project. Here are the cross-references provided by the Vancouver Utilities:

xcobcall1
  • list of all CALLED-PROGRAMs in each PROGRAM
xcobcall2
  • crossref all PROGRAMS calling any 1 CALLED-PROGRAM
xcobcopy1
  • list all COPYBOOKS in any 1 PROGRAM
xcobcopy2
  • crossref all PROGRAMS copying any 1 COPYBOOK
xcobfile2
  • crossref all PROGRAMS using each external-file
xkshfile1
  • list all DATAFILES used in any 1 JCL/ksh SCRIPT
xkshfile2
  • crossref show all JCL/ksh SCRIPTs using any 1 DATAFILE
xkshprog1
  • list all PROGRAMs executed in any 1 JCL/ksh SCRIPT
xkshprog2
  • crossref show all JCL/ksh SCRIPTS executing any 1 PROGRAM

See brief illustrations in CNVaids.htm#Part_3, see the complete documentation for cross-references at XREFjobs.htm.

Goto:   Begin this document End this document UVSI Home-Page

J3. self-study prior to onsite course

self-study - UVjobs1.doc

On page 'I2' we described the 'uvcopy' utility & why it is essential to DATA conversion. uvcopy can also replace many of the mainframe data file maintenance utilities that are not available on unix/linux systems.

UVjobs1.htm documents about 20 of the over 500 pre-programmed uvcopy jobs available. You can of course copy/rename/modify any of these to solve various data file maintenance or reporting requirements.

UVjobs1 - 'toascii'

'toascii' ('UVjobs1.doc#D1') is a quick way to convert EBCDIC files that are all or mostly character & do not require the comprehensive data conversions based on the COBOL copybooks. See DATAcnv1.htm#Part_3 mentioned previously on page 'H1'.

UVjobs1 - 'table2'

'table2' is a pre-programmed job to create table summary reports based on any one argument field in your record file & accumulating up to six specified quantity or amount fields with automatic record counts. Here is the sample report illistrated at UVjobs1.htm#S1:

 sltbl2 2008/03/30_10:07:45 sales analysis by slsmn#/product# of qty & amount
 tbl#001 pg#001     -argument-            -acum#1-    %        -acum#2-    %
 line#  count    %  slsmn#/product#      sales qty            sales amt
     1       1  11     BIT001                   90   19        8,100.00   28
     2       4  44     HAM001                  180   39       10,900.00   38
     3       2  22     SAW012                   90   19        5,300.00   18
     4       2  22     TAB013                   92   20        4,100.00   14
             9*100   *TOTAL*                   452 *100       28,400.00 *100

Note that it only takes 1 instruction (tbl) to build the table in memory & 1 instruction to dump the table at End Of File. The entire job is only 12 instructions.

Easytrieve conversions

The Vancouver Utilities include an 'EASYTRIEVE to uvcopy' converter. For the simpler file maintenance jobs you often need to change only 1 line in the converted code. For very complex reporting jobs, you might need to rewrite in COBOL.

Goto:   Begin this document End this document UVSI Home-Page

K0. Optional Enhancements that can be made during conversion

optional Enhancements during Conversion

UV Software can make enhancements during the conversion, that will make your applications easier to run, improve your backups, etc. Here are some examples of enhancements that we can provide.

K1. Extract 'control-cards' from JCL to separate files for easier/safer updates
K2.  Assigning Mainframe files to subdirs on Unix/Linux systems
K3.  Multiple sets of Data & Libraries for Production &/or Test
K4.  Enhanced Backups, run by cron, create zip files for last 35 days,
 last 15 months,& last 10 years.
K5.  Replace Line Printers with Lasers, most reports on 8 1/2 x 11 3 hole punched
K6.  Convert COBOL printer files to Line Sequential to allow viewing & printing.
K7.  Convert other DATA files without packed/binary fields to Line Sequential,
 to allow use of Unix/Linux utilities (vi,cat,more,lp,etc).

We want you to think about possible enhancements BEFORE the conversion, so that we might have time to modify our conversion utilities to do the best job possible for you.

Please let us know which optional enhancements you desire & also if you think of other enhancements that would be useful to you. There is no charge for requested modifications if we think they might be valuable to other future customers.

K1. Extract 'control-cards' from JCL to separate files

The JCL converter has an option to replace all instream data (Dates,Rates,etc) with file assignments. SYSIN is reassigned to a filename created as: 'JobName_Step#_ProgramName_DateStamp'.

We have a '1 time' utility job to extract the control cards out to separate files in a master control card directory. A 2nd utility job will be run at the begining of each batch shift to select the current control cards for today's batch runs.

Extracting control cards from JCL to separate files has several advantages:

  1. Saves having to frequently update JCL/scripts & saves the possible mistakes that could occur.

  2. Control card files are date-stamped (filename=jobname_step#_program_yymmdd). This allows you to have multiple versions of the control cards, and the first job in the daily batch shift selects the correct version for today's date as it copies from the master control card directory to the batch run directory accessed by the JCL/scripts. This means control card files can be setup weeks or months in advance (whenever the dates, rates, etc are known).

  3. The control card files can be updated from Windows PCs on the network, since we will be running the 'Samba' file server on the Unix/Linux system.

See more about extracting control cards from JCL to separate files at https://www.uvsoftware.ca/MVSJCL.htm#4L5.

Goto:   Begin this document End this document UVSI Home-Page

K2. optional Enhancements that can be made during conversion

Multiple sets of Data & Libraries

UV Software has developed powerful profiles that allow you to have multiple sets of Data & Libraries, without ever having to change JCL/scripts.

Environmental Variables 'RUNDATA' & 'RUNLIBS' are defined appropriately in the profiles of operators & programmers. For operators RUNDATA/RUNLIBS point to proddata/prodlibs, for programmers RUNDATA/RUNLIBS point to testdata/testlibs.

You will probably run Production & Test on different machines, but this feature allows you to use the same JCL/scripts/programs for multiple companies, and allows different programmers to have different sets of testdata.

See more about profiles & environmental variables RUNDATA/RUNLIBS at: https://www.uvsoftware.ca/admjobs.htm#Part_1

Goto:   Begin this document End this document UVSI Home-Page

K4. optional Enhancements during Conversion

Enhanced Backups

This system takes advantage of massive inexpensive disc systems now available to maintain zip file backups on-disc for the desired number periods & cycles. We suggest 'daily' backups for the last 35 days, 'monthly' backups for the last 15 months,& 'yearly' backups for the last 8 years. The main features of this backup system are:

  1. Backups are automatically scheduled by 'cron'

  2. Nightly zip files are created from Data, Libraries,& Home directories. These are given date/time stamped filenames such as: proddata_yymmdd_HHMM.zip, prodlibs_yymmdd_HHMM.zip,& homedirs_yymmdd_HHMM.zip.

  3. Today's zip file will be copied to 1 or more directories: - daily backup directory - always - monthly backup directory - if 1st of month - yearly backup directory - if January 1

  4. The cron script also copies the backup zip files to tape for the fireproof vault & for offsite storage.

  5. Two days of unzipped backup directories are maintained on disc for instant inspection & recovery without having to unzip an archive.

  6. We would also make an on-disc backup before the daily batch shift is begun, in case there is a problem, which might not be detected until batch totals are checked. Then after the data input file problem or program bug has been corrected, you can quickly restore all production DATA files & rerun the entire batch. This is often much easier than trying to restart the batch at the correct point & worrying about any Generation file problems.

See more about enhanced backups at https://www.uvsoftware.ca/admjobs.htm#Part_4

Goto:   Begin this document End this document UVSI Home-Page

K5. optional Enhancements during Conversion

Replacing Line Printers with Lasers

If you are still using the traditional 15 x 11 line printer reports, we can laser print them. The Vancouver Utilities include several 'uvlp...' scripts to insert HP compatible PCL5 laser codes to print mainframe style reports on 8 1/2 x 11, Landscape, Simplex or Duplex, leaving margins for 3 hole punched paper. For example, 'uvlp13LD' prints 13 cpi, 8 lpi, Landscape, Duplex, to make the traditional 132 column, 66 line reports on 8 1/2 x 11 quite readable.

When JCL/scripts are run, the COBOL programs write the reports into a date stamped (yymmdd) subdirectory within the 'rpts' directory. So today's print directory might be rpts/080328. These daily print subdirs might be saved for 30 days (in case reprints are desired) before being scratched by cron. The JCL converter will assign filenames as shown by the following example. The time stamp is required in case you run the same report more than once within 1 day.

      rpts/yymmdd/jobname_step#_program_HHMMSS
      rpts/080328/pay100_S0060_pay160_103100

Note that the files written into the daily report directories are pure text files (not proprietary spool files), so you can view them from any PC/terminal on the network using Samba & wordpad or a report viewer.

You might be able to eliminate printing a lot of reports since they can be easily viewed online. If you do want to print the above report you could use 'uvlp13LD' as follows. The examples also illustrate some of the options available for page reprints.

      uvlp13LD $RPTS/080328/pay100_S0060*
      uvlp13LD $RPTS/080328/pay100_S0060* b101e106 <-- print pages 101-106
      uvlp13LD $RPTS/080328/pay100_S0060* e4g4     <-- print 1st 4 & last 4 pages

Note that the JCL converter does generate the 'uvlp' script following the COBOL program but it is #commented out, unless you uncomment it because you want this particular report to be printed immediately.

Environmental variables are set in the user profiles to control various features without requiring any differences in the JCL/scripts run by operators or programmers.

If users run 'uvlp' scripts to print desired reports, the report will be directed to a laser printer near them, if environmental variable 'UVLPDEST' (in their profile) has been set to the desired destination.

If you do need to print a substantial number of reports for the batch shift, We suggest you would not print anything until the batch runs are completed and balanced. Then you could run a script with multiple 'uvlp's created by extracting the uvlp's from the batch JCL/scripts & uncommenting.

The Unix/Linux system is usually much faster than the mainframe being replaced so it is unnecessary to begin printing until the batch is completed & verified.

See 'uvlp' laser printing scripts at https://www.uvsoftware.ca/uvlist.htm.

Goto:   Begin this document End this document UVSI Home-Page

K6. optional Enhancements during Conversion

converting printer files to Line Sequential

We MUST convert printer files to 'ORGANIZATION LINE SEQUENTIAL' which is mandatory for the unix/linux 'lp' print scheduler & also allows us to use other unix utilities (vi,page,more,etc).

'OLS' records are terminated by lineFeeds inserted after the last non-blank. LineFeeds are required by unix utilities (lp,vi,page,etc). Shortening the records to the last non-blank saves a lot of file size vs all fixed length 132/133 byte records.

The COBOL converter has options to modify the 'SELECT' statements, changing the default 'ORGANIZATION RECORD SEQUENTIAL' to 'ORGANIZATION LINE SEQUENTIAL':

  1. if the DDname matches a control of keywords (print,report,rpt,prt,sys011,etc)

  2. if the record-size is 132/133 for output files

  3. if Indexed file 'cobfil55I' has an 'L' in byte 46 on the record with key matching the 'ProgramName+DDname'.

A utility job is provided to create cobfil55I by reading all COBOL programs, & create an Indexed file records keyed on ProgramName+DDname with L/46, if 'ADVANCING/POSITIONING BEFORE/AFTER' is found on a WRITE statement for the DDname.

Goto:   Begin this document End this document UVSI Home-Page

K7. optional Enhancements during Conversion

converting Fixed-Length All Character files to Line Sequential

In addition to converting ALL printer files, it might be a good idea to convert some other files to 'ORGANIZATION LINE SEQUENTIAL', to allow us to use unix utilities (vi,lp,page,etc).

Converting files to OLS is possible &/or advantageous if:

  1. the records are All Character (no Packed/Binary fields).

  2. the files are not huge, since processing Line Sequential files is slower than Fixed Record Length files.

  3. the file contains data for which you might want to use vi,lp,page,etc (control cards, dates,rates,names,addresses,descriptions,etc).

Note that SYSIN control cards (see page 'K1') are automatically converted to Line Sequential.

We can convert these files to OLS using options similar to those described above for the printer files:

  1. if the DDname matches a control of keywords (card,parm,date,etc).

  2. if the record-size is 80 for input files

  3. if Indexed file 'cobfil55I' has an 'L' in byte 46 on the record with key matching the 'ProgramName+DDname'.

We could also allow you to manually add the L/46 for desired files in a text version of cobfil55 & then reload the Indexed file for the COBOL converter.

See more on OLS COBOL conversions begining at MVSCOBOL.htm#6G2 thru 6G7.

Goto:   Begin this document End this document UVSI Home-Page

L1. Preparations for On-site Conversion

sending JCL & COBOL for conversion evaluation

It will optimize the on-site conversion, if you can send your JCL & COBOL prior to the conversion, so UV Software can verify the conversions & make any enhancements to the conversion tools to compensate for any unexpected coding habits at your particular site.

These pre-conversions will allow us to give you better advice re the optional JCL conversions described on pages 'K0' thru K7.

We will also be able to report the percentage of COBOL clean compiles. The initial failure rate is often high due to reserved word conflicts between older mainframe COBOL & Micro Focus COBOL. By adjusting the COBOL converter search/replace tables, we can usually get the clean compile rate over 90%.

If possible, please send the following zip files a few weeks before the on-site conversion project starting date.

  1. jcls.zip
  2. procs.zip
  3. parms.zip (SYSIN modules for SORTs, IKJEFT01, etc)
  4. cbls.zip
  5. cpys.zip

Goto:   Begin this document End this document UVSI Home-Page

N1. Partnerships with UV Software

If you are an internationally recognized Systems Integrator, UV Software invites you to become a partner.

  1. Partners may receive a free evaluation copy of the Vancouver Utilities with all conversion tools. Since the utilities are being continuously updated, please delay software delivery until you are ready to begin your evaluation project. Please see the recommendations on page 'N2'.

  2. Partners may use their evaluation copy to perform test/demo conversions for their customers, but only on the partner's premises.

  3. A license must be purchased from UV Software for each customer, before before any part of the Vancouver Utilities is installed on the customer's premises, or before any transfer of converted Programs, JCL,or Data to the customers premises. The exception to this is 'uvhd' the file investigation utility (which is also downloadable from UV Software's website).

  4. When licenses are purchased, UV Software will supply the latest version of the package with unique license numbers embedded in the software.

  5. UV Software will be responsible for any royalties due to 3rd party software components in the Vancouver Utilities. Royalties are paid to Ubiquitous Software for the internal sort algorithm in 'uvsort'. Royalties are paid to Byte Designs for D-ISAM, which is used for fixed length Indexed files (IDXFORMAT1). Note that variable length Indexed files are handled by the Micro Focus IDXFORMAT3 file handler & the customer must have Micro Focus COBOL to link this handler with 'uxsort'.

  6. It may be advantageous to have UV Software personnel come onsite to train the partner's conversion team & ensure that the first conversion project gets off to a quick start. Four weeks are recommended.

The above is a brief summary of UV Software partnerships. Please see the five page 'Partner Agreement' begining on page 'P1'. You may download the WORD document from https://www.uvsoftware.ca/PartnerAgreement.doc.

Goto:   Begin this document End this document UVSI Home-Page

N2. Partnerships with UV Software

Before Requesting a Partnership

  1. Please study the website carefully to determine if the Vancouver Utilities are likely to fulfill your requirements. If you are interested in mainframe conversions, please see jclcnv1demo.htm (or vsejcl.htm if VSE vs MVS), and datacnv1.htm.

  2. Please understand that these are command line utilities. Unix/Linux users will expect this. Windows users could run the utilities in a DOS style command window, but we recommend WSL (Windows Subsystem for Linux). These are not GUI utilities driven by mouse clicks. On the other hand they have been proven to be more powerful and adaptable for complex conversions.

  3. If you are interested in JCL conversion, please email some samples of your JCL for conversion & return of the equivalent Korn shell script. This will give you a quicker appreciation of the JCL converter, than installing and learning how to use the evaluation version. This will also ensure that you will get the best conversions possible. JCL coding habits vary from site to site & UV Software may see some things in your JCL that lead to converter enhancements.

  4. UV Software has a complete solution for converting 'batch' applications (JCL, COBOL,& DATA). UV Software may be able to suggest other partners to convert 'online' applications (IMS or CICS). UV Software is a partner with Micro Focus COBOL who are now providing Enterprise Server with MTO (Mainframe Terminal Option).

  5. UV Software can assist CICS & IMS conversions. Tools are provided to convert EBCDIC data files to pipe delimited text files suitable for loading relational data bases. Packed & Binary fields are unpacked to numeric fields edited with +/- signs and decimal points.

  6. In addition to the mainframe conversion tools, the Vancouver Utilities should be useful to any mainframe site converting to Unix,Linux,or Windows. 'uvsort' provides the capabilities of the mainframe SORT or SYNCSORT. Other mainframe utilities such as Fileaid, Easytrieve,& QuikJob can be replaced by uvcopy, uvcp,& uvqrpg.

  7. Be sure to download and try out the 1 free utility (uvhd) offered on the web site (see freestuff.htm). 'uvhd' is ideal for investigating & verifying mainframe type data files (fixed length records without linefeeds, and with packed or binary fields). Data is displayed in vertical hexadecimal (characters, zones,& digits). Option 'a' translates the EBCDIC characters to ASCII, but you still see the original zones & digits). You may also download the custmas1 demo file & perform the tutorials described in uvhd.htm. Then try out on your own data files. This exercise should give you an idea of how useful the Vancouver Utilities may be to you.

Goto:   Begin this document End this document UVSI Home-Page

O1. Non Disclosure Agreement (blank form)

           - - - - - UV Software or Partner Letterhead here - - - - -

Non-Disclosure Agreement

This NDA is between the following parties:


 #1. the 'Contractor'

Company: UV Software Inc, 4667 Hoskins Rd, North Vancouver BC, V7K2R3 Canada

Representative: Owen Townsend


 #2. the 'Partner'

Company: _________________________________________________________________

Representative: ____________________

This NDA is related to the proposal by UV Software to provide Software and assistance to the Partner for the conversion of mainframe JCL, COBOL, and DATA to a Linux system.

I (Owen Townsend) understand that I will have access to non-public information, that is the property of the Partner.

I certify that I will not disclose any non-public information to any non-Partner personnel who have not executed a similar NDA.

I further understand that this prohibition on disclosure of protected information is an ongoing obligation and does not terminate on the completion of the proposed contract.

 Contractor Signature,             Printed Name,            Date
                                   Owen Townsend
 ________________________________________________________________________
 Partner Signature,                Printed Name,            Date
                                   _____________
 ________________________________________________________________________

Goto:   Begin this document End this document UVSI Home-Page

P1. Vancouver Utilities - Partner Agreement - Page 1 of 5

UV Software - Partner License Agreement

The 'Vancouver Utilities' is a software package developed & marketed by UV Software Inc. (UVSI), 4667 Hoskins Rd, North Vancouver BC Canada V7K2R3. Please see descriptions of these utilities on the web site at https://www.uvsoftware.ca.

The HTML version of this partner agreement can be viewed on the web site at https://www.uvsoftware.ca/uvprices.htm#P1 and you may download the OpenOffice WORD document from https://www.uvsoftware.ca/PartnerAgreement.doc.

UV Software invites internationally recognized system integrators to become partners and market the Vancouver Utilities software to their customers.

Partner Agreement

  1. UVSI will provide the partner with a complimentary copy of the Vancouver Utilities. A zip file (about 30 MB) can be uploaded to the UV Software web site & we can email you a userid/password to enable the download.

  2. See installation procedures at https://www.uvsoftware.ca/install.htm, https://www.uvsoftware.ca/install.pdf also available for download/print.

  3. The partner may not use the complimentary copy for commercial gain, without written permission from UV Software.

  4. The partner may not install the Vancouver Utilities at any other site without written consent from UV Software.

  5. The partner is expected to use the copy for investigation, evaluation, and training of personnel.

  6. Partners may use their copy on their premises to perform sample conversions of JCL, COBOL,& DATA for their customers and prospects. Please see the recommendations for sample conversions in the 'User Agreement'.

Goto:   Begin this document End this document UVSI Home-Page

P2. Vancouver Utilities - Partner Agreement - Page 2 of 5

  1. The partner may request training from UV Software. Training costs are $6600 US per week for USA & Canada or $7600 elsewhere. This includes all expenses except for airline per trip cost of $1800 for USA/Canada and $2800 elsewhere. We recommend two weeks minimum and it should be four weeks if the training can be combined with the first customer conversion.

  2. The training would be most effective as part of the first customer conversion. UV Software can train both partner and customer personnel. UV Software can also ensure that the first conversion gets off to a quick start. Within 3 or 4 weeks, we can usually convert all JCL,COBOL,& DATA (flat files VSAM sequential & indexed), and get started on the testing and parallel running.

  3. The complimentary copy of Vancouver Utilities will not be provided until there is a clear indication of commitment. We know you are seriously interested with potential customers when you supply us with sample JCL for conversion & return by email. Please supply zip files of sample JCLs, Procs,& SYSIN modules.

  4. Installing the complimentary copy of Vancouver Utilities on the partner's machine is usually much more effective with on-site training for the partner's personnel or for a combination of partner and first customer personnel.

  5. It is suggested that the partnership agreement be renewed every 5 years, but the agreement will continue unless or until cancelled by either side, to be effective 6 months after receiving written notice.

  6. If the agreement is cancelled, the partner must remove the Vancouver Utilities software from all his machines and erase all backup copies.

  7. UV Software endeavors to provide a high quality product of value to you, but makes no guarantee as to the usefulness of the product for any particular application. UV Software assumes no responsibility for loss of data or any other losses that may occur while using the product supplied.

  8. The Vancouver Utilities software package for Unix & Linux systems is proprietary to & copyrighted by UV Software Inc. The product is supplied to the user under license for use as specified in this document.

Goto:   Begin this document End this document UVSI Home-Page

P3. Vancouver Utilities - Partner Agreement - Page 3 of 5

Partner Sales to Customers

  1. The partner should ask the customer to complete the 'User Agreement' and submit it to UV Software.

  2. UV Software requires the user name & site location which is embedded in the software along with the license# assigned.

  3. We will upload the latest version of Vancouver Utilities to our website for the partner to download with his assigned userid/password so he can install on both the partner's & the customer's machines.

  4. When there are significant enhancements to the current version, we will supply the new version to the partner. Partners are never charged for software updates & customers are not charged for updates within the maintenance period.

  5. Please see the current prices of software, maintenace,& support at https://uvsoftware.ca/uvprices.htm.

  6. If desired UVSI will bill the customer directly.

  7. Alternatively, the partner may bill the customer and/or bundle the cost with his services and pay UV Software separately.

    Questions & Answers

Potential partners might ask the following questions:

  1. Can I buy the class A pkg & do all JCL conversions on my machine ?

Answer: Yes.

  1. Could I then install just the JCL/scripts on the end-user's machine ?

Answer: No, the converted JCL/scripts require several other components from UV Software.

See details on the next page.

Goto:   Begin this document End this document UVSI Home-Page

P4. Vancouver Utilities - Partner Agreement - Page 4 of 5

Why the end-user must purchase Vancouver Utilities

  1. Converted JCL/scripts call Vancouver Utility replacements for mainframe utilities (SORT,IDCAMS,IEBGENER,IKJEFT01,FTP,etc). For example, 'uvsort' replaces mainframe SORT or SYNCSORT, since the unix system 'sort' can not sort mainframe type files (may have packed fields & do not have the LineFeeds required by unix sort).

  2. Converted JCL/scripts call several functions that are separate from the JCL/scripts & are part of the Vancouver Utilities pkg. All converted scripts call common function 'jobset51' to initialize the job environment (setup job temp subdir, allow step restart on any step, etc).

  3. VU supplies Generation Data files (GDG), absent on Unix/Linux systems. See https://www.uvsoftware.ca/jclcnv4gdg.htm#Part_5 which describes functions exportgen0 & exportgen1 which also require the uvcopy utility.

  4. VU provides a 'console logging system', since the unix system does not provide anything similar to the mainframe console logging system. See details at https://www.uvsoftware.ca/admjobs.htm#Part_6

  5. The Vancouver Utilities provide the 'uvlist' utility (and many scripts calling uvlist), to print mainframe reports on Laser printers 8 1/2 x 11 Landscape, Duplex, etc.

  6. VU supplies many aids similar to the mainframe aids. Please see a summary at https://www.uvsoftware.ca/CNVaids.htm. For example see the JCL & COBOL cross-references in Part 3.

  7. VU provides data file maintenance utilties to replace mainframe utilities (FILEAID, QUIKJOB, EASYTRIEVE, etc). You can see some of these at https://www.uvsoftware.ca/CNVaids.htm#Part_7. The 'uvhd' utility has proven especially useful to end-users for investigating data file problems. You can also fix minor problems with the interactive 'uvhd', but serious problems are better fixed with the 'uvcopy' utility.

    profiles for JCL/script execution environment

  8. The Vancouver Utilities supply the 'profiles' that are essential to establishing the environment in which the jobs are executed. The profiles & environmental variables allow you to use the same JCL/script for multiple sets of Data & Libraries (JCL, COBOL, parms).

Environmental variables '$RUNLIBS' & '$RUNDATA' define the super-dir locations of JCL/scripts & programs, and data files. Production & development could share the same machine without interference, but usually different machines. A more practical benefit is that '$RUNDATA' allows different programmers to have different sets of TESTDATA.

See more about the profiles & environmental variables at https://www.uvsoftware.ca/admjobs.htm#Part_1 or at https://www.uvsoftware.ca/jclcnv1demo.htm#Part_1.

Goto:   Begin this document End this document UVSI Home-Page

P5. Vancouver Utilities - Partner Agreement - Page 5 of 5

Partner Agreement

Accepted and Agreed by authorized agents of the parties as set forth below:

 Partner: ________________________     UV Software Inc.
 Partner Signature:                    UV Software Signature:
 _____________________________         Owen Townsend__________________
 (print name)                          (print name)
 Title: __________________________     Title: President
 Date:  __________________________     Date: _____________________________

Address: __________________________ Address: 4667 Hoskins Rd.

City/state: ________________________ City/state: North Vancouver BC

Country: ___________________________ Country: Canada

Telephone: _________________________ Telephone: 1-604-980-5434

Email: _____________________________ Email: owen@uvsoftware.ca

Please supply any additional information in the space below that may help UV Software to satisfy your requirements. Please describe your primary objectives & anticipated conversions (MVS, VSE, JCL, COBOL, DATA).

Goto:   Begin this document End this document UVSI Home-Page

U1. Vancouver Utilities - User Agreement - Page 1 of 4

User License Agreement

The Vancouver Utilities is a software package available from: UV Software Inc, 4667 Hoskins Rd, North Vancouver BC Canada V7K2R3. Please see descriptions of these utilities on the web site at https://www.uvsoftware.ca.

The HTML version of this user agreement can be viewed on the web site at https://www.uvsoftware.ca/uvprices.htm#U1 and you may download the OpenOffice WORD document from https://www.uvsoftware.ca/UserAgreement.doc.

The Vancouver Utilities is a package of data file manipulation and sorting utilities for Unix, Linux,& Windows systems. They are especially relevant for handling data files that have been migrated from a mainframe system because the normal Unix/Linux/Windows system utilities can not handle fixed length files with packed/binary fields and without line-feeds.

The Vancouver Utilities are often used for conversion of mainframe JCL, COBOL,& DATA files, and to support the execution of the converted scripts on Unix/Linux systems.

UV Software endeavors to provide a high quality product of value to you, but makes no guarantee as to the usefulness of the product for any particular application. UV Software assumes no responsibility for loss of data or any other losses that may occur while using the product supplied.

The Vancouver Utilities software package for Unix & Linux systems is proprietary to & copyrighted by UV Software Inc. The product is supplied to the user under license for use as specified in this document.

Goto:   Begin this document End this document UVSI Home-Page

U2. Vancouver Utilities - User Agreement - Page 2 of 4

Vancouver Utility License Class A

Class A Licenses include the following:

  1. Complete package with all tools for conversion of mainframe JCL, COBOL, and DATA to Unix/Linux systems.

  2. Replacements for mainframe sorting and data file maintenance utilities (SORT,SYNCSORT,IDCAMS,IEBGENER,IEBCOPY,IEFBR14,IKJEFT01,FTP,ISRSUPC,etc). Vancouver Utility equivalents are uvsort,uvcopy,uvcp,uvlist,uvhd,etc.

  3. Over 500 Korn shell scripts and over 500 uvcopy jobs to perform various functions required after conversion. For example the mainframe GDG system is implemented as a combination of Korn shell scripts & uvcopy jobs.

  4. Source code is included. Major conversion tools such as the JCL converter are written in ANSI C. Sort & data utilities such as uvsort & uvcopy are also written in ANSI C.

  5. Class A maintenance provides up to 50 hours per year of email/telephone support. More than 50 hours per year would probably indicate major assistance with user applications, which is available at $80 per hour working from our home office (vs on-site). See maintenance prices for class A at https://uvsoftware.ca/uvprices.htm#B1

  6. Class A licenses with no maintenance provides up to 8 hours of email or telephone support (total for installation lifetime). Customer feedback is encouraged and we will not charge to implement your suggestions for enhancements that we think could be useful to to other future customers. Of course, any reported software defects (bugs) are fixed at no charge.

    Vancouver Utility License Class B

The class B package is the same as class A with the omission of the mainframe JCL to Korn shell converters. Class B would apply to sites that have already converted from a mainframe and need to replace the mainframe utilities with the equivalents supplied by the Vancouver Utilities. Class B could be useful to any Unix/Linux site for data file maintenance and conversions, regardless of mainframe conversion. Class B licenses with maintenance include up to 30 hours per year of email or telephone support. Class B support without maintenance is free up to 6 hours lifetime.

Goto:   Begin this document End this document UVSI Home-Page

U3. Vancouver Utilities - User Agreement - Page 3 of 4

Vancouver Utilities License Conditions

  1. Users may load the software on any number of computers at one business address. Licenses for additional sites are available at half price. The first license also covers one second site that serves as a backup (fail-over) for the first site.

  2. Users with multiple sites may transfer the software between their sites. There is no need to receive different copies of the software for different sites. The licensing is independent of the physical software.

  3. No part of the Vancouver Utilities may be transferred to any unlicensed site without express written agreement from UV Software. No outputs from the mainframe conversion tools may be transferred to any other unlicensed site without express written agreement from UV Software. A licensee's backup (failover) site is exempt form these no-transfer restrictions.

  4. The license holder may not remove the UV Software copyright notice or the registration number from any source or documentation. Source code is provided for license classes A and B, and these sites may modify the source code if they so desire. UV Software encourages suggestions for improvements and usually implements suggestions which are judged likely to be useful to other existing & future users of the Vancouver Utilities.

  5. Please see the annual maintenance options available for classes A & B at https://uvsoftware.ca/uvprices.htm#B1 B3,& B5.

  6. Projects such as mainframe conversions are complex, the requirements may vary from site to site, and the conversion tools may need modifications to produce optimum results. UV Software will provide unlimited support and free updates to solve reported defects or enhancements that might also benefit other future users.

  7. UV Software will also provide free updates for customizations unique to the customer site - within the free support time limits provided by the maintenance options (see https://uvsoftware.ca/uvprices.htm#B1 B3, or B5 for class A or B. Some customers may need an agreement for additional paid support ($80 an hour). Such an agreement will include unlimited free software updates as required.

  8. The license fees include a royalty to Byte Designs for the D-ISAM object library which is required to support access to Micro Focus COBOL compatible indexed files (IDXFORMAT1).

Goto:   Begin this document End this document UVSI Home-Page

U4. Vancouver Utilities - User Agreement - Page 4 of 4

User License Agreement

Accepted and Agreed by authorized agents of the parties as set forth below:

Licensee: __________________________ UV Software Inc.

 User Signature:                       UV Software Signature:
 _____________________________         Owen Townsend__________________
 (print name)                          (print name)
 Title: __________________________     Title: President
 Date:  __________________________     Date: _____________________________

Address: __________________________ Address: 4667 Hoskins Rd.

City/state: ________________________ City/state: North Vancouver BC

Country: ___________________________ Country: Canada

Telephone: _________________________ Telephone: 1-604-980-5434

Email: _____________________________ Email: owen@uvsoftware.ca

License Class: _____________________

Goto:   Begin this document End this document UVSI Home-Page

V1. Vancouver Utilities for Unix,Linux,& Windows

License Agreement for IBM Data Conversion Teams

This License Agreement may be seen on the UV Software web site at https://www.uvsoftware.ca/uvprices.htm#V1 or downloaded from https://www.uvsoftware.ca/IBMTeamAgreement.doc (OpenOffice WORD doc).

This agreement was developed in 2010 between Owen Townsend (UV Software) and Craig Conrad (IBM). Craig Conrad is the Project Manager for the Data Conversion Teams of IBM Business Consulting Services (HQ Harrisburg, NC).

  1. UV Software will provide a copy of the Vancouver Utilities to any requesting IBM office for a special price of $1000. The package provided includes all mainframe to unix conversion utilities and normally sells for $9600 (or $4800 for all data utilities except the JCL converter).

  2. When this agreement is accepted and upon request, the package will be made available for download from the UV Software website as explained at https://www.uvsoftware.ca/uvprices.htm#U3.

  3. This license provides unlimited use in support of the specific IBM data conversion engagement (original contract and it authorized change requests), including use of the software on any and all systems (Unix and/or Windows) used on the engagement, whether owned or used by IBM, IBM's client, or a third party.

  4. UV Software will provide free support and free updates on a best efforts basis & depending on time available. We encourage feedback and suggestions for enhancements.

  5. UV Software hopes that customers at these sites may wish to purchase the package from UV Software for their ongoing use after the IBM team has completed their work. In this case the package will be discounted by the $1000 paid by IBM. If the customer does not purchase, then the package must be removed from the customers machines when the IBM team completes their on-site project.

  6. Interested customers can see the primary User License Agreement on the internet at https://www.uvsoftware.ca/uvprices.htm#U1 or download from https://www.uvsoftware.ca/UserAgreement.doc (OpenOffice WORD doc).

  7. All prices quoted in this document are in US dollars.

Goto:   Begin this document End this document UVSI Home-Page

V2. Vancouver Utilities for Unix,Linux,& Windows

License Agreement for IBM Data Conversion Teams

Accepted and Agreed by authorized agents of the parties as set forth below:

Licensee: __________________________ UV Software Inc.

 IBM Signature:                        UV Software Signature:
 _____________________________         Owen Townsend__________________
 (print name)                          (print name)
 Title: __________________________     Title: President
 Date:  __________________________     Date: _____________________________

Address: __________________________ Address: 4667 Hoskins Rd.

City/state: ________________________ City/state: North Vancouver BC

Country: ___________________________ Country: Canada

Telephone: _________________________ Telephone: 1-604-980-5434

Email: _____________________________ Email: owen@uvsoftware.ca

Goto:   Begin this document End this document UVSI Home-Page

Visitor Counters for ThisYear and LastYear