ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » MO72 help...

Post new topic  Reply to topic Goto page 1, 2  Next
 MO72 help... « View previous topic :: View next topic » 
Author Message
wmbwmq
PostPosted: Mon Jul 22, 2013 6:27 am    Post subject: MO72 help... Reply with quote

Acolyte

Joined: 18 Jul 2011
Posts: 66

I am seeing wrongoutput/errors while using MO72. Can someone pls help me ...I am sure I must be missing something here...

MQ server version is V7014. I am connecting as client via MQSERVER...

1. Wrong output...
$ ./mqsc -l -C "dis chl(*) conname where(chltype eq sdr)" | grep 2222
CONNAME(XXABCXX(222))
CONNAME(XXDEFXX(2222))

$ ./mqsc -l -C "dis chl(*) conname where(conname LK *2222*)"
Connected to Queue Manager 'XXXXXXXX'
dis chl(*) conname where(conname LK *2222*)
AMQ8147: WebSphere MQ object * not found.
MQSC Ended



2. Also I get an error when i try to use logical OR...
$ ./mqsc -l -C "DIS CHL(*) WHERE(HBINT GT 200 AND CONNAME LK 2222)"
Connected to Queue Manager 'XXXXXXXX'

DIS CHL(*) WHERE(HBINT GT 200 AND CONNAME LK 2222)
AMQ8569: Error in filter specification

