Rational Developer for System z
Enterprise COBOL for z/OS, Version 4.1, Compiler and Runtime Migration Guide


Advantages of the new compiler and run time

The Enterprise COBOL compiler and Language Environment run time provide additional functions over OS/VS COBOL, VS COBOL II, and IBM COBOL. Table 1 lists the advantages of the new compiler and run time and indicates whether they apply to VS COBOL II, OS/VS COBOL, IBM COBOL, or all three.

Table 1. Advantages of Enterprise COBOL and Language Environment
    Advantage over
Advantage Notes OS/VS COBOL VS COBOL II IBM COBOL
XML support Enterprise COBOL provides new statements for parsing and generating XML documents. These statements allow programs to transform XML content into COBOL data structures and COBOL data structures into XML documents. X X X
Java interoperation Enterprise COBOL includes object-oriented COBOL syntax that enables COBOL to interoperate with Java. This Java interoperation is also supported under IMS. X X X
Support to run in multiple threads Enterprise COBOL has a toleration level of support for POSIX threads and signals. With Enterprise COBOL, an application can contain COBOL programs running on multiple threads within a process. X X X
Support for Unicode The COBOL Unicode support uses the product z/OS Support for Unicode. X X X
Improved DB2 function Enterprise COBOL includes support for DB2 stored procedures. X X  
Support for the DB2 coprocessor X X *
Improved CICS function Enterprise COBOL includes CALL statement support (for faster CICS performance than when using EXEC CICS LINK) and eliminates the need for BLL cells. See Base addressability considerations for OS/VS COBOL programs. X    
Increased WORKING-STORAGE space for DATA(24) and DATA(31) programs. For DATA(31), the limit is 128M. For DATA(24), the limit is the available space below the 16-MB line. X X  
Support for the Integrated CICS translator X X *
Usability enhancements These enhancements include:
  • Large literals in VALUE clauses on COMP-5 items or BINARY items with TRUNC(BIN)
  • Function-pointer data type
  • Arguments specifying ADDRESS OF
X X X
COBOL language improvements Ability to perform math and financial functions in COBOL, using Intrinsic Functions. You can replace current routines written in FORTRAN or C with native COBOL code, thus simplifying your application logic. X X  
Above-the-line support Virtual Storage Constraint Relief (VSCR) allows your programs to reside, compile, and access programs below or above the 16-MB line. X    
QSAM buffers can be above the 16-MB line for optimal support of DFSMS and data striping. X X  
COBOL EXTERNAL data can now be above the line. X X  
31-digit support Enterprise COBOL added support for numbers up to 31 digits when the ARITH(EXTEND) option is used. X X *
z/OS UNIX system services support The cob2 command can be used to compile and link COBOL programs in the z/OS UNIX shell. COBOL programs can call most of the C language functions defined in the POSIX standard. X X  
Error recovery options Programmers now have the ability to have application-specific error-handling routines intercept program interrupts, abends, and other software-generated conditions for error recovery. This is done using Enterprise COBOL programs with Language Environment callable services to register the user-written condition handlers. Language Environment handles all condition management. X X  
Cost savings If your shop uses multiple languages, you could see a cost savings by replacing multiple language run times with the single Language Environment run time. Talk with your IBM representative to evaluate the potential cost savings based on the number of current licenses and languages used by your shop. X X  
High-precision math routines Using Language Environment callable services, your programs can return the most accurate results. X X  
Support for multiple MVS tasks RES applications can now execute independently under multiple MVS tasks. (For example, running two Enterprise COBOL programs at the same time from ISPF split screens.) X X  
Performance Faster arithmetic computations X    
Faster dynamic and static CALL statements   X  
Improved performance of variable-length MOVEs   X  
Faster CICS performance if using the Language Environment CBLPSHPOP runtime option to prevent PUSH HANDLE and POP HANDLE for CALL statements. X    
Improved performance for programs compiled with TRUNC(BIN). COBOL for OS/390 & VM Release 2 added support to generate more efficient code when the TRUNC(BIN) compiler option is used. X X  
Improved ILC With the common Language Environment library, ILC is improved between COBOL and other Language Environment-conforming languages. For example, interlanguage calls between COBOL and other languages are faster under Language Environment, because there is significantly less overhead for each CALL statement. Additionally, on CICS, you can use the CALL statement to call PL/I or C programs in place of EXEC CICS LINK. X X  
Character manipulation Improved bit and character manipulation using hex literals. Improved flexibility with character manipulation using reference modification X    
Top-down modular program development Support for top-down modular program development through nesting of programs and improved CALL and COPY functions X    
Structured Programming Support Support for structured programming coding through:
  • Inline PERFORM statements
  • The CONTINUE place-holder statement
  • The EVALUATE statement
  • Explicit scope terminators (for example: END-IF, END-PERFORM, END-READ)
