Click here for TSG 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 Always Online cap – submit your MPE tip directly to us here at the NewsWire. Send your tips to editor@3000newswire.com, or fax them to 512.331.3807.

We heard there is an X Windows terminal emulator available on the HP 9000 that will allow block mode HP 3000 applications to be run. True, and where do I find it?

Mark Landin replies:
There are really two issues here. One is that you would need an HP terminal emulator. Yes, hpterm does that. It’s part of the HP-UX OS. Do a ‘man hpterm’ for details. Try a ‘man dtterm’ for an alternative.

The second issue is: how are you going to log on to your 3000? If your 3000 supports inbound telnet, you can just telnet to him and do whatever you want. If, however, you want to use the 3000s NS/VT capability to do logins (which is how it’s been done prior to being able to do telnet), then you will need to either purchase “vt3k” from HP, or pick up freevt3k, which is a freeware mimic of vt3k. (Sadly, HP dropped all support for DSCOPY, which is the NS equivalent of FTP – but that’s another topic.)

Stan Sieler adds:
As it turns out, you generally need two programs: vt3k and hpterm. vt3k is the transport mechanism that allows a program (like hpterm) to communicate to an HP 3000 over the network. hpterm is an HP terminal emulator. No, not merely “an emulator” – hpterm is by far the worst HP terminal emulator currently available. On the other hand, it does work, and handles block mode.

vt3k isn’t on every HP 9000. It used to be part of a add-on product (some networking product.), and I don’t know if it’s been bundled with HP-UX in recent versions or not. Another option is freevt3k, at the Telamon web site. It combines a vt3k and hpterm emulator, and comes with source code.

I need to copy a lot of MPE/iX tapes and I don’t want to restore and store each individual tape. Is there a way to do this like I can with disk drives on a Unix box?

On the www.allegro.com Web site there is a little gem called TAPETAPE that will do this.

I thought that FTP/iX’s mget command worked with wildcarding. But mget * or maybe mget @ don’t seem to work. Am I being a little optimistic here?

Joe Geiser replies:
Try mget ./@ if pulling (or MGETting) from the HP 3000 – it works. And use prompt off to keep from being prompted all the time. Do this prior to the mget.

What is that command, utility, or intrinsic that turns off hardware compression on a DDS tape drive?

Syed Azhar replies:
Use the command DEVCTRL 7 DISABLE,DISABLE where DEVICE = 7 Compression = disable, Eject = Disable

I have been working with the new date intrinsics without much success in COBOL. Is there a list of error codes and meanings available?

John Zoltak replies:
You can use MSGUTIL and the subsystem number is 529. Also beware, that I have found that you should initialize all output character array to spaces before calling the intrinsics.

I want to take a look at a $stdin file waiting to be submitted as a batch job. I thought I’d just open the Ifile.IN.HPSPOOL, but found it’s a privileged mode file. In MPE/V we used to be able to run FLUTIL to change file types. Is there a way to do this in MPE/IX?

Stan Sieler replies
You don’t need to change anything. (And, if you did, it wouldn’t be the file type... it’s the file “priv_level” field in this case. In some other cases, it may be that the file has a negative filecode.)

A program that knows how to specify a priv_level via HPFOPEN will suffice... the PRINTSPF utility, in PUB.SYS, should work. (You may need to be SM to run this example):

:printspf i104.in.hpspool
PRINTSPF A.00.00 Copyright (C) Hewlett-Packard 1989. All rights reserved. WR P1=$0000 P2=$0000 BUF/# 8= :echo hi
WR P1=$0000 P2=$0000 BUF/# 13= :eoj hi there

I am new to the world of HP 3000s. I would like to set up some of my own UDCs to manipulate and control the print jobs and where they are going. How do I actually write new ones or edit existing UDCs?

Andreas Schmidt replies:
There are three levels of UDCs: user, account, and system. Users’ UDCs are valid only to the user, account UDCs are valid for all users in the account, and system UDCs are valid for all logons on the system.

The command SETCATALOG is the right one. Especially options ;APPEND or ;DELETE are very useful.

The structure of an UDC file is easy:

UDC_command [parms]
MPE_command(s)

Remember, UDCs are always loaded into the memory! Since MPE/iX was released, it is better to set a path to a common used area of useful command files instead of having UDCs. Such an entry in a system-wide UDCs (probably the only one) could look like: SETVAR HPPATH “!!HPGROUP,PUB,PUB.SYS,XECMD.SYS” so the search for an unknown command will start in the current (logon) group, and is continued in PUB of current account, in PUB.SYS, and in the special group (we use XECMD.SYS).

As an example, T filename could invoke TDP to edit the file filename. S could show you all sessions, because S.XECMD.SYS looks like SHOWJOB JOB=@S and so on.

Vivek Singh of HP adds:
To write a new UDC:

• Create the UDC file (use HPEDIT or editor) containing the commands you want.

• Use the SETCATALOG command with proper options to set this UDC. For example, If the file you created was myudc.pub.sys and you want to set this UDC for system wide application, then give the command: setcatalog myudc.pub.sys;system;append

Hint: The showcatalog command will show you the currently set UDCs.

The append parameter in the command will add it to the list of existing UDCs.

If now want to edit a UDC file (myudc.pub.sys) which has already been set, first delete this UDC (you cannot edit myudc.pub.sys as long as it is set) with the command setcatalog myudc.pub.sys;system;delete . Now edit the file myudc.pub.sys to make your changes. Again, set this UDC using the command setcatalog myudc.pub.sys;system;append

You can go through MPE’s help on “setcatalog” and “showcatalog” to have better understanding of the various parameters associated with these commands.

We have a remote session on a Classic 3000 which will not abort and we would like to avoid having to do a coolstart. ABORTJOB has no effect, and ABORTIO on the file and store device shows no I/O to abort. How do we do this?

KS Soman of HP replies:
Try using ABORTCON utility. This is available at http://jazz.external.hp.com/src/ src.html along with Readme file.

I need to download a HP file in comma-delimited ASCII format. I have looked at the file equate statement and at Reflection as a way to do this, but have not found a solution. Is there a way for me to do this? The file I am trying to download is the result of a query (qslist). We’re a plain vanilla shop with very few utility software products.

Thomas Genute replies:
This can be done on the 3000 with a command file if the fields have a defined position and length, i.e., fixed length. Having been spoiled by Robelle’s Suprtool for this kind of requirement, I’m a bit rusty with Query, but Query should be able to output a fixed length file with fixed length fields.

If this is going to be an ongoing production procedure, then a 3000 command file could be written that would input the fixed length file and output a comma delimited file. Note that the complexity of either the command file or other procedure increases with the number of fields.

Using the fixed length field as input, you would have to assign a variable to the input line and use the STR function to break up the input line and build the output-line (another variable), appending a comma after each field except the last. With this method, however, the record length could not exceed MPE’s limitation on the size of a string variable.

Just about any program language could do the same thing as a command file and more efficiently. Rather than hard-code the field definition into the program, I would use a second “parameter” file to provide information about the input file, i.e., record length, number of fields and field positions. This way you would have a tool to transform any fixed field files to comma delimited files simply by modifying or creating a parameter file and pointing to the correct parameter file with a file equation.

Finally, I advise you to call Robelle and get a Suprtool demo. The product is not very expensive should you decide to purchase it, and worth every dime.


Copyright 1998, The 3000 NewsWire. All rights reserved.