With new ways to engage users through web, cloud, and mobile technologies, COBOL developers are expected to deliver new functions and features faster with higher quality and performance. As modern hardware architectures become more complex, it's becoming increasingly difficult for application developers to simultaneously handle business logic and performance issues in the applications they're working on. They need advanced compilation technology to handle the performance aspects so that they can focus on the business logic.
IBM® Enterprise COBOL for z/OS® V5.1 has been redesigned specifically to meet this need. It has a new optimization framework and a new runtime library infrastructure designed to increase the performance of business-critical COBOL applications.
Enterprise COBOL for z/OS V5.1 provides advanced COBOL-specific optimizations and fully implements IBM® z/Architecture® (z900 through zEC12). According to internal IBM test results and early customer feedback, many well-structured, CPU-intensive batch applications have seen performance increases greater than 10 percent. Increasing the performance of COBOL applications provides savings in CPU utilization and enhances the ability to meet service-level agreements.
Although Enterprise COBOL is both source- and binary-compatible with older releases of COBOL compilers on IBM® System z®, here are a few things you need to know about upgrading to Enterprise COBOL V5.1 because of recent changes to the infrastructure.
Partitioned data set extended (PDSE) load library data sets
Enterprise COBOL V5 executables are program objects that can only reside in PDSE data sets. This is not an entirely new requirement. Enterprise COBOL V4 used program objects and PDSE for long names, COBOL/Java interoperability, and DLL support.
If you are currently using PDS data sets for load libraries, you need to move to PDSE data set load libraries before running COBOL V5 programs. Otherwise, when you try to bind a COBOL V5 object program into a PDS dataset, the operation will fail with this error message:
IEW2606S 4B39 MODULE INCORPORATES VERSION 3 PROGRAM OBJECT FEATURES AND CANNOT BE SAVED IN LOAD MODULE FORMAT.
Although the process of moving COBOL load libraries to PDSE is fairly straightforward, you need to do some advanced planning and resource coordination.
To run Enterprise COBOL for z/OS 5.1, you must have the following prerequisite hardware, software, and PTFs installed.
System z hardware
Enterprise COBOL for z/OS 5.1 has a minimum hardware requirement of z990/z890. Programs compiled with the new COBOL 5.1 compiler will not run on machines with processor architectures earlier than z990/z890. They will fail with an operation exception 0C1.
The following software must be installed:
- z/OS V1R13 or later
- IBM® CICS® Transaction Server, V3 or later
- IBM® DB2® V9 or later
- IBM® IMS™ V11 or later
- IBM® Problem Determination Tools for z/OS® V12 or later (Debug Tool for z/OS, Fault Analyzer for z/OS, and Application Performance Analyzer for z/OS V13)
- IBM® Rational® Developer for System z® V9
As of Enterprise COBOL for z/OS V5.1, you must use SMP/E FIXCAT to identify all required service PTFs needed by the new COBOL compiler. Required PTFs are not listed in the Enterprise COBOL for z/OS V5.1 Migration Guide or PSP buckets.
SMP/E FIXCATs help you to obtain the most accurate, up-to-date information
about required PTFs for Enterprise COBOL for z/OS V5.1. They are also the
easiest and the most expedient way to determine whether you have installed
all prerequisite PTFs for Enterprise COBOL V5.1. Use
FIXCAT keyword for COBOL in the SMP/E
Enterprise COBOL V5.1 requires SMP/E V3R5 or later support for FIXCAT HOLDDATA for target system PTF verification.
Data sets and memory
Enterprise COBOL for z/OS 5.1 requires more data sets and more memory at compile time because it enables more aggressive optimizations to increase the performance of COBOL programs.
In addition to the work data sets SYSUT1-SYSUT7 used by earlier COBOL compilers, Enterprise COBOL v5.1 requires SYSUT8-SYSUT15 and SYSMDECK. The recommended region size is 200MB.
Enterprise COBOL V5.1 can automatically generate SMF89 records, which can be used by the Sub-capacity Reporting Tool (SCRT) V21.2.0. With Enterprise COBOL V5, you no longer need to manually track usage of the COBOL compiler.
Enterprise COBOL for z/OS V5.1 did not support static linking of a COBOL program with other AMODE 24 objects. It only allowed dynamic calls between a program compiled with Enterprise COBOL 5.1 program and AMODE 24 objects. This limitation is now removed in Enterprise COBOL for z/OS V5.1.1 with APAR PM93583. Both static linking and the running of AMODE24 objects are now supported by the new COBOL compiler. However, in some cases the running AMODE 24 is not supported. These limitations are now the same as the limitations in Enterprise COBOL for z/OS V4.
Enterprise COBOL for z/OS V5.1.1 is a cumulative PTF. It is not a complete refresh of the product. You can download it from the Support Portal. Move to this level, if at all possible.
Enterprise COBOL for z/OS V5.1 does not ship an XML parser as part of the
COBOL runtime library. As a result,
XML PARSE in Enterprise COBOL V5 uses
the IBM® z/OS® XML System Services XML, the most current
IBM XML parsing technology.
It provides the following benefits:
- Ability to offload CPU-intensive XML parsing workload to specialty processors
- Enhanced capabilities such as XML namespaces and direct support for XML documents encoded in UTF-8
- Ability to parse large XML documents, one buffer at a time
Although IBM is considering user requests to restore the XML parser shipped in Enterprise COBOL V3 and V4 to Enterprise COBOL V5, the z/OS XML System Services parser is the recommended technology. Because of the difference in behaviors between these parsers, you might need to make some changes to existing COBOL programs to use the z/OS XML System Services parser. You can start the migration effort with Enterprise COBOL V4.2 by installing the following PTFs:
PM85035 for XML-INFORMATION (new function)
PM87347 (LE APAR) for XML-INFORMATION (new run-time support)
Language Environment (LE) migration
If you have not already done so, you need to complete your migration to LE to use Enterprise COBOL for z/OS V5.1. Check for the following issues:
- The Language Environment data set SCEERUN is installed in LNKLST or LPALST.
- LINKLST or LPALST contains no instances of COBLIB, VSCLLIB, or COB2LIB.
- JCL STEPLIB or JOBLIB statements in batch jobs or in CICS startup JCL contain no instances of COBLIB, VSCLLIB, or COB2LIB in JCL STEPLIB or JOBLIB statements in batch jobs or in CICS startup JCL.
- All statically bound runtime library routines (for programs compiled
with NORES) have been replaced (using the
REPLACElinkage editor control statement) with routines from Language Environment.
- All VS COBOL II bootstrap modules IGZEBST have PN74000 applied or have been replaced with the LE version.
OS/VS COBOL programs
You cannot mix OS/VS COBOL programs with programs compiled with Enterprise COBOL V5.1. You must migrate them to Enterprise COBOL. Use one of the following methods to determine whether you still have OS/VS COBOL programs:
- Use LMA in the Debug Tool to scan load libraries.
- Use an object scanner to scan load libraries.
- Install the fix for APAR PM86742 to z/OS Language Environment to
receive the following warning messages whenever OS/VS COBOL programs
IGZ0268W An invocation was made of OS/VS COBOL program program-name
IGZ0269W program-lang version program-version program program-name made a call to OS/VS COBOL program program-name
VS COBOL II programs
If you still have VS COBOL II NORES programs, you need to recompile them with Enterprise COBOL so that they can work with Enterprise COBOL V5.
Enterprise COBOL Developer Trial
To help you plan and assess the value your applications gain from upgrading to Enterprise COBOL V5.1, try the generally available developer trial. Enterprise COBOL Developer Trial for z/OS V5.1 has the same functions as the full product, and comes with a 90-day, no-charge evaluation license that does not initiate single-version charging (SVC). The trial has no restrictions in function or performance. The only difference is that the trial version can be used only in non-production environments, and code compiled with it cannot be used in production.
Enterprise COBOL Developer Trial for z/OS V5.1.1 includes AMODE24 support.
With the new optimization framework in Enterprise COBOL for z/OS V5.1, users of COBOL on System z can take advantage of significant performance improvements, new modernization features, and problem determination capabilities.
The optimization framework provides a solid foundation for delivering a release-to-release performance improvement. Stay current with latest COBOL technology after upgrading to Enterprise COBOL V5, to make full use of these improvements.
- Learn more about migrating to Enterprise COBOL V5.1 in the Enterprise COBOL V5.1 Migration Guide.
- Explore the Rational software area on developerWorks for technical resources, best practices, and information about Rational collaborative and integrated solutions for software and systems delivery.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Attend a free developerWorks Live! briefing to get up-to-speed quickly on IBM products and tools, as well as IT industry trends.
- Watch developerWorks on-demand demos, ranging from product installation and setup demos for beginners to advanced functionality for experienced developers.
Get products and technologies
- Try building and deploying your next project on the IBM Bluemix cloud platform, where you can take advantage of pre-built services, runtimes, frameworks, application lifecycle management, and continuous integration.
- Download the Enterprise COBOL Developer Trial.
- Evaluate other IBM software in the way that suits you best: Download it for a trial, try it online, or use it in a cloud environment.
- Check out the COBOL Café community.
- Get connected with your peers and keep up on the latest information in the Rational community.
- Check the Rational software forums to ask questions and participate in discussions.
- Ask and answer questions and increase your expertise when you get involved in theRational forums, cafés, and wikis.