Skip to main content

Simplified IBM i Program Conversion

IBM has provided tooling to make it easier to convert your existing programs.

One of the advantages of IBM i is the ability for programs to continue to work from one release to the next without recompilation. You can do a hardware upgrade or install a new release and your applications continue to run, unchanged. Certain releases, such as IBM i 6.1, required the program to be converted, but once you got to 6.1, you could upgrade to 7.1, 7.2, 7.3, and soon 7.4 without converting or recompiling your program. This is often referred to as investment protection; the blog TIMI – Protecting Investments and Integrity in IBM i explains this in more detail.
But as with most things in the world, there is a trade-off to be made. While you can upgrade your hardware or install a new operating system release, if you don’t convert your programs, your application continues to run, but it may not take advantage of new features.
When your program is compiled or converted, it takes advantage of the hardware and software features available at that time. POWER processor-based hardware features get more advanced with every generation and these processor features may improve the overall performance of your application. In addition to hardware features, program conversion can offer improvements to application integrity that may be available in more current operating system releases. That program that was retranslated for IBM i 6.1 on POWER6, now running on 7.3 and POWER9, is not taking advantage of the hardware or software improvements that have been delivered. If you simply convert your program, it will automatically take advantage of the features available.
IBM has provided tooling to make it easier to convert your existing programs. The article, Simplified Program Conversion with QBNCVTPGM and QBNCVTPLST, describes the QBNCVTPGM tool, which is available with a PTF and performs conversion of a single program, service program, or module.  IBM has also provided an example CL program, QBNCVTPLST, to make it easier to convert a set of programs, service programs, or modules, such as all of the program objects in a specific library.

Stay on top of all things tech!
View upcoming & on-demand webinars →