[z/OS]

OPMODE on z/OS

The availability of new functions and backward migration for IBM® MQ for z/OS® is controlled by the OPMODE parameter in the CSQ6SYSP macro. IBM MQ 8.0 new functions that are restricted by OPMODE are not available at IBM MQ 9.0 unless enabled with OPMODE. There are no new functions in IBM MQ 9.0 that are restricted by OPMODE.

[Continuous Delivery]Important: Backwards migration is not supported for a Continuous Delivery (CD) release. Queue managers running a CD release of IBM MQ must be started with (OPMODE=(NEWFUNC,90x). For example, an IBM MQ 9.0.1 queue manager must be started with OPMODE=(NEWFUNC,901).

Once a queue manager has been started at a CD release of IBM MQ with OPMODE=(NEWFUNC,901) or higher, there is no need to change OPMODE every time the queue manager is migrated to a later CD release.

[Long Term Support]The default setting of OPMODE at IBM MQ 9.0.0 is OPMODE=(COMPAT,900), which restricts the set of new functions available. Functions added in IBM MQ 8.0 and IBM MQ 9.0 that are restricted by OPMODE are not available. This makes it possible to revert a queue manager to its earlier release level, if you must do so.

[Long Term Support]To access all capabilities on a Long Term Support (LTS) release queue manager, change the value of OPMODE to OPMODE=(NEWFUNC,900). This prevents the queue manager from being started at an earlier version. Plan to do this in order to exploit all new functions as soon as you are confident that you will not need to revert the queue manager to its earlier release.

[Long Term Support]If you need assistance to revert to an earlier version of IBM MQ, contact your IBM support center.

[Long Term Support]
Important: When migrating a queue manager from IBM MQ 8.0 to IBM MQ 9.0 LTS, do not recompile the system parameter (ZPARM) module with OPMODE=(COMPAT,900). Doing so deactivates functions restricted by OPMODE in IBM MQ 8.0. This might prevent functions that were in use before the migration from being used, and might prevent the queue manager from starting.

This is a change from the migration procedure to previous versions of IBM MQ. Leaving OPMODE at its current value retains the ability to revert the queue manager to its earlier release, while also keeping the same set of functions enabled.

Setting OPMODE in the system parameter module

OPMODE is specified as a parameter to the CSQ6SYSP module when compiling the system parameter module (ZPARM).

The syntax of the OPMODE parameter is as follows:
OPMODE=(Mode,VerificationLevel)
OPMODE specifies the operation mode of the queue manager.

[Long Term Support]The default setting of OPMODE for IBM MQ 9.0.0 is OPMODE=(COMPAT,900) .

[Continuous Delivery]The only valid setting of OPMODE, for a Continuous Delivery (CD) release of IBM MQ, is OPMODE=(NEWFUNC,90x). For example, at IBM MQ 9.0.1, you must specify OPMODE=(NEWFUNC,901).

Mode
Specifies the requested operation mode. The values are as follows:
COMPAT
The queue manager runs in compatibility mode. Certain new functions are not available. The queue manager can be migrated back to an earlier release.
[Long Term Support]
Important: This value is valid only for a Long Term Support (LTS) release of IBM MQ.
NEWFUNC
All new functions provided in this level of code are available. The queue manager cannot be migrated back to an earlier release.
VerificationLevel

VerificationLevel is a Version.Release.Modification (VRM) code, without punctuation; 900, for example.

The value of VerificationLevel ensures that the CSQ6SYSP parameters are coded for use with the level of CSQ6SYSP macro being compiled. If VerificationLevel does not match the VRM level of SCSQMACS used for CSQ6SYSP, then a compile-time error is reported. The VerificationLevel is compiled into the parameter module, and checked when the queue manager is started.

[Long Term Support]At queue manager start up, if the VerificationLevel does not match the release level of the queue manager, for an LTS release, then COMPAT mode is forced.

[Continuous Delivery]For a queue manager started at a CD release, if VerificationLevel refers to a CD release, but does not match the release level of the queue manager, OPMODE=(NEWFUNC,vrm) takes effect, where vrm is the CD release level of the queue manager.

For example, an IBM MQ 9.0.2 queue manager started with OPMODE=(NEWFUNC,901), behaves as if OPMODE=(NEWFUNC,902) had been specified.

If VerificationLevel refers to an LTS release, the queue manager will not start at a CD release.

The intent of the VerificationLevel parameter is to avoid inadvertent and irreversible setting of OPMODE to NEWFUNC. The mistake might occur when migrating to a newer version of IBM MQ using CSQ6SYSP statements prepared for an older version of the queue manager. It might also occur using a CSQ6SYSP parameter module built with an older version of the SCSQMACS macros.

Querying the value of OPMODE

If you query the value of OPMODE on a running queue manager, with the command DISPLAY SYSTEM, the result is displayed as three values in the following format:
compatibility mode, compatibility VRM, function VRM
where VRM is a release level.
Note: This syntax is different from the OPMODE parameter of CSQ6SYSP, and some of the values have a different meaning.

The value of compatibility VRM is the release level you can revert the queue manager back to. If the queue manager is newly created at IBM MQ 9.0.0, then VRM=900. If the queue manager was previously run at IBM WebSphere® MQ 7.1.0, and is still capable of reverting to run at that version, then VRM=710.

The value of function VRM is the release level of the new functions that are available. In a queue sharing group, this depends on the OPMODE of the other queue managers in the queue sharing group as well.

Enabling new function in a queue sharing group

Each queue manager in a queue sharing group must have OPMODE set to OPMODE=(NEWFUNC,vrm), where vrm is 800, 900, or 901, and be restarted in order for any queue manager in the queue sharing group to use IBM MQ 8.0 function.

This means that there are effectively two phases to enabling IBM MQ 8.0 new function in a queue sharing group:
  1. The first restart with OPMODE set to OPMODE=(NEWFUNC,800), or higher, prevents the queue manager from being reverted to run on an earlier release level.

    Queue managers migrated from IBM MQ 8.0 to 9.0.0 can be restarted with OPMODE set to OPMODE=(NEWFUNC,800) without being prevented from reverting to run at IBM MQ 8.0.

  2. The second restart, when all other queue sharing group members have already been restarted with OPMODE set to OPMODE=(NEWFUNC,800), or OPMODE=(NEWFUNC,900) on an LTSR queue manager, and therefore cannot revert to run on a release level earlier than IBM MQ 8.0, allows IBM MQ 8.0 new function to be used.
For example, in a queue sharing group containing three queue managers, there will be a total of five queue manager restarts required to enable IBM MQ 8.0 new function on all queue sharing group members.

Disabling new functions

You can reset OPMODE to OPMODE=(COMPAT,900), after setting OPMODE=(NEWFUNC,900) on an LTS release queue manager, to prevent new functions being used.

If you do so, DISPLAY SYSTEM shows OPMODE as COMPAT,900,710, indicating that you cannot revert the queue manager to a version prior to IBM MQ 9.0.0, and that only IBM WebSphere MQ 7.1.0 new functions are available.

See switching from new function mode to compatibility mode for more information.