Configuring List Dialogs in MO71

MO71 is our graphical administration tool for IBM MQ. You can manage all the different object types in MQ using its lists and object dialogs. The lists are fully flexible allowing you to determine which fields are interesting to you and which are not and choosing only to display those columns in the list as a result.

You can make these changes temporarily, just to the instance of the dialog you are currently using. You can make them more permanently, so that every time you bring up that list on that queue manager, you have the same columns. Or finally, you can make these changes across all your queue managers, because the columns you want are the ones you think should be the default set. You can also change the columns in a dynamic manner using filters.

This post will cover these various different mechanisms.

Temporarily alter the list shown

When looking at a list of objects you can change the columns that are displayed by selecting the Options -> Alter List… item from the context menu.

MO71 Alter List Menu

This will bring up a dialog where you can locate the additional columns you want to display. So I’ve got a list of queues, with some cluster queues and I want to see the Cluster Queue Manager that hosts the cluster queues, so I locate the field Cluster Queue Manager Name (CLUSQMGR) in the right hand side of the window in the list of “Remaining Fields”, and move it to the “List Contents” by pressing the  <<  button. Then I can move its position in the columns on the left hand side using the up and down buttons, and press   OK   to complete the change.

MO71 Change Queue List attributes

Now you’ll see that your queue list has the additional column you selected. However, if you close the queue list dialog, and later open another queue list dialog, you’ll see that your alteration to the list of fields shown has been forgotten, it was a temporary change that you made.

Permanently alter the list for one queue manager

Following exactly the same process as above, with one small change, you can make the change permanent for that queue manager. On the dialog which allows you to change the columns shown, instead of just pressing   OK   to make the change, first press Apply All which applies the change to all instances of that particular list dialog for this queue manager, both those currently open, and any future invocations of that list dialog. This change is also remembered across a restart of the MO71 program.

MO71 Change Queue List attributes Apply All

Permanently alter the list for all queue managers

In essence, this mechanism is changing the defaults for list dialogs. If you add a new queue manager to MO71, it will pick up the default columns too.

Using the menu option View -> Set Default Lists -> Queue List… (or whichever list dialog you want to change), you will be presented with a very similar dialog to the one above, except instead of referring to a single queue manager in the window title, it will indicate that it is a “global” list.

MO71 Change global Queue List attributes

Pressing   OK   or  Apply  on the global change list dialog will set the new default and all queue managers that have not had their list changed by the above mechanisms will pick up these new defaults. Pressing Apply All on this dialog will set all queue managers to use this list instead of anything that may have previously been altered by the above mechanisms. Because this is a ‘destructive’ setting (i.e. you lose previous set up you might have done), there is a confirmation dialog for this change. This change is also remembered across a restart of the MO71 program.

MO71 Change global Queue List attributes Confirmation

Changing columns in a filter

You can also change the column display from within a filter. This can particularly useful when creating pre-defined dialogs. Especially if you want to have several different ‘default’ sets of columns.

This can be done in two ways. Firstly by adding a ‘#’ character after a keyword or user variable name, to show it as a column on the end of the display. The example below has a filter which creates a user variable called “Fullness” and as a result of the ‘#’ character on the end, also displays that as a column.

MO71 Fullness column

The other way to manipulate columns from within a filter is to use the showcol and hidecol functions. This is very useful in a pre-defined dialog, allowing you to change the default set of columns to exactly what you need for this dialog. You might, for example, have several different queue lists, one for cluster queues, one for transmission queues, and one for dead-letter queues across all your queue managers. You can imagine wanting slightly different columns on display for each one.

The showcol function takes the MQSC spelling of the keyword and the column position, and the hidecol function just takes the keyword.

MO71 showcol hidecol

Heopfully now you can have exactly the columns you want on display in any list you are viewing. If you have any questions please leave a comment below, or get in touch.


If you don’t have a licence and would like to try out MO71 then send an email to support@mqgem.com and a 1-month trial licence will be sent to you.

Advertisements

MO71 version 9.0.5 – Column Filters

MQGem Software is pleased to announce that a new version of MO71, our GUI Administrative tool for IBM MQ, is now available.

This release was created for one specific requested feature – Column Filters.

MO71 has a very powerful filtering capability already, but with power often comes complexity and some find this daunting to learn. The introduction of column filters allows for, very easy to use, filtering by columns, to reduce the amount of data you are looking at on a list dialog.

