COBOL Migration to 6.x – Why should We Migrate?

Written by Vijaya Lakshmie

Country Manager at Royal Cyber

Worldwide majority of applications are on COBOL that includes domains like banking, Insurance, Retails, etc. and approximately 80% of business transactions use COBOL code. So, COBOL is everywhere and most people interact with it daily.

Migrating to COBOL v6 from COBOL v4 and other earlier versions is quite different from COBOL migrations, which we did in the last 30 to 40 years because this latest version uses a newer generation of technology.

Reason for Migration:

Let us look at the COBOL Compiler version history and why we should migrate.

Compiler versions/majority of our business applications used were: OS/VS Cobol, VS COBOL-II, COBOL for OS/390, Enterprise COBOL 3.x and then Enterprise COBOL 4.x. Enterprise COBOL v4.x had all the features compatible with hardware/software. It provided an option to run the older version of the application without any change/migration and run existing VS COBOL II and OS/VS COBOL load modules under Language Environment, including link-edit requirements for support.

But then from v 4 to v5.x or 6.x had a significant change in terms of architecture and software features.

The new z Architecture with new compiler versions has two major benefits:

  • New Architecture and its feature in improving the application performance with the use of the latest Advanced Optimization Technology to help reduce the CPU utilization and operational cost.
  • V6.x also helps to application to modernize features like support for XML, JSON, utf-8, and designed to extend the application to Web, Cloud and Mobile Infrastructures.
Also, COBOL Compiler v 4.2 will be going out of support in September 2021.

What is New in Cobol Compiler v6.x

  • Compiler and Runtime Support for z15 Architecture and z/OS v2.x Operation System
  • Improved efficiency in processing utf-8 data type
  • Support on 64-bit addressing mode, which will allow application data item to access up to 2GB without any change in program logic
  • Improves Application Performance, reduces the CPU utilization and Saves MIPS
  • Automatic Binary Optimizer (ABO) improves the executable (either Load Module or Program Object), without using the source
  • Not so good: More optimal instructions can process invalid data differently, causing different runtime behavior

Migration Strategy

Common Issues in Migrations

Around 25% of customers migrating to COBOL V6 encounter migration problems as a result of COBOL programs processing invalid data at run time.

To determine if users have invalid data, the recommendation is to compile a program:

Compile with SSRANGE, NUMCHECK, PARMCHECK and OPT(O) for initial code changes and unit tests to find table misuse, invalid data use and invalid parameter usage.

OPT(0) programs are simple to debug, compiles quickly.

Look at runtime logs for NUMCHECK, etc., error messages.

Recompile with NOSSRANGE, NONUMCHECK, NOPARMCHECK and OPT(2) plus INITCHECK for quality assurance test and production

NOSSRANGE, NONUMCHECK and NOPARMCHECK are required for good performance

OPT(2) is preferred for excellent performance in production

Inspect listings for INITCHECK messages

Royal Cyber Experience:

  • Skills, Experience and Expertise in COBOL Migration
  • Custom script to analyze the programs for unsupported verbs and report the list of programs to undergo code changes
  • Custom script on recompiling the code
  • Automation on Bulk Compilation
  • Test Strategy and Recommendations

For more details, check the link:

Leave a Reply