Rel Notes
ContactServicesSoftwareSupport

[Prycroft Six][Software][REVIEW][Rel Notes]

REVIEW Release Notes for Release 42.0
 

REVIEW is a 3270 fullscreen TSO command processor for MVS.
REVIEW also functions correctly under TSS on MSP systems.

The source for REVIEW is available on the CBT MVS tape, and is in the public domain, as is the data contained herein.

The REVIEW home page and FAQ can be accessed from http://www.prycroft6.com.au

Bug reports welcome.

Enjoy.  GP@P6

 

Select from this list to see notes from the following releases:

 

R26 notes

This release has built-in support for the FSHELP and FSH aliases of HEL, and includes the new 'FORMAT"/'FMT' and 'FMTVAR'/'FV' subcommands.

Note also that '=X' and '=CAN' are now valid member list subcommands.

 

R27 notes

This release allows PDS searching with '=SEARCH' from the directory list.
Use '=HELP' to see what is available from the directory list.

REMEMBER - if any members are tagged then only these members will be searched (or offloaded).  Use '=RESET' to untag all members.

 

R28 notes

This release introduces the "point-and-shoot" capability which is triggered by invoking REVIEW with no operands.

REVIEW does a read buffer to get the DSNAME under the cursor. This works from the TSO READY prompt (except for Session Manager which updates the screen before REVIEW gets control) and in fullscreen mode.