To use it, look in the column heading of a column in a list dialog, and you will see a new filter icon. Click on this icon and a filter dialog will pop-up. This dialog will look a little different depending on the type of attribute you are trying to filter. For strings, you can type in a string, or part of a string to match on; for integers you can provide a minimum and/or maximum; and for enumerated values, you can see all the possible values and select or deselect them.

MO71 Column Filters

The column filter dialog shows the number of each type

In the case of enumerated values, you also see a count of how many of each value there are in the current list dialog. This can be handy in itself without using any filtering!

Now I can reduce the amount of data shown in my list, by deselecting the values that I am not interested in at the moment.

MO71 Column Filtered

Use the check boxes to reduce what is shown

In case you forget that you have filtered the list, and wonder where your other objects are, there are two visual clues that filtering is currently in effect. Firstly, the icon in the column heading changes to show that a filter is active, and the count of objects displayed does not match the total number available as shown in the bottom right of the window.

MO71 Indication of Filtering

You can tell that your display is filtered

You can filter on several columns at once in a single dialog, and so if you later want to turn them all off, you can do so with one click, using either the context menu option, Options -> Remove Column Filters, or the toolbar button for the same.


The new version can be downloaded from the MO71 Download Page. Any current licensed users of MO71 can run the new version on their existing licence. If you don’t have a licence and would like to try out MO71 then send an email to support@mqgem.com and a 1-month trial licence will be sent to you.

Application Activity Trace Viewer

IBM MQ has a feature called Application Activity Trace, which allows you to trace what an application is doing, see the progression of MQ API calls, the objects utilised, the options used, the time taken for each call and so on.

To get the most out of this feature, which writes its output as PCF messages, you need to be able to, not only read the content of those PCF messages, but display them in a way that allows you to drill down into the data, exclude data from your view to allow you to focus on what’s important, search for particular objects in use, or particular reason codes, and so on.

To this end, MO71 now has an Application Activity Trace viewer. At it’s simplest, it allows you to see the progression of MQ API calls, just like the IBM-supplied sample amqsact. However it can do so much more than that.

Activity Trace Output

MO71 Activity Trace Output

Drilling down

Rather than having to decide to view every MQ API call in high detail, the viewer allows you to drill down into the verb you are interested in, without the confusion of seeing high detail of everything else at the same time.

Activity Trace Drill down MQINQ

MO71 Activity Trace – Drill down into MQINQ

Activity Trace API Selection

MO71 Activity Trace API Selection

Filter the output

With a trace that spans many pages full, even when only showing one line per verb, you may wish to reduce the clutter on your screen further. You can filter the output in many different ways to see what you’re looking for. For example, you could choose to hide all the MQPUTs and MQGETs and focus on the other calls, like the MQOPENs.

Activity Trace No PUTs and GETs

MO71 Activity Trace with PUTs and GETs excluded

You can filter the output to focus on a particular object or objects that you are interested in, or a particular process id. In fact there are many different factors that you can used to filter down the data to make is easier to view.

Activity Trace Settings

MO71 Activity Trace Settings Tab with filtering

Health-checking your application

There are a number of behaviours that MO71 can check for in your application. These are listed on the Health tab, and if any issues are found you will see them highlighted with a red exclamation mark. You can display the instances in a separate window which then allows you to jump into the main output window at the point where the issue was detected.

Activity Trace Health

MO71 Activity Trace Health Tab

The current list of health issues is not final, and if you have any other issues you would like to see MO71 check for, please comment below or get in touch in the usual ways.

The Application Activity Trace viewer in MO71 will help you make sense of, and get great insight from, your tracing of your applications.


The new version can be downloaded from the MO71 Download Page. Any current licensed users of MO71 can run the new version on their existing licence. If you don’t have a licence and would like to try out MO71 then send an email to support@mqgem.com and a 1-month trial licence will be sent to you.

Import queue managers from an MQ Explorer export

In a recent update to MO71 V9.0.4 a new feature was added to allow you to import queue manager location information from an MQ Explorer export file.

MQ Explorer Export menu

The menu option to export MQ Explorer settings

To export your configuration from MQ Explorer, right-click on the top level folder in the left-hand navigation pane, and choose Export MQ Explorer Settings…

This will bring up a dialog for Export. Press Next on the first panel, then on the second panel you can indicate where you want the XML file to be written and what you want to be exported. MO71 will only import the Sets and Remote queue manager information, but will not complain if there is other information in the XML file, so you can go ahead and export it all if you wish.

MO71 doesn’t import local queue managers from an MQ Explorer export file since you can import local queue managers directly in MO71 as discussed in an earlier post.

MO71 Import MQ Explorer Menu

