Part_0 Overview, Copyright, Support


0A1. Overview, Copyright notice, Warranty,& Support

0A2. Vancouver Utility versions, CD archives & Install Methods

0A3. Sub-Directories in uvadm after tar extract or unzip.

Part_1 Install Guide for CYGWIN


1A1. Downloading CYGWIN & suggested setup for CYGWIN

1B1. setup Vancouver Utilities Admin account (uvadm) for CYGWIN

1C1. Install Vancouver Utilities in uvadm of CYGWIN

1D1. .profile for uvadm on Windows under CYGWIN

1E1. compiling Vancouver Utilities on CYGWIN

1F1. setup additional users for CYGWIN

1G1. preparations to run mainframe COBOL & JCL conversions

1G2. modify 'uvlp' scripts for CYGWIN

1H1. Korn Shell Required to run JCL/scripts

Part_2 Install Guide for UWIN


2A1. Downloading UWIN & suggested setup for UWIN

2B1. setup Vancouver Utilities Admin account (uvadm) for UWIN

2C1. Install Vancouver Utilities in uvadm of UWIN

2D1. .profile for uvadm on Windows under UWIN

2E1. compiling Vancouver Utilities on UWIN

2F1. setup additional users for UWIN

2G1. modify 'uvlp' scripts for UWIN

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

0A1. CygwinUwin: Vancouver Utilities INSTALLATION GUIDE for Windows SFU

copyright notice

COPYRIGHT 1993-2006 UV Software Inc. All rights reserved - Worldwide. Please see the license agreement in the price list section. The Vancouver Utility programs are encoded with a unique registration# to aid in the prevention and detection of unauthorized copying.

Support

A generous amount of free telephone support is included in the purchase price (see more details in uvprices.htm). User comments are encouraged and any suggestions may be incorporated into future updates.

 ============================================================================
 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-2006, UV Software Inc, All rights reserved
 ============================================================================

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

0A2. CygwinUwin: Installation Overview & Recommendations

3 market versions of Vancouver Utilities

Class A
  • complete package including mainframe conversion tools
  • includes source code for compile on unix/linux/windows
  • distribution CD has precompiled binaries for Linux & Windows
Class B
  • Vancouver Utilities without mainframe conversion tools
  • includes source code for compile on unix/linux/windows
  • distribution CD has precompiled binaries for Linux & Windows
Class C
  • Vancouver Utilities without mainframe conversion tools
    and without source code
  • executables only, intended for windows

2 Distribution Files on CD

uvadm.tar
  • tar archive for Unix/Linux or Windows SFU (or Cygwin, Uwin)
uvadm.zip
  • zip archive for Windows (same contents as uvadm.tar)

These are alternative formats, but the contents are the same. You use whichever 1 is appropriate for your system. Both may hold 3 sets of binaries as follows:

subdirs of pre-compiled binaries

bin
  • binaries compiled on Red Hat Linux (always provided)
binDOS
  • '.exe's compiled by lcc-win32 on Windows (always provided)
binSFU
  • binaries compiled on Windows SFU by gcc (on request)
binCYGWIN
  • binaries compiled under Cygwin on Windows (on request)
binUWIN
  • binaries compiled under Uwin on Windows (on request)

4 Installation Guides


install.htm - Installation on Unix/Linux systems
- source code is provided for compiling on unix/linux
- But binaries are included for the Linux standard
 WindowsSFU.htm - Installation on Windows under SFU
                  - https://www.microsoft.com/windows/sfu
                  - SFU provides the Korn shell & most unix utilities on Windows
 'CygwinUwin'     - Installation on Windows under Cygwin or Uwin
                  - unix/linux emulators, similar to SFU
                  - UV Software has tested 3 emulators & recommends SFU
 WindowsDOS.htm - Installation on native Windows without SFU
                  - intended to run in a command window
                  - executables only, supplied in 'binDOS', compiled by lcc-win32
                  - https://www.cs.virginnia.edu/~lcc-win32
                  - https://www.Q-Software-Solutions.com

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

0A3. CygwinUwin: Vancouver Utilities - Media Contents

The media includes directories for source, documentation, installation scripts, test files, library archives, etc. After the tar extract or unzip, the home directory should contain the following sub-directories:

sub-directories in uvadm after restore

 /home/uvadm
 :-----batDOS          <-- BAT files for VU on native Windows
 :-----binDOS          <-- binaries for VU on native Windows (cc by lcc-win32)
 :-----bin             <-- binaries for Linux (uvcopy,uvsort,uvhd,etc)
 :-----binSFU          <-- binaries for SFU     (on request)
 :-----binCYGWIN       <-- binaries for CYGWIN  (on request)
 :-----binUWIN         <-- binaries for UWIN    (on request)
 :-----ctl               - control files for various purposes
 :-----dat1              - test data files
 :-----doc               - Vancouver Utilities documentation (text)
 :-----dochtml           - VU doc in HTML (same as on www.uvsoftware.ca)
 :-----env               - profiles for unix,LINUX,SFU,UWIN,& CYGWIN
 :-----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
 :     :-----cbl0
 :     :-----...         - many subdirs omitted, see MVSJCL.htm
 :     :-----xref
 :-----pf              <-- Parameter Files for uvcopy & uvqrpg
 :     :-----adm         - administrative jobs
 :     :-----demo        - demo jobs
 :     :-----IBM         - IBM mainframe conversion jobs
 :     :-----OS3         - OS3 mainframe conversion jobs
 :     :-----util        - utility jobs
 :-----sf              <-- Script Files
 :     :-----adm         - administrative scripts
 :     :-----demo        - demo scripts
 :     :-----IBM         - IBM mainframe conversion scripts
 :     :-----OS3         - OS3 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)

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

Part_1. Installing Vancouver Utilities under CYGWIN on Windows


1A1. Downloading CYGWIN & suggested setup for CYGWIN

1B1. setup Vancouver Utilities Admin account (uvadm) for CYGWIN

1C1. Install Vancouver Utilities in uvadm of CYGWIN

1D1. .profile for uvadm on Windows under CYGWIN

1E1. compiling Vancouver Utilities on CYGWIN

1F1. setup additional users for CYGWIN

1G1. preparations to run mainframe COBOL & JCL conversions

1G2. modify 'uvlp' scripts for CYGWIN

1H1. Korn Shell Required to run JCL/scripts

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1A1. CygwinUwin: Installing Vancouver Utilities under CYGWIN on Windows

See https://www.cygwin.com. You only need to download the basic CYGWIN package to run the precompiled Vancouver Utilities under CYGWIN. If you want to compile you need to also download the CYGWIN development system & the gcc compiler.

If you intend to run the mainframe JCL conversions, you will also need the Korn shell from https://www.kornshell.com (see details on page '1H1').

suggested setup for CYGWIN

We will assume you have downloaded & installed the basic CYGWIN package onto Windows disc drive 'H:'. The install directory will be 'H:\cygwin'.

You can make the CYGWIN console much more attractive by customizing the 'properties' of the CYGWIN desktop Icon. You can expand the small, black, ugly DOS window to a big, beautiful blue experience. See the details on page '1B2'.

