MQEdit version 9.1.0 is released

MQGem Software is pleased to announce that a new version of MQEdit, our Live Parsing Editor for IBM MQ messages, is now available.

The main reason for the new MQEdit version number, Version 9.1.0, is to remain inline with the current MQ version. However, the following functional changes have also been made:

  • Character Substitution Mode
    As requested by a customer, to make it easier to read certain types of messages, MQEdit now supports a Character Substitution Display Mode. This will display text such as > as the character ‘>’.

    MQEdit Character Substitution Mode

    MQEdit Character Substitution Mode. The top message can be displayed in the manner shown at the bottom with this formatting mode turned on

    The substitutions performed are the following:-

    Sequence Character displayed
    > >
    &lt; <
    &nbsp; (space)
    &amp; &
    &quot; "
    &apos; '
  • QLOAD ‘other’ file processing
    As a result of another customer request, it is now possible to use the QLOAD feature to load a ‘normal’ text file rather than a standard QLOAD file. This text file may contain multiple messages with some sort of delimiter, common with JSON or XML for example. The file can be parsed into these individual messages before being loaded onto the queue.
    MQEdit QLOAD Other File with delimiters

    Loading a file with message delimiters onto a queue

  • Select All
    To make it easier to copy/paste the entire message a new Select All (Ctrl-A) action has been added.

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

MQEdit version 9.0.3 is released

MQGem Software is pleased to announce that a new version of MQEdit, our Live Parsing Editor for IBM MQ messages, is now available.

This version of MQEdit makes it easier to manage a group of users using the editor from a central position. The following items have been added:

  • The concept of a master configuration file
    Users can reference a master configuration file and any new or change locations can be automatically imported into their own configuration.
  • Import from another MQEdit (or MO71) Configuration file
    You can now import locations direct from another configuration file.
  • Splash screens
    An MQ Administration department can now cause users of MQEdit to see centrally controlled information whenever the user starts MQEdit or attempts to connect to a Queue Manager. This could, for example, display maintenance schedule information, Queue Manager ownership or support contact numbers.
  • Licence Command
    You can now configure a command to be automatically run if the current licence is either invalid or nearing its renewal date.
  • MQEdit Program update notification
    You can ask MQEdit to periodically check whether there is a later version of the program available.

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

Use MQGem tools with IBM MQ on IBM Cloud

You may have seen the recent announcement from IBM about the experimental IBM MQ service running on IBM Cloud.
IBM Cloud

You can learn more with these resources:-

When you read the description of this new service in the Bluemix catalog, you’ll see it says the following:-

Manage MQ your way

Manage your cloud-based queue managers with the tools you know and love – including MQ Explorer, the MQ Console, or via MQ Script Commands (MQSC).

This blog post is here to assure you that the tools you know and love from MQGem Software; MO71, MQSCX, MQEdit and QLOAD can all also be used with IBM MQ running on IBM Cloud.

Once you have created your MQ on IBM Cloud Service and Queue Manager, as shown in the above video, and your queue manager is up and running, you’ll have a view something like this.

IBM Cloud QM List

A list showing my Running queue manager

Click on the three vertical dots on the right of your queue manager to “Download Connection info”, or alternatively view the details of your queue manager and then there is a button there too which allows you to download the “Connection Information”. Either way, you’ll be presented with a pop-up which allows you to download a plain text file which contains the queue manager name, hostname, port number and a couple of channel names, one called an Application Channel and one called an Administration Channel.

IBM Cloud Download Connection info

IBM Cloud Download Connection info

In order to remotely connect to your IBM Cloud queue manager you will also need to be able to log in. As the MQ on IBM Cloud documentation describes here, you need the API key as your password to go with the user id ‘admin’. Follow the instructions on that page to obtain your API key.

Now you have all the pieces of information you need to set up any of the MQGem Software tools to administer your queue manager on IBM Cloud. As a reminder, these are the things you will need.

Item From where
Queue Manager Name You invented it when you created the queue manager. If you’ve forgotten it, it’s also in the text file you downloaded with the connection information.
Channel Name The “Administration channel name” can be found in the text file you downloaded with the connection information.
Connection Name This is built by concatenating the “Hostname” and “Listener port” details (with brackets round the port number) that can be found in the text file you downloaded with the connection information.
User ID This is ‘admin’
Password This is the API Key that you created by following the linked instructions.

