Q Rel Notes

[Prycroft Six][Software][MVS S/w][Q Rel Notes]

QUEUE Release Notes

Last updated 1st January 2007

This version of QUEUE was modified from the 1982 MVS/370 version shipped by Volker Bandke on his first MVS Turnkey CD.

Modifications by Greg Price of Prycroft Six Pty Ltd
during June to November 2002 for MVS 3.8J.

Updated 5th February 2003.

Updated 7th February 2003:
CTSO changed to ensure that fullscreen mode is on after a TSO command.

Updated 15th February 2003:
- Change screen buffer definitions in QCOMMON from DC to DS statements
  to reduce the object deck size by about 200 card images.
- Increase the static screen buffer sizes in QCOMMON (all three of them)
  in order to be able to handle screen sizes up to 9920 (like 62 x 160).
  For every 8 bytes of extra screen size QUEUE can handle, the size of
  the load module grows by 24 bytes.  A dynamic buffer acquistion scheme
  may well be an improvement that could be made.
- Use a NOEDIT TPUT for screen sizes larger than 4096 so that 14-bit
  buffer addresses are not translated before transmission.  Addresses over
  4095 must be sent as binary numbers, and therefore can be corrupted
  if any filtering of invalid characters takes place.  They are inserted
  into the data stream by the compression of repeated characters.  The
  compression of the data stream probably becomes more important as the
  size of the screen becomes larger.
- Reinstate the TPUT MF=L area in QCOMMON for the NOEDIT TPUT.
- Add the X operand to the MODEL command to set the current terminal's
  alternate size as the QUEUE screen size.  This is independent of the
  screen size used by TSO line-mode screen management.
- Show the Userid and the Terminal name on the top line on wide screens.
- Ensure that the correct screen size is restored after a TSO command.

Updated 4th March 2003:
- Restore SYSOUT data display after a TSO command is issued during a
  display of SYSOUT data.
- Do not trigger a PRINT when a PREV command is issued.

Updated 28th March 2003: add IEF702I to LNCDTABL.

Updated 30th December 2006:
- Document CAN, DEL and REQ commands in a new HELP screen.
- Allow the 'O' selection code to trigger a $O JES2 command.
- Set last character of HASPACE DDname from sixth character of volser.
  Since all SPOOL volumes will have the same first five characters,
  this provides QUEUE support for any number of SPOOL volumes that
  JES2 allows.  This scheme taken from posts to the H390-MVS list.

Updated 1st January 2007:
- Allow viewing of job log if job is on an output queue.

Changes for 7th Novemeber 2002 in blue.

Changes for 23rd November 2002 in green.

Changes for 5th February 2003 in orange.

Changes during 2002 include:

- Rationalisation to TPUT and TGET macros.

  Problems with some maintenance levels of TPUT and/or TGET macros
  have been circumvented by converting all TPUT and TGET macro calls
  from MF=E to inline macros (which translate to a single SVC) with
  registers being pre-loaded as required by program logic.  The MF=L
  work areas have been dispensed with.  The TTPUT and TTGET members
  have been deleted from this file.

- Addition of support for 3270 character attributes.

  A shadow buffer is maintained (in a similar fashion to ISPF
  DYNAMIC areas) to specify the character attributes (as opposed
  to field attributes) of each screen location.  The new BLD3270
  routine creates a 3270 data stream from the primary and shadow
  buffers, and calls the CB3270 routine (found on a SHARE or CBT
  tape in the 1980s and which I originally added to the Fujitsu
  port of QUEUE at the time) which has also been added with this
  upgrade to apply 3270 data stream compression.

  The new QHEAD macro, and changes to QTILT and many routines use
  the shadow buffer to specify colour and highlighting to be used
  for headings, display lines, and error messages.

  Uses of this capability include showing immediate action SYSLOG
  messages in white, colour coding JMSG output, and highlighting
  active work in queue lists.  These two features are performed
  in routine LISTDS (formerly Q15).  The LNCDTABL table which has
  the attribute codes for JMSG messages must have its entries in
  collating sequence order.

  The new MONO and COLO commands can toggle the "use 3270 extended
  data stream orders to activate extended colour and highlighting"
  switch.  The switch is on in the QCOMMON source.  If a 3270 terminal
  or emulation thereof cannot handle 3270 EDS then the switch can be
  turned off in the source and QUEUE can then be reassembled.  That
  this is the actual problem can be tested by issuing 'Q MONO' from
  the READY prompt.