When you click on the CYGWIN icon on the desktop, you are logged in as Administrator (assuming you were logged on to Windows as Administrator). 'pwd' will show as '/' (which is the same as H:\cygwin).


 click on CYGWIN icon on Windows desktop
 =======================================
     Administrator:     --> logs you in as Administrator

 ls -l /    <-- display root filesystem for CYGWIN
 =======
     total 8
     drwxr-xr-x    2 Administ None            0 Dec  2 16:18 bin
     -rwxr-xr-x    1 Administ None          138 Dec  2 16:49 cygwin.bat
     -rw-r--r--    1 Administ None         7022 Dec  2 18:34 cygwin.ico
     drwxr-xr-x   12 Administ None            0 Dec  2 16:16 etc
     drwxr-xr-x   27 Administ None            0 Dec  2 16:18 lib
     drwxr-xr-x    2 Administ None            0 Dec  2 16:18 tmp
     drwxr-xr-x   20 Administ None            0 Dec  2 16:18 usr
     drwxr-xr-x    6 Administ None            0 Dec  2 16:18 var

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1A2. CygwinUwin: Installing Vancouver Utilities under CYGWIN on Windows

getting rid of '/cygdrive'

'/cygdrive/' is a CYGWIN default if you have not mounted your drives. This is rather annoying since it prefixes all pathnames. You can get rid of it by 'mount'ing your drives as /c, /d, etc.


 #1. mount     <-- display mount table
     =====

H:\cygwin\bin on /usr/bin type system (binmode) H:\cygwin\lib on /usr/lib type system (binmode) H:\cygwin on / type system (binmode) c: on /cygdrive/c type system (binmode) d: on /cygdrive/d type system (binmode) f: on /cygdrive/f type system (binmode) g: on /cygdrive/g type system (binmode) h: on /cygdrive/h type system (binmode)

mounts to get rid of /cygdrive/


 #2a. mount c: /c
 #2b. mount d: /d
 #2c. mount f: /f
 #2d. mount g: /g
 #2e. mount h: /h

 #3. mount     <-- display mount table
     =====

H:\cygwin\bin on /usr/bin type system (binmode) H:\cygwin\lib on /usr/lib type system (binmode) H:\cygwin on / type system (binmode) c: on /c type system (binmode) d: on /d type system (binmode) f: on /f type system (binmode) g: on /g type system (binmode) h: on /h type system (binmode)

modifying 'cygwin.bat'

When you start CYGWIN (by clicking on the CYGWIN desk top icon), a batch file in the CYGWIN install directory is executed. If installed on H: as in our example, this would be H:\cygwin\cygwin.bat as a windows path, but just /h/cygwin.bat as a CYGWIN path (since '/' is H:\cygwin).

cygwin.bat BEFORE changes

@echo off H: chdir H:\cygwin\bin bash --login -i

We consider this original cygwin.bat as belonging to 'root' or 'Administrator'. We wont modify this, but will copy, rename,& modify for additional users, such as 'uvadm' (see next page) & 'mvstest' (see page '1F1').

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1B1. CygwinUwin: Installing Vancouver Utilities under CYGWIN on Windows

setup 'uvadm' for CYGWIN

We will create another CYGWIN shortcut on the desktop for uvadm. The CYGWIN shortcut executes a batch file (cygwin.bat). In the instructions below, we will copy/rename cygwin.bat as cygwin_uvadm.bat. We will also modify the shortcut target from cygwin.bat to cygwin_uvadm.bat.

You could do the following using windows techniques & wordpad, but I will use a windows dos command window for some of it (easier to document).


 #1. First setup the user (uvadm) under the Windows Operating System.
     ================================================================
     Control Panel --> Users & passwords --> setup user 'uvadm' & a password

 #2. Open a DOS command window
     =========================

 #3. cd H:\cygwin               <-- change to CYGWIN system directory
     ============

 #4. copy cygwin.bat cygwin_uvadm.bat  <-- copy/rename batch file
     ================================

 #5. edit cygwin_uvadm.bat      <-- edit batch file
     =====================        - see original on previous page
     @echo off
     H:
     set CYGWIN=tty notitle glob binmode <-- insert
     set HOME=H:\uvadm                   <-- insert
     set PATH=H:\cygwin\bin              <-- insert (but unnecessary)
     chdir H:\cygwin\bin
     bash --login -i

 #6. mkdir H:\uvadm             <-- make home dir for uvadm
     ==============

 #7. exit                       <-- exit from dos cmd window back to desktop
     ====

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1B2. CygwinUwin: Installing Vancouver Utilities under CYGWIN on Windows

setup 'uvadm' for CYGWIN (continued)

Following procedures are performed using the Windows O/S on the desktop (I used Windows 2000).


 #8.  Duplicate existing CYGWIN shortcut on the desktop
      =================================================
      right click --> create shortcut

 #9.  Rename duplicated shortcut as 'Cygwin uvadm'
      ==============================================
      right click --> rename --> 'Cygwin uvadm'

 #10. Change name of batch file specified within shortcut
      ===================================================
      right click --> properties --> (see below)

We will also make the CYGWIN console much more attractive by customizing the 'properties' of the CYGWIN desktop Icon. You can expand the small, black, ugly DOS window to a big, beautiful blue experience.

      Shortcut properties tabs under Windows 2000 are as follows:
      General, Shortcut, Options, Font, Layout, Colors
      ================================================

Shortcut tab changes

      Target:  H:\cygwin\cygwin.bat  --> H:\cygwin\cygwin_uvadm.bat
      Startin: H:\uvadm              --> H:\uvadm
      Run:     Normal window         --> Maximized

Layout tab changes

      Window size Width:  80         --> 128
      Window size Height: 30         --> 60

Color tab changes

      Screen background: black(ugly) --> blue

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1C1. CygwinUwin: Installing Vancouver Utilities for CYGWIN

Install Vancouver Utilities for CYGWIN

We assume here that we are still operating under the Windows O/S. Before we login as uvadm under CYGWIN (on the next page), we can copy the uvadm.tar archive from the CD (drive E:) into the uvadm home directory.


 dir E:             <-- display contents of CD (drive E:)
 ======
      -r-xr-xr-x  1 root     Everyone32573440 Jun 30 22:39 uvadm.tar
      -r-xr-xr-x  1 root     Everyone35297462 Apr 22  2009 uvadm.zip

 copy E:\uvadm.tar H:\uvadm
 ==========================
Note
  • We copy the tar archive into uvadm homedir (under Windows) for
    later extract (using 'tar' under CYGWIN).

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1C2. CygwinUwin: Installing Vancouver Utilities under CYGWIN on Windows

Install Vancouver Utilities for CYGWIN (continued)

The previous page documented the 'setups' performed under the Windows O/S. We will now use CYGWIN to complete the Vancouver Utilities install.


 #1. click on the CYGWIN icon on Windows desktop
     ========================
     --> logs you in to uvadm HOME dir (see cygwin.bat on prior page)
     --> H:\uvadm (windows) or /h/uvadm (CYGWIN)

 #2. Extract the VU subdirs from the tar archive (copied from CD above).

 #2a. tar xvf uvadm.tar
      =================
      - extract Vancouver Utilities from tar archive into current dir

 #3. ls -l             - check results, should be as shown on page '0A2'.
     =====             - note 4 subdirs of binaries:
        bin          <-- binaries for Linux (uvcopy,uvsort,uvhd,etc)
        binDOS       <-- binaries for VU on native Windows (cc by lcc-win32)
        binCYGWIN    <-- binaries for CYGWIN (unix on Windows with bash)
        binUWIN      <-- binaries for UWIN (unix on Windows with ksh)

 #4a. mv bin binRHL    - rename supplied 'bin' directory (Red Hat Linux)
      =============      (or remove if you have no use for RHL binaries)

 #4b. mv binCYGWIN bin - rename the GCC/Windows '.exe's to standard bin
      ================   to agree with PATH defs in .profile

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1D1. CygwinUwin: .profile for Vancouver Utilities under CYGWIN on Windows

