Lund Performance Sponsor Message

Hidden Value details commands and procedures in MPE that can improve your productivity with HP 3000 systems. Get a free NewsWire HP 3000 “3000 for 2000” cap — submit your MPE tip directly to us here at the NewsWire. Send your tips to, or fax them to 512.331.3807.

Edited by John Burke

How can I turn the echo back on after a program aborts that had echo turned off?

Larry Barnes, Jeff Vance, Connie Samuel and Roy Brown all reply:

set echo=on

How can I reset the spool file numbers?

Jeff Vance replies:
setcounter outsp;base=1

How do I determine what HP products are installed on my system?

Doug Werth replies:

:xeq psirpt.pred.sys

:print psirpt.pred.sys
file psilist=$stdlist
run psswinvp.pred.sys;xl=’xl.pred.sys,xl.diag.sys’

[Editor’s note: Also, it was suggested that you could print HPSWINFO.PUB.SYS, but HPSWINFO is not a list of installed products on a system. It contains what appears to be ALL available software for MPE systems, some bundled with FOS, and others purchased, but not necessarily installed and available on the target system. HPSWINFO is a nice place to look up a product number, though.]

If two files with the same name exist, one in the TEMP domain and one in the permanent domain, from a small test it appears that FINFO operates on the TEMP file. Is this bankable? Is this documented anywhere? PRINT seems to “see” the TEMP file ahead of the permanent file.

Jeff Vance replies:
FINFO calls the FLABELINFO intrinsic. It passes the “mode” argument as %36 for file names that don’t start with an “*” and %35 if the file names start with “*”. These mode values tell FLABELINFO to not follow symbolic links and to assume the caller is in user mode (not privileged). To answer your question, FLABELINFO searches for TEMP files before permanent.

Is there a way of running grep on a fileset without going into the Posix shell?

Jeff Vance replies:
When you run grep independent from the shell you do not have any wildcarding. The shell expands the pattern above and supplies grep a list of matching file names. Grep itself just reads its argument list, which includes 0 or more options and one or more file names.

Doug Werth adds:
As pointed out already, the shell performs the wildcard expansion into real file names, not grep. However, you can still run a caseless string search against a set of files from the CI prompt by using the following command file.
:help search

parm SrchString,SrchFiles
purge shellin,temp >$null
echo grep -i ‘!SrchString’ !SrchFiles >shellin
echo exit >>shellin
xeq sh.hpbin.sys <shellin

Is there an escape sequence to switch a HP 700/92 terminal between HP mode and VT mode?

esc&k0\ ===> HP mode
esc&k1\ ===> VT mode

At some point in the past, I did a mknod for a DDS tape drive when that drive was a DDS-1 device. Now this device is a DDS-2 drive. It has the same LDEV, same SCSI address and the same path number. Do I need to do another mknod for this drive because it’s been physically updated?

Mark Bixby replies:
I’m guessing you don’t have to recreate the device file since it isn’t recording much of anything beyond the LDEV number:
:listfile /dev/tape,unique
FILE: /dev/tape

I have a DTC-connected printer that is out of service for a while (building is being renovated). I would like to re-route the printing to another similarly connected printer. How do I assign two class names to one LDEV? Sysgen won’t recognize DTC devices, so modifying a class does not work there. I can’t see a place in NMMGR to do it.

You can do what you are looking for on the Profiles screen in NMMGR. Modify the profile assigned to that LDEV and fill in the extra class names in the fields at the bottom of the screen.

I got the following request from my network manager this week: “Verify that all systems are configured with a class C mask and appropriate gateway.” I’m pretty sure I can determine that in NETTOOL.NET.SYS but for the life of me, I can’t remember where. What’s the right option?

David Cobo replies:
I believe this is what you’re looking for:

Is it possible to bind more than one IP address to a network card on the HP 3000?

Tom Brandt replies:
Not yet, although at the HP World HP said they are looking at adding that capability soon.

Mark Bixby adds:
Not at the present time. Apache/iX would like to be able to do that though in order to support IP-based virtual hosts. BIND/iX might also like that ability.

I’ve just discovered something totally irrelevant but interesting. If you connect to your favorite HP 3000 via VT-MGR or DTC and type “bye” (without the quotes) at the logon prompt, your session is immediately disconnected. Type anything else except a valid HELLO command and you get an error message. Is this by design?

Michael Berkowitz replies:
By design. The relevant sentence in the HELP BYE text is: “If you enter the BYE command before initiating a session on the system, no system message is displayed.”

Stan Sieler adds a little history lesson:
Actually, it’s my fault. During testing of the pre-release of MPE XL 1.0, I noticed that the ability to enter “:EOJ” had disappeared. I pointed out that I, and others, would sometimes use it from a terminal (on MPE V) to terminate a logon attempt without completing the logon. The result? The CI people added the ability to enter “BYE” before logging on, which provides users with the same capability as the older “:EOJ”.

