MQEdit version 9.0.2 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.

MQEdit already had formatters for standard MQ messages such as MQXQH, MQDLH and MQPCF and XML and EDIFACT messages.

This release adds new formatters for JSON, FIX and CSV (OFS) 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.

queue APP1.CUSTOMER.ADDRESS
{
  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 support@mqgem.com and a 1-month trial licence will be sent to you.

Advertisements

MO71 version 9.0.3 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 Auto Export Authrecs

You can now export Authority Records along with all your other objects

Export of AUTHREC in MQSC format

This was one of the most commonly requested features. You can now export AUTHREC definitions in MQSC format from the object and list dialogs as well as include AUTHRECs in the automatic Queue Manager export list.

API Exerciser enhancements

We are pleased to say that this version allows you to experiment with the MQCONNX, Message Handle and Message Property API calls. More information will be coming soon in another blog post.

Hostname display

When displaying a Channel Status output, MQ will send you the IP address eg.198.51.100.34. However, this is not hugely memorable. You can now ask MO71 to issue a gethostbyaddr() and display the result in a hostname field. You can go even further and put your own description of this in a dns file, MQMON.DNS, and have MO71 display that instead. Read more about this in Displaying host names in MO71.

User Commands

You can define your own commands which are then available in the Queue Manager context menu. Read more about this in Running User Commands in MO71.

Message Operations are now Message Token based

By basing message operations on Message Tokens the message operations such as browse, copy, mode and delete are much faster and more specific.

Can now invoke the MQEdit Message Editor directly

When you are browsing a message you can select ‘Edit…’ from the context menu and the MQEdit product will be started editing the same message, saving you having to re-navigate to that message in another tool. This is possible through the use of Message Tokens. You can also open the MQEdit product from a queue list and a single queue dialog and it will open with the messages from that queue already loaded into the list. Ensure you have MQEdit V9.0.1 (or higher) in order to do this. If you don’t have a licence for MQEdit, these options will not be available.

MO71 Message List Edit Option

If you have the MQEdit product, you’ll get an Edit option

New Default Max. Column preference option

Some MQ fields can now be quite large, for example topic strings, subscription names and subscription selectors. This can mean that lists of objects can be have columns which are wider than you would like. You can now say how wide the column should be by default, and a new ‘…’ indicator shows if there is more to be seen than the column is currently displaying.

New Max Column and Field lengths for HTTP browser output

As above these large MQ fields can mean that the browser output is hard to read or it results in an output with a large horizontal scrollbar. You can now tell MO71 how much data to return in these situations.

More CipherSpecs considered weak

IBM recently updated the list of weak CipherSpecs to include those using the Triple DES algorithm, and so MO71 will not show you those CipherSpecs by default. You can ask MO71 to show you the weak ones in the Location dialog for the queue manager in question, but you will also need to enable them in MQ too if you want to use them. Read more about how in Deprecated CipherSpecs

Support for Command Level 902

UPDATE: With a minor update to MO71 after the release of IBM MQ Continuous Delivery Release 9.0.2, support for Command Level 902 has been added. Read more about the new command level in What’s in Command Levels 90x.


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.

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:

queue APP1.CUSTOMER.ADDRESS
{
  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 support@mqgem.com 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];
}

format CUSTOMER
{
  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 support@mqgem.com.

Announcing the MQGem Software message editor!

Have you ever needed to make a quick change to an MQ message? Or perhaps create some test messages for an application? Or perhaps the message has gone to the wrong place and you want a quick way to copy or move them to where they should be? We have a new product for you to try.

MQGem Software is pleased to announce a new product, MQEdit, a Live-Parsing editor for IBM MQ. Watch the changes happen to the message as you type. The editor has a host of features…

  • Editing of either message body or message descriptor
  • Editing either in formatted or hex mode
  • Move or Copy messages simple by drag&drop, even between Queue Managers!
  • Display different levels of message detail
  • Editing supporting in a wide range of ASCII and EBCDIC codepages
  • Direct editing of big-endian and little-endian messages
  • Automatically maintains structure integrity as you edit
  • Direct editing of PCF structures, let MQEDIT do all the hard work
  • Add and Remove message parts, such as headers and PCF structures, effortlessly
  • Display hex bytes, such as Correl Id , in predictive text
  • Find and Replace capability
  • Full Undo/Redo support
  • Full Copy/Paste support
  • Fully configurable colours and fonts
  • Bookmark store and restore position
  • Message list auto-refresh and export
  • And more…
MQEdit

Screenshot of MQEdit showing QMgr and Q filtering; ISPF colour scheme; PCF formatting; and toolbar of controls.

MQEdit runs on Windows but can connect, via the MQ Client, and edit messages, on all versions of MQ on all platforms. This includes z/OS where messages can be edited directly in EBCDIC.

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 support@mqgem.com.