What’s in Command Levels 90x

MQ90x StairsIBM MQ released Long Term Support release V9.0.0 back in June 2016 which had a Command Level of 900. The subsequent Continuous Delivery releases, V9.0.1, V9.0.2, V9.0.3 and V9.0.4 have each introduced their own Command Levels, 901, 902, 903 and 904 respectively.

This post captures the changes that are available in each of those Command Levels.

Release Command Level Features protected by Command Level – details below
V9.0.0.0 900 AMS Protection Policy enhancement – Confidentiality Policy
LDAP Authorization on Windows
V9.0.1 901 No changes protected by Command Level
V9.0.2 902 Log management features
V9.0.3 903 No changes protected by Command Level
V9.0.4 904 z/OS only Advanced Capability attribute on the queue manager object

AMS Protection Policy enhancement – Confidentiality Policy

With the introduction of Confidentiality Policies in Command Level 900, there is a new attribute on the Set Policy command. A confidentiality policy has no signature algorithm, but does have a encryption algorithm. The Key Reuse feature is applicable to this type of policy. Jon Rumsey has a great write-up of this IBM MQ V9 feature on the MQDev blog, MQ V9 Fast encrypted messages with MQ – Introducing AMS Confidentiality Policies.

AMS Policy

New Attribute MQSC name
See SET POLICY
Look for KC 9000 indicator
PCF constant and values
See Set Policy
Look for KC 9000 indicator
Key Reuse

KEYREUSE

  • DISABLED
  • UNLIMITED
  • 1 – 9999999

MQIA_KEY_REUSE_COUNT (267)

  • MQKEY_REUSE_DISABLED (0)
  • MQKEY_REUSE_UNLIMITED (-1)
  • 1 – 9999999

LDAP Authorization on Windows

Introduced in Command Level 801 on Unix, this feature extended the V8.0.0 Connection Authentication feature which checked your user ID and password, to allow LDAP authorization as well. The fields now available on Windows are the same as those noted in the earlier post for Command Level 801, and are not repeated here.

Log management

With the introduction of Automatic management of linear log extents, and Automatic writing of media images, in Command Level 902, there are new attributes on the queue manager object, queue manager status, and one on queue objects. Mark Whitlock has written about this in an MQDev Blog Post: Logger enhancements for MQ v9.0.2.

Queue Manager Object

New Attribute MQSC name
See ALTER QMGR
Look for KC 902 indicator
PCF constant and values
See Change Queue Manager
Look for KC 902 indicator
Image Schedule

IMGSCHED

  • AUTO
  • MANUAL

MQIA_MEDIA_IMAGE_SCHEDULING (268)

  • MQMEDIMGSCHED_AUTO (1)
  • MQMEDIMGSCHED_MANUAL (0)
Image Interval

IMGINTVL

  • 1 – 999 999 999
  • OFF

MQIA_MEDIA_IMAGE_INTERVAL (269)

  • 1 – 999 999 999
  • MQMEDIMGINTVL_OFF (0)
Image Log Length

IMGLOGLN

  • 1 – 999 999 999
  • OFF

MQIA_MEDIA_IMAGE_LOG_LENGTH (270)

  • 1 – 999 999 999
  • MQMEDIMGLOGLN_OFF (0)
Image Recover Object

IMGRCOVO

  • NO
  • YES

MQIA_MEDIA_IMAGE_RECOVER_OBJ (271)

  • MQIMGRCOV_NO (0)
  • MQIMGRCOV_YES (1)
Image Recover Queue

IMGRCOVQ

  • NO
  • YES

MQIA_MEDIA_IMAGE_RECOVER_Q (272)

  • MQIMGRCOV_NO (0)
  • MQIMGRCOV_YES (1)

Queue Manager Status

New Attribute MQSC name
See DISPLAY QMSTATUS
Look for KC 902 indicator
PCF constant and values
See Inquire Queue Manager Status
Look for KC 902 indicator
Archive Log Extent Name

ARCHLOG

MQCACF_ARCHIVE_LOG_EXTENT_NAME (3208)

  • String of length MQ_LOG_EXTENT_NAME_LENGTH (24)
Archive Log Size

ARCHSZ

MQIACF_ARCHIVE_LOG_SIZE (1416)

Media Log Size

MEDIASZ

MQIACF_MEDIA_LOG_SIZE (1417)