On the pages that follow, we cover how to use the above information you have gathered in your table to configure each of our tools to connect to your IBM MQ in IBM Cloud Queue Manager. Go directly to the page for the tool you want to use, or page through each one in turn.

  1. MO71
  2. MQEdit
  3. MQSCX
  4. QLOAD

If you don’t have a licence and would like to try out any of our tools then send an email, noting which tool you’d like to try, to and a 1-month trial licence will be sent to you.

MQEdit recognises many message formats

Version 9.0.2 of MQEdit, our Live Parsing Editor for IBM MQ messages, added new formatters for JSON, FIX and CSV (OFS) messages. MQEdit already had formatters for standard MQ messages such as MQXQH, MQDLH and MQPCF and XML and EDIFACT messages.

MQEdit Formatted JSON Customer Record

MQEdit Formatting a JSON Customer Record

You can tie these new formatters to your messages just as you do user formats. Given it’s most likely that these will have an MQ Format of MQSTR, you should tie the formatter to the queue name, as follows.

  formatter JSON;

Alternatively you can use the Formatter context menu when viewing a message to invoke the appropriate formatter.

MQEdit Formatter menu

MQEdit Formatter menu

You’ll also see another useful option in this menu, the “Contextual Newline”. This inserts the appropriate character into the message when you hit the enter key. Very useful for formats such as FIX where the newline character is the SOH (0x01) character.

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

Running MQGem GUIs under WINE

MQGem with WINEWe spent the festive season partaking of a little wine which resulted in our recent announcement of the capability to run both the MQGem Software GUI applications, MO71 and MQEdit, on Intel Linux. This is achieved by running them under WINE. WINE is a fabulous piece of free software that comes from the WINE project. This software allows a huge range of Windows applications to run, virtually unchanged, on an Intel Linux machine. The software is not an emulator but rather translates Windows API calls to POSIX calls on the fly which means that it is fast and efficient. For most users, wine may even be already installed on your Linux system, for others, it will be as simple as issuing the command:-

yum install wine.i686

N.B. The MQGem GUIs are 32-bit Windows applications which is why you must install the wine.i686 package rather than letting the system decide which wine package you need based on the bitness of your O/S.

However, everybody’s Linux is just that little bit different. If you find when using the above command that it responds with:-

No package wine available.

then this means that the yum source repositories you currently use do not contain the WINE packages. The WINE packages are in the EPEL (Extra Packages for Enterprise Linux) repository which can be added to your yum as described in How can I install the packages from the EPEL software repository?

If the EPEL repository still refuses to play ball, there are a plethora of StackOverflow questions (with answers) to solve Cannot retrieve metalink for repository: epel.
Once you get WINE installed, there is one other piece of the puzzle. If you tried to run the mqmonntp.exe under WINE as-is, the GUI would run, but when you try to connect to MQ using it the following error would be shown.

Error connecting to 'MQG1' RC(2012) Environment error.

So before you do, you should download a new package from MQGem Software, an MQ WINE mapping layer. This is a shared object that maps from the MQI calls made that the Windows application expects to find in mqm.dll or mqic32.dll, and instead calls the locally installed entry points in the and libraries. These mapping packages are called and

So download the zipped tar file mq_wine.tgz, and untar the file using a command such as

tar -xvzf mq_wine.tgz

You need to put these libraries where WINE will find them. Your two choices are:

  • Put them in /usr/lib/wine
  • Put them where ever you like but ensure that the path is added to WINEDLLPATH environment variable.

Now download the latest version of MO71 or MQEdit and unzip it on your Linux system. We have made one or two minor changes to the programs to fix things we have discovered in our testing of them under WINE, so it is best if you start off with all the fixes to things we’ve found. If you already run MO71 with a Diamond or Enterprise licence then you can also copy your licence file across onto your Linux machine (assuming you’re on the same site for your Diamond licence). If you use an Emerald licence, then you’ll need one for this machine. If you’d like to try it out on Linux before you make your mind up to buy another Emerald, then please email to request a trial licence.

To run the program, use this command:-

wine mqmonntp [ MO71 parameters ]

Once you are comfortable that MO71 starts and runs correctly you may want to set up an icon on your desktop to issue this command and possibly run it in the background.


User Formats with String Messages

How many of you saw our post about the addition of User Formats to the message editor, MQEdit, and thought, “That doesn’t apply to me, all my messages are string messages (MQSTR)”?

