Taurus Sponsor Message


Hidden Value details commands and procedures in MPE that can improve your productivity with HP 3000 systems. Send your tips to john@burke-consulting.com.

Edited by John Burke

How do I use the tar utility to put data onto tape on an HP 3000?

Rick Clarke replies:
This is from the HPITRC Document ID KBRC00000361
1) Create a tape node
:MKNOD “/dev/tape c 0 7”
2) Enter posix shell
:SH -L
3) Mount blank tape and enter the tar command
shell/ix>tar -cvf /dev/tape /ACCOUNT/GROUP/FILENAME

Lars Appel adds:
If you do not want to use it from the Shell, but from the CI:
:xeq /bin/tar “-cvf /dev/tape /ACCOUNT/GROUP/FILENAME”
Note, however, that only the Shell will expand wildcards:
:xeq /bin/sh “ -c ‘tar -cvf /dev/tape /ACCOUNT/GROUP/FILE*’ ”
Oh, and the :xeq above is optional as well.

How can I determine the validity of an SLT tape?

Bob J. and Andreas Schmidt reply:

Is there a way to view deleted records in a Native Mode KSAM file? NOKSAM, which worked for CM files, does not work.

Ken Hirsch replies:
If you open the file with the COPY option, then you can read all the records. There is a four-byte field at the start of each record that indicates whether or not it is deleted. This almost works:
file ksamcopy=yourksam,old;copy
fcopy from=*ksamcopy;to=

If you try this, you’ll see that FCOPY reads by the original record length and gets off by four bytes each record. If you write a program and read by the larger (by 4) record length, it will work.

We recently put a VPN in place in order to reach our HP 3000 from outside our firewall, for telecommuting. We have had good success with the connection except when attempting to use Reflection file transfer. The transfer will time-out, but here’s the interesting part: it won’t time-out all of the time. Every once in a while, after several retries, the transfer succeeds. How can I avoid this?

Bob Sorenson replies:
Try setting “Fast file transfer” to “Never.” This will be found under the WRQ tab. It should solve your problem.

[Editor’s Note: Normally I do not include Q&As that deal with third-party products. However, because this speaks to an important feature of MPE/iX, I am including the following item.]

If I say ‘altfile <somefileset>;xltrim’ in MPEX, what really happens? Is MPEX working directly on each file or does it make a ‘work’ copy?

Ron Horner, Paul Christidis and Erik Vistica reply:
MPEX merely (ignoring for a moment all the verifications that it does) opens up the file and closes it with the option that returns to the system any ‘unused’ space on the ‘last’ extent of the file (NO second file). So a file with 10 equal extents, for example, will end up with nine equal extents and one smaller (if there was any ‘empty’ space). This became ‘achievable’ as a result of how disk space is allocated in MPE/iX.

One thing that you should keep in mind is that the ‘mod date’ of all ‘xltrimmed’ files will be changed (unless ‘;keepamdates’ is used) and that may impact your next backup. It bit me the first time that I used it because my backup needed another tape and thus I got paged in the middle of the night, etc.

Today I had a perfect application for the NEWJOBQ feature in MPE/iX 6.5. We have two groups of users. One group submits jobs that take about 30 seconds each. Typical jobs for the other group take about 5 minutes each. So I thought I’d give the second group of users their own job queue.


When I submit a long job into the ALTJOBQ queue, and a quick job into the default job queue, the second job goes into the WAIT state. Why?

Michael Berkowitz, David Darnell and Denis St-Amand reply:
Your NEWJOBQ statement is correct, but your second statement didn’t do what you thought. To put a limit of one on the HPSYSJQ job queue, your statement should read

By saying :LIMIT 1, you are changing the total job limit on the system to one. Since the total limit is one, and the long job in ALTJOBQ is still running, the second job waits even though he is the only job in his queue.

What is the command to abort a hung session? I tried ABORTJOB #s3456. I seem to remember there is a command that will do more.

John Burke replies:
You can use =SHUTDOWN. But seriously, there is a chance that if it is a network connection, NSCONTROL KILLSESS=#S3456 will work. If it is a serial DTC connection, ABORTIO on the LDEV should work. Finally, depending upon what level of the OS you are on, look into the ABORTPROC command. This might help as a last resort.
Otherwise, I’m afraid you are probably stuck with having to do a reboot. Hung sessions happen much less frequently these days but are still one of the worst things short of a SYSABORT that can occur to a production system.
[Editor’s note: NSCONTROL KILLSESS worked for the questioner.]

What does HPSWINFO.PUB.SYS show? All software or only installed software? How do I know what HP software is installed?

John Burke replies:
Generally speaking, HPSWINFO.PUB.SYS is a record of system software level and patching activity. If you want information on HP software installed then you want to run psswinvp.

On 6.0, the calling sequence is
run psswinvp.pred.sys;xl=’xl.pred.sys,xl.diag.sys’

On 6.5, the calling sequence is
run psswinvp.pred.sys;xl= ‘xl.pred.sys,diagxl.pred.sys’

There is a command file (psirpt.pred.sys) but is is broken on MPE/iX 6.5; hence I’ve given the explicit calling sequence.

I am in San Francisco, Calif. Should my TZ variable be PST7PDT or PST8PDT?

Steve Dirickson and David Powell reply:
Not sure where else it is documented, but there is a list in the 1991 edition COBOL manual. PST8PDT is it.

What does this IMAGE error mean, and how do I fix it?


Jonathan Backus and Ray Shahan reply:
You are trying to delete a record from a dataset that appears to be a Manual Master. The problem is there are records in one or more associated Detail datasets that have this same key value. Therefore, there are “non-empty” chains and IMAGE refuses to delete the master record. You have to delete all of the chained records from the associated detail datasets first.

How can I sync the time on my 3000 with my NT 4.0 network? The NT side does regular, automated sync to NIST.

Mark Bixby and Jeff Kell reply:
First, insure your timezone is absolutely correct (:setclock/:showclock) and you have a system logon UDC to setvar TZ to the correct timezone.

Install NTP (available on the Jazz Web site if you didn’t get it otherwise) and use the ‘ntpdate’ function to sync your clock to the NT servers. I suggest you do this in a batch job that issues the ntpdate command and then :STREAMs itself;IN=xx to periodically perform the synchronization.

I want to set a numeric variable, put an alpha in front of it, run a program and increment the numeric variable by 1. This is what I’ve tried:
setvar num 123
setvar alpha ‘r’
setvar composite !alpha!num
run program

setvar num num+1
setvar composite !alpha!num
Setting the composite variable fails. Why?

David Burney and Friedrich Harasleban reply:
Instead of : setvar composite !alpha!num try setvar composite “!alpha!num”

The LISTDIR option of RESTORE applies only to NMSTORE tapes. It cannot be used for MPE/V format tapes. What utility can I use to view the file list of a MPE/V tape?

Gilles Schipper replies:
VALIDATE, from the contributed library. There should be a copy in the TELESUP account.

Copyright The 3000 NewsWire. All rights reserved.