Hidden Value – June 2002

 

Q: Does anyone know of any intrinsic (or any other method) that will tell me if a spoolfile is a stdlist or not?

 

A: Tracy Pierce replied:

 

You can use ;seleq=[filedes=$stdlist] in any spoolf or listspf command.

 

 

Q: (in the same vein) Is there a way to determine both the "job card" and "streamed by" information for a job?

 

A: Use the CI function, jinfo. See HELP jinfo for a complete list of parameters.

 

 

Q: We have a 989-250 and I wanted add a single processor to a 989-350. HP is telling me I have to add two processors and go to a 989-450 instead. Has anyone had to do this? I thought I had seen 989-350 written on HP documents like performance numbers and model numbers.

 

A: Donna Garverick replied:

 

HP is requiring multiprocessor systems to have an even count of processors these days. It is change from days of yore.

 

 

Q: We are trying to implement different job queues on our system. However, there are several jobs and command files spread around thad redefine LIMITs for the job. We would like those jobs and command file to LIMIT only HPSYSJOBQ, but leave our new private jobque intact, as well as not touch the global job limit.

 

We have been trying to define an udc that redefines LIMIT as

 

LIMIT n,m;JOBQ=HPSYSJOBQ

 

calling XEQ LIMIT. Alas, that doesn't work, as XEQ only works for files. Any ideas?

 

A: Tad Bochan and John Wolff replied:

 

In your UDC named LIMIT, just execute the command LIMIT without the XEQ. UDC's are searched before the CI commands in a forward manner (User, Account, System, and then CI) so it will not be recursive (unless you use that option). We do something similar for RUN and PURGELINK.

 

 

Q: Does anyone have any suggestions how I might programmatically detect if an AutoRAID (12H) was installed on a particular HP3000.

 

A: Bill Cadier replied:

 

You could programmatically run /opt/hparray/bin/arrayscan directing output to a file and then check the contents of the file for something that looks like "ControllerSN: [whatever] PairSN: [whatever]  BackPlaneSN: [whatever]

 

I haven't tried this but it should work.

 

Michael Anderson verified it worked and even suggested a command file:

 

The command file RAIDCHK, run on a system without RAID

 

MANAGER.SYS>raidchk

 status: No AutoRAID controllers found

 

The same command file run on a system with RAID

 

:raidchk

2 AutoRAID controllers found

 

The RAIDCHK command file:

 

#

#  Find AutoRAID controllers

#

run /opt/hparray/bin/arrayscan  > tempio

fgrep "-c Success" < tempio > tempio2

input xcnt < tempio2

setvar controller_cnt !xcnt

if !controller_cnt  = 0 then

 fgrep "status" < tempio

else

 echo !controller_cnt AutoRAID controllers found

endif

 

 

Q: Filename: ATOINPUT

  BAD VARIABLE BLOCK STRUCTURE  (FSERR 105)

 

ATOINPUT is a message file (MSG). Following a system crash, we encounter this error. Is this file hosed or can we recover it?

 