How can I programmatically get the spool file ID of the $STDLIST of a given job number whether currently executing or not? I tried to use the JOBINFO intrinsic (item 32) but it is good for running jobs only. Calling it after the job ends gives 0.

Jeff Vance replies:
If you know the job ID (e.g. #J1234) you can get its $STDLIST spoolfile ID easily:
setvar HPLASTJOB “#J1234”
setvar spoolid HPLASTSPID

[Editor’s note: Michael Anderson points out that you could do this programmatically by calling HPCIPUTVAR twice for HPLASTJOB and SPOOLID, and then calling HPCIGETVAR on SPOOLID. Many people, including yours truly, did not realize that HPLASTJOB was writeable. The possibilities are, well, intriguing. HPLASTJOB and HPSPOOLID are documented in the MPE/iX 5.5 Express 3 Communicator.]

I created a string variable (proved by TYPEOF = 2) with the value 0119, these digits being the lower four digits of another variable with a value of 20000119. I used STR (string,5,4). When I perform SHOWVAR, I see 0119, but when I de-reference the variable to create a file name, the name is XX119 and NOT XX0119. How do I keep the leading zero when I de-reference the variable?

Jeff Vance replies:
You need to ensure that the CI treats the variable as a string. This can be done by enclosing it in quotes, or by using it as a parameter in any CI function that expects a string. E.g.
:setvar x “0119”
:calc typeof(x)
2 %2 $2 <<string>>

:setvar y x
:calc typeof(y)
2 <<still a string>>

:setvar y !x
:calc typeof(y)
1 <<int>>

:setvar y “!x”
:calc typeof(y)
2 <<string again>>

I am trying to purge some old files, but cannot because they are code PRIV. I log on as manager.sys (with all capabilities) and still cannot do this. What commands do I need to use?

Gerald Dillard, Joe Dollolliver and Friedrich Harasleben all reply:
:file t=$null
:store file_set;*t;purge

I tried to extract some information from a LOG file, but when I specify a USER or ACCOUNT name in the list command, nothing gets selected LOGTOOL> LIST LOG=600 shows all records, but with LOGTOOL> LIST LOG=600;USER=MGR no records are selected. What’s going wrong?

Pat Dousman replies:
This is for all those who have wondered why they were NOT able to get LOGTOOL to list specific console records (Type 115) using additional search arguments (IE: USER, ACCOUNT, etc). I opened a call with HPRC and got the following answer:

“Unfortunately, type 115 is the only log type that doesn’t allow you to specify any type of sub-search string. There are existing SRs on this problem but no current plans to fix it.” In other words, the official response is that it is working as designed.

I finally got around to starting up Telnet on my system. Am I incurring any performance penalty by having the default SERVICES, PROTOCOL, and INETDCNF files? What kinds of tuning can I do to these files if all I want is inbound Telnet access?

Mark Bixby replies:
There’s no penalty to keeping the default SERVICES and PROTOCOL files. But since INETDCNF controls what network services INETD is going to make available, I always feel better after commenting out everything I’m not explicitly using.

I have some groups that exist in Private Volumes that no longer exist in the MPEXL_SYSTEM_VOLUME_SET. It is apparent they were just incorrectly purged off the System Volume but not the Private Volume. How can I clean up?

Keven Miller replies:
To “re-link” the user volume group, re-create the group:
:NEWGROUP name;HOMEVS=volname
To remove the group from the volumeset
:PURGEGROUP name;ONVS=volname

I’m having a problem connecting to a Samba/iX share residing on my HP 3000. When I try to access my share using an MPE account and user logon, I am prompted for passwords, even though that account/user logon has no passwords. When that account/user logon had a password, I was always returned an invalid password message. Is this a password encryption issue, and/or a syntax error?

Michael Gueterman replies:
1. The 3000’s version of Samba can not handle encrypted passwords, so your PC must supply them in clear-text format. Since Win95 OSR2 and later, Windows does not automatically fall back to clear-text passwords. You can re-enable this ability by installing a registry patch that is available at in the download area. Patches are available for both Win95/98 and WinNT 4.0. If you don’t have the registry patch installed on your PC, then you will be unable to use password-protected shares.

2. Passwords are checked using the same format as the FTP server. That is “user,account” format. The comma is required if you have an account password even if you don’t have a user password.

3. The total length of the password string (including the comma) cannot exceed 14 characters. If it does, you’ll not be able to specify it correctly on the PC side (meaning you’ll always get a mismatch in the password checking mechanism). Try new (shorter) passwords to get around this Windows limitation.


Copyright The 3000 NewsWire. All rights reserved.