For best results under ISPF, set up a PF key with
          TSO REV) MODE(FSCR
exactly as shown above.

You also may wish to set up a REVIEW PF key with
          TSO REV
to allow point-and-shoot recursive REVIEWs.

Note that a recursive REVIEW with no operands is terminated unless a point-and-shoot DSNAME is found. This is to avoid TSO prompting with no ability to interrupt out of it.

Also note that for point-and-shoot purposes, a member name is NOT considered to be part of a DSNAME.

R28.1 allows the S member selection code even for same-named members in a concatenation.

R28.2 restores the terminal to line mode when "point 'n' shoot" can't process a data set.
Also, PF5/17 can now find the first member in a member list if it is tagged.

 

R29 notes

R29.0 makes the FIND, F and FINDNOT subcommands case insensitive.
FINDCHR, FC and FCN remain case sensitive.
FINDPIC, FP and FPN have been added.  eg. FP ###  looks for 3 digits.

These commands can all be selected from the member list to search the whole file (one or more PDSs).

A RACROUTE is now issued for non-pre-allocated non-VSAM data sets on ACF2 systems to avoid leaving a data set allocated after a S913 abend.

(OPEN ABEND EXIT processing handles this for RACF systems since R26.0.)

The screen buffer has been enlarged so that REVIEW may now actually

work on a 62 by 160 screen (logic added 4 and a half years ago).

R29.1 no longer displays ?? under AC for unauthorized program objects.

R29.2 fixes case insensitive searches with ASCII ON. Picture searches are not allowed with ASCII ON. Case insensitivity is ignored if there are no alphabetics in the search argument, thus speeding up searches.

=SEARCH status indicators are improved.

R29.3 fixes ZAP IDR formatting when ESDID values are invalid.

R29.4 fixes recursion detection, fixes searching for data specified with no trailing quote, and allows the use of double-quotes for quoting strings.  Eg. FIND "=C'FRED',"

R29.5 enhances DEBUG output for diagnosis purposes.

R29.6 fixes 2 possible S0C4 problems with unexpectedly long input, and allows finding a quote character.  Eg. FIND '    and FIND "

Note that REVSMF has minor updates for formatting CICS and STOTEK silo (SLSS) SMF records.

R29.7 fixes SUB.  (SUBMIT still worked.)

R29.8 fixes RDW handling for non-VSAM DSECT formatting.

Note that REVSMF can extract some WLM service class statistics from type 72 subtype 3 RMF SMF records.

R29.9 fixes an error handling QUERY TGET data lengths longer than 256 bytes. The extra data length overlaid the display translate table which caused corrupted data display and sometimes caused terminal errors requiring TSO session cancellation. (The reported observation was with CM/2 terminal emulation under OS/2.) And now a word about IDRs in load modules:

    Data from IDRs is formatted when REVIEWing associated CESD blocks (when scrolled right past the block itself) and when REVIEWING the IDRs themselves.  Translation and User IDRs are each a single logical record which can be spanned over many physical records.  For these 2 types only the last entry is formatted so that for simple load modules with few CSECTS you do not have to scroll right much, if at all.  For load modules with many CSECTs it is best to view the CESDs to get translation and IDENTIFY details pertaining to each ESD. This data comes from the IDRs located after the CESDs. Therefore the data can only be displayed if scrolling down to these IDRs has occurred.  For simple load modules the first screenful is usually sufficient, while for the nucleus, for example, one has to scroll down hundreds of lines before scrolling up again to get the formatted data.  (Caching of records does not occur in pre-XA systems so only data from blocks on the screen can be formatted.)  Only one ESD per CESD record is formatted per page, so left/right scrolling across a 15-page area is required to see all formatted ESDs in a many-CSECTed program (because a CESD can have data about up to 15 ESDs). (Individual ZAP IDR entries are formatted 2 to a page, and also use left/right scrolling to access different entries.) R29.9 fixes a logic error formatting IDR data for ESD entries. After the screen records were processed the last screen record was processed again from cache, upsetting the assembly of the logical record.

    A design capacity limitation is still evident when looking at a couple of programs from SYS1.LINKLIB (such as ARCCTL) causing display errors when many (hundreds) CSECTs were compiled in the same compilation run.  This is not a problem for the nucleus. The link edit IDR is a fixed-length fixed-format record formatted by REVIEW.  OW29593 adds 4 bytes (the time in packed decimal) to it.  R29.9 should now format this IDR layout also.  Since the binder "name" is in plain text, the name will be replaced by the HH:MM:SS of the bind when the data of this extended IDR is broken out.

R29.9 should also fix a couple of bugs in formatting IMS details.
Personally, I blame bitrot to code not tested in 10 years.

 

R30 notes

R30.0 adds "jump from leader dots" where a member can be selected by placing the cursor on a member list dot without actually typing the S member selection code.  A VTOC can now be REVIEWed by specifying the quoted data set name 'FORMAT4.DSCB' and supplying a volume serial number with the VOLUME operand.  While REVIEWing a VTOC the format-1 DSCBs can be formatted with the FORMAT ON subcommand.  Support for the logical PARMLIB service of OS/390 1.2 (and later) is accessed by a request to REVIEW the PARMLIB file when no PARMLIB file is allocated. (ie. REV PARMLIB F)

R30.1 fixes a bug where issuing a command RECALL on a wide screen caused all data except the recalled command to be cleared from the screen.  This was caused by calculating the buffer start address for the wide screen, but leaving the end address for an 80-column screen.  This made the end address less than the start address, so an attempt to clear the primary input area cleared to the end of the screen and wrapped around to clear the top of the screen.

R30.2 fixes a S0C4 abend caused by an incorrect attempt to restore the primary command in the TSO ECT after a HELP session had ended. This was most obvious on recursive HELPs with missing HELP data.

R30.3 fixes recursive REVIEW prompting problems by turning off fullscreen mode, thus allowing line mode replies to prompts. The STTMPMD macros were commented out to allow the receiving of messages while in REVIEW under OS/390 2.4.  These can now be reactivated for later releases, but probably only have an effect if TSO/E Session Manager is used.  One user complained that the directory area wasn't big enough for a specific PDS so it has been increased from 512K to 768K.  The "cocktail-shaker" improvement to bubble sort was added for some fixed-offset sorts for PDS directory sorting to provide some modest but perceptible sort time reductions.

 

R31 notes

R31.0 provides PDS facilities accessible from the directory display screen.

=SETFILE allows the setting of the output DDname, so it can be changed from SYSUT2.  (This has no effect on the CUT and ADD subcommands of "REVIEW-proper".)

=DELINK can now be used to invoke DELINKI to delink load modules.

=OFFLOAD can now offload load modules to fixed-length 80-byte records.

=PDSLOAD can invoke REVLMOD or PDSLOAD (depending on PDS RECFM) to reload offloaded members.

=HELP screen split into 2 screens.

REVSMF no longer link-edited into REVIEW.  REVSMF made RMODE=ANY.

 

R32 notes

R32.0 adds ZIP and PCX file handling.  ZIP directories can be formatted if the ZIP file is a DASD sequential file.  ASEXZIPD from ASE can be invoked to unzip data. Unzipped data can be REVIEWed and CUT to an output file. 1-bit, 4-bit and 8-bit single-plane Paintbrush (ZSoft's PCX file format) can be rendered on a 3270 graphics TSO terminal. Character (raster) graphics done by REVIEW. GDDM called for vector graphics terminals. (GDDM base now part of OS/390. Put the SADMMOD data set in the linklist.)  PICDATA allows the porting of a picture into other Assembler 3270 applications.  DIV improved a bit for ZIP file data handling - previously overhead increased exponentially with record number.  (DIV here is REVIEW's internal record caching.)

R32.1 fixes IMS ACBLIB offset bugs and adds Y2K windowing for IMS ACBLIBs which only use 3 bytes (YYDDDF) for the date.

R32.2 fixes 'PDSE' literal overlaying RMODE=24 program size total, and using the wrong register to branch after a zip file error.  Recognition of low-level qualifiers now handles mixed case.

R32.3 handles 8K and 16K DB2 pages sizes.

 

R33 notes

R33.0 adds the 'H' member selection code to show program history. For PDS load modules this is the same as 'S' and scrolling right. For PDSE program objects IEWBFDAT is invoked and the results (as opposed to the actual member contents) are REVIEWed.

 

R34 notes

R34.0 replicates nearly all of the PDS facilities for HFS files including REVIEW/EDIT/BROWSE, global SEARCH, program history, directory SORT, and entry tagging. ZIP files are recognised if they are HFS files. HFS PCX files are recognised. (NULL) is now not shown for zero-length records unless HEX or FMT is on. LRECL=X is now supported up to 65535 bytes long. DB2 rows are now only extracted when the first page is recognised as a header page, and then any page size should now be handled correctly (assuming it is a multiple of 4K). The slash ('/') selection code was added (for HFS and PDS/PDSE) to allow the "specification" of the DATA operand at the member or HFS file level. '/' can be used to inhibit the default processing of ZIP and PCX files.  HFS explorer like navigation is done by selecting a subdirectory to make the current directory, or PF3 up to parent directory. PF3 from Root ends REVIEW. Example:

   REVIEW /etc/dce  QUICK

BUT no operands are allowed so REVIEW attempts to show directory '/etc/dce  QUICK/' which gets a RC=00000081 RSN=055E0072 because it doesn't exist.  So, PF3 which REVIEWs directory '/etc/' with the display positioned to 'dce'. <NEWLINE> and <ENTER> selects the 'dce' subdirectory so REVIEW now shows '/etc/dce/'.

R34.1 fixes the S0C9 abend when the 'SMF' command is issued.

 

REVIEW has several built-in formats which are pre-coded examples of the general DSECT formatting capability:

**VTOC** - formats DSCB-1 records.  (DS1SMSFG improved with R34.0).
           Activate with FMT (or FMT ON) when REVIEWing a VTOC.

*DB2TBL* - shows full Row-ID (RID) of extracted DB2 rows.
           Automatically activated.

*ZIPFILE - formats ZIP central directory records.
           Automatically activated.

*OBJHIST - formats data extracted by REVIEW from Binder API calls.
           Automatically activated.

 

"Normal" REVIEWing of data is performed by the REVIEW2 CSECT. This operates in 24-bit addressing mode, unless an HFS file is being REVIEWed, whereupon REVIEW2 receives control from REVHFS in 31-bit addressing mode. All USS calls are done with AMODE=31. REVHFS provides routines for READ, CHECK, NOTE and POINT which are pointed to by a fake DCB which is used by the standard BSAM macros in REVIEW2. All Binder dialogs (Fast Data Access for PDSEs; full API for HFS) take place with AMODE=31. ISPLINK is invoked with AMODE=31 for HFS files, and AMODE=24 for PDS/PDSE members. GDDM is called with AMODE=31.

 

R35 notes

R35.0 provides another replication of directory processing, this time for unconcatenated PDSE program object data sets. The REVIEW CSECT passes control to REVPDSE instead of REVPODIR when a single PDSE with RECFM=U is being REVIEWed. REVPDSE checks that it is a program object library - if not control is transferred to REVPODIR. If it is REVPDSE performs all directory, formatting and command handling. Why this duplication? Because REVPDSE (actually cloned from REVHFDIR) can display long alias names, as well as program object-only attributes which can be accessed by DESERV like date/time/job, Program Management version, DLL enablement, etc. Because REVPDSE only processes program object libraries a few "normal" facilities are not available, such as delinking, offloading and edit. And because there are no output facilities there is no =SETFILE command. Each of the three directory processors (REVPODIR, REVHFDIR and REVPDSE) has its own set of help panels accessed with '=?' or '=HELP'. REVPODIR was designed to fit details from as many members as possible into its internal storage, and would require a rewrite to handle long member names. REVPODIR has several entry formats for use with different member types. REVHFDIR and REVPDSE have fixed-format internal entries with a variable-length name at the end. REVHFDIR acquires 128K (with LOC=ANY) which is retained until the end of the REVIEW session. REVPODIR and REVPDSE acquire from 8K to 768K (variable GETMAIN) below the line.

After the directory has been read unused space is freed. As a result, for REVPODIR and REVPDSE an =REFRESH causes the whole area to be freed, reacquired, and excess freed (so there is room for any new members).

When a long member name (which must therefore be an alias) is selected for REVIEW or BROWSE, the real member name (maximum 8 bytes long) is passed to REVIEW2 or ISPF, as appropriate.

 

DESERV code is executed with AMODE=31 for access to GET_ALL buffers returned above the line. The RMODE=24 program size total on the END line of the member list only includes RMODE=24 segments of program objects with more than one segment.  (I believe "more than one" means "two". That is, I don't think a program can have more than two segments (currently).)

 

On a OS/390 2.7 system with DFSMS 1.5, pointing SYSLMOD to a PDSE yields a PM3 object. Copying a load module to a PDSE yields a PM1 object. When copying to a PDS with ISPF option 3.3 copy the real member first, then its aliases (without leaving the member list) to avoid orphan aliases. When copying to a PDSE, select the real member AND all its aliases BEFORE pressing ENTER.

 

REVSRCH was given a parameter list so it does not have to be aware of the working storage structure of REVPODIR and REVPDSE. REVHFDIR does not use the parameter list because it drives the searching of HFS files. When called from REVPDSE, REVSRCH always uses the real member name, but for PDSEs the results are the same (because PDSEs cannot have orphan aliases).

 

REVIEW is 20 years old this month (19 Jan 2001).  Happy Birthday!

 

       And thank you, Bill, for writing it.

 

R36 notes

R36.0 (2002-January) adds things in these areas:

  1. TSO command management;
  2. memory management.
  3. parallel sessions;
  4. ISPF dialog;
  5. UNIX file symbolic links.

 

(1) TSO command feedback is improved by reporting any non-zero return code or abend code in the top line message after the command has ended. Also, for systems without TSO/E, the TSO command is invoked by ATTACH with SZERO=NO to insulate REVIEW from abends by the TSO command, and to avoid abends when the TSO command does not restore registers properly.

This is mainly aimed at MVS 3.8 systems because TSOEXEC (supplied by TSO/E) already provides this protection.

 

(2) SZERO=NO has been added to all ATTACH calls by REVIEW subroutines to maximise memory clean-up by the system after a utility has been called.

FREEPOOL macros have been added after all QSAM CLOSE macros. This has been done to conserve region storage which can be exhausted by several recursive REVIEW sessions, mainly observed on 3.8.

 

(3) The SWAP command has been added. This transforms nested REVIEW sessions started by TSO REV or FSH commands inside REVIEW/FSHELP into parallel sessions. This makes the sessions accessible without the need to terminate more recent sessions. SWAP LIST can be used to list the accessible sessions. This SWAP processing has nothing to do with the SWAP of ISPF.

 

(4) In some cases, REVIEW can be run as an ISPF application. The significant work of adding dialog support to the directory displays has not been done, so only files without directories can be REVIEWed in an ISPF display. So, PDSs, PDSEs, HFS files and partitioned subsystem data sets are excluded. DSORG=PS,IS,DA,VS data sets can have their data shown by REVIEW in an ISPF display. ISPF split screen processing is then available, and ISPF handles the TSO subcommand.

 

Prerequistes:

  1. Install REVPANEL to ISPPLIB
  2. Install REVPROF to ISPPROF.
  3. Run on MVS/ESA or later.

 

Separate from the REVIEW ISPF dialog aspect, other changes are:

 

(a) When the OS is OS/390 2.10 or later REVIEW will use the new ISPF variables to access the data set name under the cursor for "point and shoot" invocations rather than relying on ISPF's internal structure to find the screen image and cursor location. This has the added benefit of not requiring the MODE(FSCR specification.

(b) Also under OS/390 2.10 or later in an ISPF environment REVIEW will access ISPF variables to determine extended colour, highlighting and graphic escape support instead of issuing a Read Partition (Query) to the terminal. This means (i) that REVIEW will initialize faster, and (ii) REVIEW will not render Paintbrush pictures.

REVIEW now has an 'XISPMODE' (or 'X' for short) operand which causes REVIEW to revert to pre-R36.0 behaviour in terms of data display (ISPF will not be used) and determining screen attributes (a Query will be performed if appropriate, thus making available any graphics capabilities which would allow the rendering of picture images).

 

(5) When looking at UNIX directories, if the directory entry is a symbolic link then the link value is shown in green. This should assist UNIX file administration because it can now be seen which files are "real" and which are accessed via symbolic substitution.

  

R36.1, R36.2, R36.3 and R36.4 were small bug fixes in the main.

 

R36.5 changes ZIP directory formatting to handle 10 decimal digits for the compressed and uncompressed file sizes, which is the required number of digits to report any value of an unsigned fullword.

R36.5 also adds the 'A' selection code for UNIX files, which instructs REVIEW to treat the selected file as an ASCII text file.  Not only is ASCII-to-EBCDIC translation activated, but the end of line trigger is changed from the EBCDIC New Line (NL=x'15') to the ASCII Line Feed (LF=x'0A'). If the LF is immediately preceded by a carriage return (CR=x'0D') then it is also not shown in the display.

R36.6 fixes subsystem allocation which was probably broken years ago when support was added to REVIEW VTOCs when the data set name of 'FORMAT4.DSCB' was specified.  Bug reported by David Welles.

R36.7 fixes IKT00405I SCREEN ERASURE CAUSED BY ERROR RECOVERY PROCEDURE after an ISPF Edit or Browse changes the screen to a smaller size and then REVIEW tries to write data to the larger size. Bug reported by Mark Zelden who also reported a bug in REVSMF when formatting SMF type 250 (TSOMON) records: an S0C4 in REVSMF would occur because the target of an MVC instruction loading a literal used R7 as the base instead of R6.

 

R37 notes

R37.0 (2003-October) implements a major internal reoganisation.

Much of the triplicated code from the directory handlers has been unified into commonly callable routines.  Several facilities only available while in "REVIEW data mode" are now available from directory displays as well.  Examples of such facilities include the TSO and SWAP commands, the ability to set PFK values, and the ability to run as an ISPF dialog.

The list of CSECTs making up the REVIEW command processor are:

REVIEW - entry point to perform parsing and initialisation.
REVIEW2 - main "browse file data" processor.
REVPCL - REVIEW TSO parsing parameters.
HELPCL - FSHELP TSO parsing parameters.
REVPDS - formerly REVPODIR - format, display and navigate PDS directories.
REVSORTE - PDS directory sort enhancer.
REVALCO - allocate and serialize sequential output file.
REVDALO - free and deq sequential output file.
REVOFFLD - sequentialize PDS members.
REVSRCH - search PDS members for data.
REVISPF - invoke ISPF Edit, Browse or View functions.
REVLOAD - invoke PDSLOAD or REVLMOD to load new PDS members.
REVDLNK - invoke DELINKI to delink load modules.
REVDIV - cache reviewed data in virtual storage.
REVPNS - determine point-and-shoot data set name.
REVHIST - invoke Binder to show program history.
REVIMAGE - show picture using raster graphics.
REVGDDM - show picture using vector graphics.
REVUNIX - formerly REVHFDIR - format, display and navigate UNIX directories, manage UNIX file search, and set up for UNIX data REVIEW.
REVPDSE - format, display and navigate PDSE program library directory.
REVHEAD - clear screen buffer and initialize common first 2 lines.
REVCOMM - perform all TSO terminal communication using ISPF or TPUT/TGET.
REVMSGS - house and retrieve common fullscreen messages.

FINDHEX, FINDCHR and FINDPIC (and their respective FINDNOT commands) have been dispensed with in favour of specifying the search argument in an ISPF-like manner.

FIND and FINDNOT can now have a search column range specified, as well as one of the PREFIX, SUFFIX and WORD keywords specified.

PDS(E) and UNIX files-in-a-directory SEARCH can exploit the new FIND options.

VIEW has been added to the EDIT and BROWSE repetoire for invoking ISPF services.

REVLMOD has been enhanced to use linkage editor serialisation (QNAME=SYSIEWLP) when updating load libraries to improve data integrity.

REVIEW has been enhanced to use ISPF serialisation (QNAME=SPFEDIT) when updating sequential or partitioned data sets.

Directory display subcommands no longer have the '=' prefix, and primary input text is no longer interpreted as a LOCATE request specification.

Directory displays no longer have a separate set of PFK values hard-coded.
A SORT command is available to request the sorting of directory entries.

Some commands such as TSO, =X, KEYS and HELP will behave differently when REVIEW is running as an ISPF dialog because these commands will be processed by ISPF.

R37.1 improved interfacing with ISPF when invoked under PDS running as an ISPF dialog.

R37.2 added CLIST support to the TSO subcommand.

R37.3 corrected the display of ZIP file sizes in the 2GB to 4GB range.

R37.4 fixed the SUBMIT subcommand.

R37.5 supplied changes and fixes to

  • replace calling a custom-made module from ASE with calling the free MINIUNZ to perform data unzipping.
  • allow the processing of a ZIP archive on pre-XA systems.
  • allow the LOCATE command to locate a member with an exact name match when the member list has been sorted out of name order.
  • stop an S0C4 abend when performing a FIND on formatted data.
  • fix rendering of pictures with programmed symbols broken by the R37.0 internal program restructure.
  • change PICDATA to have no operands by replacing the DDname operand with a prompt for a data set name.
  • use TPUT NOEDIT instead of TPUT FULLSCR when the screen buffer size is larger than 4096 locations to ensure that all MVS levels have no problem with 14-bit 3270 buffer addressing.

 

R38 notes

R38.0 (2004-May) implements REVEDIT - the REVIEW Editor.

The REVEDIT CSECT has been added to supply an editor for PDS membersand sequential data sets. The 'U' member selection code and the 'UPDATE' primary command will invoke REVEDIT, as will the 'E' member selection code and the 'EDIT' primary command when REVIEW is not running in an ISPF environment. Various other bug fixes are also included.

The TSO HELP now has several members. REVEDIT has its own HELP member as does each of the three directory displays. John Kalinich has kindly coded up numerous ISPF tutorial panels which can be displayed when a HELP command is processed by ISPF.

This release also sees the introduction of the REVGEN source member which sets the values of switches used during conditional assembley.

With the appropriate settings in REVGEN, REVIEW can be assembled on MVS 3.8 using the Tachyon Legacy Assembler and the SYS1.MACLIB and SYS1.AMODGEN macro libraries from that MVS.

See http://www.tachyonsoft.com/ for the Tachyon Assembler.
Macros for BASSM and BSM are required under MVS 3.8 to assemble REVIEW.

REVEDIT can use a data space to hold data while it is being edited.
A data space can grow to 2GB subject to customisation by IEFUSI.

REVGEN can be set so that REVEDIT will use the user region to hold the data - obviously a necessity for MVS 3.8 and other pre-ESA systems.

R38.1 fixes a few bugs such as REVIEW accessing new extents after UPDATE increased the size of the data set, REVEDIT SAVE handling erased sequence numbers, and ERR being a valid abbreviation for ERROR on a REVEDIT LOCATE command.  Other changes include the removal of the DDname operand of CUT and APPEND in favour of presenting a panel to specify a data set name, and the addition of the COPY command in REVEDIT.  A "point-and-shoot" REVIEW also now works when triggered from a REVEDIT session.

R38.2 fixes a few bugs such as an S0C4 when initializing as an ISPF application under SDSF, and fixing the home location of the cursor on screens with more than 80 columns. A member list sort can now be triggered by placing the cursor on a column heading (as suggested by John K.) - eligible headings have underscores. The effective uid will be set to 0 (superuser), RACF permitting, to improve access by REVIEW to directories and files (as suggested by Mark Zelden). The original effective uid is restored by the time any ISPF services are invoked. REVPANEL now has extra attribute codes to allow the display of data with GE(ON) explicitly requested.

R38.3 fixes the problem where a cursor-triggered member sort did not occur when the end of the member list was on the screen. Also, the Binder API processing was cosmetically changed during diagnosis for problems reported in IBM APARs OA08880 (ABEND0C4) and OA09299 (RC8 REASON CODE 1080003A) which are relevant for z/OS 1.5 and 1.6. Thanks to Mark Zelden for detecting and reporting the bugs to IBM.

R38.4 fixes an S0C4 abend after VSAM OPEN failure - now the return and reason codes are displayed properly as before - must have been bitrot in a recent release.

R38.5 fixes two problems with REVEDIT:

  • an intermittent S0C4 processing line commands.
  • unreliable matching by FIND when PREFIX, SUFFIX or WORD is specified, especially when ALL is also specified.

R38.6 fixes an S0C4 when the editor initialises after data was found in the browser.

 

R39 notes

R39.0 (2004-December) implements syntax colouring for Assembler and JCL.

The 'HILITE' (or 'HI') REVEDIT subcommand has been added to control whether syntax highlighting is to be activated or not. The HILITE setting is saved in the profile if one exists.

The 'UPDATE' (or 'UPD') operand of 'LOCATE' has been added so that lines updated in the current edit session can be located. This operand (unlike the other non-numeric operands of LOCATE) is not compatible with ISPF's Edit.

R39.1 fixes an S0C4 when HEX ON is used with records which do not reach the end of the screen line - the terminating attribute byte code was being moved into the edited data array corrupting a pointer instead of to the screen buffer. Bug reported by John H. Keith.

R39.2 makes improvements to PDS-member/UNIX-file searches performed from directory entry list displays.

Firstly, the standard PDS directory display now can perform searches for lowercase strings - this was just a plain bug.

Secondly, another bug where the picture attribute of the search was not reset for a non-picture search after a picture search is fixed.

And thirdly, non-picture case-insensitive searches have been sped up to (practically) match the performance of non-picture case-sensitive searches.  This is achieved by the simple expedient of translating the whole record to uppercase once after it is read instead of for each compare, thus making simple compares adequate to find the data. Note that this does not speed up normal FIND command processing as the data must be kept untranslated for display and other processing.

R39.3 changes behaviour/output as follows:

  • EREP formatting will display the STCK value in hex if the system does not have the STCKCONV facility (ie. is pre-SP4), and system abend code digits have been reduced from 4 to 3.  Also, garbage will no longer be left in column 81.
  • Fix intermittent incorrect numeric data such as VV.MM when showing member details - this occurred for some members and not others when shown on some screen lines but not others.
  • A new 'M' selection code is implemented to display a module map for program objects (both PDSE and UNIX, but not PDS).  (The *OBJMAP* and *OBJESD* internal formats are used to display the results.)
  • REVEDIT will no longer loop (or perhaps abend) when an insert line command is on the screen while a move/copy is pending, and autoinsert will no longer occur if the cursor is in the line number field of the line.

Since the demise of JCC the MINIZIP and MINIUNZ load modules are now included in the executable program library.

R39.4 adds support for VSAM Extended Addressable access, although REVIEW only supports up to 1TB with this change. Also, RLS=NRI is now specified internally to maximize access to data controlled by RLS.

 

R40 notes

R40.0 (2006-April) implements REVED and REVOUT.

REVED is simply an alias of REVIEW to initiate the edit of a sequential data set (instead of having to browse it with REVIEW and issue the EDIT or UPDATE primary command). The other main difference of REVED is that the meaning of the 'S' selection code for PDS members is to request the member be edited with REVEDIT instead of being browsed with REVIEW.

REVOUT provides a fullscreen interface to TSO FIB commands so that they can be used to give QUEUE-like or SDSF-like access to job output that is independent of the level of MVS and Job Entry Subsystem in use. Function depends on the SYSOUTTRAP facility and uses the CLIST called REVOUTJB which should be installed into SYSPROC.

MVS 3.8 users who wish to use REVOUT may be interested in usermods from http://www.prycroft6.com.au/vs2mods which add CLIST function including SYSOUTTRAP (ZP60014), and which alter JES2 (ZP60015) and TSO STATUS (ZP60016) so that the TSO STATUS command without any operand returns the status of all jobs with names of the TSO user's id plus zero, one, two and three extra characters (up to a maximum length of eight).  A JES3 version of the ZP60015 usermod would be needed to provide similar function in a JES3 environment.

This release also rolls up bug fixes originally intended for R39.5, most notably those debugged by Steven Becquer of Miami-Dade County Public Schools I.T.S.

CSECTs for PDSEs and UNIX have been moved from the REVSUBS source member to a new REVSUBS2 source member.

REVALCO (which is called for SEQLOAD and OFFLOAD from the member list, and CUT and APPEND from data REVIEW) has been changed such that if the specified output data set name cannot be found it will be created. It will be a sequential data set if no member name was supplied, or a PDS with 20 directory blocks if a member name was supplied.  In most cases the new data set's DCB will match that of the data set being REVIEWed.

R40.1 changes:

  • correct DMB size count for IMS V6 and V7.
  • ignore DATA operand for REVED command (do not edit PDS directory).
  • prevent S0C4 abend of REVOUT if REVOUTJB CLIST is not installed.

R40.2 changes:

  • display found data hidden by ISPF split screen.
  • general fixes to scrolling.

 

R41 notes

R41.0 (2007-November) rolls up changes from 40.3 onwards.

Apart from bug fixes, the main changes include:

  • show step name and CPU time of active jobs in REVOUT.
  • extract pictures from most types of uncompressed Windows/OS2 bitmaps.
  • use native 3270 vector graphics when available to show pictures.
  • session id numbers are now fixed and not relative to current screen.
  • current session id shown as blue superscript if session is nested.
  • cursor position saved and restored across SWAP commands.
  • make Edit the default selection action for the REVED command.
  • generate cursor autoselect 'S' only if no primary command.
  • improve TSO logic to not finish calling CLIST after subcommand CLIST.
  • suppress screen size switch if screen size already has 80 columns.
  • use PDS member DIV caching now only of RECFM=U - the main purpose is to allow CESD formatting show IDR details - now also for pre-XA.

R41.0 enhancements to REVEDIT include:

  • add TF and TS line commands.
  • add SORT primary command.
  • add CREATE and REPLACE primary commands.
  • colon command prefix applies command to current line. eg. :TS
  • support ASM highlighting of source code in a jobstream.

R41.0 enhancements for MVS 3.8 also include:

REVSMF can now format data from MF/1 records (types 70 to 74). Of the SMF records produced by MVS 3.8, only types 73 and 74 from MF/1 seem to be sensitive to left/right scrolling.

As of R41.0 REVIEW will override the LRECL of SYS1.MANX and SYS1.MANY of one thousand with ten thousand because MF/1 can write records longer than one thousand bytes. REVIEW will continue to override the blocksize of SYS1.LOGREC of 40 with 1944.

R41.1 changes REVEDIT to avoid S0C4 abend after a TF line command in ESA (data space) mode, and also adds minor improvements to JCL syntax highlighting.

R41.2 fixes some things serious (like S0C4 moving lines to before the current top of screen) and not so serious (like the new members added by a PDSLOAD into an empty PDS can be seen without having to scroll up), and also adds some features.

REVEDIT can now be invoked in VIEW mode (where data set serialization is not performed and SAVE is disabled) and REVEDIT also now supports UNDO and REDO by employing a recovery data set called prefix.REVEDIT#.BACKUP where # is the screen number.

Note that recovery is manual, but can be performed by REVIEWing the recovery data set, using NEWTOP to access deleted members if the existing member is corrupt - not that it should be, using CUT to copy the records to a new data set, and editing the new data set and shifting all data to the left to restore proper data alignment.

The recovery data set should be deleted to re-enable UNDO/REDO (and recovery) for that screen session number.

UNDO OFF is available to stop undo/recovery processing if you find it is adding too much to response time.  And then there is UNDO ON for when you find that the overhead isn't so bad after all.

R41.3 fixes an error where the editor tries to move 8 bytes into 4 bytes when only 4 were needed.  Because it was at the end of a page (most of the time) the result could be harmless, a mysterious storage overlay, or an S0C4 abend.

R41.4 fixes an S0C4 abend encountered after an UNDO was requested and the post-UNDO display position was not Top-of-Data (as in UP MAX). (If the post-UNDO display position was line zero then was no problem.)

A check of the ISPF panel dynamic area size during initialization (testing that it matched expected results based on the screen size) has been removed in the hope that this allows more ISPF application REVIEW sessions on wide screens.

R41.5 fixes several basic bugs.  When a block was excluded which incorporated the current top display line REVEDIT lost track of, well, reality, so things like line numbers became corrupt. LOCATE by line number was fixed as it was just plain wrong with excluded lines because it invoked UP or DOWN scrolling which count display lines, not data records.

As well as OFF, JCL, ASM and AUTO, now PLI, CLIST and DATA are valid operands of the HILITE or HI subcommand.

/* ... */ comments are now highlighted as such, PL/I column 1 and pre-processor statements are shown in blue, and Assembler labels can now have non-trailing ampersands in other than the first position not flagged as an error.

A leading *PROCESS statement with a semicolon is taken to indicate PL/I source, while one without a semicolon is taken to indicate Assembler source. MAR or MARGINS is not yet parsed.

JCL validation has been extended in some areas. The REGION parameter on EXEC and JOB statements is validated mainly to detect post-XA values on pre-XA systems.

For JCL DD statements, plain data set names are validated and underscored if cataloged and shown in blue if not cataloged. If a single volume is specified without parentheses it is length-checked, and for MVS/370 systems an attempt is made to see if it is an online DASD volume. If it is online it is underscored, and its generic device type designation is shown in that line's command area at the left of the screen.

There is no cross-checking with the catalog entry vs VOL=SER in the JCL, nor with the volume device type vs the UNIT value in the JCL.

R41.6 changes include:

  • REVEDIT backup file now uses the userid as the high-level qualifier when PROFILE NOPREFIX is in effect. (Reported/suggested by Sam K.)
  • Screen size now set from ISPF panel size. (Reported by John K.)
  • REVOUT will now display some rudimentry Assembler syntax highlighting when showing Assembler listings. (Requested by Tom A.)
  • Program object PDSE directory display now
    • has more SORT types (idea by C. Mac).
    • shows PM sublevel in superscript (or lower case if ever over 9).
  • Done some work on implementing an INFO subcommand - not complete so not documented.

R41.7 fixes operation as an ISPF application broken when trying to handle the case when the line mode screen size (as returned by STSIZE) is different from the fullscreen screen size (as reflected in the dimensions of the ISPF panel).  The undocumented global subcommand of CDE or JPA has been added.

R41.8 fixes:

  • REVOUT Assembler listing syntax highlighting for wide screen.
  • REVEDIT CREATE/REPLACE creating corrupt SPF statistics.
  • REVEDIT CREATE/REPLACE RECFM=V not copying first selected record.
  • screen size not switching for pre-coded 80-column displays.
  • UNZIP temp unit of 3380 - now 3390 followed by SYSALLDA for retry.
    (It was VIO originally, but large zips could cause auxiliary storage shortages on under-configured pre-SMS systems.)

R41.9 fixes:

  • CHANGE ALL missed occurrences of the FIND string after syntax highlighting housekeeping used the dynamic translate table work area thus overlaying the TRT table used by CHANGE.
  • REVHIST setup for PDSEs just checked that DIV was initialized (as it used to be not so long ago) and if it wasn't issued the "REVIEW" internal storage exhausted message. Now REVHIST will issue the DIV GETMAIN call for PDSEs as it does for UNIX.

 

R42 notes

R42.0 (2008-September) adds support for DSNTYPE=LARGE sequential data sets.

 

[Back][Up]


Copyright © 2003 Prycroft Six Pty Ltd -
ABN 17 006 544 636- All rights reserved.
webmaster@prycroft6.com