| Author | Message | 
		
		  | KIT_INC | 
			  
				|  Posted: Thu Jul 16, 2015 7:00 am    Post subject: MQSC using wild card but skip default object |   |  | 
		
		  | Knight
 
 
 Joined: 25 Aug 2006Posts: 589
 
 
 | 
			  
				| We use wild card very often to find out what is defined under the Qmgr such as
 dis q(*) or dis chl(*)
 The output will include all default objects also.
 Just wondering if there is a way to avoid displaying of the default objects in the output of display using wild card.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | Michael Dag | 
			  
				|  Posted: Thu Jul 16, 2015 7:21 am    Post subject: |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 13 Jun 2002Posts: 2607
 Location: The Netherlands (Amsterdam)
 
 | 
			  
				| not with regular runmqsc, you may want to look at mqscx from MQGem / Paul Clarke for that. _________________
 Michael
 
 
   
 MQSystems Facebook page
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jeevan | 
			  
				|  Posted: Fri Jul 17, 2015 12:14 pm    Post subject: Re: MQSC using wild card but skip default object |   |  | 
		
		  | Grand Master
 
 
 Joined: 12 Nov 2005Posts: 1432
 
 
 | 
			  
				| 
   
	| KIT_INC wrote: |  
	| We use wild card very often to find out what is defined under the Qmgr such as
 dis q(*) or dis chl(*)
 The output will include all default objects also.
 Just wondering if there is a way to avoid displaying of the default objects in the output of display using wild card.
 |  
 You can avoid the generic dis q(*) in favor of
 
 dis ql(*)
 dis qa(*)
 dis qc(*)
 dis qr(*)
 
 or if you want to display the queues based on the messages on the queue, you can use where clause e.g
 
 dis ql(*) where (curdepth ne  0)
 
 Note: however this only applies for ql
 
 The other way is to issue command from command prompt. Assuming the qmgr is in *nix environment, you can do much better filtering. eg friom command prompt
 
 for q in QL QA QR QC  ; do  echo "dis $q(*)"|runmqsc IB9QMGR; done
 
 Use can use grep to filter out or capture queues.
 
 Note: you can apply this technique with any objects. Also you now can refine further to make the output in desired format
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | PaulClarke | 
			  
				|  Posted: Fri Jul 17, 2015 12:42 pm    Post subject: |   |  | 
		
		  |  Grand Master
 
 
 Joined: 17 Nov 2005Posts: 1002
 Location: New Zealand
 
 | 
			  
				| As Michael says this is trivial to do using MQSCX. You would issue a command like..... 
 
 
   
	| Code: |  
	| dis q(*) =where(queue nl "SYSTEM.DEFAULT.*") |  
 If anyone would like a free trial licence I would be glad to send them one,
 
 Cheers,
 Paul.
 _________________
 Paul Clarke
 MQGem Software
 www.mqgem.com
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jeevan | 
			  
				|  Posted: Fri Jul 17, 2015 3:50 pm    Post subject: |   |  | 
		
		  | Grand Master
 
 
 Joined: 12 Nov 2005Posts: 1432
 
 
 | 
			  
				| 
   
	| PaulClarke wrote: |  
	| As Michael says this is trivial to do using MQSCX. You would issue a command like..... 
 
 
   
	| Code: |  
	| dis q(*) =where(queue nl "SYSTEM.DEFAULT.*") |  
 If anyone would like a free trial licence I would be glad to send them one,
 
 Cheers,
 Paul.
 |  
 Hi Paul,
 
 I do not mean your tool is not good or not necessary but I just wanted to show an alternative way, though manual,  exits. In early days, I have used your tool a lot and there is not word to appreciate what you gave to MQ geeks/novices.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | PaulClarke | 
			  
				|  Posted: Fri Jul 17, 2015 8:47 pm    Post subject: |   |  | 
		
		  |  Grand Master
 
 
 Joined: 17 Nov 2005Posts: 1002
 Location: New Zealand
 
 | 
			  
				| Jeevan, 
 No problem at all. Whenever someone asks a question I think it only right and proper that people explore as many alternatives as possible. As with anything in life, there is usually half a dozen ways to solve the same problem. Deciding amongst them is usually the tricky part but knowing what all the choices are is a good place to start.
 
 Cheers,
 Paul.
 _________________
 Paul Clarke
 MQGem Software
 www.mqgem.com
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | Michael Dag | 
			  
				|  Posted: Sat Jul 18, 2015 3:45 am    Post subject: Re: MQSC using wild card but skip default object |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 13 Jun 2002Posts: 2607
 Location: The Netherlands (Amsterdam)
 
 | 
			  
				| 
   
	| jeevan wrote: |  
	| 
 
   
	| KIT_INC wrote: |  
	| Just wondering if there is a way to avoid displaying of the default objects in the output of display using wild card.
 |  
 You can avoid the generic dis q(*) in favor of
 
 dis ql(*)
 dis qa(*)
 dis qc(*)
 dis qr(*)
 
 or if you want to display the queues based on the messages on the queue, you can use where clause e.g
 
 dis ql(*) where (curdepth ne  0)
 
 Note: however this only applies for ql
 
 The other way is to issue command from command prompt. Assuming the qmgr is in *nix environment, you can do much better filtering. eg friom command prompt
 
 for q in QL QA QR QC  ; do  echo "dis $q(*)"|runmqsc IB9QMGR; done
 
 Use can use grep to filter out or capture queues.
 
 Note: you can apply this technique with any objects. Also you now can refine further to make the output in desired format
 |  
 Please also read the important part of the question: can I apply a filter to avoid seeing the de SYSTEM.DEFAULT.... objects, the answer with regular MQSC is no as the filter NE  can not be applied to the object name...
 
 you could wrap a shell/cmd script around but there is no   oneline option in runmqsc either so you can not display attributes along...
 _________________
 Michael
 
 
   
 MQSystems Facebook page
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | PaulClarke | 
			  
				|  Posted: Sat Jul 18, 2015 4:55 am    Post subject: |   |  | 
		
		  |  Grand Master
 
 
 Joined: 17 Nov 2005Posts: 1002
 Location: New Zealand
 
 | 
			  
				| That's a very good point Michael. I hadn't twigged that the provided 'alternative' didn't really solve the asked question   
 Cheers,
 Paul.
 _________________
 Paul Clarke
 MQGem Software
 www.mqgem.com
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | smdavies99 | 
			  
				|  Posted: Sat Jul 18, 2015 5:51 am    Post subject: Re: MQSC using wild card but skip default object |   |  | 
		
		  |  Jedi Council
 
 
 Joined: 10 Feb 2003Posts: 6076
 Location: Somewhere over the Rainbow this side of Never-never land.
 
 | 
			  
				| 
   
	| Michael Dag wrote: |  
	| you could wrap a shell/cmd script around but there is no   oneline option in runmqsc either so you can not display attributes along...
 |  
 Time for an RFE then?
 
 After all the code does exist for a one line output of MQ Objects in the dmpmqcfg utility.
 _________________
 WMQ User since 1999
 MQSI/WBI/WMB/'Thingy' User since 2002
 Linux user since 1995
 
 Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | vsathyan | 
			  
				|  Posted: Sat Jul 18, 2015 10:11 am    Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 10 Mar 2014Posts: 121
 
 
 | 
			  
				| Is there any utility where I can run the below command? 
 
 
 I would like to use the * or other wildcards before the string and not after like SYSTEM.*
 
 Thanks.
 _________________
 Custom WebSphere MQ Tools Development C# & Java
 WebSphere MQ Solution Architect Since 2011
 WebSphere MQ Admin Since 2004
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jeevan | 
			  
				|  Posted: Sat Jul 18, 2015 10:25 am    Post subject: |   |  | 
		
		  | Grand Master
 
 
 Joined: 12 Nov 2005Posts: 1432
 
 
 | 
			  
				| 
   
	| PaulClarke wrote: |  
	| That's a very good point Michael. I hadn't twigged that the provided 'alternative' didn't really solve the asked question   
 Cheers,
 Paul.
 |  
 Paul,
 
 Again with great respect, I am again showing a simple solution. But this is not for everyone, probably for nerd or who have attained near nerd status.
 
 
 for q in QL QA QR QC ; do echo "dis $q(*)"|runmqsc IB9QMGR; done
 
 I changed my above script as follows
 
 for q in QL QA QR QC ; do echo "dis $q(*)"|runmqsc IB9QMGR|egrep -iv "system|AMQ|MQSC"|grep -i queue; done
 
 When I ran this, did not give any output as there were no non system queues
 
 bash-4.1# displayQ
 
 But when I defined one QL, on QA and one QR as below
 
 define ql(TEST.1)
 2 : define ql(TEST.1)
 AMQ8006: WebSphere MQ queue created.
 def qa(test.QA.1)
 3 : def qa(test.QA.1)
 AMQ8006: WebSphere MQ queue created.
 define qr(TEST.QR.1)
 4 : define qr(TEST.QR.1)
 AMQ8006: WebSphere MQ queue created.
 end
 5 : end
 4 MQSC commands read.
 One command has a syntax error.
 All valid MQSC commands were processed.
 
 
 When I issued the simple command at prompt, even not going to runmqsc shell, it will display as below
 
 bash-4.1# displayQ
 QUEUE(TEST.1)                           TYPE(QLOCAL)
 QUEUE(TEST.QA.1)                        TYPE(QALIAS)
 QUEUE(TEST.QR.1)                        TYPE(QREMOTE)
 
 
 To me, script can run the world, could this be the reason, companies are now ready to pay 200k for a devops, the new incarnation of a person who could write script for automate stuff, without any hesitation while they were not even ready to pay just above half for a TOGAF certified architect.
 
 Has the almighty known the scripting, he would have the world created differently. Probably CMMI level 3 at least.
 
 Last edited by jeevan on Sat Jul 18, 2015 1:38 pm; edited 2 times in total
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | jeevan | 
			  
				|  Posted: Sat Jul 18, 2015 10:28 am    Post subject: |   |  | 
		
		  | Grand Master
 
 
 Joined: 12 Nov 2005Posts: 1432
 
 
 | 
			  
				| 
   
	| vsathyan wrote: |  
	| Is there any utility where I can run the below command? 
 
 
 I would like to use the * or other wildcards before the string and not after like SYSTEM.*
 
 Thanks.
 |  
 I can write one such utility for you if you are ready to pay the price.
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | vsathyan | 
			  
				|  Posted: Sat Jul 18, 2015 11:43 am    Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 10 Mar 2014Posts: 121
 
 
 | 
			  
				| Thanks Jeevan, 
 I can write that tool myself. I was just checking if there is already any free utility available and I don't want to reinvent the wheel.
 
  _________________
 Custom WebSphere MQ Tools Development C# & Java
 WebSphere MQ Solution Architect Since 2011
 WebSphere MQ Admin Since 2004
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | vsathyan | 
			  
				|  Posted: Sat Jul 18, 2015 12:32 pm    Post subject: |   |  | 
		
		  | Centurion
 
 
 Joined: 10 Mar 2014Posts: 121
 
 
 | 
			  
				| By the way, i'm writing up a tool - WebSphere MQ Control Panel which has a bunch of features, like queue manager compare, detect damaged objects, search any object (*.QUEUE), universal deployer, message editors, queue pollers, report generation, much more features and going to share it with the MQ user community in a few months. It will be completely free. 
 Sample development screen shots can be found here.
 https://drive.google.com/folderview?id=0B6pmC9rxCJTaLUVSNmNZSFozTGc&usp=sharing
 
 Thanks,
 vsathyan
 _________________
 Custom WebSphere MQ Tools Development C# & Java
 WebSphere MQ Solution Architect Since 2011
 WebSphere MQ Admin Since 2004
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  | Michael Dag | 
			  
				|  Posted: Sun Jul 19, 2015 12:05 am    Post subject: |   |  | 
		
		  |  Jedi Knight
 
 
 Joined: 13 Jun 2002Posts: 2607
 Location: The Netherlands (Amsterdam)
 
 | 
			  
				| @jeevan now add curdept or any  other attribute you may like to see... what is the point of displaying just queue names? it's about their status, setup etc...
 _________________
 Michael
 
 
   
 MQSystems Facebook page
 |  | 
		
		  | Back to top |  | 
		
		  |  | 
		
		  |  |