Original_To:  BITNET%"notis-l@tcsvm"
Newsgroups: bit.listserv.notis-l
Date:         Fri, 28 Aug 1992 13:04:00 CDT
From:         VAUGHAN@VUCTRVAX.BITNET
Subject:      MVS/VSE technical enhancements

   Here are the technical requests Michael Stephens and I have
received. We will be presenting these during a meeting with
TeamNOTIS at NUGM. We would like to prioritize them before
presenting them, so we are asking you to give us your input.
Please rank the requests from 1 to 17, 1 being the highest
priority and 17 the lowest. Since there were only a few that
were specific to MVS or VSE, we have included everything in
one list. Please send your responses to me no later than
September 4, and limit this to one response per site. We will
tally up the votes and post the final results to NOTIS-L.
Thank you for your input!

Maryanne Vaughan
VSE Sig Chair
Vanderbilt University
VAUGHAN@VUCTRVAX
Fax: 615-343-0394


===============================================================================

Rank: _____

Title:  Avoid Batch Programs that have only one program/step

System:  MVS

Statement:  In order to provide easier debugging/recovery functions
            NOTIS should avoid programs/steps that are combined
            into one step.

Rationale:  Recovery/Debugging functions are simpler in cases
            where one program/step method is avoided:

            (1) In the one program/step method there are no
                intermediate files available in an abend from
                which to recover and program must be completely
                restarted.
            (2) Debugging functions are much easier in cases where
                where there are intermediate files to examine.
            (3) SYSUDUMP output is very difficult to examine,
                especially when using internal sorts.
            (4) Steps which provide an index load along with an error
                report should be avoided.
            (5) Avoid combining programs which produce several different
                reports in one step, especially in circulation batch.

=============================================================================

Rank: _____

Title:  Provide NETNAME in LUIS statistics

System:  MVS

Statement:  At sites with large networks it is desirable to have
            the VTAM NETNAME along with the CICS Terminal ID.

Rationale:  Only the terminals that are locked to LUIS, or are
            used in Circulation functions are assigned static
            CICS terminal IDs, all others are assigned terminal
            IDs through autoinstall.  This makes LUIS statistical
            reporting difficult and nonsensical.  This will also
            avoid the purchase of additional unnecessary software
            to assign terminal IDs to temporary users.

===============================================================================

Rank: _____

Title:      Un-nest the JCL

System:     VSE

Statement:  This nested JCL hides what the job is doing and is much
            more difficult to maintain.

Rationale:  As stated above the JCL does not explicitly show which
            programs are running and what files are used.
            Most sites must customize the JCL -- cataloging various
            procedures is time-consuming.
            Keep the SETPARMs, but eliminate the procedures.

===============================================================================

Rank: _____

Title: Efficient file blocksizes

System: VSE

Statement: Have batch problems specify more efficient blocksizes or allow
the system program to change them.

Rationale: VSE pays attention to blocksize specified in the program and
ignore blocksize specified in the JCL.  NOTIS batch programs tend to use
very small blocksizes.

Ideally, there would be a way to write the program so VSE takes its blocksize
from the JCL or the standard label on a tape.

If not, then provide the ability to change the blocksize of keyword work
files.  Without the source code, we have no way of making the most elementary
change to decrease the run time of this monster job.

In any case, change the blocksize of the file BACKUP in LB968BAL to something
larger than 7200.  The LMS system has progressed to the point that some
files that can be forward recovered with have records with a length greater
than 7192.

Also, if NOTIS cannot write the programs to take the blocksize from the JCL,
then the programmer needs to know what blocksize is specified in the program
for input files.  For example, the input file backup in LB968BAL has to be
blocksize 7200.  Yet nowhere in the program documentation does it indicate
this.  The average Jo will make a REPRO backup using a nice efficient blocksize
and then find out the program LB968 doesn't like any blocksize but 7200.

Also, if NOTIS cannot write the programs to take the blocksize from the JCL,
surely they could give us more efficient blocksizes than 7200 or less.  I
know that different devices will have different optimal blocksizes, but I'm
willing to bet that a blocksize much higher than 7200 will work at anyone's
site.  The distributed programs should be based on a production environment
rather than test.

===============================================================================

Rank: _____

Title: PRINTMOD

System: Combined

Statement: Don't use this program to build the JECL card for the printout.

Rationale: The JECL card gives us a lot more options and control than
PRINTMOD allows.  We can't control DEST, COPY, PRI, CLASS, DISP, FNO, JSEP,
or USER for individual jobs when we are forced to use PRINTMOD. Changing these
parameters doesn't do anything. It assumes we want the same parameters for
every printout, which is not the case. Why have to change, reassemble, and
linkedit an assembler program to change the print options?

==============================================================================

Rank: _____

Title: Eliminate the need to assemble modules because of local changes to
       LC000OPT

System: Combined

