The Question is:
I have a number of clients who have the IDX (a hospital system). Man of the
applications print directly to a device spooled to SYS$SYSDEVICE:.
I understand that when you print to a spooled device the file is not entered in
a directory on the specified disk, and the disk device FDT routine enters
CLF_SPOOLFILE which causes the RMS create routines to set FCB$V_SPOOL in the
File Control Block.
It appears that the TCPIP$TELNETSYM (and it's predecessor UCX 4.2 eco xx) do
not always delete the spooled file upon completion/failure, and a monthly $
ANALYZE/DISK/REPAIR puts hundreds of these files (there are several hundred
concurrent users) into SYS
$SYSDEVICE:[SYSLOST].;* where we then delete them. (After typing quite a few of
them we were able to determine that they were mainly on-demand reports).
Unless you have something special up your sleeve, perhaps the appropriate
support unit should be made aware of this problem.
The Answer is :
This appears to be a known incompatibility with certain uses of the
OpenVMS spooled device capabilities and the underlying assumptions
-- some code assumes that the DELETE/ENTRY and similar commands can
be used on these spooled files, and OpenVMS (unfortunately) preserves
the contents of the spooled file in the file structure. The OpenVMS
Wizard has also heard of cases where an incorrectly configured queue
manager or cluster cannot access the files to delete them, due to
protections (use security alarm commands such as SET AUDIT/ALARM
/ENABLE=ACCESS=(FAILURE:DELETE), or set up the queue to retain jobs
on error) or due to (a lack of) access (privileges, not mounted, etc)
to the files stored on the intermediate (spooled) disk device. All
that said, the temporary file(s) on the intermediate device should
be automatically deleted -- under normal and typical circumstances.
RMS itself does not set the spooled attribute on the file, that is
something that is only set by the application, either directly or
when an $open operation is performed on a spooled device -- the
subsequent $close operation calls $sndjbc, which then (should) delete
the file. (The OpenVMS Wizard has encountered cases where a file is
not correctly closed, and thus the $sndjbc submission never occurs.)
Please consider an upgrade of your OpenVMS version to a more current
release -- though this upgrade will not likely alter nor address this
file-preserving behaviour of OpenVMS. Please also consider configuring
a (scratch) disk as the target for spooled file operations, for easier
clean-up ($ SET DEVICE /SPOOL=(telnet_queue, ddcu:) TNcu:). And please
check with the other software vendor(s), to determine if there are any
ECOs or workarounds within the (other) software involved here.
Alternatively, you could potentially use a null print symbiont -- jobs
queued will succeed of course, and should then be deleted. (There are
null symbionts available from various sources, including on the OpenVMS
If you wish to formally report a problem with OpenVMS or need/want a
formal resolution to a report, please consider direct contact with
the Compaq customer support center.