- Addition of support for selection codes.

  Removing the 3270 data stream from the in-storage buffer of
  the screen image under construction meant that it was simple to
  introduce internal codes to represent field attribute bytes,
  which in turn allowed new input fields to be easily created.
  Most of the status displays have now had a selection input
  field added to each item in the list.  This allows items to be
  processed by selection as opposed to being processed by a
  command where the name of the item has to be typed in.

- Cursor auto-selection or "point-and-shoot".

  The cursor autoselection facility is controlled by the QFLG2PNS
  bit in byte QFLAG2 in QCOMMON.  When active, the 'S' selection code
  is implied by locating the cursor over an input selection field in
  column 2 without actually typing any text character into the field.
  This feature is also
called "point-and-shoot" in the source code.
As a result of this feature autoskip has been removed from the
  attribute bytes so that
the cursor does not automatically move to
  the next selection field thereby triggering an inadvertent selection.


- Removal of need to assemble local constants.

  Previously the names of all systems present in the MAS, as well as
  the unit and volume of the checkpoint data set to be accessed had
  to be assembled from the source or zapped into the load module.
  Now, the system identifiers are read from the checkpoint data set,
  SYSALLDA is used as the unit name, and the volume is ascertained
  from the primary subsystem vector table.  Hence, local customisations
  pertaining to data set placement or system identifier names do not
  generate a need to update QUEUE to maintain accuracy or convenience.
  (The CKPT(unit,volser) operand is still allowable, but if no CKPT
  operand is supplied the currently operational checkpoint will be

- Addition of NEXT and PREV commands.

  When a job is selected with an 'S' selection code, the job log is
  shown.  Movement to subsequent data sets can be achieved with the
  NEXT command.  'N 3' from the job log will cause SPOOL data set 101
  of the job to be displayed.  PREV provides access to data sets with
  lower data set identifiers.  I have obviously lifted this idea from
  SDSF.  Unlike SDSF, SYSIN data sets are always eligible for display.

- PF3/15 variable meaning.

  PF3/15 meant "exit QUEUE".  Whenever it does not mean that now the
  actual meaning of PF3/15 is shown on the bottom right corner of the
  screen.  These "other meanings" are an attempt to make PF3/15 cause
  a single level back-out rather than termination of the whole program.
  EXIT and END and E still mean "exit QUEUE" no matter where in QUEUE
  they are issued, but PF3/15 no longer always means END.

- HELP processing updated.

  The display of an extra blank page no longer occurs.  The extra
  commands/operands have been documented.  An extra page on selection
  codes has been added.  The fact that the only allowable selection
  code from a DD display is 'S' is not listed.  When HELP is invoked
  from the display of a SPOOL data set, PF3/15 functions as "leave
  HELP and return to the data set".

- Scrolling changes.

  The scrolling has been made more SPF-like.  A scroll amount override
  of H (half-page), P (page) or M (maximum) is now allowed.  Much of
  the code for this change was lifted from the OSIV/F4 (MSP) revamp
  carried out by Mike Holloway (MAH) of Fujitsu Australia in 1982/1983.
  (Mike's version included support for AF/JES.  Fj's JES2 was called
  JES, and their JES3 was called JESE.)

  2003-02-05  The page and half page scrolling amounts have now been
  fixed to not always be derived from a 24-line screen, but from the
  number of lines the screen currently has.

- PF8/20 fiddle.

  Scrolling is only active in QUEUE when viewing a SPOOL data set.
  Sometimes I find myself looking at a list of jobs or data sets in
  QUEUE and when I want to see the next page I press PF8 instead of
  ENTER.  To accommodate my habit PF8/20 now functions as ENTER
  whenever a SPOOL data set is not being browsed.  This avoids the
  disruption of the error message and having to restart at the
  beginning of the list.

- Initial command change.

  The default initial command is changed from HELP to STATUS.
  This is more likely to be useful on repeated usage.
  This value is set in QCOMMON and can be changed by source
  update or SUPERZAP to the CSECT.

- Display of data set identifier.

  The DSID shown in the heading line was taken from the second
  operand of the L command.  If the data set was displayed by
  another command then the DSID field would not be filled in.
  Now it is always shown from the DSID used by QUEUE to access
  the data set.

- Display of priority.

  The PRIORITY column of the STATUS display shows the JQE or job
  JES2 priority in the 1 to 15 range.  Output elements also have a
  JOE priority.  For a display with 14.4 showing, 14 is the JQE
  priority and 4 is the JOE priority.  Held SYSOUT (denoted by
  "HELD OUT" in QUEUE) has not yet had JOEs assigned to it by this
  version of JES2.  (This was later changed.)  A JOE represents
  a work element that can be processed by a printer or a punch.
  Only held SYSOUT can be processed by the TSO OUTPUT command.

- Century and day-of-the-week fixed in PRINT heading.

  The heading produced by the PRINT command had the century
  hard-coded.  Also, the day-of-the-week logic was not working
  for at least 2002, and possibly the 21st century.  The GETTIME
  routine was completely rewritten (with new Zeller's congruence
  code) to work with 20th and 21st century dates.  (This was
  deemed to be simpler than debugging the existing code.)

- New MODEL logic.

  The MODEL command screen handling logic has been redone.
  It will be interesting to see if it works when (and if)
  alternate screen size support is ever added to the free
  versions of TSO and VTAM.

  2003-02-05  Well, at least 32-line and 43-line screens worked okay.
  The largest supported screen size has been increased from Model-4
  to Model-5.  All STSIZE macros have been removed (because STSIZE
  sets the size for TSO line-mode screen management, and has little
  to do with a fullscreen application like QUEUE).  The TSO TERMINAL
  command can be used from within QUEUE via the TSO subcommand if the
  line-mode dimensions need to be changed without leaving QUEUE.

- New SPIN command.

  The CSPIN source member was pretty much copied as-is from the
  "modern" version of QUEUE (for SP5.2).  Incorrect line number
  in heading after SAVE or SPIN has been fixed.

- New SLOG default.

  SLOG (or SL) with no operands, or with an operand of SYSLOG,
  will now attempt to show the current/active SYSLOG.  The
  default is still to show the latest data set of a given
  SYSLOG job.  "SL SYSLOG 1" and "SL SYSLOG -1" are equivalent,
  and specify the second-latest data set.

- Notes about DC.

  The address spaces shown in DC are ascertained from JES2 control
  blocks.  As a result, address spaces without a JES2 job identifier
  such as JES2 itself will not be shown.  A small code change allowed
  the selection of ASID 1 (under the auspices of SYSLOG) to be
  selected.  I sought to make this change because my recollection is
  that ASID 1 was displayed.  (A subtle change by SE2, perhaps?)
  (MVS truism: CPU time consumed by paging activity will be most
  evident as SRB time of ASID 1.  Q's DC is one of the few monitors
  which shows the TCB and SRB times as separate items.)

  The operand is a 0-3 character string made up from the letters J,
  S and T to specify the address space types to be included.  No
  operand specifies the inclusion of all address spaces.  Another
  change lifted from Mike Holloway's version for MSP.

  Highlighted (ie. yellow) jobs are swapped in.  This is derived from
  the real storage usage because this level of MVS does not have
  logical swapping.  Which brings us to the most crucial change made
  to QUEUE by this series of updates:  The DC column heading has been
  corrected from SLOTS to FRAMES.


Copyright 2003 Prycroft Six Pty Ltd - ABN 17 006 544 636 - All rights reserved.