setup .profile for CYGWIN

After media restore, this code is available in /home/uvadm/env/profile1. You can simply copy the supplied 'profile_CYGWIN' into the uvadm home dir & rename as '.profile', since there is no existing .profile on CYGWIN. Assuming you are in the uvadm home dir this would be:


 #1. cp env/profile_CYGWIN .profile
     ==============================
     - copy supplied profile_CYGWIN & rename as .profile
     - see listing on following page.

 #2. exit               - logoff (& back on activate new .profile)
     ====

 #3. login uvadm + exit - login & out a 2nd time to make .profile effective
     ==================   (not sure why this required, but it works)

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1D2. CygwinUwin: .profile for Vancouver Utilities under CYGWIN on Windows

.profile for CYGWIN on Windows

 # profile_CYGWIN - .profile for Vancouver Utilities under CYGWIN on windows
 #                - recommended for mainframe conversions (see MVSJCL.doc)
 # - this file stored in /home/uvadm/env/profile_CYGWIN
 # - also see /home/uvadm/env/profile_UWIN for UWIN on Windows
 # - also see /home/uvadm/env/profile_LINUX for Linux
 #
 # :r .profile                       <-- read existing .profile (if any)
 # :$                                <-- goto last line of system .profile
 # :r /home/uvadm/env/profile_CYGWIN <-- append this code to support Van Utils
 # =================================
 # :wq                               <-- write out modified .profile
 #
 #----------------------------------------------------------------------------
 # setup critical environmental variables for Vancouver Utilities & appsadm
 export UV=/h/uvadm               # <-- UV homedir symbol used below
 export APPSADM=/h/appsadm        # <-- site applications administrator
 #
 #----------------------------------------------------------------------------
 # setup critical environmental variables for mainframe conversions
 export RUNLIBS=$HOME             # <-- demo uses /home/mvstest for testlibs
 export RUNDATA=$HOME/testdata    # <-- apps superdir of data subdirs
 # above RUNLIBS & RUNDATA used for MVS JCL conversion test/demo
 # production should use separate filesystems for RUNLIBS & RUNDATA for example:
 # export RUNLIBS=/u1/apps/prodlibs/apay <-- sample Acts PAYable system
 # export RUNDATA=/u2/apps/proddata      <-- RUNDATA subdirs apay,arecv,etc
 #
 #----------------------------------------------------------------------------
 # Setup 'PATH' for programs, scripts,& JCLs (UV+APPSADM+HOME+RUNLIBS)
 # Apr2003 - $UV/sf subdirectoried to adm,demo,util,IBM,OS3
 export PATH=$PATH:$UV/bin       #<-- append UV programs, scripts,& RUNLIBS jcls
 export PATH=$PATH:$UV/sf/adm:$UV/sf/demo:$UV/sf/util:$UV/sf/IBM:$UV/sf/OS3
 export PATH=$PATH:$APPSADM/sf:$RUNLIBS/jcls:$RUNLIBS/sf
 #
 #----------------------------------------------------------------------------
 # Setup $PFPATH for uvcopy & uvqrpg interpreter to find Parameter Files (jobs)
 # - use symbol $UV (defined above) to shorten PFPATH definition
 #
 export PFPATH=$UV/pf/adm,$UV/pf/demo,$UV/pf/util,$UV/pf/IBM,$UV/pf/OS3
 export PFPATH=$RUNLIBS/pf,$APPSADM/pf,$HOME/pf,$PFPATH  #<-- UV pfs last
 #     - UV/pf/... follows RUNLIBS,APPSADM,HOME to allow user duplicate names
 #note - uvcopy accepts ',' comma delimiters so no conflict with ':' colons
 #     - in case you wanted to use D:/ vs /d/
 #
 #----------------------------------------------------------------------------
 # Setup 'FPATH' for Korn shell functions (used by mainframe JCL/scripts)
 export FPATH=$RUNLIBS/sfun  # functions for ksh (Korn shell)
 #----------------------------------------------------------------------------
 # printer destinations
 export LPDEST="lp0"        # default dest if lp -d unspcfd
 export UVLPDEST="-dlp0"    # default dest for uvlp(uvlist) scripts
 export UVHDPRINT=uvlp12    # script for uvhd 'i' immediate print command
 export UVHDPWIDE=uvlp12L   # script for uvhd 'iprint' Landscape 100 chars/line
 # export PT=":"            # inhibit jcl printing for programmer testing
 # export LPSDIR=/home/ezadm                # activate for EasySpooler
 # export LPOPTION="-dlp01 -onob -odata=a"  # options for EasySpooler
 #-------------------------------------------------------------------------
 # set TERM type depending on unix/linux system ??
 export TERM=ansi             # <-- modify TERM as required
 trm=$(tty)                   # capture terminal device for echo below
 echo "terminal device tty=$trm and terminal type TERM=$TERM"
 #-------------------------------------------------------------------------
 # Misc Recommended items
 umask 002                     # permissions 775 dirs, 664 files
 # stty intr '^C'              # interrupt ^C, (probably already default ?)
 set -o ignoreeof              # disallow logoff via ctl D (use exit)
 HOST1=$(uname -n)             # add to PS1 prompt if desired
 trmv=${trm#/dev/}             # remove prefix /dev/
 export PS1='<@$trmv:$LOGNAME:$PWD> '
 export EDITOR=vi              # for Korn shell history
 export VISUAL=vi              # for Korn shell history
 export HISTSIZE=1000;         # Korn shell history file size
 export COBMAPDIR=$RUNLIBS/maps   # for uvhdcob (display data with fieldnames)
 export DISAMEXT=""               # no 'dat' for MF COBOL Fixed length Indexed
 #-------------------------------------------------------------------------
 # alias commands to prompt for overwrite (highly recommended)
 # - use \rm, \mv, \cp, (or option '-f') when you have many files
 # - '\' tells Unix/Linux to ignore the alias & use native unix/linux command
 alias rm='rm -i'              # confirm removes
 alias mv='mv -i'              # confirm renames
 alias cp='cp -i'              # confirm copy overwrites
 alias cdd='cd $RUNDATA'       # quick access to data dir
 alias cdl='cd $RUNLIBS'       # quick access to libs (same as cd)
 alias l='ls -l'               # not required for UnixWare
 #-------------------------------------------------------------------------
 # for Micro Focus COBOL Net Express for Windows O/S
 # - see compile scripts mfnxcbl1 & mfnxcblA in /home/uvadm/sf/IBM
 export LD_LIBRARY_PATH=/d/MicroFocus/NetExpress/Base/lib
 export COBDIR=D:\\MicroFocus\\NetExpress\\Base
 export PATH=$PATH:/d/MicroFocus/NetExpress/Base/bin
 export COBCPY=$(cygpath -w $RUNLIBS/cpys) # for compile script mfnxcbl1
 export COBDIR=$(cygpath -w $RUNLIBS/cblx)\;$COBDIR
 # - cblx added to COBDIR so 'runw' can find .int/.idy without path
 # MicroFocus also required to compile 'ux' programs (uxcp,uxsort,uxcopy,uxqrpg)
 # - with cobccuv script to support ISAM Variable length (IDXFORMAT3 files)
 #--------------------------------------------------------------------------
 # activate for Morada RPG compiler
 # export RPGCDIR=/home/rpgadm            # if you use Morada RPG compiler
 # export PATH=$PATH:$RPGCDIR/bin         # append RPG bin to PATH
 # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/rpgadm/lib  # for Morada RPG
 # export SIGN_OVERRIDES=UN-7             # x'70' neg zone signs for RPG programs
 # export DISAMEXT=dat                  # RPG could use .dat ext on DISAM files
 #--------------------------------------------------------------------------
 # Capture console log files (see details in ADMjobs.doc in vol3 of UVdoc)
 export LOGDIR=$APPSADM     # ADMjobs.doc recommends LOGDIR in /home/appsadm
 # LOGDIR must contain subdirs log1,log2,log3 (current file,cur month,lastmonth)
 # - each of log1,log2,log3 must have subdirs matching $LOGNAME
 ## uncomment next 4 lines in .profiles of users who require logging
 # login1 || exit 2          # exit here if 2nd login
 # logfixA                   # process log1 file to log2 (to allow read/print)
 # echo 'console logging requires --> . aliases <-- setup aliases at logon'
 # exec script $LOGDIR/log1/$LOGNAME/$(date +%y%m%d_%H%M%S)
 #Note - the 'exec script' must be the last non-comment line in the .profile
 #     - ':' changed to '_' (in %y%m%d_%H%M%S) works for both windows & linux
 #----------------------------------------------------------------------------

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1E1. CygwinUwin: Installing Vancouver Utilities under CYGWIN on Windows

compiling Vancouver Utilities on CYGWIN

The distribution CD contains the pre-compiled binaries for CYGWIN, but if desired you may re-compile the Utilities under CYGWIN as follows:

This assumes you purchased a version of Vancouver Utilities that includes the C source code, and have also downloaded the 'gcc' compiler as directed on the CYGWIN web site https://www.wipro.com/uwin.


 #1. click on the CYGWIN icon on Windows desktop
     ========================
     --> logs you in to uvadm HOME dir, /h/uvadm (CYGWIN) or H:\uvadm (windows)

 #2.  rm -f bin/*    - remove existing bin contents (Linux binaries)
      ===========

 #3.  export UVCC=gcc        - changes default 'cc' compiler to 'gcc'
      ===============
Note
  • compile scripts now test environmental variable $OS for Windows...
  • if found, the UVCC variable is automatically set to 'gcc'

 #4.  uvccall CYGWIN I32 DISAM  <-- compiles all subfunctions & all programs
      ======================

 #5.  ls -l bin   - check results, should contain:
      =========     uvcopy,uvsort,uvlist,uvqrpg,uvcp,uvhd,uvhdcob

Testing Recently Installed Utilities


 #9a. uvhd dat1/custmas1 <-- test uvhd (file investigation utility)
      ==================   - displays packed fields in vertical hexadecimal

 #9b. uvcopy uvenv       <-- test uvcopy
      ============         - captures, sorts,& displays environmental variables

 #9c. uvqrpg qrpgEX2     <-- test uvqrpg (take all defaults)
      ==============       - creates report with total levels & summary tables

See many more sample jobs suggested in TestDemo.htm

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1F1. CygwinUwin: Installing Vancouver Utilities under CYGWIN on Windows

setup additional users for CYGWIN

We have already setup userid/login 'uvadm'. You can now setup additional CYGWIN users as you see fit. If you plan to run test/demos in MVSJCL.htm, you will need to set up 'mvstest'. We will use that as an example below:

We will create another CYGWIN shortcut on the desktop for each additional user desired. The CYGWIN shortcut executes a batch file (cygwin.bat). In the instructions below, we will copy/rename cygwin.bat as cygwin_mvstest.bat. We will insert a few lines as shown below (SET HOME=H:\uvadm, etc). We will also modify the shortcut target from cygwin.bat to cygwin_mvstest.bat.

You could do the following using windows techniques & wordpad, but I will use a windows dos command window for some of it (easier to document).


 #1. First setup the user (mvstest) under the Windows Operating System.
     ==================================================================
     Control Panel --> Users & passwords --> setup user 'mvstest' & a password

 #2. Open a DOS command window
     =========================

 #3. cd H:\cygwin       <-- change to CYGWIN system directory
     ============

 #4. copy cygwin.bat cygwin_mvstest.bat  <-- copy/rename batch file
     ==================================

 #5. edit cygwin_mvstest.bat  <-- edit batch file (change HOME to mvstest)
     =======================      (results shown below)
     @echo off
     H:
     set CYGWIN=tty notitle glob binmode   <-- insert
     set HOME=H:\mvstest                   <-- insert
     set PATH=H:\cygwin\bin                <-- insert (but unnecessary)
     chdir H:\cygwin\bin
     bash --login -i                       <-- bash will cd to $HOME

 #6. mkdir H:\mvstest    <-- make home dir for mvstest
     ================

 #7. copy H:\uvadm\env\profile_CYGWIN H:\mvstest\.profile
     ====================================================
     - copy supplied profile for CYGWIN & rename as required

 #8. exit                <-- exit from dos cmd window back to desktop
     ====

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1F2. CygwinUwin: Installing Vancouver Utilities under CYGWIN on Windows

setup additional users for CYGWIN (continued)

Following procedures are performed using the Windows O/S on the desktop (I used Windows 2000).


 #9.  Duplicate existing CYGWIN shortcut on the desktop
      =================================================
      right click --> create shortcut

 #10. Rename duplicated shortcut as 'Cygwin mvstest'
      ==============================================
      right click --> rename --> 'Cygwin mvstest'

 #11. Change name of batch file specified in shortcut
      ===============================================
      right click --> properties --> (see below)

You can make the CYGWIN console much more attractive by customizing the 'properties' of the CYGWIN desktop Icon. You can expand the small, black, ugly DOS window to a big, beautiful blue experience.

      Shortcut properties tabs under Windows 2000 are as follows:
      General, Shortcut, Options, Font, Layout, Colors
      ================================================

Shortcut tab changes

      Target:  H:\cygwin\cygwin.bat  --> H:\cygwin\cygwin_mvstest.bat
      Startin: H:\uvadm              --> H:\mvstest
      Run:     Normal window         --> Maximized

Layout tab changes

      Window size Width:  80         --> 128
      Window size Height: 30         --> 60

Color tab changes

      Screen background: black(ugly) --> blue

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1G1. CygwinUwin: Installing Vancouver Utilities under CYGWIN on Windows

preparations to run mainframe COBOL & JCL conversions

We have completed setting up Cygwin user 'mvstest', which is required if you wish to perform the mainframe conversion test/demos documented in MVSJCL.htm. Here in install.doc, we will only show you the 1st step which is to copy the supplied test/demo files from uvadm to mvstest.


 #1. click on the 'Cygwin mvstest' icon on Windows desktop
     --> homedir --> /h/mvstest  (or H:\mvstest)

 #6. cp -r /home/uvadm/mvstest /home/mvstest
     =======================================
     - copy test/demo files from uvadm/mvstest subdir to mvstest homedir.

Please see MVSJCL.htm#5F2 to continue with the mainframe conversion demos.

You will also need the Korn shell to run the converted JCL/scripts. The next 2 pages show you how to download from https://www.kornshell.com and add the ksh files to the CYGWIN /bin.

1G2. modify 'uvlp' scripts for CYGWIN

The 'uvlp' scripts allow you to print text files (scripts, programs, reports) at various cpi,lpi,Portrait/Landscape,Simplex/Duplex. For example 'uvlpLD1' can be used to print mainframe reports (were 15x11) on 8 1/2 x 11 using Landscape Duplex at 13 cpi & 8 lpi.

These scripts execute the 'uvlist' utility & pipe the output to the 'lp' print spooler. This worked on Unix/Linux, but did not work (for me at least) on CYGWIN. But I could simply redirect the output to 'LPT1'. See '2G1' where we made a similar correction for UWIN via the 'rep1d' mass change utility.

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1H1. CygwinUwin: Installing Vancouver Utilities under CYGWIN on Windows

Korn Shell Required to run JCL/scripts

Mainframe JCL conversions require the Korn shell (1993 version). ksh93 is required for the exportgen functions that simulate mainframe generation files. The exportgen functions are stored in the 'sfun' subdir which is defined to ksh by the 'FPATH' environmental variable. Each converted JCL/script will 'autoload' the exportgen functions at line 8.

'bash' is the default shell for CYGWIN, which calls the bash shell from the batch file executed when you click on the CYGWIN desktop ICON. Do not attempt to change this. It wont work & it is not necessary since each JCL/script specifies the Korn shell on the 1st line via '#!/bin/ksh'.

Downloading the Korn shell

You can download ksh (1993) from https://www.kornshell.com. To avoid confusion, I have reproduced the download menus below. I have marked the proper selection with '<--' on the 1st & 2nd levels of the menus. Without direction, you would probably pick 'ksh - standalone executable' but that does not apply to CYGWIN on windows. We need 'ast-ksh - ksh and support libraries'.

                           PACKAGE NAME DESCRIPTION
INIT
  • the package command, required by other packages
ast-base
  • ksh,pax,nmake,sfio,and ast libraries
ast-base-locale
  • ast-base C locale messages with translations
ast-ksh
  • ksh and support libraries <---
ast-ksh-locale
  • ast-ksh package C locale messages with translations
ast-open
  • ksh,pax,nmake,sfio,ast open source libraries
ast-open-locale
  • ast-open C locale messages with translations
beta
  • beta packages for bleeding edge users and testers
ksh
  • standalone AT&T ksh executable
ratz
  • standalone executable that reads gzipped tar archives
uwin
  • AT&T UWIN binaries including the ast-open binary package
          ast-ksh Software Download Package List
         RELEASE          TYPE         SIZE  REQUIRES
  2003-07-24  BASE  *    SOURCE       1459120  INIT
  2003-07-24  2003-06-21 SOURCE       9216     INIT
  2003-07-24  BASE  *    bsd.i386     2923451  INIT
  2003-07-24  BASE  *    cygwin.i386  1695869  INIT   <---
  2003-07-24  BASE  *    darwin.ppc   2480718  INIT
  2003-07-24  BASE  *    freebsd.i386 3848363  INIT
  2003-07-24  BASE  *    hp.pa        5400188  INIT
 ast-ksh.2003-07-24.cygwin.i386.tgz   <-- download file saved on disc
Note
  • you do not need to download the 'INIT' package
  • just follow the instructions on the next page --->

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

1H2. CygwinUwin: Installing Vancouver Utilities under CYGWIN on Windows

installing ksh93 on CYGWIN

The downloaded file is a tar zipped archive (assume stored in D:\ksh93tmp).

D:\ksh93tmp ast-ksh.2003-07-24.cygwin.i386.tgz <-- download file saved on disc


 #1. login to CYGWIN (click on desktop ICON)
     ---> homedir --> H:\cygwin (considered '/' root by CYGWIN)

 #2. cd /d/ksh93tmp      <-- change to subdir with downloaded file

 #3. gunzip ast-ksh.2003-07-24.cygwin.i386.tgz   <-- unzip the file
     =========================================

 #4. tar xvf ast-ksh.2003-07-24.cygwin.i386.tar   <-- untar the file
     ==========================================

 #5a. ls -lr /d/ksh93tmp   <-- inspect results (option r descends into subdirs)
      ==================
 #5b. dtree /d/ksh93tmp    <-- or use VU script dtree
      =================        (shows subdirs to any depth, but not files)
 /d/ksh93tmp
 :-----arch
 :     :-----cygwin.i386
 :     :     :-----bin
 :     :     :     :----- cygast54.dll   <-- ksh requires these .dll's
 :     :     :     :----- cygcmd12.dll
 :     :     :     :----- cygdll10.dll
 :     :     :     :----- cygshell11.dll
 :     :     :     :----- ksh            <-- ksh entry module
 :     :     :     :----- shcomp
 :     :     :     :----- suid_exec
 :     :     :-----fun
 :   ---- etc ----

Now you can copy the contents of the above bin to the cygwin bin shown below:


 #6. cp /d/ksh93tmp/arch/cygwin.i386/bin/* /h/cygwin/bin
     ===================================================
 H:\cygwin
 :-----bin
 :     :-----...          <-- many existing files not shown by dtree
 :     :-----...          <-- will add ksh93 files shown above
 :-----cygwin.bat
 :-----cygwin.ico
 :-----lib
 :-----usr
 :-----var

 #7. rm -fr /d/ksh93tmp    <-- remove download temp files
     ==================

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

Part_2. Installing Vancouver Utilities under UWIN on Windows


2A1. Downloading UWIN & suggested setup for UWIN

2B1. setup Vancouver Utilities Admin account (uvadm) for UWIN

2C1. Install Vancouver Utilities in uvadm of UWIN

2D1. .profile for uvadm on Windows under UWIN

2E1. compiling Vancouver Utilities on UWIN

2F1. setup additional users for UWIN

2G1. modify 'uvlp' scripts for UWIN

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

2A1. CygwinUwin: Installing Vancouver Utilities under UWIN on Windows

See https://www.wipro.com/uwin. You only need to download the basic UWIN package to run the precompiled Vancouver Utilities under UWIN. To compile you need to also download the UWIN development system & the gcc compiler.

Note there is an alternative installation for native Windows (without UWIN) documented separately in WindowsDOS.htm.

suggested setup for UWIN

We will assume you have downloaded & installed the basic UWIN package. When you click on the UWIN icon on the desktop, you are logged in to root. Your home directory from 'pwd' will be shown as /home/root, but home is a symbolic link to C:/users/root or /C/users/root (if C: is the UWIN drive).


 click on UWIN icon on Windows desktop
 =====================================
 $          --> logs you in as root (blank screen with '$' prompt)

 ls -l /    <-- display root filesystem for UWIN
 =======
 drwxrwxrwx  1 root     Everyone     512 Jan  1  1980 A    <-- diskette
 drwxrwxrwx 14 root     Everyone     512 Jan  1  1980 C    <-- 1st disk/partition
 drwxrwxrwx 32 root     Everyone     512 Jan  1  1980 D    <-- 2nd disk/partition
 dr-xr-xr-x  2 root     Everyone     512 Apr 22  2009 E    <-- CDROM
 drwxrwxrwx  2 root     Everyone     512 Nov 11 09:14 bin
 drwxrwxrwx  3 root     Everyone     512 Nov 11 09:14 dev
 drwxrwxrwx  3 root     Everyone     512 Nov 11 09:14 etc
 lrwxrwxrwx  1 root     Everyone       8 Nov 11 09:15 home -> /D/users
 drwxrwxrwx 20 root     Everyone     512 Nov 11 09:14 lib
 drwxr-xr-x  2 root     None      128000 Nov 11 09:13 proc
 drwxrwxrwx  6 root     Everyone     512 Nov 11 09:14 reg
 drwxrwxrwx 32 root     Everyone     512 Jan 17  2002 sys
 drwxrwxrwx  3 root     Everyone     512 Nov 11 09:14 tmp
 drwxrwxrwx 17 root     Everyone     512 Nov 11 09:14 usr
 drwxrwxrwx  6 root     Everyone     512 Nov 11 09:14 var
 drwxrwxrwx 49 root     Everyone     512 Jan 17  2002 win

customizing properties of UWIN desktop Icon

You can make the UWIN console much more attractive by customizing the 'properties' of the UWIN desktop Icon. You can expand the small, black, ugly DOS window to a big, beautiful blue experience. See the details on page 'F4'.

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

2B1. CygwinUwin: Installing Vancouver Utilities under UWIN on Windows

setup 'uvadm' for UWIN


 #1. First setup 'uvadm' as a user under the Windows Operating System.
     Control Panel --> Users & passwords --> setup user 'uvadm' & a password

 #2. click on the UWIN icon on Windows desktop
     --> logs you in as root (blank screen with '$' prompt)

 #3. adduser -m -h /home/uvadm -p password uvadm
     ===========================================
     - setup the 'uvadm' account to house the Vancouver Utilities
     - /home/uvadm could be specified as /C/users/uvadm or C:/users/uvadm

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

2C1. CygwinUwin: Installing Vancouver Utilities under UWIN on Windows

Installing Vancouver Utilities for UWIN


 #1. login uvadm  --> /home/uvadm (or /C/users/uvadm)
     ===========

 #2a. Mount the CD, we will assume drive E:
      - no mount command required (like windows, just insert CD)

 #2b. ls -l /E         <-- display contents of CD (drive E:)
      ========
      -r-xr-xr-x  1 root     Everyone32573440 Jun 30 22:39 uvadm.tar
      -r-xr-xr-x  1 root     Everyone35297462 Apr 22  2009 uvadm.zip

 #3. tar xvf /E/uvadm.tar
      ====================
      - extract Vancouver Utilities tar archive from CD into current dir

 #4. ls -l             - check results, should be as shown on page 'A3'.
     =====             - note 4 subdirs of binaries:
        bin          <-- binaries for Linux (uvcopy,uvsort,uvhd,etc)
        binDOS       <-- binaries for VU on native Windows (cc by lcc-win32)
        binCYGWIN    <-- binaries for CYGWIN (unix on Windows with bash)
        binUWIN      <-- binaries for UWIN (unix on Windows with ksh)

 #5a. mv bin binRHL    - rename supplied 'bin' directory (Red Hat Linux)
      =============      (or remove if you have no use for RHL binaries)

 #5b. mv binUWIN bin   - rename the GCC/Windows '.exe's to standard bin
      ==============     to agree with PATH defs in .profile

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

2D1. CygwinUwin: Installing Vancouver Utilities under UWIN on Windows

setup .profile for uvadm on UWIN

After media restore, this code is available in /home/uvadm/env/profile1. You can simply copy the supplied 'profile_UWIN' into the uvadm home dir & rename as '.profile', since there is no existing .profile on UWIN. Assuming you are in the uvadm home dir this would be:


 #1. cp env/profile_UWIN .profile   <-- copy & rename supplied profile for UWIN
     ============================

 #2. vi .profile      <-- modify .profile as desired & as required
     ===========
Note
  • PATH for UWIN must have '/usr/gnu/bin' preceding
  • else the GCC C compiler will not work
  • see line #32 in /home/uvadm/env/profile_UWIN listed on page 'G2'

      export PATH=/usr/gnu/bin:$PATH   #<-- PRE-pend PATH for GCC C Compiler
      ==============================

 #3. exit             - logoff (& back on activate new .profile)
     ====

 #4. login uvadm + exit - login & out a 2nd time to make .profile effective
     ==================   (not sure why this required, but it works)

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

2D2. CygwinUwin: .profile for Vancouver Utilities on Unix/Linux

.profile for UWIN on Windows

 # profile_UWIN - .profile for Vancouver Utilities under UWIN on windows
 #              - copy/rename to your home directory for UWIN on windows
 #              - this file provided in /home/uvadm/env/profile_UWIN
 #
 # :r .profile                      <-- read unix system .profile (if any)
 # :$                               <-- goto last line of unix/linux .profile
 # :r /home/uvadm/env/profile_UWIN  <-- append this code to support Van Utils
 # ===============================
 # :wq                               <-- write out modified .profile
 #
 #----------------------------------------------------------------------------
 # setup critical environmental variables for Vancouver Utilities & appsadm
 export UV=/home/uvadm            # <-- UV homedir symbol used below
 export APPSADM=/home/appsadm     # <-- site applications administrator
 #
 #----------------------------------------------------------------------------
 # setup critical environmental variables for mainframe conversions
 export RUNLIBS=$HOME             # <-- demo uses /home/mvstest for testlibs
 export RUNDATA=$HOME/testdata    # <-- apps superdir of data subdirs
 # above RUNLIBS & RUNDATA used for MVS JCL conversion test/demo
 # production should use separate filesystems for RUNLIBS & RUNDATA for example:
 # export RUNLIBS=/u1/apps/prodlibs/apay <-- sample Acts PAYable system
 # export RUNDATA=/u2/apps/proddata      <-- RUNDATA subdirs apay,arecv,etc
 #
 #----------------------------------------------------------------------------
 # Setup 'PATH' for programs, scripts,& JCLs (UV+APPSADM+HOME+RUNLIBS)
 # Apr2003 - $UV/sf subdirectoried to adm,demo,util,IBM,OS3
 export PATH=$PATH:$UV/bin       #<-- append UV programs, scripts,& RUNLIBS jcls
 export PATH=$PATH:$UV/sf/adm:$UV/sf/demo:$UV/sf/util:$UV/sf/IBM:$UV/sf/OS3
 export PATH=$PATH:$APPSADM/sf:$RUNLIBS/jcls:$RUNLIBS/sf
 export PATH=/usr/gnu/bin:$PATH  #<-- must PRE-pend PATH for GCC C compiler
 #
 #----------------------------------------------------------------------------
 # Setup $PFPATH for uvcopy & uvqrpg interpreter to find Parameter Files (jobs)
 # - use symbol $UV (defined above) to shorten PFPATH definition
 #
 export PFPATH=$UV/pf/adm,$UV/pf/demo,$UV/pf/util,$UV/pf/IBM,$UV/pf/OS3
 export PFPATH=$RUNLIBS/pf,$APPSADM/pf,$HOME/pf,$PFPATH  #<-- UV pfs last
 #     - UV/pf/... follows RUNLIBS,APPSADM,HOME to allow user duplicate names
 #note - uvcopy accepts ',' comma delimiters so no conflict with ':' colons
 #     - in case you wanted to use D:/ vs /d/
 #
 #----------------------------------------------------------------------------
 # Setup 'FPATH' for Korn shell functions (used by mainframe JCL/scripts)
 export FPATH=$RUNLIBS/sfun  # functions for ksh (Korn shell)
 #----------------------------------------------------------------------------
 # printer destinations
 export LPDEST="lp0"        # default dest if lp -d unspcfd
 export UVLPDEST="-dlp0"    # default dest for uvlp(uvlist) scripts
 export UVHDPRINT=uvlp12    # script for uvhd 'i' immediate print command
 export UVHDPWIDE=uvlp12L   # script for uvhd 'iprint' Landscape 100 chars/line
 # export PT=":"            # inhibit jcl printing for programmer testing
 # export LPSDIR=/home/ezadm                # activate for EasySpooler
 # export LPOPTION="-dlp01 -onob -odata=a"  # options for EasySpooler
 #-------------------------------------------------------------------------
 # set TERM type depending on unix/linux system ??
 export TERM=vt100            # <-- modify TERM as required
 trm=$(tty)                   # capture terminal device for echo below
 echo "terminal device tty=$trm and terminal type TERM=$TERM"
 #-------------------------------------------------------------------------
 # Misc Recommended items
 umask 002                     # permissions 775 dirs, 664 files
 # stty intr '^C'              # interrupt ^C, (probably already default ?)
 set -o ignoreeof              # disallow logoff via ctl D (use exit)
 HOST1=$(uname -n)             # add to PS1 prompt if desired
 trmv=${trm#/dev/}             # remove prefix /dev/
 export PS1='<@$trmv:$LOGNAME:$PWD> '
 export EDITOR=vi              # for Korn shell history
 export VISUAL=vi              # for Korn shell history
 export HISTSIZE=1000;         # Korn shell history file size
 export COBMAPDIR=$RUNLIBS/maps   # for uvhdcob (display data with fieldnames)
 export DISAMEXT=""               # no 'dat' for MF COBOL Fixed length Indexed
 #-------------------------------------------------------------------------
 # alias commands to prompt for overwrite (highly recommended)
 # - use \rm, \mv, \cp, (or option '-f') when you have many files
 # - '\' tells Unix/Linux to ignore the alias & use native unix/linux command
 alias rm='rm -i'              # confirm removes
 alias mv='mv -i'              # confirm renames
 alias cp='cp -i'              # confirm copy overwrites
 alias cdd='cd $RUNDATA'       # quick access to data dir
 alias cdl='cd $RUNLIBS'       # quick access to libs (same as cd)
 alias l='ls -l'               # not required for UnixWare
 #-------------------------------------------------------------------------
 # for Micro Focus COBOL Net Express for Windows O/S
 export COBDIR=$(winpath /D/MicroFocus/NetExpress/Base)
 export LD_LIBRARY_PATH=$(winpath /D/MicroFocus/NetExpress/Base/lib)
 export PATH=$PATH:/D/MicroFocus/NetExpress/Base/bin
 export COBCPY=$(winpath $RUNLIBS/cpys)   # copybooks for compiles
 export COBDIR=$(winpath $RUNLIBS/cblx)\;$COBDIR
 # - cblx added to COBDIR so 'runw' can find the .int/.idy with no path
 # - UWIN 'winpath' converts unix paths to DOS paths for Windows Net Epress
 # - see compile scripts mfnxcbl1 & mfnxcblA in /home/uvadm/sf/IBM
 # MicroFocus also required to compile 'ux' programs (uxcp,uxsort,uxcopy,uxqrpg)
 # - with cobccuv script to support ISM Variable length (IDXFORMAT3 files)
 #
 #--------------------------------------------------------------------------
 # activate for Morada RPG compiler
 # export RPGCDIR=/home/rpgadm            # if you use Morada RPG compiler
 # export PATH=$PATH:$RPGCDIR/bin         # append RPG bin to PATH
 # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/rpgadm/lib  # for Morada RPG
 # export SIGN_OVERRIDES=UN-7             # x'70' neg zone signs for RPG programs
 # export DISAMEXT=dat                  # RPG could use .dat ext on DISAM files
 #--------------------------------------------------------------------------
 # Capture console log files (see details in ADMjobs.doc in vol3 of UVdoc)
 export LOGDIR=$APPSADM     # ADMjobs.doc recommends LOGDIR in /home/appsadm
 # LOGDIR must contain subdirs log1,log2,log3 (current file,cur month,lastmonth)
 # - each of log1,log2,log3 must have subdirs matching $LOGNAME
 ## uncomment next 4 lines in .profiles of users who require logging
 # login1 || exit 2          # exit here if 2nd login
 # logfixA                   # process log1 file to log2 (to allow read/print)
 # echo 'console logging requires --> . aliases <-- setup aliases at logon'
 # exec script $LOGDIR/log1/$LOGNAME/$(date +%y%m%d_%H%M%S)
 #Note - the 'exec script' must be the last non-comment line in the .profile
 #     - ':' changed to '_' (in %y%m%d_%H%M%S) works for both windows & linux
 #----------------------------------------------------------------------------

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

2E1. CygwinUwin: Installing Vancouver Utilities under UWIN on Windows

compiling Vancouver Utilities on UWIN

The distribution CD contains the pre-compiled binaries for UWIN, but if desired you may re-compile the Utilities under UWIN as follows:

This assumes you purchased a version of Vancouver Utilities that includes the C source code, and have also downloaded the 'gcc' compiler as directed on the UWIN web site https://www.wipro.com/uwin.


 #1a. click on UWIN icon on the Windows desktop
      ==================

 #1b. login uvadm   - takes you to uvadm homedir /home/uvadm
      ===========     (or /C/users/uvadm, or C:/users/uvadm)

 #2.  rm -f bin/*    - remove existing bin contents (Linux binaries)
      ===========

 #3.  export UVCC=gcc        - changes default 'cc' compiler to 'gcc'
      ===============
Note
  • compile scripts now test environmental variable $OS for Windows...
  • if found, the UVCC variable is automatically set to 'gcc'

 #4.  uvccall UWIN I32 DISAM  <-- compiles all subfunctions & all programs
      ======================

 #5.  ls -l bin   - check results, should contain:
      =========     uvcopy,uvsort,uvlist,uvqrpg,uvcp,uvhd,uvhdcob

Testing Newly Installed Utilities


 #9a. uvhd dat1/custmas1 <-- test uvhd (file investigation utility)
      ==================   - displays packed fields in vertical hexadecimal

 #9b. uvcopy uvenv       <-- test uvcopy
      ============         - captures, sorts,& displays environmental variables

 #9c. uvqrpg qrpgEX2     <-- test uvqrpg (take all defaults)
      ==============       - creates report with total levels & summary tables

See many more sample jobs suggested in TestDemo.htm

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

2F1. CygwinUwin: Installing Vancouver Utilities under UWIN on Windows

setup additional users for UWIN

We have already setup userid/login 'uvadm'. You can now setup additional UWIN users as you see fit. If you plan to run test/demos in MVSJCL.htm, you will need to set up 'mvstest'. We will use that as an example below:


 #1. First setup the user (mvstest) under the Windows Operating System.
     ==================================================================
     Control Panel --> Users & passwords --> setup user 'mvstest' & a password

 #2. click on the UWIN icon on Windows desktop
     =========================================
     --> logs you in as root (blank screen with '$' prompt)
     --> homedir /home/root or /d/users/root (if UWIN on disk D:)

 #3. adduser -m -h /home/mvstest -p password mvstest
     ===============================================
     - setup the 'mvstest' account to test/demo mainframe conversions
     - /home/mvstest is the same as /C/users/mvstest or C:/users/mvstest

 #4. cp /home/uvadm/env/profile_UWIN /home/mvstest/.profile
     ======================================================
     - copy supplied profile for UWIN & rename as required

 #5. login mvstest  --> /home/mvstest (or /C/users/mvstest)
     =============

To test/demo the mainframe conversion tools, you would now refer to page 5F2 of MVSJCL.doc. The 1st step would be to copy the supplied test/demo files from uvadm to mvstest as follows:


 #6. cp -r /home/uvadm/mvstest /home/mvstest
     =======================================

Please see MVSJCL.htm#5F2 to continue with the mainframe conversion demos.

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

2G1. CygwinUwin: Installing Vancouver Utilities under UWIN on Windows

'uvlp' scripts on UWIN

The 'uvlp' scripts allow you to print text files (scripts, programs, reports) at various cpi,lpi,Portrait/Landscape,Simplex/Duplex. For example 'uvlpLD1' can be used to print mainframe reports (were 15x11) on 8 1/2 x 11 using Landscape Duplex at 13 cpi & 8 lpi.

These scripts execute the 'uvlist' utility & pipe the output to the 'lp' print spooler. This worked on Unix/Linux, but did not work (for me at least) on UWIN. But I could simply redirect the output to '/dev/lp0'.

There are about 50 of these convenient scripts in /home/uvadm/sf/util/... Here is the 'uvlist' execution line from a typical script (uvlp12).


 uvlist $1 p60$2 a2t1c12$3 | lp $UVLPOPTN $UVLPDEST
 #=================================================

The $UVLP variables are defined in the .profile & for Unix/Linux, they might be as follows:


 export UVLPOPTN="-onobanner"
 ============================
 export UVLPDEST="-dlaserxx"
 ===========================

But we could not simply redefine these differently for UWIN, because we also had to get rid of the '| lp' (pipe to print spooler).

 The solution was to use the 'rep1d' mass change utility as shown on the
 next page ----->

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

2G2. CygwinUwin: Mass Changes to entire directories of scripts

rep1d - search/replace on all files

The Vancouver Utilities includes several pre-programmed jobs that allow you to make mass changes to entire directories of scripts, programs, etc. Better than 'sed' because they are easier to understand, provide qualifiers, and audit reports.

Our example is based on the 'uvlp' scripts (see uvlp12 listed on prior page). These scripts execute the 'uvlist' utility & pipe the output to the 'lp' print spooler. This worked on Unix/Linux, but did not work on SFU, UWIN, or CYGWIN as explained on the previous page.


 #1. rm -f tmp/*         <-- clear the tmp subdir (for rep1d output)

 #2. uvcopy rep1d,fild1=sf/util,fild2=tmp   <-- run rep1d mass change utility
     ====================================       (fild1=input,fild2=output)
     - rep1d prompts for options & search/replace/qualifiers as follows:
 uop=q1a1b99999c0d256e0p1 - option defaults
       a1                 - begin scan at line #1 (default) of input file
       a0                 - causes prompt for search pattern to BEGIN scan
         b99999           - end scan at line #99999 (dflt) of input file
         b0               - causes prompt for search pattern to END scan
               c0         - begin scan at col #1 (zero rel) of input lines
                 d256     - length of scan area default 256 bytes
                     e0   - do not erase any output files
                     e1   - erase output files with no replacements
                       p1 - 1 present qual(31-60) & 1 absence qual(61-80)
                       p2 - 2 present quals(31-60+61-80) & NO absent quals
 User OPtion (uop) defaults  = q1a1b99999c0d256e0p1
  null to accept or re-specify         -->                          <-- null OK
 did you create outdir/remove files ?  --> y                        <-- ENTER
 enter search pattern (max 64 bytes)   --> | lp $UVLPOPTN $UVLPDEST <-- ENTER
 enter replacement pattern (max 64)    --> > /dev/lp0               <-- ENTER
 enter qualifier present (null disable)--> uvlist                   <-- ENTER
 enter absent qualifier, or 2nd present-->                          <-- null
 enter match options: p,s,q1/q2/q3,n   -->                          <-- null
 rep1d:031223:183823: EOF fili01 19 rds, 0 wrts, 827 size; sf/util/allcancel
 rep1d:031223:183823: EOF filo02 0 rds, 19 wrts, 827 size; tmp/allcancel
                       ... many lines omitted ...
 rep1d:031223:183824: EOF fili01 32 rds, 0 wrts, 1426 size; sf/util/uvlp12 1 hits
 rep1d:031223:183824: EOF filo02 0 rds, 32 wrts, 1415 size; tmp/uvlp12 1 hits
 rep1d:031223:183824: EOF fild01 194 rds, 0 wrts, 4096 size; sf/util 47 hits
 display/edit/print/none ? (more/vi/lp/null)--> more   <-- display audit report
 See the audit report on the next page -------->

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

2G3. CygwinUwin: Mass Changes to entire directories of scripts

rep1d - search/replace on all files

Here is a sample report from 'rep1d' the mass change utility, we ran on the previous page to change all occurrences of 'lp -onobanner' with '/dev/lp0' in the entire directory of /home/uvadm/sf/util while copying to subdir tmp.

rep1d - sample audit report

 Job: $jobname  InDir: sf/util  OutDir: tmp  Search: | lp -onobanner $dest
 Replacement: /dev/lp0  QualPresent: uvlist
 MatchOptions:   UserOptions: q1a1b99999c0d256e0p1
 ====================================================== 2003/12/23_18:38:23
 00026 uvlist $1 p60z2$2 a2t1c12$3 > /dev/lp0
 00031                   1 reps @EOF: tmp/uvlp12
 00029 uvlist $1 p41$2 a2t1o1m150j-200c16$3 > /dev/lp0
 00034                   1 reps @EOF: tmp/uvlp16L
          ............. many lines omitted ...............
 00036 uvlist tmp/wrtbig.$JOBID hp20$2 a2o3b3m-150j150c5v24$3 > /dev/lp0
 00042                   1 reps @EOF: tmp/wrtbig
 ====================================================== 2003/12/23_18:38:24
  EOD: 00047 reps in 0043 files of 0192 total (06476 lines)

Note that the audit report shows just the resulting lines where changes have been made. After inspecting the audit report & a few of the modified scripts in the 'tmp' output subdir, we will copy the tmp subdir contents back to the original input subdir sf/util.


 #3. vi rep1d.aud         <-- inspect audit report
     ============

 #4. vi tmp/uvlp12        <-- inspect some output files (optional)
     =============

 #5. cp -f tmp/* sf/util  <-- copy rep1d output back to input
     ===================

See REPjobs.htm for other mass change jobs, such as 'rep2d' which uses a table of search/replace patterns. This provides an unlimited number of search/replacements vs the 1 search/replace of 'rep1d'.

Goto:   Begin this doc End this doc Index this doc Contents this library UVSI Home-Page

Visitor Counters for ThisYear and LastYear