DIS
CHL(*) WHERE(HBINT GT 200 AND
AMQ8427: Valid syntax for the MQSC command:

DISPLAY display_cmd
WHERE(filter_keyword operator filter_value)
operator := [ LT | GT | EQ | NE | LE | GE | CT | EX | LK | NL | CTG | EXG ]
MQSC Ended
Back to top
View user's profile Send private message
exerk
PostPosted: Mon Jul 22, 2013 6:38 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

You cannot use a wildcard at the beginning of the object name, e.g. 222* is OK but *222 is not, and the WHERE filter condition is in three parts: filter-keyword, operator, and filter-value. The Info Centre contains more detailed information for the DISPLAY command specific to each object type.
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
Back to top
View user's profile Send private message
wmbwmq
PostPosted: Mon Jul 22, 2013 7:16 am    Post subject: Reply with quote

Acolyte

Joined: 18 Jul 2011
Posts: 66

this is using mqsc(MO71) not runmqsc

The documentation has an example with *xxx*

"DIS CHL(*) WHERE(CONNAME LK *1414*)
Will display any channels which have th
e string ‘1414’ in the connection name "
Back to top
View user's profile Send private message
exerk
PostPosted: Mon Jul 22, 2013 7:23 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

wmbwmq wrote:
this is using mqsc(MO71) not runmqsc

The documentation has an example with *xxx*

"DIS CHL(*) WHERE(CONNAME LK *1414*)
Will display any channels which have th
e string ‘1414’ in the connection name "

I stand corrected Have you tried quoting, e.g. '*2222*' etc.?
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
Back to top
View user's profile Send private message
wmbwmq
PostPosted: Mon Jul 22, 2013 7:36 am    Post subject: Reply with quote

Acolyte

Joined: 18 Jul 2011
Posts: 66

yes, i already tried all types of quotes, escape quotes etc
no luck
Back to top
View user's profile Send private message
exerk
PostPosted: Mon Jul 22, 2013 7:41 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

Maybe the originator of the SupportPac may see this thread and clarify where things are going wrong, but perhaps you could head over to http://www.mqgem.com/ and see whether there's something there that might help you.
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Jul 22, 2013 12:48 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

You will find an mqsc (mo72) on steroids at www.mqgem.com

It should do most of what you're looking for. You could contact Paul and ask for a trial...

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
wmbwmq
PostPosted: Mon Jul 22, 2013 1:35 pm    Post subject: Reply with quote

Acolyte

Joined: 18 Jul 2011
Posts: 66

I tried mqscx but still no luck

mike:$ ./mqscx -m XXXXXX -C "dis chl(*) where(CONNAME LK *2222*)" -d "CHANNEL(XXXXXXXXXXXX) CONNAME(xxxxxxxx(xxxx))"
MQSCX Extended MQSC Program - Version 7.5.0
No MQGem Licence file found.
Running as Trial User
Connected to 'XXXXXX'
dis chl(*) where(CONNAME LK *2222*)
AMQ8147: WebSphere MQ object * not found.
Disconnected from 'XXXXXX'
MQSC Command summary - Issued: 1 Success: 0 Fail: 1
mike:$

As per the documentation, the command I am trying should work in MO72 itself. Clearly I must be missing something in the command/environment...
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Jul 22, 2013 7:39 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

wmbwmq wrote:
I tried mqscx but still no luck

mike:$ ./mqscx -m XXXXXX -C "dis chl(*) where(CONNAME LK *2222*)" -d "CHANNEL(XXXXXXXXXXXX) CONNAME(xxxxxxxx(xxxx))"
MQSCX Extended MQSC Program - Version 7.5.0
No MQGem Licence file found.
Running as Trial User
Connected to 'XXXXXX'
dis chl(*) where(CONNAME LK *2222*)
AMQ8147: WebSphere MQ object * not found.
Disconnected from 'XXXXXX'
MQSC Command summary - Issued: 1 Success: 0 Fail: 1
mike:$

As per the documentation, the command I am trying should work in MO72 itself. Clearly I must be missing something in the command/environment...
Like you have been told, standard MO72 does not allow for a wildcard as the first character.
You need to try out the extended capability of MQSCX and the syntax you displayed does not do that. Read the manual that comes with it, understand the extended syntax capabilities and try again.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
wmbwmq
PostPosted: Tue Jul 23, 2013 5:25 am    Post subject: Reply with quote

Acolyte

Joined: 18 Jul 2011
Posts: 66

safer,
not sure where you got me telling wildcard as a first character is not supported?
here is the documentation....(pasting it again in the same thread)...

URL: ftp://public.dhe.ibm.com/software/integration/support/supportpacs/individual/mo72.pdf

Page No : 7

Quote:
Where Clause
WebSphere MQ Version 6 introduced the WHERE clause on DISPLAY commands. It is now possible
to display objects filtered by something other
than their name. The WHERE
clause is supported by
the program regardless of the version of MQ
which actually installed. So, for example:
¾
DIS CHL(*) WHERE(HBINT GT 300)
Will display any channels with a heartbeat of greater than 300 seconds
¾
DIS CHL(*) WHERE(CONNAME LK *1414*)
Will display any channels which have th
e string ‘1414’ in the connection name
The WHERE clause has been extended in three ways.

Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Jul 23, 2013 5:47 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Does it matter what the documentation says if your example clearly shows it does not work?

You did try "where ( conname lk '*2222*' )" right? (note single quotes)

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
PaulClarke
PostPosted: Thu Jul 25, 2013 1:37 am    Post subject: Reply with quote

Grand Master

Joined: 17 Nov 2005
Posts: 1002
Location: New Zealand

My apologies about the MO72 documentation, that looks like a mistake. MO72 is fairly simplistic it supports only WHERE clauses which are supported by the Command Server itself. At one time during MQ development the WHERE LK operator was indeed going to support wildscards at any point in the string. However, I'm afraid it only supports wildcards at the end of the string. I would offer to change the MO72 documentation but I'm afraid that IBM has still not allowed me to modify my programs.


However, you are in luck, as fjb_saper has already mentioned, my new company MQGem's first product does a lot of what MO72 can do and a whole lot more.

MQSCX has an =WHERE() clause as well as simple WHERE() clause. The =WHERE clause is much more powerful and allows you to do what you are trying. So change you command to.....

./mqscx -m XXXXXX -C "dis chl(*) =where(CONNAME LK '*2222*')" -d "CHANNEL(XXXXXXXXXXXX) CONNAME(xxxxxxxx(xxxx))"

(Note the addition of the = sign before the WHERE)

Hope this helps,
Paul.
_________________
Paul Clarke
MQGem Software
www.mqgem.com
Back to top
View user's profile Send private message Visit poster's website
PaulClarke
PostPosted: Thu Jul 25, 2013 1:45 am    Post subject: Reply with quote

Grand Master

Joined: 17 Nov 2005
Posts: 1002
Location: New Zealand

Doh! That'll teach me for replying before going and actually looking at the documentation directly. The documentation for MO72 is, as far as I know, perfectly correct. What was not pointed out was that this documentation is in the section marked 'Modifying the Client Channel Table'.

MO72 has the ability to create and edit a Client Channel Table on the local client machine without going anywhere near the Queue Manager or the command server. As such I had to implement the actual MQSC commands myself rather than passing them off to the Command Server. Since I was implementing the commands I removed a few restriction which I felt were annoying. One of them being the wildcard rule in the WHERE clause.

So, the documentation is correct. You can issue command like

DIS CHL(*) WHERE(CONNAME LK *1414*)

but ONLY if you are issuing a local command to the local Client Channel Table and not if you are passing the command to the standard MQ command server.

I hope that makes it clear,

Cheers,
Paul.
_________________
Paul Clarke
MQGem Software
www.mqgem.com
Back to top
View user's profile Send private message Visit poster's website
wmbwmq
PostPosted: Thu Jul 25, 2013 8:39 am    Post subject: Reply with quote

Acolyte

Joined: 18 Jul 2011
Posts: 66

Thank you so much Paul.
All clear now. It worked for mqscx.
Back to top
View user's profile Send private message
JosephGramig
PostPosted: Thu Jul 25, 2013 11:39 am    Post subject: Reply with quote

Grand Master

Joined: 09 Feb 2006
Posts: 1244
Location: Gold Coast of Florida, USA

If wishes where fishes...

Too bad:

  1. MQE Does not have a folder for CCDTs and allow you to edit them independent of Qmgrs
  2. runmqsc does not have a switch to allow you to edit CCDTs same as mqsc -n


If you think about it, the manipulation of CCDTs should always have been part of the MQ Client and maybe have a separate command processor for that like runmqscc.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » General IBM MQ Support » MO72 help...
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.