1753331 Members
5139 Online
108792 Solutions
New Discussion юеВ

Re: DCL and SYSMAN

 
Gilbert Pereira
Occasional Advisor

DCL and SYSMAN

When executing SYSMAN in a command procedure, the SET E/C command outputs to the terminal

Clusterwide on local cluster
Username GPEREIRA will be used on nonlocal nodes

how can I have this not display?

Here is an example of what I am doing:

$ SET NOON
$ message_setting = F$ENVIRONMENT("MESSAGE")
$ set message /nofacility /noseverity /noidentification /notext
$ mcr sysman
do set message /nofacility /noseverity /noidentification /notext
set e/c
set prof/def=sysmgr$scratch
do @last_lta_device
exit
$ message_setting = F$ENVIRONMENT("MESSAGE")
$exit
6 REPLIES 6
labadie_1
Honored Contributor

Re: DCL and SYSMAN

Hello

your 2 commands before
$ mcr sysman
are executed on the local node, not on the other Cluster nodes, so it is not used

Your command

do set message /...
is a command doing set message and terminating, so nothing happens, and it is not executed in the context of the next commands.

May be there is a Sysman logical name for this, but I am not aware of it.

You could try to use RCOM, an improved Sysman, written long ago by Nick Brown.

Why do you want to avoid this display ?
Volker Halle
Honored Contributor

Re: DCL and SYSMAN

Gilbert,

this text is not a message, but simply direct output from the SYSMAN utility. You could use

$ DEFINE/USER SYS$OUTPUT NLA0:

before invoking SYSMAN, but then the rest of the output provided by the commands executed in SYSMAN would also not display on ther terminal.

You could also direct SYS$OUTPUT to a file and then read and parse the file and only output the information your use should see.

Volker.
labadie_1
Honored Contributor

Re: DCL and SYSMAN

Jess Goodman
Esteemed Contributor

Re: DCL and SYSMAN

Gilbert,

Each DO command you use in SYSMAN is executed in a new process, even when you have SET ENVIRONMENT to a single node. Therefore any DO command whose only purpose is to affect the process environement is useless because that process is gone as soon as that DO command completes.

You must combine these DO commands with your other DO command in a command file.

$ TYPE TEMP.COM
$ set message /nofacility /noseverity /noidentification /notext
$ @last_lta_device
$ exit

$ mcr sysman
set enviroment/cluster
set profile/default=sysmgr$scratch
do @temp.com
exit
I have one, but it's personal.
Hoff
Honored Contributor

Re: DCL and SYSMAN

Procedural use of SYSMAN has always seemed somewhat precarious for my personal tastes.

In addition to RCOM mentioned earlier, the TELL.COM (freeware) or analogous DECnet tool such as XQPTYPE, or maybe node-specific batch queues might be a better choice here, depending on what you're up to.

http://mvb.saic.com/freeware/freewarev60/tell/
http://mvb.saic.com/freeware/freewarev80/hoffman_examples/xqtype.com

John Gillings
Honored Contributor

Re: DCL and SYSMAN

Gilbert,

PIPE is your friend.

You can pipe commands into SYSMAN, capture the output and do whatever you like with it. This can be especially useful if you want to substitute symbols into your SYSMAN commands, or process the output.

Consider:

$ PIPE @generate_sysman_commands | -
MCR SYSMAN @SYS$PIPE: | -
@parse_sysman_output

Your output parser could skip everything up to %SYSMAN-I-OUTPUT, then do whatever you want with the remainder of the output.

I've included an example procedure that demonstrates the principle. It accepts commands as P1 through P7, executes all commands on all nodes across the cluster, tags each line of output with the node it came from, and sorts the output into blocks from each node. The extraneous output from SYSMAN SET commands is skipped.
A crucible of informative mistakes