The menu to import queue managers

Once you have your exported XML file from MQ Explorer, you can drive the import from the MO71 File menu, which then brings up a dialog.

In this dialog, navigate to the location where you exported your MQ Explorer settings and click on Read MQ Explorer XML File.

MO71 Import MQ Explorer Dialog

Import MQ Explorer Locations Dialog – choose your queue managers

The list below will show all the queue managers that were found in the MQ Explorer XML file. If any of the found queue managers are already locations in MO71, the Explorer entry will have a ‘no entry’ symbol beside it showing it cannot be added again. You can click on any others to indicate you wish to import them and the red cross will change to a green tick.

If you were using Sets to group your queue managers in MQ Explorer, you can choose to have those associations imported into MO71 as well. MO71 has several grouping concepts (as described in Can you see your QMgr for the trees?). A queue manager can be in a single group on the main window, and it can be in multiple Networks, which are used in various places where queue managers are listed in MO71. Since a queue manager could be in multiple MQ Explorer Sets, you can choose whether to translate this part of the configuration into Network names or the first one into a QM Group, or both.

Once you have selected all the ones you want, click on Import, and you’re done.

And of course, just as with imported local queue managers, and queue managers imported from a CCDT file, you can edit the imported ones after the locations are created to change the location labels and any other settings.


The new version can be downloaded from the MO71 Download Page. If you don’t have a licence and would like to try out MO71 then send an email to support@mqgem.com and a 1-month trial licence will be sent to you.

MO71 version 9.0.4 is released

MQGem Software is pleased to announce that a new version of MO71, our GUI Administrative tool for IBM MQ, is now available.

The main features of the release are as follows:-

MO71 Activity Trace Viewer

MO71 Activity Trace Viewer – Settings Panel

Browse, search, format and display Activity Trace information

The new Activity Trace viewer allows much easier viewing and searching of the information generated. Easily find reason codes, or filter by object names, locate applications using certain options which they shouldn’t, and so much more. More information can be read in Application Activity Trace Viewer.

Import queue manager connection information from MQ Explorer

You can now import an MQ Explorer export file to make migrating to an MO71 configuration much easier. This enhances the already provided import of local queue managers, and import from a CCDT file, all helping you get set up and going with MO71 much quicker. More information can be read in Import queue managers from an MQ Explorer export.

Copy text from the container windows to the clipboard

Container windows are used for a number of features in MO71. The Activity Trace viewer is the newest, but they are also used for the Network View and the
Application View. It is now possible to select text in containers and press Ctrl-C to have that text copied to the clipboard


The new version can be downloaded from the MO71 Download Page. Any current licensed users of MO71 can run the new version on their existing licence. If you don’t have a licence and would like to try out MO71 then send an email to support@mqgem.com and a 1-month trial licence will be sent to you.

Mini-Health Check for your Queue Manager

MO71 HealthcheckYou can pay expert IBM MQ consultants to do a full health check of your queue managers, but in between such events, or even in preparation for such events, how about running a mini-health check of your queue managers without the expense of consultation hours?

MO71 will look for a number of problems in your set of queue managers. Not just problems in an individual queue manager, but also the resolution of the various IBM MQ objects that refer to other objects, for example, from QREMOTE to transmission queue to sender channel to receiver channel to target queue across multiple queue managers.

MO71 HealthCheck Queue Resolution

MO71 will follow the resolution of your queues across queue managers.

Do you have a naming convention? Great! Do all your queue managers stick to it? MO71 will check that for you too.

MO71 HealthCheck Queue Naming

Tell MO71 your naming convention and it will check whether you have any objects not following it.

In order to have MO71 run these checks against your queue managers, open the Network view, and after selecting the list of queue managers you are interested in from the Queue Managers list, look at the Verify view. For each queue manager, you can open up the twisty labeled ‘ Problems’ to see the various things MO71 has detected.

MO71 HealthCheck Network View

Chosen queue managers in the left window; Verify view with problems in the right window.

If there are any of the problems that you don’t want to include in the check, you can deselect them from the Problems list. This is also the view that allows you to see all the problems that are looked for by MO71.

MO71 HealthCheck Problem Selection

The current list of problems checked for by MO71. Can you think of any others you would like to see?

If you have fixed any of the problems, you can refresh the data that the analysis is based on from the Action menu to see if you’ve fixed them all. Alternatively you can click on the database icon next to the queue manager name to only refresh the data from a single queue manager. If you’ve changed the problems being checked for, you can also Re-analyse the problems without retrieving new data from the queue manager.

