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
- 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
- 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
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.
all SPOOL volumes will have the same first five characters,
this provides QUEUE support for any number of SPOOL
JES2 allows. This scheme taken
from posts to the H390-MVS list.
Updated 1st January 2007:
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
from MF=E to inline macros (which translate to a single SVC)
registers being pre-loaded as required by program logic.
work areas have been dispensed with. The TTPUT and TTGET
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
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
the attribute codes for JMSG messages must have its entries
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
turned off in the source and QUEUE can then be reassembled.
this is the actual problem can be tested by issuing 'Q MONO'
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
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
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
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
As a result of this
feature autoskip has been removed from
attribute bytes so that
the cursor does not automatically move
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
the unit and volume of the checkpoint data set to be accessed
to be assembled from the source or zapped into the load module.
Now, the system identifiers are read from the checkpoint data
SYSALLDA is used as the unit name, and the volume is ascertained
from the primary subsystem vector table. Hence, local
pertaining to data set placement or system identifier names
generate a need to update QUEUE to maintain accuracy or convenience.
(The CKPT(unit,volser) operand is still allowable, but if no
operand is supplied the currently operational checkpoint will
- Addition of NEXT and PREV commands.
When a job is selected with an 'S' selection code, the job log
shown. Movement to subsequent data sets can be achieved
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
lower data set identifiers. I have obviously lifted this
SDSF. Unlike SDSF, SYSIN data sets are always eligible
- PF3/15 variable meaning.
PF3/15 meant "exit QUEUE". Whenever it does not mean that
actual meaning of PF3/15 is shown on the bottom right corner
screen. These "other meanings" are an attempt to make
a single level back-out rather than termination of the whole
EXIT and END and E still mean "exit QUEUE" no matter where in
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
commands/operands have been documented. An extra page
codes has been added. The fact that the only allowable
code from a DD display is 'S' is not listed. When HELP
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
of H (half-page), P (page) or M (maximum) is now allowed.
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
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
QUEUE and when I want to see the next page I press PF8 instead
ENTER. To accommodate my habit PF8/20 now functions as
whenever a SPOOL data set is not being browsed. This avoids
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
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
JOE priority. For a display with 14.4 showing, 14 is the
priority and 4 is the JOE priority. Held SYSOUT (denoted
"HELD OUT" in QUEUE) has not yet had JOEs assigned to it by
version of JES2. (This was later changed.) A JOE
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
- 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
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
such as JES2 itself will not be shown. A small code change
the selection of ASID 1 (under the auspices of SYSLOG) to be
selected. I sought to make this change because my recollection
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
which shows the TCB and SRB times as separate items.)
The operand is a 0-3 character string made up from the letters
S and T to specify the address space types to be included.
operand specifies the inclusion of all address spaces.
change lifted from Mike Holloway's version for MSP.
Highlighted (ie. yellow) jobs are swapped in. This is derived
the real storage usage because this level of MVS does not have
logical swapping. Which brings us to the most crucial
to QUEUE by this series of updates: The DC column heading
corrected from SLOTS to FRAMES.
Copyright © 2003 Prycroft Six
Pty Ltd - ABN 17 006 544 636
- All rights reserved.