Page 1 of 1

Using subsystem character ( in a

PostPosted: Thu Oct 28, 2021 8:20 pm
by stanvanoers
To give a MVS opercommand, I use this statements:
ADDRESS TSO "CONSPROF SOLDISP(NO) UNSOLDISP(NO) SOLNUM(400)"
ADDRESS TSO "CONSOLE ACTIVATE"
ADDRESS CONSOLE "D SMF"
ADDRESS TSO "CONSOLE DEACTIVATE"
that works fine.
How to solve, when the Operator Command contains the special character (, which is defined as the subsystem character for MQ at our site.
Stan van Oers

Re: Using subsystem character ( in a

PostPosted: Thu Oct 28, 2021 9:57 pm
by Pedro
Are you having a problem? Show us the syslog information.

In the example you provided, the operator command is enclosed in double quote characters. The quoted string is not processed by rexx. It should be passed as-is to the CONSOLE processor.

ADDRESS CONSOLE "(mq cmd"

Re: Using subsystem character ( in a

PostPosted: Fri Oct 29, 2021 12:06 pm
by stanvanoers
Hello Pedro,
Yes, I understand that I need to enter the MQ command like "(Q3S1 cmd" but then I get the error:
IKJ55315I THE SUBFIELD OF THE SYSCMD KEYWORD MUST HAVE A TERMINATING PARENTHESIS.
IKJ55312I THE CONSOLE COMMAND HAS TERMINATED.+

I think this is caused by the '(' in the command. '(' is the command prefix string (CPF) for MQ at our company).
So my question is how to get the ( in the Operator Command?
Stan

Re: Using subsystem character ( in a

PostPosted: Fri Oct 29, 2021 12:42 pm
by willy jensen
Two solutions:

1. add a closing ) preceeded by a couple of blanks after the command. Ugly, but should work.
2. use SDSF API Instead:
cmd='(DT'
if isfcalls('ON')<>0 then exit xmsg('IsfCalls ON failed',8)
address SDSF "ISFEXEC '/"cmd"' (WAIT"
do i=1 to isfulog.0
say strip(isfulog.i,'t')
end

Personally I have moved from TSO CONSOLE to SDSF in all my stuff.

Re: Using subsystem character ( in a

PostPosted: Sat Oct 30, 2021 6:48 am
by Pedro
Per the rexx reference, CONSOLE has a SYSCMD parameter...

Try specifying it explicitly, like this so that you provide both left and right parens:
ADDRESS CONSOLE "SYSCMD((mq cmd) "


Let us know if it works.