Restart Log Size

RECSZ

MQIACF_RESTART_LOG_SIZE (1418)

Reusable Log Size

REUSESZ

MQIACF_REUSABLE_LOG_SIZE (1419)

Archive Log In Use

LOGINUSE

MQIACF_LOG_IN_USE (1420)

Archive Log Utilization

LOGUTIL

MQIACF_LOG_UTILIZATION (1421)

Reset QMgr command

Updated attribute MQSC name
See RESET QMGR
Look for KC 902 indicator
PCF constant and values
See Reset Queue Manager
Look for KC 902 indicator
Action

TYPE

  • REDUCELOG
  • ARCHLOG

MQIACF_ACTION (1086)

  • MQACT_REDUCE_LOG (10)
  • MQACT_ARCHIVE_LOG (11)
Archived Log

ARCHIVED

MQCACF_ARCHIVE_LOG_EXTENT_NAME (3208)

  • String of length MQ_LOG_EXTENT_NAME_LENGTH (24)
Log Reduction

REDUCE

  • AUTO
  • ONE
  • MAX

MQIACF_LOG_REDUCTION (1422)

  • MQLR_AUTO (-1)
  • MQLR_ONE (1)
  • MQLR_MAX (-2)

Queue Local and Queue Model

New Attribute MQSC name
See DEFINE queues
Look for KC 902 indicator
PCF constant and values
See Change, Copy, and Create Queue
Look for KC 902 indicator
Image Recover Queue

IMGRCOVQ

  • NO
  • YES
  • QMGR

MQIA_MEDIA_IMAGE_RECOVER_Q (272)

  • MQIMGRCOV_NO (0)
  • MQIMGRCOV_YES (1)
  • MQIMGRCOV_AS_Q_MGR (2)

Advanced Capability

To allow monitoring tools to discover whether advanced VUE capabilities are available on this queue manager, an attribute has been added to the display of the queue manager object.

Queue Manager Object

New Attribute MQSC name
See ALTER QMGR
Look for KC 904 indicator
PCF constant and values
See Change Queue Manager
Look for KC 904 indicator
Advanced Capability

ADVCAP

  • DISABLED
  • ENABLED

MQIA_ADVANCED_CAPABILITY (273)

  • MQCAP_NOT_SUPPORTED (0)
  • MQCAP_SUPPORTED (1)

You can get the equivalent information for earlier Command Levels from these posts.

Advertisements

Looking back on 2016

In this post we look back on the year that was 2016 and what happened in both IBM MQ, and MQGem Software.

New Versions

Both IBM MQ and MQGem Software products had a number of new releases in 2016.

MQGem Software products

Three new versions of our premier product, MO71 – a graphical administrative product for IBM MQ. Major version 9.0.0 was released in June to support the IBM MQ V9.0.0 release as well as adding several new features. Then two micro releases, version 9.0.1 was released in August, and version 9.0.2 was released in October.

An update to version 8.0.1 of MQSCX – our extended MQSC product, was released in January, and a series of blog posts described the new features. Then later in the year, major version 9.0.0 was released in July to support the IBM MQ V9.0.0 release as well as adding several major new features, for example, functions.

A new version of QLOAD – our unload/load IBM MQ queues product, QLOAD V8.0.2 was released in January.

Our newest product MQEdit – a live-parsing IBM MQ message editor – was announced in Beta in August, and is free to run until at least January 2017. A new driver was released in November providing a new major feature, user formats.

IBM MQ Fix Packs and new function

The last Fix Pack on IBM WebSphere MQ V7.0.1, Fix Pack 7.0.1.14 was released in August. Two new Fix Packs on IBM WebSphere MQ V7.1. Fix Pack 7.1.0.7 in November, and 7.1.0.6 in January. Two new Fix Packs on IBM WebSphere MQ V7.5. Fix Pack 7.5.0.6 was released in March. Fix Pack 7.5.0.7 was released in September. One new Fix Pack on IBM MQ V8. Fix Pack 8.0.0.5 was released in February.

2016 saw the latest major release of IBM MQ, V9.0.0, announced in April and available in June. At the same time, hardware updates were made to the MQ Appliance. As we were later to discover, V9.0.0 was the starting point for a new delivery model for IBM MQ. In November, V9.0.1, the first continuous delivery (CD) release was made available. You can now choose whether to move forward with new function in regular drops, or stay on the Long Term Service (LTS) release and get new function after a longer period has elapsed. At the same time, the MQ Appliance became a V9 queue manager.