A: The consensus was that the highly techical termed "hosed" pretty much describes the situation. Several people thought that under some circumstances it might be possible to recover some of the entries via FCOPY, but no one seemed to have had any actual successes to report. [Editor's note: my own experience confirms "hosed".]

 

 

Q: I want to get a line count from a particular file and compare to a value setup as a user defined variable. Could someone tell me how to accomplish this?

 

A: Jonathan Backus replied:

 

finfo ('filename','EOF')

 

Mark Bixby and Joseph Rosenblatt added a word of caution:

 

finfo won't give the results you expect if the file is an ASCII bytestream file. For a bytestream file, finfo(eof) returns the number of bytes in the file. Whereas the POSIX wc program will serially read the file and return the number of lines (delimited by \n), words, and bytes. For example,

 

:calc finfo('/etc/profile','eof')

4116, $1014, %10024

 

:xeq wc.hpbin.sys /etc/profile

     110     637    4116    /etc/profile

 

 

Q: I need to determine if we have any service/listener running on a series of IP ports. Does anyone know how to get a list of the currently active/used IP ports on the HP3000?

 

A: Michael Anderson and Jeff Kell replied:

 

Run SOCKINFO.NET.SYS. This gives the programs that have sockets open. You can type 'p' and enter a PIN# to get a given process' sockets, and then 's' and socket # to get detailed info.

 

What you probably want is to use the 'c' (Called sockets) command. This will show you which ports are being "listened to" i.e., server processes

 

 

Q: How do I kill a pin when the Father process (job) no longer exists?

 

A: Look into the command ABORTPROC.

 

 

Q: I have an N-class system with two NICs. What I want is my HP e3000 to act like a router between the two networks but cannot seem to get it to work. Can I do this?

 

A: Bruce Toback replied:

 

You need to enable Store and Forward. The path in NMMGR is

 

  NETXPORT.NI.<networkname>.PROTOCOL.IP

 

You'll find a place to configure the number of store and forward buffers. Set this to some nonzero number (32 should be more than enough if the two NICs are the same speed) on both interfaces. You should get routing behavior.

 

 

Q: I would like to be able to print/display the input file of a waiting job.  I can find the file (I#####.IN.HPSPOOL), but I can't print it (I get "PRIVILEGED FILE VIOLATION  (FSERR 45)"). Is there anyway to do this in MPE?

 

A: Michael Berkowitz and Mark Bixby replied:

 

Use the PRINTSPF command. Note that !JOB statements are not contained in input spoolfiles. The data from parsed !JOB statements is stored in various system tables.

 

 

Q: How can determine the session number of a process from its PIN?

 

A: Keven Miller replied:

 

Given a pin you can SHOWPROC pin=### and see the session number.

 

John Clogg suggested another way:

 

There is also the PINFO function: SETVAR SESSNUM PINFO(pin,"jobnum")

 

 

Q: Is there a way to capture the number of jobs that are running in a job queue?

 

A: Mike Hornsby replied:

 

:listjobq

     JOBQ     LIMIT    EXEC  TOTAL

 

     HPSYSJQ   3500      1     1

     MYJOBQ     100      1     1

     MJQ         10      1     2

 

Of course, if you want to set variables, you can just create a command file to parse the output of listjobq.

 

 

Q: Without having to go to a backup tape, is it possible to retrieve the following files from another means like a previous SLT tape or an Install/PowerPatch tape?

 

 sysgen> tape

        **error** Can't open file AICAT000.INSTALL.SYS

         NONEXISTENT PERMANENT FILE  (FSERR 52)

 

        **error** Can't open file AUTOINST.INSTALL.SYS

         NONEXISTENT PERMANENT FILE  (FSERR 52)

 

A: Doug Werth replied:

 

You should be able to restore these from a FOS tape.

 

D. Brinson suggested another option:

 

Use CHECKSLT option 5 on a recent SLT to restore the files.

 

 

Q: I am trying to configure an HP-PB 100BaseTX card in sysgen. The part no. is A345-60001 but sysgen needs the HP product id. Does anyone have the configuration parameters for this card?

 

A: Gilles Schipper replied:

 

You don't need to configure this device in sysgen. You only need to reference its hardware path when configuring with NMMGR.

 

 

Q: We are adding a 4th processor to our HP e3000 N4000 and currently have 6 Gb of memory. Does anybody know if I need to add more memory to support the new processor?

 

A: John Clogg replied:

 

No, nobody knows, despite any claims to the contrary. The answer depends entirely on your environment; i.e. how many jobs & sessions you typically run, and what they are doing. I would recommend an evaluation of your present environment using Glance or the Lund tools or the services of a performance consultant. If you are experiencing any memory pressure now, it will get worse with an additional processor. If you are not seeing memory pressure, then it is less certain that you will or will not need more memory.

 

An unidentified list member noted this additional word of caution:

 

Keep in mind that this will also likely change the model number that the HP 3000 reports to applications. This could blow third-party software dead because some of them include the model number in the license-enabling hash algorithm. For example, our system's model number went from a 989-300 to 989-400 when we added a processor. Be sure to check in with your software providers before adding the processor.

 

 

Q: I am trying to add a new dataset and have a question. When I try to define the item "SSN", I am using X9 as my definition. I get the message that an "X-Type must have an even number of total bytes". I am not sure what the SubItemCount is, but I assumed it was the order of my field in the dataset (which should be 1st). Can anyone clear this up for me? I know that my definition (SubItemCount * SubItemLength) must be even, but I am not sure how to define a "PIC X(9)" field in my COBOL progam to match this field in my dataset and get an even number.

 

A: Denys Beauchemin, Robert Mills and Tom Brandt replied:

 

You are going to have to define SSN as a 10 or 12 character field. Use 10 for 9 with a blank or 12 for 9 plus the 2 dashes and a trailing blank.

 

The subitemcount is basically an array construct:  address 4X10 gives you a 40 character storage space where you can reference address(1)..address(4) as independent values of X10 each in Query and other such things. However, think of the data being really stored as X40. For characters (X, U, etc) the product of aXb must be even  (5X6 is valid, 5X5 is not.)  In your case 1X9 is not valid.

 

 

Q: I know that sales will end 10/03 and support will end 12/06. When is MPE/iX 7.5 due out? Is that going to be the last release from HP? Should I presume that patches would be generated through EOL?

 

A: Jeff Vance replied:

 

Current plans are for MPE/iX 7.5 to be released this summer.

 

MPE/iX may be the last release. A lot depends on customer wishes. We believe that many customers will not update, even to 7.5. We are still discussing if 7.5 will be a "push" release, and if it will be shipped with all new system sales.

 

Patches will be generated through EOL.

 

With tongue firmly in cheek, Tracy Johnson noted "if they skip versions and roll forward to a Final Version 9, then the term MPE/iX will really mean 'IX'". Alan Yeo, in the same vein added "does that mean if we all go back to calling it MPE/XL we can get them to continue developing right up to version 40"?