MO71 HealthCheck Refresh Data

Use the Action menu to request data is Re-analysed, or refreshed from the queue manager.

As you can see, there are quite a number of things that MO71 can check for you, and it’s quick and easy. You simply need to tell MO71 where your queue manager is by adding it as a location into the tool, and then you can use it to detect these problems.


This is not a new feature of MO71. You already have it in the version you’re using. However, we do add new problems to be checked for from time to time. If you would like to see other things checked by MO71 to add to a mini-health check, please drop us a line or add a comment below.


If you don’t have a licence and would like to try out MO71 then send an email to support@mqgem.com and a 1-month trial licence will be sent to you.

Running User Commands in MO71

MO71 User Commands

The User Commands menu on a queue manager in MO71

Do you have a number of commands, or scripts, or batch jobs that you regularly use against your queue managers? How would like to be able to invoke them from the queue manager menu in MO71? In the latest version of MO71 just released, you can do just that. This might be useful when setting up MO71 for your operations team to use (see Delivering an MO71 Bundle to your MQ team) to pre-configure MO71 with the various scripts they should be using for tasks outside MO71.

MO71 User Command strmqm

A User Command that will invoke strmqm for the queue manager

Of course, not all user commands you might want to run would apply to all queue managers in your MO71 configuration, so when setting up User Commands in MO71 you can say which queue managers they apply to. For example, if your queue manager is local to MO71 you can use commands such as strmqm, but for remote queue manager’s you’ll need some sort of remote script to achieve the same. The easiest way to categorize your queue managers is to put them into various “networks” (MO71’s way of categorizing them – see Can you see your QMgr for the trees?). You could imagine a network called “Local” and another called “Remote” which you can then use to determine whether the User Command that runs strmqm can be used. You can make one User command definition which applies to all queue managers in the “Local” network and use the %q substitution character to pass the queue manager name through to the command.

Here you’ve seen an example of a substitution character allowing you to pull information from the location to build up the command. Other substitutions that pull information from the location details are as follows. If there are other things that might be useful to use from the location details as substitutions in User Commands, let us know.

Insert Meaning
%c Location CLNTCONN connection name
%g Location Group Name
%l Location Name
%q Queue Manager Name

If you need to use any environment variables, for example MQ_DATA_PATH or MQ_INSTALLATION_PATH, these can also be used in substitutions in your User Commands with the following syntax:-

%[MQ_DATA_PATH]
MO71 User Command SSH

A User Command to launch an SSH session to the machine the queue manager is on

For “Remote” queue managers you might want to have quick access to a telnet/putty/ssh session to the machine the queue manager is running on. The session you use might vary based on the platform of the machine. For example, for your z/OS queue managers you might want to start a 3270 session. So there’s another possible network, you could also categorize your queue managers by platform. You can use the %c substitution character to pass the connection name (without port number) through to the command.

These User Commands can run anything you can imagine doing in a script. These might be quite simple wrapper scripts or quite complex scripts. You could use it to run an MQSCX script that generates a report with a known file name, and then open the script with something like notepad to view the results.

mqscx -x -f -C "=import file(C:\MQGem\MQReport.mqx) parms(%1)"
notepad C:\MQGem\Output\MQReport_%1_%2_%3_%4.txt

The User Command would then run the command file:

C:\MQGem\runReport.cmd %q %y %m %d

When generating files, it is common to use dates and times in the file names. The other inserts available as substitutions in User Commands are those you can use to generate dates and time, as follows.

Insert Meaning
%d Day of the month e.g. 16
%D Day of the month e.g. Mon, Tue, Wed
%H Current time hours
%m Current Month e.g. Jan, Feb, Mar
%M Current time minutes
%S Current time seconds
%t Current time in HH.MM.SS format
%y Four digit year

You can also start other programs directly from MO71, and pass in the queue manager name as a parameter where required. For GUI applications make sure the User Command is defined with Hidden set to No or the GUI won’t be visible. If you are an MQSCX user as well as an MO71 user, you may prefer to use MQSCX rather than the MQSC window in MO71 for command line operations. You can create a user command to start an MQSCX session up for the queue manager through a User Command.

The flexibility of running any command scripts means you can do a lot with this, but if you think of other inserts or requirements on this feature, please drop us a line, or leave a comment below to let us know.


The new version can be downloaded from the MO71 Download Page. Any current licensed users of MO71 can run the new version on their existing licence. If you don’t have a licence and would like to try out MO71 then send an email to support@mqgem.com and a 1-month trial licence will be sent to you.