Changes were also made to the MQLight function. Now it is available in IBM Message Hub, with advice to migrate from the MQLight Service to Message Hub if you’re a Bluemix user.

Conference Events

There have been quite a number of events throughout 2016 that have had IBM MQ content delivered at them. A separate post contains all the material that is available on-line from these various events.

Online articles

There have been some really great blog posts written throughout 2016. Lots of the guys in IBM Hursley have been blogging about the new features they have been releasing throughout the year. The IBM MQ Blogosphere has really grown over 2016. Read more in IBM MQ Blogosphere in 2016.

2016 has been a great year for all things MQ. MQGem wishes all its customers, readers, and friends a Happy and Prosperous 2017. HAPPY NEW YEAR!

MQSCX version 9.0.0 is released

MQGem Software is pleased to announce that a new version of MQSCX, our command line extended MQSC tool for IBM MQ, is now available.

The main features of the release are as follows:-

Support for MQ Command Level 900

As normal with a new release of IBM MQ, there is a new command level. MQSCX now supports this new command level and its contents.

foreach

foreach(…) loop now operates in CCDT mode

Previous releases of MQSCX allowed the use of the foreach(…) statement to process each response from the command server. This release extends that processing to work with the responses to commands issued against the CCDT. For more information see Scripts using foreach on the CCDT

New iteration system variables loops

New system variables _idxEach, _idxItem, _idxWhile, _numEach, _numItem and _numWhile which can make processing loops easier.

Support of CCDT URL

IBM MQ V9 allows a connecting application to specify the URL location of the CCDT file to use. This field can now be specified on the =conn command. For more information see Using the CCDT URL.
MQSCX Functions

Support for functions

You can now define lists of commands which can be invoked from the command line, other functions or expressions. For more information see MQSCX functions, which has a worked example.

Support for GOTO

You can now jump to labelled parts of your code.
MQSCX Bootstrap

Automatically loads bootstrap.mqx file

This can be useful to load useful functions so they are always available. Although it could equally be used to always run a specific command or several commands every time the MQSCX tool is started. For more information see MQSCX Bootstrap file.

Various improvements to the usability of the debugger

Including commands to support the new functions capability, such as sf to set your current stack frame.

New eval() function

This function allows the user to create more dynamic expressions by having the contents of strings evaluated as an expression. For example, print eval(“curdepth > 0”).


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

MQCCDTURL and mqclient.ini

During the process of writing my June IBM MQ Little Gem post over on IMWUC, I learned a bit more about the CCDT URL feature in IBM MQ V9 and how it works when you use an mqclient.ini file.

Jon Rumsey has a great write-up of this feature on the MQDev Blog, MQ V9 Client Channel Table Enhancements – URL retrieval, where he indicates that the equivalent to the MQCCDTURL environment variable is to use the ChannelDefinitionDirectory attribute in the Channels stanza of mqclient.ini.

mqclient.ini file for IBM V9My new blog post has a table of all the client environment variables and their equivalents in the mqclient.ini file (an update to a post I wrote in 2014). I noticed that the attribute that Jon refers to, ChannelDefinitionDirectory, is already in use as the equivalent to the MQCHLLIB environment variable.

I know that the MQCHLLIB environment variable only specifies the path to the CCDT, whereas the MQCCDTURL environment variable specifies the whole path and file name. So I wondered whether ChannelDefinitionDirectory was really the direct equivalent.

I had previously been using the following environment variable:-

set MQCCDTURL=http://www.mqgem.com/MQGEM.TAB

so I tried out an mqclient.ini file with the following contents as a direct equivalent:-

CHANNELS:
  ChannelDefinitionDirectory=http://www.mqgem.com/MQGEM.TAB

and was rewarded by the following error in my AMQERR01.LOG:-

AMQ9795: The client channel definition could not be retrieved from
its URL, error code (16).

EXPLANATION:
The client channel definition location was specified as URL
'http://www.mqgem.com/MQGEM.TAB/AMQCLCHL.TAB', however the file could
not be retrieved from this location. 

The error returned was (16) 'HTTP response code said error'. The
protocol specific response code was (404).
ACTION:
Ensure that the URL is reachable and if necessary correct the details
provided.