Well, I have news for you. Not only does it apply to you, but it might be very useful!

Using string messages is a very common practice with MQ Applications. After all it keeps things nice and simple, MQ does all the work for you when messages need to be data converted from one platform to the other, and you don’t need to build data conversion exits that need to know the shape of your message formats.

However, it is rare that such a string message is completely free-form. There will be some kind of structure to the message. Sometimes this structure will be XML, JSON or EDIFACT (which are also supported by MQEdit) and sometimes this structure will be a set of fixed fields.

There are many advantages of using user formats when viewing or editing even your string messages.

  • You can see each field displayed with a label to indicate what it is.
  • It is easier to edit one field in the message without inadvertently changing another.
  • In the list of messages, you can choose which field(s) are shown rather than simply seeing the first n bytes of the string message. (This is done with the summary option)
  • You can have different detailed views of your message, by indicating that certain fields are for low, medium and high detail views. This can be very handy if there are a lot of fields in the message that you don’t often need to look at, and you want to de-clutter your view when looking at the message.
  • It is easier to see when messages are badly formed (see below).

Example of viewing a malformed message

As an example, imagine your application expects that the first 20 characters are the customer name; next there will be three 30 character chunks with the address lines 1, 2 and 3; and so on.

You can define such a fixed string message format to MQEdit as well, just like this:

struct CUSTADDR; Customer Address
  char Name[20];
  char Address1[30];
  char Address2[30];
  char Address3[30];

Now since your format is MQSTR, and probably all your MQSTR messages are different shapes, you can’t use the MQMD.Format field to tell MQEdit the shape of your messages, so instead, you tie the user format structure you just created, to your message, by tying it to the queue name like this:

  struct CUSTADDR;

Then, instead of you having to remember what all the offsets inside the message are, when you are looking at what the receiving application contends is a badly formed message, you can instead have MQEdit display it to you making it easy to see the problem. Compare the two screen shots from MQEdit below. Which do you think is easier to use to spot what’s wrong with the message?

MQEdit String Message Unformatted

MQEdit showing a String Message Unformatted

MQEdit String Message Formatted

MQEdit showing a String Message Formatted

This view makes it really easy to see that the message is badly formed because there is a missing space and so the first address line is not starting at the correct offset.

If this feature interests you and you’d like to try it out for yourself, you can download MQEdit from the MQGem website and if you don’t currently have a licence, you may email to request a trial licence. Let us know what you think once you’ve had play with it.

User Formats in MQEDIT

EXTENDED FREE TRIALIn August we announced MQEdit, a Live-Parsing editor for IBM MQ, which was to run as an open beta, free for all to use, until the end of January.

This month a new driver is available for the MQEdit beta which provides function for user defined messages. MQEdit knows the format of the standard MQ messages such as MQXQH, MQDLH, MQPCF as well as XML and EDIFACT messages. However, in this release we have also added the ability to edit user defined formats. This facility allows all manner of message formats to be defined using a simple definition language. For example, the following simple definition might define a customer record message.

struct CUST; Customer Record
  int    Version;
  char   Name[50];
  int    CustNo;
  time32 JoinDate;
  float  Rating;
  hex    DBId[12];
  char   Address1[100];
  char   Address2[100];
  char   Address3[100];
  char   Address4[100];

  struct CUST;

You can see that the syntax is very similar to a host of programming languages and, as such, is fairly intuitive to most. These definitions state that if MQEdit sees a message with a format value of ‘CUSTOMER’ it should display the message in the format of the CUST structure. Alternatively you can tie a structure definition to a queue name if you don’t use your own format values.

MQEdit showing a Formatted Customer Record

This definition is placed in a file which is then loaded into MQEdit through the User Formats tab in the Preferences dialog. If you make changes to the underlying file you can just click on Reload User Formats, there is no need to restart the editor.

MQEdit User Format file

MQEdit User Format file is loaded through the Preferences dialog

Many other data types are available and more complicated messages can be defined, if necessary. For example you can have variable length strings, variable length arrays or embedded structures. Why not give it a try and see whether your own messages can be displayed.

The product, which is in Beta phase, is free for you to download and try out until at least January 2017. You don’t even need to register any details to play with it. The product is free to download from our website.

All we ask in return is that in a week or two when you’ve played with it you send us an email telling us what you liked and what you didn’t like about the editor and perhaps what features you’d like to see in the future.

We look forward to hearing your comments. Please send them to