Please don't forget to verify the application programs, making the MQ-calls ...
Moving on to MQ v9.0 (or higher) on IBMi, you have to consider the following change.
From
IBM MQ 9.0, the product no longer provides support for RPG or COBOL applications that use dynamic linkage known as compatibility mode.
Dynamic linkage (compatibility mode) was provided by the following programs in library QMQM, which are removed at
IBM MQ 9.0:
- AMQVSTUB
- AMQZSTUB
- QMQM
- MQCLOSE
- MQCONN
- MQDISC
- MQGET
- MQINQ
- MQOPEN
- MQPUT
- MQPUT1
- MQSET
From IBM MQ 9.0, applications that use this compatibility mode of operation need to be recompiled to use the static bound MQ calls that are provided by the LIBMQM and LIBMQM_R service programs.
In case your application programs are already compiled with these service programs, it will be fine. If this is not the case, please review your application programs using above MQ APIs first. (as from MQ 9, these MQ objects/pgms are no longer available in the QMQM library ... only available and packaged within the service programs !
Kind regards,
Jos
------------------------------
Jos (Jozef) Thijs
Kyndryl Belgium - Kyndryl Consult
------------------------------
Original Message:
Sent: Wed May 24, 2023 03:38 AM
From: NADEEM FAROOQUI
Subject: MQ Upgrade from Version 7.1.0.99 to 9.0.1.2
Hi Luc-Michel Demey,
I am very grateful to you for this support.
Regards
Nadeem Ahmed Farooqui
Project Manager & Sr. Technical Team Lead,
Kyndryl, Pakistan,
Email: nadeem.farooqui@kyndryl.com
Cell: (+92 321- 2196219)
Reception # (+92 21 34329630)

Original Message:
Sent: 5/23/2023 5:58:00 AM
From: Luc-Michel Demey
Subject: RE: MQ Upgrade from Version 7.1.0.99 to 9.0.1.2
Updating MQ on an IBMi is quite similar to updating on distributed systems.
The first step is to prepare a rollback if something should go wrong.
At a minimum, the Queue Manager configuration must be exported:
The DMPMQMCFG command saves the definition of all objects in MQSC format in a source file member.
Eventually, if there have been modifications, it is possible to export a copy of the qm.ini file (located /QIBM/UserData/mqm/<qm_name>/)
If one wants to be very careful, and able to re-install the old version of MQ in case of an incident, it is possible to save the current binaries:
ENDMQM <qm_name>
ENDSBS QMQM
CRTLIB LIB(MQ71_BKP)
CRTSAVF FILE(MQ71_BKP/MQBASE)
CRTSAVF FILE(MQ71_BKP/MQOPT1)
...
SAVLICPGM LICPGM(5724H72) DEV(*SAVF) OPTION(*BASE) LNG(*ALL) CHKSIG(*NONE) SAVF(MQ71_BKP/MQBASE)
SAVLICPGM LICPGM(5724H72) DEV(*SAVF) OPTION(1) LNG(*ALL) CHKSIG(*NONE) SAVF(MQ71_BKP/MQOPT1)
...
Then you have to prepare the binaries of the new version :
Once the package is downloaded and dezipped on a PC, you have to create the SAVF on the iSeries and then upload the files in these SAVF:
(for example MQ 9.2)
CRTLIB LIB(MQ92_BIN)
CRTSAVF FILE(MQ92_BIN/MQ92BASE)
CRTSAVF FILE(MQ92_BIN/MQ92SAMP)
...
ftp 10.11.49.3
QSECOFR
<password>
bin
put MQ92BASE MQ92_BIN/MQ92BASE
put MQ92SAMP MQ92_BIN/MQ92SAMP
...
The installation on the iSeries is done "on-top" (no need to remove the old version) :
RSTLICPGM LICPGM(5724H72) DEV(*SAVF) SAVF(MQ92_BIN/MQ92BASE) RSTOBJ(*PGM) OPTION(*BASE) OUTPUT(*PRINT)
RSTLICPGM LICPGM(5724H72) DEV(*SAVF) SAVF(MQ92_BIN/MQ92EN24) RSTOBJ(*LNG) LNG(2924) OUTPUT(*PRINT)
...
Once the installation of MQ 9.0 is finished and the Queue Manager is restarted, it is necessary to migrate very quickly to MQ version 9.2 or 9.3 to return to the supported levels.
The process is the same as above.
Hope This Help !
------------------------------
Luc-Michel Demey
DEMEY CONSULTING
lmd@demey-consulting.fr
#IBMChampion
------------------------------