404 is the standard HTTP “not found” response code, and it is not a surprise that it couldn’t find the file since it has concatenated the default AMQCLCHL.TAB file name on the end of what I provided. So it would seem that you need to use both ChannelDefinitionDirectory and ChannelDefinitionFile in the mqclient.ini file to get the equivalent behaviour to the MQCCDTURL environment variable.

With an mqclient.ini file with the following contents:-

CHANNELS:
  ChannelDefinitionDirectory=http://www.mqgem.com
  ChannelDefinitionFile=MQGEM.TAB

I was able to successfully connect.


IBM Certified SpecialistIBM Champion 2016 Middleware

Morag Hughson
IBM Champion 2016 – Middleware
IBM Certified System Administrator – MQ V8.0
Find her on: LinkedIn: http://uk.linkedin.com/in/moraghughson Twitter: https://twitter.com/MoragHughson SlideShare: http://www.slideshare.net/moraghughson developerWorks: https://www.ibm.com/developerworks/community/profiles/html/profileView.do?userid=110000EQPN

MO71 version 9.0.0 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:-

Support for MQ Command Level 900

As normal with a new release of IBM MQ, there is a new command level. MO71 now supports this new command level and its contents.

Work with Advanced Message Security (AMS) Protection Policies

You can now define, update and delete AMS Protection Policies. Other aspects of MO71 have also been updated accordingly to deal with these policies, for example updates to Default Lists and Usage Tailoring. Read more about this feature in MO71 – AMS Policy Commands.

Support of CCDT URL

MQ V9 allows a connecting application to specify the URL location of the CCDT file to use. This field can be specified in the location dialog. Read more about this feature in Using the CCDT URL

MO71 Monitor Time

Add monitor times to your main window display

Show last monitor time on main window

If you wish you can display the last time (or elapsed time) that a response was received from a Queue Manager that is monitored.

Changing multiple objects can now belong to different Queue Managers

If multiple objects are selected from a list and those objects belong to different Queue Managers then the resulting dialog will qualify each object with their owning Queue Manager. It is now possible, for example, to change the maximum depth of multiple queues on multiple Queue Managers with a single click. Or alternatively you can stop/start multiple channels on different Queue Managers with a single press of a button. Read more about this feature in Changing multiple objects at once.

Changing multiple objects is reflected in the dialog title bar

The text [Multiple Objects] will be shown in the title bar in this case.

Exporting lists now has a new ‘All Fields’ checkbox

MO71 Export All Fields

Quick way to export all fields

Previously, when exporting from a list of objects, only the fields which were actually in the list would be exported. This is useful for certain types of displays, such as text and CSV. However, for MQSC this can mean that you would get an incomplete object definition. A new ‘All fields’ checkbox now allows you to request that all the object fields are exported.

New Buffer Pool and Page Set dialogs displayable

MO71 now supports the display of z/OS Buffer Pool and Page Set objects. Read more about this feature in View Buffer Pool and Pageset Usage via MO71.


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.

IBM MQ and MQ Appliance April News

In April 2016, IBM Hursley had two major announcements that you should be aware of.

EDIT: Now in June 2016 – IBM MQ V9 is available – read more in IBM MQ 9.0 is now available and IBM MQ for z/OS 9.0 is now available.


 


IBM MQ V9

Firstly we have the announcement of IBM MQ V9 on both the distributed and z/OS platforms. There’s a great blog post from IBM MQ’s Product Manager Leif Davidsen explaining what it all means: IBM MQ V9 – A fast, secure, reliable and more agile MQ.

The “more agile” part of the announcement is all about a new delivery model which there is also an FAQ to cover your questions.

Compare what’s in V9 against V8 and V7.5 with this link (click on the “Compare versions” tab once the page is loaded): Version-to-version Comparison – IBM MQ enhancements at a glance

The IBM MQ V9 Knowledge Center is online

There’s a lot of interest on Twitter about #IBMMQ V9

Also, if you prefer your information in video format, Mark Taylor has created another of his videos to tell you all about it.

He’s also created one about the new AMS Functionality as well.

Other links if interested


MQ Appliance

The other announcement this month is about the MQ Appliance. Leif Davidsen gives us his take on this announcement letter as well, with another blog post with a great headline: Going faster by not moving – IBM Appliance M2001.

Other links if interested


We’ll collect up any other links about the new announcements as we find them and put them all here.