Hidden Value – January 2002

 

Q: On our system, we have a line in our SYSSTART file as follows:

ALLOW MANAGER.SYS;COMMANDS=ALLOW

When this executes, there is an error, and since I'm doing this from memory it's not exact but it complains something like the following:

USER NOT LOGGED ON

and it therefore doesn't issue the allow command. What is wrong?

A: John Clogg replied:

The only way to allow commands to users not logged on is to allow them globally, as, for example,

ALLOW @.@;COMMANDS=ALLOW

[Editor's note: 'persistent allow' was on the SIB last year but did not make the cut.]

Q: We are currently moving a customer onto an A-Class machine with 7 express 1 installed. We are trying to get ODBCSE up and running again and are getting a "[Allbase]ACTINFO file contains incompatible version number. (DBERR 13516)" out of the ODBC Log File. Does anyone know what this is?

A: Michael Berkowitz replied:

As documented in the 6.5 manual, you must migrate your ATCINFO file when going from a G3 to G4 release of Image/SQL.

:RUN IMAGESQL.PUB.SYS
>DBE YOURDBE
>MIGRATE
>EXIT

Q: Can one change the IP address of a HP e3000 without rebooting the system?Will stopping and restarting network services do it?

A: Peter Osborne replied:

Make the change in NMMGR, validate NETXPORT and stop and restart the network to make the change effective.

Q: I've had something happen twice that is odd. In a stream job, a CHGROUP command produces an error saying that it is not programmatically executable. Here's a shot of the error.

CHGROUP cati
Command not programmatically executable. (CIERR 12)
Abort program - Error# 12

What could be happening?

A: Randy Keefer replied:

The message implies that the command was executed from inside a program. You are probably running some program (IE. MPEX, QEDIT, Supretool, Quiz, QTP, Editor, Sort, etc) prior to the CHGROUP? If so, you must make sure that you have successfully exited the program before the CHGROUP command will work. You cannot change groups while executing a program.

Q: I know this is something I should know but I really have never had to use it. Until now. How do I view the console logs on my system?

A: Tony Jenkins replied:

LOGTOOL is the utility on the system that will allow you to display your logs. You enter it by :LOGTOOL

LOGTOOL>STATUS DETAIL

This will give you a list of the log files on your system with dates, time of creation, and number of records. Choose your log file and enter:

LOGTOOL>SUMMARIZE LOG=(YOUR LOG FILE NUMBER)

You will see that 115 is the code for console entries. Now to see the log entries enter:

LOGTOOL>LIST LOG=(YOUR LOG FILE NUMBER);TYPE=115;DATE;TIME

You will prompted for dates and times for information you wish to display.

[Editor’s note: There are several freeware tools specifically designed to easily view console logs, but logtool is the supported way.]

Q: Does anyone know of a good decompiler for Cobol, one that can actually generate the source code from the object.

A: Gavin Scott replied:

Nope.

And Wirt Atmar elaborated:

The answer is not only no, but heck no. Compilation in any language is intrinsically a one-way transformation. Asking for a decompiler that can recreate the original source code is exactly the same as asking for a mechanism to retrieve the original set of numbers that went into a calculation -- if you only have the average of those numbers now. In each case, there are an infinity of sets of original sources that could be THE original source, and no way to distinguish among them.

Q: Does anyone know what happened to the WebWise section of the "Configuring & Managing MPE/iX Internet Services" manual? I can't find it anywhere, it used to be chapter 10 but it seems to have been removed.

A: Mark Bixby replied:

I'm already aware that the WebWise chapter disappeared by accident in the 7.0 version of this manual. However, it is still available in the 6.5 version:

http://docs.hp.com/mpeix/onlinedocs/32650-90897/00/00/64-con.html

Q: Can some one tell me how I can delete the corrupted files with FSCHECK?

A: Andreas Schmidt replied:

It's highly recommended to run this with no user activity on the system!

To purge a file, use PURGEFILE filename. For more info see HELP within FSCHECK.

Q: Does anyone have a really quick way of keeping a particular Job from running multiple instances. I have a Job that is overlapping itself occasionally and I'd rather have it not launch if one is already running.

A: Jeff Vance and Paul Christidis replied:

You could insert this in the JCL:

if JOBCNT("@J:!hpjobname,!hpuser.!hpaccount") > 1 then
  tellop This job (!hpjobname,!hpuser.!hpaccount) is already running...
  eoj
endif

[Editor’s note: JOBCNT became available in MPE/iX 6.0 Express 1.]

Q: Is it possible to imitate scheduling software using the stream command? I want a job to run every day at 8:30 PM without having to stream it daily.

A: Several people suggested having the job stream itself with "IN=1", but Paul Butler noted:

One problem with using "IN=" is that the jobs will gradually drift and not get scheduled when you would like. If you absolutely need to have your job run at 8:30PM every day, "AT=20:30" is the way to go. BUT if the job takes less than a minute to run, the job will get immediately streamed again. The way around this is to use a PAUSE:

!JOB JOB1,USER.ACCT
<JOB LOGIC>
!PAUSE 60
!STREAM JOB1.JOBGROUP.JOBACCT;AT=20:30

David Lukenbill added a word of caution:

I used the same logic in a job, and had a problem with the fall clock change. During the gradual time zone change, the PAUSE 60 wasn't enough to cause the minute to change, and the job re-streamed itself several times within the same minute.

Q: We are planing to migrate from a HP3000/959 to an N4000 running with MPE/iX 7.0. We have a lot of DTCs Are they supported by the N4000?

A: Denis St-Amand replied:

Yes they will work. However, remember that the DTCs are supporting 10BT ONLY. So, if you plan to use your N4000 at 100BT, you'll need a switch or dual speed hub between both.

Q: We have a process that runs at the end of each month. It uses logtool to scan the logs and reports out the number of physical pages that were printed to the system printer for each user.account over the past month. We use it to bill our various departments for printer usage. We migrated from a 969 to an N4000 in November, and this process now reports no records were found in the system logs.

A: Denis St-Amand and Craig Lalley replied:

You probably need to enable log event 120. This is not enabled by default. When you changed systems you lost the logging of event 120.

Q: Is there a way I can identify the IP address of a user logged on via network services? I can easily get their session number, look at what files they are accessing, etc., but at times acquiring their IP would be handy.

A: John Burke replied:

If you have the session number then the jinfo CI function will do the trick; for example,

:calc jinfo("#s188", "IPAddr")
172.24.64.137

I'm not exactly sure when this was introduced, but it exists as of at least MPE/iX 6.0 PP2.

Q: In the 'look before you leap' department, I just found out (with some pain), that SETCATALOG does not support HFS file syntax. Is there any way around this?

A: Michael Berkowitz replied:

Use symbolic links; for example,

:NEWLINK LINK=CATLINK;TO=/FILENAME/HFS/STRUCTURE
:SETCATALOG CATLINK

Q: I need to load a lot of records into an IMAGE detail data set after a back up. How do I turn the transaction manager off and what are the implications.

A: John Clogg replied:

The standard means is to enable the database for AUTODEFER in DBUTIL. Some utilities, such as SUPRTOOL allow you to specify AUTODEFER for a specific operation. This should be done when no one else is accessing the database, and you need to have a means of restoring the database in case the system crashes during the load.

Q: Has anyone successfully built a "Y" adapter to run both a terminal and the Web Console at the same time?

A: Andreas Schmidt replied:

Rather than a "Y" adaptor, we use the Web Console on ldev 21, and the physical console on ldev 20 with great success.

Carl McNamee added:

I didn't build it but Black Box has a "modem splitter" that will do this.

Q: Does anyone know anything about a UPSCNFIG.PUB.SYS file? UPSUTIL.MPEXL.TELESUP looks for it and warns me that it doesn't exist.

A: Ian Ferguson replied:

This info comes from a patch sheet, MPEX33,

Create a file via EDITOR or QUAD with two lines. The first should be the file name "UPSCNFIG.PUB.SYS" and the second should be, well, that depends on what you want to send out.

To send the *** RECOVERY FROM POWERFAIL *** message to the console only, the second line needs to be,

powerfail_message_routing = console_only

To send to all logged on dtc and telnet connected users,

powerfail_message_routing = all_terminals

Denis St-Amand added another way:

You can use UPSUTIL.MPEXL.TELESUP to create it. Use "newconfig UPSCNFIG.PUB.SYS" command and a default one will be created for you.

Q: Does anyone know what PATCH.PUB.SYS and PATCH.HPBIN.SYS do?

A: Michael Marxmeier replied:

PATCH.HPBIN.SYS is a port of the patch program initially created by Larry Wall (the Perl author). It is used to apply a diff to a source file. See man patch.

Mike Hornsby and Paul Christidis added:

PATCH.PUB.SYS is an HP utility that can be used to display and/or modify CM executables and SL files. One can modify the global stack area variables or make simple program instruction changes. Documentation on the utility can be found in the "MPE/iX System Utilities Reference Manual" Part No. 32650-90081.

Q: Can anyone explain this?

/SYS/PUB: ps -ef |grep .SYS

0 1 0 0 Dec 31 0:23 PROGEN.PUB.SYS
0 65538 1 0 Dec 31 0:39 LOAD.PUB.SYS
0 1900574 525290 0 Dec 31 ldev152 0:00 VTSERVER.NET.SYS info=
0 1703967 65721 0 Dec 31 ldev818 0:00 JSMAIN.PUB.SYS
<<snip>>

I've tried this on two systems and they're both displaying 'Dec 31'.

A: Ken Hirsh replied:

In MPE/iX Shell and Utilities ReferenceManual Volume2, the MPE/iX notes for 'ps' include this:

"args, etime, pcpu, flags, and stime are not supported. The values shown for these specifications have no real meaning."