Prepare to upgrade to Enterprise COBOL for z/OS V5

The things you should know

IBM Enterprise COBOL V5.1 was released in 2013. It provides significant performance improvement to COBOL applications. This article focuses on changes that you need to be aware of as you prepare for the upgrade. It includes an overview of improvements in the modernized COBOL compiler.

Roland Koo (rkoo@ca.ibm.com), Product manager, Compilers, IBM

author photoBio: Roland Koo is the Product Manager for compilers. He is responsible for C, C++, Fortran, COBOL, and PL/I compiler products on IBM System z and IBM Power Systems. He has held a number of management positions in the compiler development area and has written several articles in IBM System magazines.



Tom Ross (tmross@us.ibm.com), Lead developer COBOL compiler, IBM

author photoTom Ross has worked in COBOL development for over 30 years and has written articles, sections of COBOL publications, and customer presentations; collaborated on white papers; and written many IBM support documents for customer service issues.



28 May 2014

Overview

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.


Prerequisites

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.

Software

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

Required PTFs

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 Enterprise-COBOL.V5R1 as the FIXCAT keyword for COBOL in the SMP/E MISSINGFIX command.

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.


SMF

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.


AMODE 24

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.


XML Parse

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 REPLACE linkage 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 are run:
    • 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.


Summary

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.

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Rational software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational, DevOps
ArticleID=972593
ArticleTitle=Prepare to upgrade to Enterprise COBOL for z/OS V5
publish-date=05282014