z/OS: OPMODE

The availability of new functions and backward migration for IBM® MQ for z/OS® is controlled by the OPMODE parameter in the CSQ6SYSP macro. To access V8.0 capabilities, change the value of OPMODE to OPMODE=(NEWFUNC,800). To restrict the use of new capabilities, and retain the ability to revert the queue manager to its earlier level, leave OPMODE at its default setting, OPMODE=(COMPAT,800).

The default setting of OPMODE at V8.0 is OPMODE=(COMPAT,800). The default settings for a queue manager, when initially run at V8.0, restrict it to a limited set of the new functions. The restriction makes it possible to revert a queue manager to its earlier release level, if you must do so.

If you query the value of OPMODE with the command DIS SYSTEM , the result is (NEWFUNC, VRM), where VRM is a release level. VRM is the same as the queue manager command level. The value of VRM is the release level you can revert the queue manager back to. If the queue manager is newly created at V8.0, then VRM=800. If the queue manager was previously run on V7.1.0, then VRM=710.

Make all the new functions in the release available to a queue manager by setting OPMODE to OPMODE=(NEWFUNC,800). If you change the setting of OPMODE for a queue manager to OPMODE=(NEWFUNC,800), you can no longer revert the queue manager to run on an earlier release level.

Each queue manager in a queue sharing group (QSG) must have OPMODE set to OPMODE=(NEWFUNC,800) and be restarted in order for any queue manager in the QSG to utilize Version 8.0 function.

This means that there are effectively two phases to enabling Version 8.0 new function in a QSG:
  1. The first restart with OPMODE set to OPMODE=(NEWFUNC,800) prevents the queue manager from being reverted to run on an earlier release level.
  2. The second restart, when all other QSG members have already been restarted with OPMODE set to OPMODE=(NEWFUNC,800), and therefore cannot revert to run on an earlier release level, allows Version 8.0 new function to be used.
For example, in a QSG containing three queue managers, there will be a total of five queue manager restarts required to enable Version 8.0 new function on all QSG members.

You can reset OPMODE to OPMODE=(COMPAT,800), after setting OPMODE=(NEWFUNC,800), to prevent new functions being used. If you do so, DIS SYSTEM shows OPMODE=(COMPAT,800) rather than OPMODE=(COMPAT,710), indicating that you cannot revert the queue manager to V7.1.0.

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

The default setting of OPMODE is OPMODE=(COMPAT,800) .

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.
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; 800, 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.

At queue manager startup, if the VerificationLevel does not match the release level of the queue manager, then COMPAT mode is forced.

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.

If you need assistance to revert to an earlier version of IBM MQ, contact your IBM support center.