Statement: LC000OPT should either be eliminated or made into load module
           format and loaded dynamically both on-line and in batch pro-
           grams. Alternatively, the LC000OPT parms could be incorporated
           into the LCRFILE.

Rationale: This should be done so that selected programs do not need to
           be re-assembled locally prior to installation of each new
           NOTIS update. This is desirable because:

           1) NOTIS is now sending multiple copies of the same program.
              It is easy to re-assemble the wrong version from some lower
              level library which in turn will lead to system errors.

           2) New releases have been full module releases as opposed to
              being restricted to changed modules. Assembling for local
              LC000OPT changes must be re-done entirely.

           3) The use and need for LC000OPT has decreased in recent
              releases. It now even contains some "variables" which
              cannot be changed at all.

           4) New releases are more frequent than in the past.

==============================================================================

Rank: _____

Title: Define an enhancement

System: Combined

Statement: Clearly define what NOTIS can claim is an 'enhancement', so they
can't arbitrarily claim that a change in the way things work is an
'enhancement' rather than a mistake in the rewrite.

Rationale: Changes in the way things work affect work flow and the ability
of the library to enforce long-standing policies.  The library has every
right to expect that the new release will work exactly as it did in the old
release unless the program contains an 'enhancement' that is explicitly
requested and approved by the appropriate SIG or is a fix for something
clearly acknowledged to be a 'bug' (the documentation says it's supposed
to work a certain way and it doesn't), or the enhancement has been discussed
in NOTISes or libraries are otherwise systematically notified of the change.
Any other change should be considered a mistake that a site can report to
NOTIS and expect to have fixed.  I'm not talking about revealing
company programming secrets, only general statements like 'Requests for
a rush recall will no longer generate another recall notice if a recall
has already been placed on the item.' I'm also only talking about changes
in the way things work, not changes that are transparent to the user.

Frankly, the rewrite of circulation in 5.2 scares me to death.  We have
seen several instances in 5.0.x where the circulation module was changed
in workflow and how notices are sent without any request from the circulation
SIG or any mention in NOTISes.  When we call about them, NOTIS is just as
likely to say 'Oh, that's just the way it works now' as to admit there was
a mistake made.  Then they expect us to waste an enhancement request to
undo something they shouldn't have done in the first place.  And 5.0.x isn't
even a rewrite, but was ADVERTISED to work the same as 4.6.1 except some
obvious bugs were fixed.

Without a clear definition of 'enhancement', every release is a black box, and
sites have no right to expect continuity with the previous release.  I fully
expect release 5.2 to be a disaster.  There appears to be no commitment from
NOTIS to maintain continuity or inform sites in advance of changes.  The Circ
SIG enhancement list for 5.3 will consist of nothing but requests to undo the
unexpected 'enhancements' in 5.2.  I don't expect 5.2 to work perfectly the
first time.  However, the disaster will come from learning after the fact
that the system has changed in unexpected ways, and there will be some changes
that NOTIS will simply refuse to undo as part of regular support.  It will be
too late to include them in 5.3 enhancements, and we'll have to wait for 5.4.

================================================================================

Rank: _____

Title: Program Changes

System: Combined

Statement: For each full release (like 5.0, 5.0.1, and 5.0.2), include
a list of online programs that were changed and a list of batch programs
whose procs have been changed.  Also include a list of batch jobs whose
JCL needs to be altered in order to run properly with the new version.

Rationale: This obviates the need to recompile programs for local changes
if that particular program was not changed.  It also saves time in
preparing the batch programs for a new release.

==============================================================================

Rank: _____

Title:  make LCRFILE data resident in storage

System:  Combined

Statement:  The data in LCRfile is heavily and continually used by the
            system, resulting in a serious i/o constraint for processing
            transactions.

Rationale:  Real-time updating can still be performed if the data is
            memory resident, and the change can be written to the file at
            the time of update.  Librarians will still be able to change
            the file in real-time without the serious performance
            constraint that now exists.

==============================================================================

Rank: _____

Title: Simplify modifications to MHI tag table.

System:  Combined

Statement: Some sites may have different needs as to which tags to include in
           MHI.  There is not a simple way to correctly add new tags.

Rationale: Tags must be added to a table in LC360INC and then LC360BAL,
   LB311BAL, LB310BAL, LIF360P, and LCN100B (Quickmerge) must be reassembled.
   The problem is that the table includes values for heading type,
   title type, and function code.  If the combination is not unique,
   the incorrect tag will display on the index screen.  Adding new codes
   to LB312BAL is not a procedure for the faint of heart and, in fact,
   There may also be some impact on other programs/processes that use
   the MHI index.

==============================================================================

Rank: _____

Title:      User exit program at every TERMID control point except Interval
            Control
System:     Combined

Statement:  New NOTIS user exit program to access USERID, default to TERMID,
            and permit additional id's, such as results of query to device.
            Program to return prioritized list of id's for access to DFLCT100,
            NSCFILE, TSQ record key.  Key to be as long as 8 bytes for all
            functions.

Rationale:  CICS TERMID insufficiently flexible to permit each site to develop
            its own local workaround to replace classic NOTIS technique for:
            establishing invoices, choosing service units, addressing printer
            output, locking records against update, etc.  Note that CICS
            addressing for interval control and some printing must remain
            CICS TERMID.

Note:  I am adding these programs at the University of Iowa where possible
       and cost-effective.  We will employ USERID (encoded into 4 bytes to
       fit NOTIS record and table formats) to select service unit.  The
       Good Morning program will query 3164 terminals for a pseudo-userid
       entered in the SETUP screen, which will be converted into a pseudo-
       TERMID to access the NSCFILE for control of PRI prompt, citation
       printer address, and MDAS database security.  TERMID control of other
       functions may be reprogrammed later.

===============================================================================

Rank: _____

Title:      Command-level program like LIF800P to handle printer output

System:     Combined

Statement:  Send all CICS-addressed print to separate program, which can be
            locally modified to obviate the necessity of CICS printer addresses
            (TERMID's) to be maintained within NOTIS.

Rationale:  As for other TERMID-based control functions, the archaic NOTIS
            technique does not fit flexible modern networks.

Note:  We may alter LIF800P to fit our shop techniques for addressing remote
       printers.

General Request to NOTIS:
       Please do not presume to prescribe the only way to perform communication
       functions.  Please make it a constant design goal to isolate such support
       functions in user exit programs which embody N.S.I solutions without
       disabling local creativity in support of local circumstances.

=============================================================================

Rank: _____

Title:  Avoid Program Abends when reading/creating empty file

System:  Combined

Statement:  Program Abends when reading/creating empty files in cases
            where empty files might obviously be expected (Catalog
            Card Production) are unnecessary.

Rationale:  Setting a special return code would be sufficient to
            stop subsequent steps from executing.

===============================================================================

Rank: _____

Title:  Availability of reported problems in NOTISrv

System:  Combined

Statement:  In order to avoid wasted time reporting problems to NOTIS
            which have already been reported, not only solved but
            also unsolved problems should be listed in NOTISrv.

Rationale:  This avoids wasted time for both the sites' and NOTIS.
            NOTISrv is also available at times when it is not
            possible to contact NOTIS.

===============================================================================

Rank: _____

Title:  Provide Record Layouts and Field Descriptions for All Files

System:  Combined

Statement:  The documentation is much improved but is still missing
            the record layouts for the LPCLOGF, JOURNALS 3, 4, and
            6, LIREQC, and LIREQP files.

Rationale: In order to do elementary troubleshooting of these batch programs,
           record layouts are necessary.

===============================================================================

Rank: _____

Title:  Annotate documentation changes from release to release

System:  Combined

Statement:  Updates to NOTIS manuals are of fair size. Don't have time to
            read every line of every page to find what is different. Chances
            of missing a change is high.

Suggestion: Please draw in the margin a vertical bar on the line(s) that have
            been changed. This quickly brings to our attention what has been
            changed as we file the documentation. Will be sure to zero in on
            the change. And this will help make the task of filing and reading
            quicker.

===============================================================================

Rank: _____

Title:  Make changing the date format simple and consistent

System:  Combined

Statement:  NOTIS allows the format of the date to be changed. We have changed
            the date from mm/dd/yy to yy/mm/dd. However making this change in
            the LC000OPT alone apparently is not sufficient.

Rationale:  A change to the CICS SIT (datform?) parm was required (and only
            possible since NOTIS is the only application under that CICS
            region). Changes would also be required to various batch reports
            in order to produce the data in a consistent format, since all
            programs do not use the LB920 date subroutine. If NOTIS application
            was ever to share the region with another application either the
            other application would be required to accept the same date format,
            or NOTIS online programs would need to be changed, or all NOTIS
            users (staff and patrons) would be required to become accustomed
            to a different date format after 5 years with the date format
            of yy/mm/dd.

Suggestions:  Change the system so that the date format needs to be modified
              in only one place (for both online and batch). Ensure that NO
              programs need to be reassembled or relinked due to this change.
              Ensure that other non-NOTIS applications are not effected
              within the same CICS region.


==============================================================================


_____  Avoid batch programs that have only one program/step


_____  Provide NETNAME in LUIS statistics


_____  Un-nest the JCL


_____  Efficient file blocksizes


_____  PRINTMOD


_____  Eliminate need to assemble modules due to LC000OPT local changes


_____  Define an enhancement


_____  Program changes


_____  Make LCRFILE data resident in storage


_____  Simplify modifications to MHI tag table


_____  User exit program at every TERMID control point except Interval Control


_____  Command-level program like LIF800P to handle printer output


_____  Avoid program abends when reading/creating empty file


_____  Availability of reported problems in NOTISrv


_____  Provide record layouts and field descriptions for all files


_____  Annotate documentation changes from release to release


_____  Make changing the date format simple and consistent
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU