Using subsystem character ( in a



IBM's Command List programming language & Restructured Extended Executor

Using subsystem character ( in a

Postby stanvanoers » Thu Oct 28, 2021 8:20 pm

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
stanvanoers
 
Posts: 2
Joined: Thu Oct 28, 2021 8:16 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Using subsystem character ( in a

Postby Pedro » Thu Oct 28, 2021 9:57 pm

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"
Pedro Vera
User avatar
Pedro
 
Posts: 652
Joined: Thu Jul 31, 2008 9:59 pm
Location: Silicon Valley
Has thanked: 0 time
Been thanked: 50 times

Re: Using subsystem character ( in a

Postby stanvanoers » Fri Oct 29, 2021 12:06 pm

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
stanvanoers
 
Posts: 2
Joined: Thu Oct 28, 2021 8:16 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Using subsystem character ( in a

Postby willy jensen » Fri Oct 29, 2021 12:42 pm

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.
willy jensen
 
Posts: 393
Joined: Thu Mar 10, 2016 5:03 pm
Has thanked: 0 time
Been thanked: 55 times

Re: Using subsystem character ( in a

Postby Pedro » Sat Oct 30, 2021 6:48 am

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.
Pedro Vera
User avatar
Pedro
 
Posts: 652
Joined: Thu Jul 31, 2008 9:59 pm
Location: Silicon Valley
Has thanked: 0 time
Been thanked: 50 times


Return to CLIST & REXX

 


  • Related topics
    Replies
    Views
    Last post