X    
COBOL 85 Standard conformance Support for the COBOL 85 Standard X    
Support for Amendment 1 (Intrinsic Functions Module) of the COBOL 85 Standard X X  
Subsystem support Improved support for IMS, ISPF, DFSORT™, DB2, WAS X    
Support for reentrancy All OS/VS COBOL programs are nonreentrant. Only reentrant programs can be loaded into shared storage (LPA or Shared Segments). X    
Support for Debug Tool Debug Tool provides the following benefits:
  • Interactive debugging of CICS and non-CICS applications
  • Interactive debugging of batch applications
  • Full-screen debugging for CICS and non-CICS applications
  • Debugging of mixed languages in the same debug session
  • Ability to debug programs that run on the host
  • Working in conjunction with Rational® Developer for System z, the ability to debug host programs from the workstation using a graphical user interface
X X  
For COBOL for OS/390 & VM and later programs only:
  • Dynamic Debug feature which allows COBOL programs compiled without hooks to be debugged.
  • The SEPARATE suboption added to the TEST compiler option. Using this option produces a separate debug file that Debug Tool uses when debugging COBOL programs.
X X  
For Enterprise COBOL Version 4 programs only:
  • New compiler TEST suboption EJPD allows GOTO/JUMPTO in programs also compiled with OPTIMIZE.
X X X
Runtime options ABTERMENC and TERMTHDACT- allow you to control error behavior. X X  
CBLQDA - allows you to control dynamic allocation of QSAM files.   X  
LANGUAGE - allows you to change language of runtime error messages. X    
RPTSTG - allows you to obtain storage usage reports. X    
Storage options - allow you to control where storage is obtained and the amount of storage used. X X  
Compiler options for Enterprise COBOL Version 4 The following compiler options are available to Enterprise COBOL Version 4 programs only:
  • XMLPARSE - controls whether the z/OS System Services parser or the existing COBOL parser is used for XML PARSE statements. With the XMLPARSE(COMPAT) option, XML parsing is compatible with Enterprise COBOL Version 3. With the XMLPARSE(XMLSS) options, the z/OS System Services parser is used and new XML parsing capabilities are enabled.
  • OPTFILE - controls whether compiler options are read from a data set specified in a SYSOPTF DD statement.
  • SQLCCSID - controls coordination of the coded character set ID (CCSID) between COBOL and DB2.
X X X
Compiler options for Enterprise COBOL Version 3 The following compiler options are available to Enterprise COBOL Version 3 and later programs only:
  • CICS - enables the integrated CICS translator capability and specifies CICS options. NOCICS is the default.
  • CODEPAGE - specifies the code page used for encoding contents of alphanumeric and DBCS data items at run time as well as alphanumeric, national, and DBCS literals in a COBOL source program.
  • MDECK(COMPILE, NOCOMPILE) - controls whether output from library processing is written to a file and whether compilation continues normally after library processing and the generation of the output file.
  • NSYMBOL(NATIONAL, DBCS) - controls the interpretation of the "N" symbol used in literals and picture clauses, indicating whether national or DBCS processing is assumed.
  • THREAD - indicates that the COBOL program is to be enabled for execution in a Language Environment enclave with multiple POSIX threads or PL/I tasks. The default is NOTHREAD.
X X X
Compiler options for COBOL for OS/390 & VM The following compiler options are available to COBOL for OS/390 & VM and later programs only:
  • DLL - enables the compiler to generate an object module that is enabled for Dynamic Link Library (DLL) support.
  • EXPORTALL - instructs the compiler to automatically export certain symbols when the object deck is link-edited to form a DLL.
X X  
Compiler options for COBOL for MVS & VM The following compiler options are available to COBOL for MVS & VM and later programs:
  • CURRENCY - allows you to define a default currency symbol for COBOL programs.
  • OPTIMIZE(FULL) - OPTIMIZE with the new suboption of FULL optimizes object programs and provides improved runtime performance over both the OS/VS COBOL and VS COBOL II OPTIMIZE options. The compiler discards unused data items and does not generate code for any VALUE clauses for the discarded data items.
  • PGMNAME(COMPAT,LONGUPPER,LONGMIXED) controls the handling of program names in relation to length and case.
  • RMODE(AUTO,24,ANY) - allows NORENT programs to reside above the 16-MB line.
X X  
Other COBOL Compiler options Enterprise COBOL provides, as does IBM COBOL and VS COBOL II, compiler options that give you added control over compiler output, such as:
  • Object code generation
  • Compiler usage of virtual storage
  • Listings, maps, and diagnostics
  • Runtime debugging information
  • Customized reserved word lists
  • Processing COPY or BASIS statements
  • Text of compiler error messages
  • Language of error messages
X    
Note: * The integrated DB2 coprocessor, integrated CICS translator, and 31-digit support were added as new features to COBOL for OS/390 & VM, Version 2 Release 2.

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)