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.
| 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:
|
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:
|
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:
|
X | X | |
For COBOL for OS/390 & VM and
later programs only:
|
X | X | ||
For Enterprise COBOL
Version 4 programs only:
|
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:
|
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:
|
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:
|
X | X | |
| Compiler options for COBOL for MVS & VM | The following compiler options are available
to COBOL for MVS & VM and later
programs:
|
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:
|
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.
|
||||