Before migration
Questions frequently asked before migration and their answers are listed as follows:
- What does COBOL migration refer to?
- Is migrating from COBOL V4 and earlier to COBOL V6 different than migrating from COBOL V3 to V4?
- Will support end for my load modules that have been compiled with earlier versions of COBOL?
- Why do I need to migrate?
- Are there any tools to speed up migration?
- Do I need to recompile everything for the migration?
- Are there any best practices to learn before my migration?
- Where can I get an overview of the complete migration process?
- How do I select the top CPU hitters for my first migration target?
- Are there any education packages available so that I can take a deep dive into migration?
- How can I get support if running into migration issues?
- Once I've migrated to V5 or V6, do I have to worry about invalid data?
- If I find that my programs are using invalid data at run time, but my application results are OK, can I avoid correcting the invalid data problems?
What does COBOL migration refer to?
From a licensing and system programmer perspective, migration means updating your build compiler to a later version, including required source, option, testing, and environment changes. The current migration target is Enterprise COBOL V6.
From a development perspective, migration means recompiling programs with the newer compiler to get the performance benefits and access to new features of COBOL.
Is migrating from COBOL V4 and earlier to COBOL V6 different than migrating from COBOL V3 to V4?
Yes. Since the newer generation of COBOL compilers can use different instructions to make your COBOL programs more efficient, they can reveal hidden and underlying issues with invalid data use at run time. The presence of invalid data can lead to different behaviors, so additional testing is needed. Most customers do not have this problem, but you cannot know in advance if you will run into these problems, thus we have a new recommended migration process.
Will support end for my load modules that have been compiled with earlier versions of COBOL?
No. The already compiled modules using z/OS LE will continue to be supported in production as long as you’re using a supported z/OS level.
Why do I need to migrate?
The necessity is that EOS (End of Service) is announced for Enterprise COBOL V4 and V5. See IBM Software lifecycle website for more information.
- Fully exploiting z/Architecture: Enterprise COBOL V6 has advanced optimization and deep hardware exploitation of the latest IBM mainframes to improve performance.
- Modernizing applications: You can leverage new COBOL language and productivity features, such as JSON, Conditional compilation, new intrinsic functions, 64-bit COBOL applications, and others.
Are there any tools to speed up migration?
Do I need to recompile everything for the migration?
Although it is recommended, you do not have to recompile all of your programs with the newer build compiler. However, only the recompiled programs have performance boost of COBOL V6.
Most COBOL users focus their migration effort on applications or programs that are under active development. You can first analyze the development activity on your applications to determine the key candidates for recompilation. Applications or programs that are not regularly updated do not need to be immediately recompiled. If the source of an applications or a programs is changed, you must recompile the application or program, but if not, you could simply use ABO to improve the performance.
Are there any best practices to learn before my migration?
Yes. In order to avoid a failed migration which is possibly caused by a presence of invalid data in COBOL data items at run time, you can go through a 2-compile and 2-test process with migration options, which were added to the compiler to help migration. You can also use IBM DevOps tools to build and test automatically, which will simplify the migration and further application maintenance and upgrades.
Where can I get an overview of the complete migration process?

How do I select the top CPU hitters for my first migration target?
The following video introduces a way to identify the top CPU hitters in four steps, including identifying peak usage, identifying top job-program pairs, identifying top models, and scanning for COBOL CSECTS.
Are there any education packages available so that I can take a deep dive into migration?
The IBM Enterprise COBOL for z/OS V6 Migration Webinar and Performance Tuning Webinar are both available for clients at no charge. The webinars are hosted regularly via webcasts. Check the upcoming ones and register to join from the COBOL Migration & Performance Webinars.
Past migration webinars can be found at Enterprise COBOL Migration Webinars on Box, and past performance webinars can be found Enterprise COBOL Performance Webinars on Box.
How can I get support if running into migration issues?
You can open a case at COBOL compilers support portal to report migration problems.
Once I've migrated to V5 or V6, do I have to worry about invalid data?
If you have corrected all previous invalid data and you have validated the data your program uses, then no. If you still have invalid data, you may see differences in behaviour after a future migration or when you change the ARCH or OPT options.
If I find that my programs are using invalid data at run time, but my application results are OK, can I avoid correcting the invalid data problems?
No. For some customers who migrated successfully to COBOL V6.1 without testing invalid data, when they moved up to COBOL V6.2 and compiled with ARCH(12) for z14 hardware, their programs started abending on the invalid data. Invalid data could be a problem for years and should be corrected.