THE IBM COBOL FAMILY Document Number ADWCOBOL/COBOLWPL October 24, 1995 IBM Santa Teresa Laboratory San Jose, California FIFTH EDITION (OCTOBER 1995) (C) COPYRIGHT INTERNATIONAL BUSINESS MACHINES CORPORATION 1995. ALL RIGHTS RESERVED. Note to U.S. Government Users -- Documentation related to restricted rights -- Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp. NOTICES _______ References to IBM products herein does not mean that IBM intends to make such products available in all countries around the world. This paper does not represent a commitment that IBM or any of the vendors mentioned herein will make generally available any specific products in the future. TRADEMARKS __________ The following terms, denoted by an asterisk (*) on their first occur- rences in the body of this paper, are trademarks of International Business Machines Corporation in the United States and/or other countries: AIX Integrated Language Environment AIXwindows Language Environment AS/400 MVS/ESA C/C++ for MVS/ESA OpenEdition C/370 OS/2 CICS OS/400 CICS/ESA POSIX COBOL for MVS & VM SOMobjects COBOL for VSE/ESA System Object Model (SOM) COBOL/370 S/370 COBOL POWERbench for AIX S/390 CUA TeamConnection for OS/2 DataAtlas VisualAge DB2 VisualLift DB2 for AIX VSAM DB2 for OS/2 VSE/ESA IBM WorkFrame/2 IMS XL/Fortran IMS/ESA The following terms, denoted by a double asterisk (**) on their first occurrences in the body of this paper, are trademarks or registered trademarks of other companies: Btrieve is a registered trademark of NOVELL Corporation. ENCINA SFS** is a registered trademark of Transarc Corporation. Micro Focus and Micro Focus COBOL Workbench are registered trade- marks of Micro Focus. Micro Focus Dialog System and Micro Focus Toolbox are trademarks of Micro Focus. UNIX is a registered trademark of NOVELL Corporation. Windows & WIN32S are registered trademarks of Microsoft Corpo- ration. iii CONTACTS ________ Independent Software Vendors interested in the Language Environment Partner Program may fax a request for infor- mation to (408) 463-2425. Please specify interest in the LE Partner Program and include your name, phone number and mailing address. For additional information on the IBM COBOL Family, please call 1-800-IBM-3333 extension 703. Or send a note to USIB2HC6 at IBMMAIL. iv IBM COBOL Family CONTENTS ________ EXECUTIVE SUMMARY . . . . . . . . . . . . . . . . . . 1 WHAT'S NEW IN THE IBM COBOL FAMILY . . . . . . . . . 3 IBM VisualAge for COBOL for OS/2 . . . . . . . . . . 4 IBM COBOL Set for AIX . . . . . . . . . . . . . . . . 8 IBM COBOL for MVS & VM Release 2 . . . . . . . . . 11 IBM Object-Oriented COBOL . . . . . . . . . . . . . 15 The COBOL Strategy . . . . . . . . . . . . . . . . 16 APPENDIX A. THE IBM COBOL FAMILY . . . . . . . . . 17 IBM COBOL for MVS & VM . . . . . . . . . . . . . . 18 IBM Language Environment for MVS & VM . . . . . . . 20 IBM CoOperative Development Environment/370 (CODE/370) . . . . . . . . . . . . . . . . . . . . 22 Other Host COBOL Compilers for MVS & VM . . . . . . 23 Migrating from OS/VS COBOL . . . . . . . . . . . 24 VS COBOL II . . . . . . . . . . . . . . . . . . . 25 Benefits of COBOL Migration . . . . . . . . . . . 25 COBOL and CICS/VS Command Level Conversion Aid (CCCA) 26 IBM COBOL for VSE/ESA . . . . . . . . . . . . . . . 27 IBM Language Environment for VSE/ESA . . . . . . . 28 Other Host COBOL Compilers for VSE . . . . . . . . 30 Migrating from DOS/VS COBOL . . . . . . . . . . . 30 VS COBOL II . . . . . . . . . . . . . . . . . . . 31 Benefits of COBOL Migration . . . . . . . . . . . 31 COBOL and CICS/VS Command Level Conversion Aid (CCCA) for VSE . . . . . . . . . . . . . . . . . . . . . 32 IBM ILE COBOL/400 . . . . . . . . . . . . . . . . . 33 IBM VisualAge for COBOL for OS/2 . . . . . . . . . 33 IBM COBOL Set for AIX . . . . . . . . . . . . . . . 33 COBOL Structuring Facility . . . . . . . . . . . . 33 CICS Application Migration Aid . . . . . . . . . . 35 COBOL Report Writer Precompiler . . . . . . . . . . 35 EDGE Portfolio Analyzer - COBOL and PL/I Migration Tool . . . . . . . . . . . . . . . . . . . . . . . 35 IBM COBOL POWERbench for AIX . . . . . . . . . . . 36 Interactive System Productivity Facility (ISPF) . . 37 ReDiscovery . . . . . . . . . . . . . . . . . . . . 38 IBM TeamConnection for OS/2 . . . . . . . . . . . . 39 IBM VisualLift . . . . . . . . . . . . . . . . . . 39 Workstation Interactive Test Tool (WITT) . . . . . 40 APPENDIX B. THE EXTENDED IBM COBOL FAMILY LANGUAGES 41 Assembler . . . . . . . . . . . . . . . . . . . . . 41 C & C++ . . . . . . . . . . . . . . . . . . . . . . 41 Fortran . . . . . . . . . . . . . . . . . . . . . . 42 PL/I for MVS & VM . . . . . . . . . . . . . . . . . 43 (C) Copyright IBM Corp. 1995 v APPENDIX C. IBM COBOL SERVICES . . . . . . . . . . 45 AD Environment Assessment . . . . . . . . . . . . . 45 COBOL Migration Assessment . . . . . . . . . . . . 46 Quick Start . . . . . . . . . . . . . . . . . . . . 47 Proof Of Concept . . . . . . . . . . . . . . . . . 47 Migration Services . . . . . . . . . . . . . . . . 47 Customized Education . . . . . . . . . . . . . . . 48 vi IBM COBOL Family EXECUTIVE SUMMARY _________________ IBM'S 24 OCTOBER 1995 ANNOUNCEMENT REPRESENTS THE MOST SWEEPING COBOL ENHANCEMENTS IN A DECADE! IBM* IS ENRICHING ITS COBOL FAMILY OFFERING BY O BRINGING THE INDUSTRY'S PREMIER COBOL TECHNOLOGY TO THE WORKSTATION O PROVIDING A VISUAL WORKSTATION DEVELOPMENT ENVIRON- MENT O ADDING OBJECT-ORIENTED EXTENSIONS FOR THE WORKSTATION AND HOST O INTRODUCING INTEGRATED TEAM DEVELOPMENT O IMPROVING PRODUCTIVITY AND EASE-OF-USE O OFFERING ENVIRONMENTS AND FACILITIES FOR CLIENT/SERVER APPLICATION DEVELOPMENT. WORKSTATION COBOL IS BEING DELIVERED INITIALLY IN THE IBM VISUALAGE* FOR COBOL FOR OS/2* AND THE IBM COBOL SET FOR AIX* DEVELOPMENT SYSTEMS. COBOL APPLICATIONS WILL BE ABLE TO DEFINE AND ACCESS OBJECTS ENABLED TO SYSTEM OBJECT MODEL (SOM)*, IBM'S STRATEGIC OBJECT-ORIENTED TECHNOLOGY. A WIDE SET OF TOOL FUNCTIONS TO SUPPORT APPLICATION DEVELOPMENT ARE INTEGRATED WITH THE WORKSTATION AND HOST ENVIRONMENTS. THESE TOOLS PROVIDE PROGRAM STRUCTURING, APPLICATION AND PROGRAM UNDERSTANDING, AND AN ARRAY OF TESTING FUNCTIONS. UTILIZING A COMPREHENSIVE INTEGRATION APPROACH, THE IBM COBOL ENVIRONMENT WILL ALSO LINK TO THE NEWLY ANNOUNCED "IBM TEAMCONNECTION FOR OS/2"*. ALL OF THE TOOLS WILL SUPPORT LIBRARY MANAGEMENT, DATA DIC- TIONARY, DATA MODELING AND DATABASE DESIGN TO PROVIDE A COMPREHENSIVE TEAM DEVELOPMENT ENVIRONMENT FOR IBM COBOL CUSTOMERS. CUSTOMERS WILL BE ABLE TO CREATE HIGH-PERFORMANCE APPLI- CATIONS RUNNING ON HOST SYSTEMS, ON WORKSTATIONS AND IN HETEROGENEOUS CLIENT/SERVER SYSTEMS WITH IMPROVED DATA ACCESS TO DB2*, IMS*, CICS*, AND VSAM*. BY HELPING PRO- GRAMMERS CREATE TRANSACTIONS, DATABASE ACCESS AND VISUAL LINKING OF PROGRAM COMPONENTS, THE VISUAL DEVELOPMENT ENVIRONMENT'S POWERFUL NEW CAPABILITIES EXTEND FAR BEYOND CREATING GRAPHICAL USER INTERFACES. WITH THE ANNOUNCEMENTS OF IBM VISUALAGE FOR COBOL FOR OS/2, IBM COBOL SET FOR AIX, AND IBM COBOL FOR MVS & VM RELEASE 2 ON 24 OCTOBER 1995, IBM IS HELPING CUSTOMERS LEVERAGE THE INVESTMENT THEY HAVE MADE IN THEIR COBOL (C) Copyright IBM Corp. 1995 1 APPLICATIONS PORTFOLIO AND SKILLS. IT ALSO LEVERAGES EXISTING LINKAGES TO CORPORATE DATABASES (RELATIONAL AND NON-RELATIONAL), MULTIPLE PLATFORMS (INCLUDING MAINFRAME AND PERSONAL COMPUTERS), AND MULTIPLE TECHNOLOGIES (INCLUDING CLIENT/SERVER, DISTRIBUTED, OBJECT-ORIENTED, AND VISUAL PROGRAMMING CAPABILITIES). 2 IBM COBOL Family WHAT'S NEW IN THE IBM COBOL FAMILY __________________________________ IBM has brought the industry's premier COBOL capability to the workstation and added object-oriented extensions to the existing MVS COBOL compiler as part of a sweeping new set of COBOL products. The visual development envi- ronment provides a rich set of integrated power tools for developing client/server, line-of-business applications. Object-oriented extensions to the COBOL language marry the flexibility and reusability of object-oriented pro- gramming with proven COBOL technology. Workstation COBOL is being delivered initially in the IBM VisualAge for COBOL for OS/2 and the IBM COBOL Set for AIX development systems. Additionally, follow-on work- station platforms will be supported, including the 32-bit Windows** environment and additional UNIX** environments. IBM is expanding the IBM COBOL language to include object-oriented capabilities in IBM VisualAge for COBOL for OS/2, IBM COBOL Set for AIX, and a new release of the host system, IBM COBOL for MVS & VM* (new name for IBM COBOL/370*). Additional object-oriented environments will be added in the future as the environments support System Object Model (SOM). COBOL applications will be able to define and access objects enabled to System Object Model (SOM), IBM's strategic object-oriented tech- nology. The host capabilities of IBM COBOL have been enhanced in IBM COBOL for MVS & VM and the new IBM COBOL for VSE/ESA*. The new VSE/ESA languages were available 21 April 1995. The IBM COBOL announcements place the IBM COBOL family as a leader among the products forming IBM's Application Productivity Family. IBM VisualAge for COBOL for OS/2, IBM COBOL Set for AIX, IBM COBOL for VSE/ESA, and IBM COBOL for MVS & VM are compatible with the ANSI 85 Standard, which enables com- patibility between workstations and hosts. This compat- ibility provides multiple options and flexibility for customers to develop and run applications across multiple platforms. IBM's object-oriented COBOL family of products combine the technical and practical advantages of the COBOL lan- guage with the benefits of object-oriented programming. The fact that these products extend the COBOL language, the world's most popular conventional programming lan- (C) Copyright IBM Corp. 1995 3 guage, gives them four distinct advantages over other object-oriented programming languages: 1. The ability to readily interface to, and extend, existing COBOL applications. 2. An abundance of developers with COBOL programming skills (which increases the likelihood that object- oriented COBOL will become the most pervasive object- oriented programming language in the industry). 3. The natural synergy of COBOL, transaction processing, and database access via object-oriented programming provides a compelling reason to use IBM's object- oriented COBOL offerings. 4. The object-oriented features are a natural extension of COBOL. It now will be easier for COBOL developers to get started with object-oriented COBOL while using the same robust COBOL development environment they have grown to depend on. Object-oriented COBOL applications can work with existing COBOL applications, as well as SOM objects written in other languages. IBM VISUALAGE FOR COBOL FOR OS/2 ________________________________ IBM has dramatically enhanced COBOL with visual develop- ment tools (OS/2), object-oriented extensions, and pow- erful client/server support across a wide variety of platforms. The enhancements in IBM VisualAge for COBOL for OS/2 also offer exceptional gains in productivity and flexibility. With desktop-based visual development tools, programmers can begin applications by creating graphical user inter- faces (GUIs). To put substance behind the GUIs, the visual tools and data utility functions allow rapid development to create business logic and access data- bases, VSAM files, and transaction-processing systems. With IBM's COBOL Family, COBOL programmers can use their expertise to create advanced client/server applications, allowing host COBOL applications to move to the desktop, while data remains on the host. IBM VisualAge for COBOL for OS/2 provides the COBOL pro- grammer with 32-bit Direct-to-SOM based, object-oriented support on the OS/2 operating system. In addition, a COBOL application development environment is provided that is designed specifically to handle client/server, mission-critical, line-of-business applications through 4 IBM COBOL Family visual development. IBM VisualAge for COBOL for OS/2 also gives the COBOL programmer a set of high- productivity, OS/2-based power tools for the development of applications targeting OS/2 execution systems. LOCAL AND REMOTE DATA ACCESS: IBM VisualAge for COBOL for _____________________________ OS/2 provides local and remote data access to data including: o IBM SMARTdata UTILITIES (SdU) which provides: - Record-oriented file access through standard COBOL I/O statements to: - Local OS/2 VSAM files - Remote MVS VSAM, SAM, PDS, and PDSE files - Remote OS/400* Record Files - Remote CICS-managed VSAM files on MVS using CICS/DDM - A full set of data conversion APIs for converting single, double, and mixed byte character strings, numerics, and complex structured records - A full set of SMARTsort APIs for sorting, copying, and merging record and byte files located locally or remotely o Direct access to data managed by BTRIEVE** o Support for local and remote DB2 data access using DB2 for OS/2* o Support for local and remote CICS data access using CICS for OS/2 or CICS Client for OS/2. VISUAL GUI DESIGNER: The visual GUI designer provides ____________________ capabilities to allow the building of complex CUA*-compliant screens. The visual interface (GUI work screen) that creates the GUI code is an easy-to-use, intuitive tool for creating graphical interfaces, elimi- nating the need for in-depth GUI development knowledge. Programmers can create applications by selecting controls from the control palette, moving them onto the design editor, thereby providing an integrated ]what you see is what you get" (WYSIWYG) user interface. Either during or after this brief development process, developers may build the application by coding in COBOL logic with COBOL sensitive edit/compile/debug tools. WORKFRAME/2: IBM WorkFrame/2* provides seamless inte- ____________ gration of all the components included in the IBM VisualAge for COBOL for OS/2 product. WorkFrame/2 is a highly configurable, project-oriented application devel- opment environment for use on OS/2 and is specifically designed to take full advantage of the features offered by OS/2. When used as the integration medium for appli- cation development tools, the fully configurable IBM WorkFrame/2 increases the effectiveness of these tools as agents for enhancing user productivity. IBM WorkFrame/2 organizes the programmer's workplace by grouping files What's New in the IBM COBOL Family 5 into logical units or projects. As an organizer, IBM WorkFrame/2: o Adapts to the user's project organization environment instead of the project organization having to fit into the WorkFrame-defined environment o Sets up projects to consist of source and object files spanning multiple directories and one target directory (such as EXE or DLL) o Associates each project with multiple actions, including compiling, debugging, making, linking, browsing, profiling/analyzing, and preprocessing o As a tools integrator, multiple developers can now work concurrently on a single project by plugging in their own source control system. CONTEXT SENSITIVE EDITOR: The LPEX Editor is a language- _________________________ sensitive, color editor which supports COBOL. The LPEX Editor can be used to create and edit many types of text files, including program source and documentation. By automatically parsing COBOL source code, LPEX distin- guishes between language constructs. For instance, lan- guage keywords, comments, string literals, and numbers are displayed using distinctive fonts and colors. Devel- opers can quickly find items they are looking for in their source code. Using LPEX, developers can: o Be made aware of some syntax errors when the source code is created o Use multiple windows to display several documents or to display more than one view of the same document o Dynamically configure LPEX to be a multiple-window or single-window tool o Select a block of text and move or copy it between documents o Cut and paste to a shell or another application o Undo previous changes to a document. Developers can customize and extend virtually every aspect of this programmable editor. LPEX is designed to be extended through dynamic link libraries; there is no proprietary extension language to learn. With the LPEX application programming interface (API), developers can write powerful extensions to the editor using C and C++. In addition, LPEX provides a rich command language that developers can use to create or modify editor functions. Developers can: o Define their own fonts and colors o Modify the editor action key layout o Add menus to perform frequently used commands (menu definitions can be applied on a filename extension basis) o Write their own editor commands. 6 IBM COBOL Family INTERACTIVE DEBUG TOOL FOR OS/2 (IDBUG): The debug tool ________________________________________ supplied with IBM VisualAge for COBOL for OS/2 provides source level debugging built around a set of core func- tions designed to let users quickly and efficiently control execution and analyze data. Users can: o Display and change variables o Display and change storage o Display and change the processor registers o Display the call stack o Add and delete simple and complex breakpoints o Control the execution of multiple threads o View source code as a listing, disassembly or mixed. CICS for OS/2 Version 3.0 transactions built with IBM VisualAge for COBOL for OS/2 can be debugged interac- tively. For PM application programming support, synchronous and asynchronous modes give users two ways to debug PM appli- cations. The application windows can be managed concur- rently with the debug tool windows. PERFORMANCE TUNING: Execution trace analysis and perform- ___________________ ance tuning is provided through the IBM Performance Ana- lyzer. It is designed to help users tune and understand their programs by monitoring program execution and gener- ating a function-by-function trace of the run. This trace can subsequently be examined by utility programs that graphically display the execution trace. Not only does the analyzer trace procedures in the EXE file, but it traces the entry points to system calls application DLLs. DATA ASSISTANT: Data Assistant simplifies the process of _______________ constructing syntactically-correct, embedded SQL state- ments. It gives you a graphical view of your relational database, and allows you to map COBOL data structures to the database and generate SQL statements into your source file. TRANSACTION ASSISTANT: Transaction Assistant enables ______________________ non-CICS COBOL applications to access CICS transactions. OPEN ENTERPRISE: IBM VisualAge for COBOL for OS/2 sup- ________________ ports the high subset of American National Standards Institute (ANSI) COBOL (ANSI X3.23-1985) and Interna- tional Standards Organization (ISO) COBOL (ISO 1989:1985), as well as the Intrinsic Function Module for COBOL (ANSI X3.23a-1989 and ISO 1989/Amendment 1). IBM VisualAge for COBOL for OS/2 permits application pro- grammers to develop OS/2 and client/server applications with the same language and subsystem interfaces program- What's New in the IBM COBOL Family 7 mers use on the host today. Using existing skills, pro- grammers can extend applications or create new applications to run on OS/2. IBM COBOL SET FOR AIX _____________________ IBM COBOL Set for AIX provides the COBOL programmer with Direct-to-SOM based, object-oriented support on the AIX operating system. IBM COBOL Set for AIX provides a COBOL application devel- opment environment that is designed specifically to create client/server, mission-critical, line-of-business applications. IBM COBOL Set for AIX also gives the COBOL programmer a set of high-productivity, AIX-based tools for the development of applications targeting AIX exe- cution systems. IBM COBOL Set for AIX includes local and remote data access, a context sensitive editor (LPEX), Program Builder, Program Debug Tool, Common Desktop Integration of these tools, and COBOL online documentation. LOCAL AND REMOTE DATA ACCESS: IBM COBOL Set for AIX pro- _____________________________ vides local and remote data access to data including: o IBM SMARTdata UTILITIES (SdU) which provides: - Record-oriented file access through standard COBOL I/O statements to: - Local AIX VSAM files - Remote MVS VSAM, SAM, PDS, and PDSE files - Remote OS/400 files - Remote CICS-managed VSAM files on MVS using CICS/DDM - Data managed by IBM ENCINA for AIX Shared File System - Support for local and remote DB2 data access using DB2 for AIX* - Support for local and remote CICS data access using CICS for AIX or CICS Client for AIX. CONTEXT SENSITIVE EDITOR: The LPEX Editor is a language- _________________________ sensitive, color editor which supports COBOL. The LPEX Editor can be used to create and edit many types of text files, including program source and documentation. By automatically parsing COBOL source code, LPEX distin- guishes between language constructs. For instance, lan- guage keywords, comments, string literals, and numbers are displayed using distinctive font and colors. Devel- opers can quickly find items they are looking for in their source code. Using LPEX, developers can: 8 IBM COBOL Family o Be made aware of some syntax errors when the source code is created o Use multiple windows to display several documents or to display more than one view of the same document o Dynamically configure LPEX to be a multiple-window or single-window tool o Select a block of text and move or copy it between documents o Cut and paste to a shell or another application o Undo previous changes to a document. Developers can customize and extend virtually every aspect of this programmable editor. LPEX is designed to be extended through shared libraries; there is no propri- etary extension language to learn. With the LPEX appli- cation programming interface (API), developers can write powerful extensions to the editor using C and C++. In addition, LPEX provides a rich command language that developers can use to create or modify editor functions. Developers can: o Define their own fonts and colors o Modify the editor action key layout o Add menus to perform frequently used commands (menu definitions can be applied on a filename extension basis) o Write their own editor commands. PROGRAM BUILDER: The Program Builder manages the repeti- ________________ tive tasks of compiling, linking, and correcting errors in program source code. The Program Builder: o Provides a graphical user interface to simplify the process of setting and saving compile and linker options o Lists build errors in a window; selecting a compile error in the list will position you at the error in the source code in the LPEX Editor o Creates a makefile that is used by the AIX make command to construct and maintain programs and libraries; the Program Builder also determines build dependencies by scanning the source code files for dependency information. COMMON DESKTOP ENVIRONMENT (CDE): End-user productivity ________________________________ is enhanced in AIX Version 4 with a new user interface for the AIXwindows* Desktop which is based on the Common Desktop Environment. This new graphical user interface is included on both the AIX for Clients and the AIX for Servers packages. The Common Desktop Environment (CDE) integration for COBOL Set for AIX consists of a COBOL application folder which is integrated within the CDE Application Manager. What's New in the IBM COBOL Family 9 The COBOL Set for AIX application folder contains icons representing the COBOL tools and applications. The COBOL application folder will contain icons for the LPEX editor, Program Builder, Program Debugger, and COBOL Online Documentation. CDE Integration of the COBOL tools will allow the user to invoke the tools in a simple and consistent manner. The CDE desktop recognizes different types of files using a data type database. A data type identifies the files of a particular format and associates them with the appro- priate applications. These associations mean that users don't have to remember command line invocations of tools. In most cases when a user double-clicks on a file, the CDE desktop will automatically launch the correct appli- cation that understands that file's data. DEBUG TOOL: The COBOL Set for AIX debug tool helps you __________ detect and diagnose errors in code developed using the COBOL Set for AIX compiler. This intuitive graphical user interface allows you to control execution of the program, examine and modify data (variables, storage, and registers), and perform many other useful functions. Additionally, you can debug C functions that your appli- cations may be using. This debug tool provides source-level debugging and is built around a set of core functions designed to let developers quickly and efficiently control execution and analyze data. With these core functions, developers can: o Display and change variables o Display and change storage o Display and change the processor registers o Display the call stack o Add and delete breakpoints o Control the execution of multiple threads o View source code as listing or disassembly. CICS for AIX Version 2.1 transactions built with IBM COBOL Set for AIX can be debugged interactively. OPEN ENTERPRISE: IBM COBOL Set for AIX supports the high _______________ subset of American National Standards Institute (ANSI) COBOL (ANSI X3.23-1985) and International Standards Organization (ISO) COBOL (ISO 1989:1985), as well as the Intrinsic Function Module for COBOL (ANSI X3.23a-1989 and ISO 1989/Amendment 1). 10 IBM COBOL Family IBM COBOL FOR MVS & VM RELEASE 2 ________________________________ The IBM COBOL family is designed to provide a way to lev- erage programmers' COBOL skills on to the client/server environment with object-oriented capability, tools to support existing and new COBOL applications, COBOL com- piler in a Full Function Offering. An Alternate and visual GUI support. Productivity gains are possible with the support of reuse through object-oriented technology, the Visual Builder, available with IBM VisualAge for COBOL for OS/2, and the workbench tools. With the new tools and object-oriented support these new COBOL products contain, today's IBM COBOL programmer can realize substantial productivity gains. IBM COBOL for MVS & VM Release 2 brings object- oriented programming to the MVS COBOL programmer. The Direct-to-SOM compiler enables the creation of and access to SOMobjects* via native COBOL language syntax (see SOMobjects for MVS Software Announcement 294-637, dated October 4, 1994). SOM is a new object-oriented tech- nology for building and manipulating class libraries. IBM COBOL programmers will be able to both access and develop SOM class libraries with native COBOL syntax. This capability also allows access to SOM objects imple- mented in other languages, in addition to full interoper- ability with existing COBOL applications and data. The following new features of IBM COBOL for MVS & VM Release 2 are MVS specific: o COBOL compiler with object-oriented language exten- sions based on the evolving ISO and ANSI COBOL Stand- ards o Support for the direct creation of SOM objects on the host via native COBOL language syntax o Optional SOM IDL generation o Access to existing SOM-based class libraries. The following new features and enhancements to IBM COBOL for MVS & VM Release 2 are available on both MVS and VM: o Improved interoperability with C and C++ o Source level compatibility with IBM VisualAge for COBOL for OS/2 and IBM COBOL Set for AIX (except for platform-specific language extensions) o Source and object compatibility with IBM COBOL/370 and VS COBOL II o Support for recursive calls o Long and mixed case program names o Performance enhancements. For object-oriented applications, customers must also order SOMobjects for MVS (5696-822). IBM COBOL for MVS & What's New in the IBM COBOL Family 11 VM Release 2 supports the high subset of American National Standards Institute (ANSI) COBOL (ANSI X3.23-1985) and International Standards Organization (ISO) COBOL (ISO 1989:1985), as well as the Intrinsic Function Module for COBOL (ANSI X3.23a-1989 and ISO 1989/Amendment 1). This product meets the specifica- tions of Federal Information Processing Standards (FIPS) Publication 21-3 COBOL, and provides IBM extensions to these standards. IBM COBOL for MVS & VM Release 2 features a mainframe interactive debug tool. The debug tool allows program- mers to debug their applications as they are executing in their native host environments. The mainframe interac- tive debug tool is offered along with the COBOL compiler in a Full Function Offering. An Alternate Function Offering is available for customers who do not wish to receive the debugger with this product. MOVING THE HOST TO THE WORLD OF OBJECTS: Host-based ________________________________________ COBOL moves to the leading edge of application develop- ment productivity with the addition of object-oriented technology to the MVS COBOL environment. Object-oriented extensions let you encapsulate data and functions into objects that can be reused for other applications, rather than developing new code. The object-oriented language extensions in IBM COBOL for MVS and VM (under MVS only) are based on the emerging ISO and ANSI COBOL standards and are natural syntax exten- sions to COBOL - not a new language. These are the same object-oriented extensions you get with IBM VisualAge for COBOL for OS/2 and IBM COBOL Set for AIX, so you can develop object-oriented based host applications on the desktop. These extensions implement a complete object-oriented paradigm that allows you to define object classes, instantiate objects, and have objects inherit character- istics from other classes of objects. You can use IBM's new COBOL products to create language- neutral SOM objects that interoperate with objects created in other SOM-based, object-oriented languages, ensuring the utility of your objects for a long time to come. These products all feature Direct-to-SOM capa- bility. The combination of object-oriented language extensions and SOM class libraries provides an easy way to reuse code and develop higher quality applications that can be ready for production in less time. 12 IBM COBOL Family SOLID PROGRAMMING SUPPORT: The IBM COBOL for MVS & VM __________________________ compiler adds new function and builds on previous func- tions. The IBM COBOL for MVS & VM Release 2 compiler signif- icantly improves the interoperability between COBOL and C/C++. This release provides users with the ability to pass parameters by value and the ability to call C func- tions that have function return values. Additionally, null-terminated literal strings can be used in COBOL and passed to C service routines. COBOL now supports both defining and calling programs with long and mixed-case names. Finally, calls between COBOL and C no longer require special pragma source statements in the C program (]pragmalessŲ interlanguage communication). IBM COBOL for MVS & VM also allows you to simplify common programming tasks. For example, you can use the COBOL CALL statement to take advantage of IBM Language Environ- ment* for MVS & VM services for everything from storage management to condition handling. The condition handling support enables you to write pro- grams in which error handling is done in a separate routine that is invoked only when needed. In addition, you no longer have to write the error-handling routines in Assembler; with Language Environment, you can write them in COBOL. IBM COBOL for MVS & VM is supported by IBM Language Envi- ronment for MVS & VM Release 5, the common language environment for running applications written in COBOL, PL/I, FORTRAN, and C. IBM Language Environment for MVS & VM thus allows you to enhance an application written in COBOL by adding a FORTRAN routine or Language Environment-enabled PL/I or C routine. IBM COBOL for MVS & VM also offers support for recursive program invocation in COBOL, structured programming lan- guage support, improved interoperability with other lan- guages, and improved dynamic CALL performance. These and many other features help make your COBOL development more effective. READY FOR THE YEAR 2000? COBOL provides intrinsic func- ________________________ tions that return and manipulate four-digit year dates. For your applications that use two-digit year data, IBM COBOL for MVS & VM and Language Environment for MVS & VM give you efficient ways to accommodate the year 2000 with minimal changes to code and no change to data. Language Environment for MVS & VM can interpret a two-digit year as four digits, allowing you to use existing data without What's New in the IBM COBOL Family 13 modification and allowing your applications to run in the 21st century. But don't wait until 1999. Prepare for the year 2000 today! BRING YOUR HOST ENVIRONMENT UP TO SPEED: IBM COBOL for ________________________________________ MVS & VM gives you an excellent migration path from OS/VS COBOL and VS COBOL II. Most of your current programs will continue to run without modification, while you selectively update existing applications to take advan- tage of advanced functions. By migrating to IBM COBOL for MVS & VM, you get beyond the 24-bit addressing limitation and get virtual storage constraint relief, which is of special interest to OS/VS COBOL users. This improvement is important if you want to maximize the efficiency of your host as an effective server. SUBSYSTEMS AND DATABASES: IBM COBOL for MVS & VM Release _________________________ 2 programs will run with DB2, CICS, and IMS. Object- oriented COBOL programs will run with DB2 but will require an enabling PTF for DB2. This PTF will allow EXEC SQL statements to be coded inside COBOL class defi- nitions. Object-oriented COBOL programs will run under CICS with some restrictions. These programs may make calls to other programs that contain an EXEC CICS state- ment and vice versa. However, EXEC CICS statements cannot be directly used inside class definitions at this time. Object-oriented COBOL programs will run under IMS/ESA*, with some special considerations. MAINFRAME INTERACTIVE DEBUG TOOL OPTIONAL FEATURE: The __________________________________________________ mainframe interactive Debug Tool featured in IBM COBOL for MVS & VM Release 2 will allow programmers to debug their applications as they are executing in their native host environment, such as CICS, IMS/ESA, and DB2. The Debug Tool features functions such as step mode, break- points, monitor, frequency analysis, and dynamic patching. It supports debugging of procedural COBOL applications, as well as object-oriented COBOL, PL/I, and C/C++ applications. The debug session may also be recorded in a log file, allowing the programmer to replay the session. When used this way, the Debug Tool might assist in capturing test cases for future program validation or to further isolate a problem within an application. This allows programmers to ensure that the application is tested properly in the host environment before the application is put into pro- duction. 14 IBM COBOL Family The mainframe interactive Debug Tool is offered along with the COBOL compiler in a Full Function Offering. An Alternate Function Offering is available for customers who do not wish to receive the Debug Tool with this product. The Full Function offering of IBM C/C++ for MVS/ESA* Version 3 and IBM PL/I for MVS & VM Version 1 Release 1.1 also contains the Debug Tool. Existing Code Debug Tool users, or users who currently have the Full Function version of the PL/I or C/C++, can order an upgrade that will provide the support for IBM COBOL for MVS & VM Release 2 under their existing Debug Tool feature. PART OF YOUR COMPLETE DEVELOPMENT ENVIRONMENT: IBM COBOL ______________________________________________ for MVS & VM is part of a large family of compatible com- pilers, application development tools, and maintenance tools. IBM offers solid IBM COBOL compilers for OS/2, AIX, VSE, and AS/400*, in addition to MVS and VM. You can also take advantage of IBM's extensive suite of COBOL maintenance tools to improve your existing applica- tions. These tools assist with source code conversion from older ANSI standards to ANSI 1985 COBOL syntax, code analysis, reporting, and restructuring, CICS macro-level source conversion, Report Writer code support, testing, and parts cataloging. IBM COBOL for MVS & VM provides the functionality needed to take host programming into the future. For both existing and new applications, this IBM COBOL package gives you powerful ways to boost your programming produc- tivity. IBM OBJECT-ORIENTED COBOL _________________________ IBM VisualAge for COBOL for OS/2, IBM COBOL Set for AIX, and IBM COBOL for MVS all include new object-oriented extensions to the COBOL language. The compilers allow for the creation and accessing of SOM objects provided by IBM and other vendors. Language neutrality offered by SOM allows SOM-based classes to be shared across lan- guages. Supporting the OMG/CORBA industry standard for object interoperability is a strategic objective for IBM; with this SOM support, the new IBM COBOL compilers provide a means for COBOL programmers to benefit from the new object-oriented programming technologies. The syntax extensions supported in the IBM COBOL com- pilers is consistent with the emerging ANSI/ISO OO COBOL standard. The language is a natural outgrowth of tradi- tional COBOL syntax, making it very familiar and comfort- able for COBOL programmers. For example, methods are invoked using language that is similar to an in-line CALL What's New in the IBM COBOL Family 15 statement. Because the new IBM COBOL compilers offer Direct-to-SOM (DTS) support, there is no need for pro- grammers to learn the SOM Interface Definition Language (IDL) or to understand the overall SOM structure or APIs. Direct-to-SOM support is a simpler way to write object- oriented code than a language utilizing a SOM-emitter technology. IBM is one of the first companies to provide this natural way to evolve to object-oriented technology. Procedural and object-oriented COBOL can be used together, making it possible for organizations and pro- grammers to evolve to pure object-oriented COBOL. Reen- gineering existing systems for object-oriented design is also possible, because procedural and object-oriented COBOL can interoperate. Object-oriented Analysis and Design methodologies will work with the IBM object- oriented COBOL, so programmers can select and use the methodology that makes sense for their projects. The SOM Interface Repository (IR) is populated with COBOL class and method information at compile time. When a new subclass or client program is compiled, the compiler accesses class interface information from the IR for the purposes of type checking. The SOM Interface Repository is not required during program execution. THE COBOL STRATEGY __________________ IBM's new workstation environments provide customers with consistent COBOL capabilities across host and workstation environments. COBOL customers who thought they would need to look to other languages as their only option in creating powerful client/server or object-oriented appli- cations can now be assured that they can remain with COBOL and still take advantage of these new technologies. With the 24 October 1995 announcements, customers can take advantage of the huge skill base in their organiza- tions, preserve the valuable program base they have built, and still move aggressively to utilize work- stations in mission-critical applications. These new IBM COBOL offerings reach across workstation and host envi- ronments with consistent language support and optimized back-end execution performance for the target platform. Object-oriented application development can begin in a gradual manner without the need to retrain programmers and undertake a new language not oriented to business applications. 16 IBM COBOL Family APPENDIX A. THE IBM COBOL FAMILY _________________________________ IBM has developed COBOL compilers for MVS, VM, VSE, OS/400, OS/2, and AIX. These products target the host and workstation application development environments. IBM's COBOL mainframe products for MVS and VM are: o IBM COBOL FOR MVS & VM (new name for IBM COBOL/370) - the compiler o IBM LANGUAGE ENVIRONMENT FOR MVS & VM (new name for Language Environment/370) - the run-time library o IBM COOPERATIVE DEVELOPMENT ENVIRONMENT (CODE/370) - edit/compile/debug tool IBM's COBOL mainframe products for VSE are: o IBM COBOL FOR VSE - the compiler o IBM LANGUAGE ENVIRONMENT FOR VSE - the run-time library IBM's COBOL host products for OS/400 are: o IBM ILE COBOL/400 o IBM COOPERATIVE DEVELOPMENT ENVIRONMENT (CODE/400) - edit/compile/debug tool IBM's COBOL workstation product for OS/2 is: o IBM VISUALAGE FOR VISUALAGE FOR COBOL FOR OS/2 IBM's COBOL workstation product for AIX is: o IBM COBOL SET FOR AIX These products are available today for the MVS, VM, VSE, OS/400, OS/2, and AIX environments. Companies need productive application development envi- ronments. A language compiler is only a portion of what application programmers need today to develop and main- tain code. Tools that generate statistics from code; modularize, migrate, or restructure code; search class libraries; or enhance the programmer's testing environ- ment are becoming more and more important. Tools in the IBM COBOL family are: o CCCA - converts source code (C) Copyright IBM Corp. 1995 17 o COBOL STRUCTURING FACILITY - analysis, reporting, restructuring o CICS APPLICATION MIGRATION AID - converts CICS source o COBOL REPORT WRITER PRECOMPILER - supports Report Writer code o EDGE PORTFOLIO ANALYZER o ISPF - development environment tool o REDISCOVERY Product Family - cataloging of parts o TEAMCONNECTION - development environment tool o VISUALLIFT - GUI interface tool o WITT Product Family - testing IBM COBOL FOR MVS & VM ______________________ IBM COBOL for MVS & VM (program product # 5688-197) is the high-performance compiler with a supporting runtime environment (Language Environment for MVS & VM (program product # 5688-198)), which facilitates multiple-language interaction. This is different from the single packaging of compiler and runtime environment for OS/VS COBOL and VS COBOL II. An additional component, CoOperative Devel- opment Environment/370 (CODE/370) (program product # 5688-194) provides an integrated workstation development environment for developing host applications. It includes an editor, compiler invocation facility, and a debug tool for the host. Applications written using COBOL for MVS & VM can inter- face with a variety of IBM products, such as SQL/DB, DB2, CICS, GDDM, ISPF, and Data Window Services available on MVS/ESA. The consistent interlanguage communication support, common protocols, and suite of callable services provided by Language Environment for MVS & VM is designed to allow easier access to in-house applications or vendor packages written in COBOL for MVS & VM. IBM COBOL for MVS & VM Release 2 brings object-oriented programming to the MVS COBOL programmer. Object-oriented extensions to the COBOL language syntax are provided for MVS. SOM is the core OO architecture for SOMobjects for MVS and is IBM's strategic architecture for building and manipulating class libraries. Enabling to SOM on MVS allows IBM COBOL programmers to develop class libraries using native COBOL language with object-oriented exten- sions. The COBOL SOM objects permit COBOL object- oriented applications to access SOM objects implemented in other languages, in addition to full interoperability with existing COBOL applications and data. IBM COBOL for MVS & VM provides: o Intrinsic functions, which reduce the need for exten- sive algorithms 18 IBM COBOL Family o Programmer access to all of the elements in a table at once, reducing the need for explicit loops o Consistent interlanguage communications, common ser- vices, and common functions, which helps extend the useful life of existing applications o Improved dynamic calls o Support for Year2000 o Capabilities to help application programmers incre- mentally enhance applications o Help in maintaining and enhancing the investment in existing programmer skills. The following new features are included in IBM COBOL for MVS & VM Release 2: o Object-oriented language extensions - allowing devel- opers to create mission-critical business applica- tions that run only on the host or as part of a client/server application. These extensions are based on a subset of the evolving ANSI OO COBOL Standard. o Support for the direct creation of SOM objects on the host via COBOL language syntax o Optional SOM Interface Definition Language (IDL) gen- eration o Access to existing SOM-based class libraries o Improved interoperability with C and C++ o Source-level compatibility with IBM VisualAge for COBOL for OS/2 and IBM COBOL Set for AIX o Performance enhancements IBM COBOL for MVS & VM Release 2 is compatible with VS COBOL II and IBM COBOL/370 Release 1. For SOM applica- tions, customers must also order SOMobjects for MVS (product number # 5696-822). IBM COBOL for MVS & VM provides facilities to acquire and integrate packaged software, consistent with the vendor's terms, into existing applications irrespective of the language used; use existing code in new applications (code reuse) regardless of the source code language used; and invoke functionality between applications with improved interlanguage communication (ILC). IBM COBOL for MVS & VM includes VS COBOL II language fea- tures, enhanced compiler options, virtual storage con- straint relief, structured programming language for improved programmer productivity, enhanced double-byte character set (DBCS) support, streamlined system inter- faces, expanded code optimization, flexible run-time options, and support for the VSE/ESA 31-bit addressing feature. Appendix A. The IBM COBOL Family 19 With IBM COBOL for MVS & VM, the "RES multitasking restriction" is lifted. Thus, independent COBOL applica- tions can be executed under different tasks in the same MVS address space. In particular, COBOL applications can be executed from both halves of an ISPF split screen. Most applications were coded with 2-digit-year data. COBOL for MVS & VM provides intrinsic functions not available in our earlier COBOL compilers. Calendar func- tions include: o CURRENT-DATE o DATE-OF-INTEGER o DAY-OF-INTEGER o INTEGER-OF-DATE o INTEGER-OF-DAY o WHEN-COMPILED Example of obtaining the 4-digit year with the COBOL Intrinsic Functions: o DATE-OF-INTEGER gives YYYYMMDD o DAY-OF-INTEGER gives YYYYDDD IBM LANGUAGE ENVIRONMENT FOR MVS & VM _____________________________________ IBM Language Environment (LE) for MVS & VM (program product # 5688-198) is IBM's common runtime environment for enterprise applications written in COBOL, PL/I, C, and FORTRAN. Language Environment for MVS & VM is designed to provide defined calling conventions, enhanced interlanguage communication, callable services, language- specific services (for example, common facilities mes- sages), common math functions, application utilities, system services, and subsystem support for Customer Information Control System (CICS) and Information Manage- ment System (IMS). With Language Environment for MVS & VM, application pro- grammers can extend and integrate their applications and packages, as well as reuse code with greater flexibility, due to interlanguage communication and native language restrictions. Application packages may be extended with the language of choice. Language Environment for MVS & VM enables existing applications to function as before with little, if any, changes required, thus helping pre- serve company investment in those applications. Language Environment for MVS & VM condition handler permits pro- grams to handle errors in a predictable, logical manner without highly-specialized routines. Language Environment for MVS & VM replaces the existing language-specific run-time libraries and provides a 20 IBM COBOL Family common runtime environment for all languages that conform to the Language Environment architecture. In a single product, Language Environment for MVS & VM combines essential run-time services, such as routines for message handling, condition handling, and storage management. All these services are available through a set of inter- faces that are consistent across programming languages. With Language Environment for MVS & VM, application pro- grammers can use one runtime environment for their appli- cations, regardless of the programming language or system resource needs. Today, IBM Language Environment for MVS & VM is the run- time library for the LE-enabled compilers IBM COBOL for MVS & VM , C/C++ for MVS/ESA*, and PL/I MVS & VM. IBM realizes the importance our customers place on complete, open, high-quality solutions. Therefore, IBM has estab- lished an IBM LANGUAGE ENVIRONMENT PARTNER PROGRAM at the ________________________________________ IBM Santa Teresa Laboratory. This program encourages and assists tool and application package vendors to support and take advantage of Language Environment services. Companies with existing 3GL applications will benefit from the wider choice of tools and application packages. Language Environment for MVS & VM provides a number of advantages over other packages; its capabilities include: o Ability to parse dates in an infinite number of formats by using a picture string feature as a parsing guide o Provide NLS support by using a built-in table of defaults based on a country code o A sliding window feature IBM Language Environment for MVS & VM provides a val- uable short term solution with the century window feature. If you are unable to change all of your applications and data at the same time, the century window feature allows 2-digit years to be interpreted in a 100-year window. Any 100-year window can be selected. You pass a 2-digit year to Language Envi- ronment and Language Environment returns a 4-digit year based on the 100-year window. The advantage to the century window is that you need to change only the application code and not the data- bases or files with 2-digit years. This allows you to change the application programs one at a time or groups at a time without effecting your data files. Note, this only works for dates that range less than 100 years. For example, dates of birth may not be Appendix A. The IBM COBOL Family 21 appropriate for this solution; a person born in '94' could be over 100 years of age. The disadvantage to the century window is that it doesn't last forever. If your application has a long life expectancy, you many need to go back and replace the century window with full 4-digit year support. Some of your applications will be replaced prior to this replacement. IBM COOPERATIVE DEVELOPMENT ENVIRONMENT/370 (CODE/370) ______________________________________________________ IBM CoOperative Development Environment/370 (CODE/370) (program product # 5688-194) -- the common editor, com- piler, debug tool -- provides a cooperative environment, allowing application programmers to more productively develop and maintain host IBM 3GL applications from the workstation. CODE/370 provides a consistent, graphical user interface across different platforms and languages, a language-sensitive editor, language-sensitive help, a compiler invocation facility, and an interactive debug tool. CODE/370 combines the richness of the S/370 or S/390* subsystem environments and the power of IBM Lan- guage Environment for MVS & VM to provide a host Debug Tool which allows programmers to find bugs, fix bugs, and test applications. The Debug Tool is available either as a stand-alone 3270 host debug tool (for programming shops where workstations are not available) or with an optional graphical workstation user interface. CODE/370's cooperative environment allows application programmers to perform host programming tasks, such as compiling and debugging, from a workstation. Through cooperative processing, users perform functions locally on the workstation while interactively accessing the pro- grams, data, and compilers residing on a host system. The optional workstation interface combines the Edit and Compile / Link functions together with the Debug Tool graphical user interface (GUI). The powerful workstation-based editor integrates a rich set of functions that will speed up your application- development activities. The editor works with any type of source. The language-sensitive features help optimize coding efficiency in COBOL, C, PL/I, REXX, and JCL. Source can be stored in an MVS data set, a VM file, or an OS/2 file. As you edit source in any of these formats, CODE/370 maintains the sequence numbers and date stamps. This method of workstation/host tool integration offers the best use of the two environments: the S/370* sub- system environments' "live" debug capabilities and the workstation GUI's easy editing capabilities. The inte- 22 IBM COBOL Family gration also allows programming shops to grow at their own pace into developing host applications on work- stations. When programmers use the Debug Tool, the debug session is recorded in a log file, permitting edit and replay of a Debug Tool session. This allows the Debug Tool to be used to capture test cases (for future program vali- dation) or to further isolate a problem within an appli- cation. This also allows both interactive and batch debugging of a programmer's application. CODE/370 provides: o Support for COBOL/370 Rel 1, COBOL for MVS & VM Rel 2, C/370* and PL/I MVS & VM o Limited support for VS COBOL II Rel 3.1, 3.2, and 4.0 and OS PL/I Ver 2 Rel 1, 2, and 3 o A 32-bit, user-programmable editor o Several language-sensitive editing features for REXX and JCL o Enhanced support for debugging under CICS: - Pseudo conversational transaction support for COBOL applications - Support for the full range of single-terminal Send and Receive messages o Program Generator, an independent compile/link program that allows compiling from inside and outside the editor o REXX and JCL programs can be submitted to the host from the Editor window o An OS/2 desktop tool called WorkFrame/2 o Advanced Program to Program Communication (APPC) pro- tocol support for cooperative sessions between the MVS host and the workstation o Support for debugging COBOL applications consisting of multiple enclaves and multiple processes o Debug tool support for exception handling of COBOL IGZ exceptions o The ability to perform initial installation of CODE/370's workstation feature from a LAN server. OTHER HOST COBOL COMPILERS FOR MVS & VM _______________________________________ IBM has developed three COBOL products for the MVS & VM mainframe: OS/VS COBOL, VS COBOL II, and COBOL for MVS & VM. OS/VS COBOL was withdrawn from marketing in June of 1992 and withdrawn from service in June of 1994. This section discusses issues involved with migrating from OS/VS COBOL. The two COBOL mainframe products that will con- Appendix A. The IBM COBOL Family 23 tinue to be available are COBOL for MVS & VM and VS COBOL II. MIGRATING FROM OS/VS COBOL As announced in June 1992, OS/VS COBOL products are dis- continued, effective June 1994. A service extension for OS/VS COBOL is available in certain geographic locations. Because OS/VS COBOL (program product # 5740-CB1) has been discontinued, we are encouraging companies to upgrade their COBOL technology to COBOL for MVS & VM (compiler) with Language Environment for MVS & VM (run-time library). This is especially important for your Year2000 solution providing 4-digit year support. Depending on which product is currently being used and how fast a company is willing to migrate, there are three possible migration paths that you can follow. MIGRATION PATHS: The three paths are: 1. OS/VS COBOL------------------>COBOL for MVS & VM Companies with OS/VS COBOL are encouraged to migrate directly to IBM COBOL for MVS & VM (compiler) and IBM Language Environment for MVS & VM (run-time library) if the IBM Language Environment for MVS & VM prereq- uisites are satisfied. See the IBM Language Environ- ment for MVS & VM Licensed Program Specification for prerequisite information. 2. OS/VS COBOL---->VS COBOL II---->COBOL for MVS & VM Companies with OS/VS COBOL who do not yet satisfy the IBM Language Environment for MVS & VM prerequisites must migrate to VS COBOL II first. When the IBM Lan- guage Environment for MVS & VM prerequisites are sat- isfied, then a company can move to IBM COBOL for MVS & VM. 3. VS COBOL II---->COBOL for MVS & VM Companies with VS COBOL II can migrate to IBM COBOL for MVS & VM once the IBM Language Environment for MVS & VM prerequisites are satisfied. Each successive COBOL product contains more capabilities than the previous product. 24 IBM COBOL Family VS COBOL II VS COBOL II (program product # 5668-958) builds on the functions of OS/VS COBOL but has a variety of features that give companies many advantages over earlier IBM COBOL products. VS COBOL II includes additional language features, enhanced compiler options, virtual storage con- straint relief, structured programming language for improved programmer productivity, enhanced double-byte character set (DBCS) support, streamlined system inter- faces, expanded code optimization, flexible run-time options, and support for VSE/ESA's 31-bit addressing feature. Companies that do not yet satisfy the IBM Language Envi- ronment for MVS & VM prerequisites should run VS COBOL II. BENEFITS OF COBOL MIGRATION OS/VS COBOL is the ANSI 74 compiler. ANSI 85 introduced many significant functions which are provided to cus- tomers in either VS COBOL II or COBOL for MVS & VM and its companion product, COBOL for VSE. Customers who have migrated to the newer COBOL Standard have additional functionality, increased developer productivity and exploitation of S/390 hardware capabilities. Some bene- fits of upgrading COBOL technology are: o Improved Interlanguage Communication (ILC) o Condition management features of Language Environ- ment, which bring PL/I-like condition handling to COBOL and C in MVS & VM o Language Environment callable services, including a date/time service routine that interprets a 2-digit year to a 4-digit year to accommodate the year 2000 o Improved application performance of COBOL for MVS & VM compared to VS COBOL II o Increased maintenance productivity from restructuring tools such as IBM's COBOL Structuring Facility o CoOperative Development Environment/370 (CODE/370), which provides increased programmer productivity com- pared to traditional host development tools o Object-oriented extensions in COBOL for MVS. For more information on the value of migrating from OS/VS COBOL or VS COBOL II to COBOL for MVS & VM, obtain a copy Appendix A. The IBM COBOL Family 25 of Why Migrate to COBOL/370 and LE/370?, which is avail- ____________________________________ able from your IBM representative (COBMGVAL PACKAGE on MKTTOOLS). This document contains examples of customer benefits of migrating to COBOL for MVS & VM. COBOL AND CICS/VS COMMAND LEVEL CONVERSION AID (CCCA) _____________________________________________________ COBOL and CICS/VS Command Level Conversion Aid (CCCA) (program product # 5785-ABJ) is an effective tool designed to make it easier to convert old COBOL source code and copy modules to the new COBOL Standard. CCCA converts OS/VS COBOL, DOS/VS COBOL, and COBOL 74 Standard VS COBOL II (either VS COBOL II Release 1 and 2 or VS COBOL II Release 3 and 4 (CMPR2)) source code to COBOL 85 Standard VS COBOL II Release 3 or 4 (NOCMPR2) or to IBM COBOL for MVS & VM. In cases where a statement is no longer supported and has no equivalent statement in the target COBOL, CCCA flags the statement. CCCA can be used to convert from OS/VS COBOL to COBOL for MVS & VM, just as it is used to convert from OS/VS COBOL to VS COBOL II. The source file output for compiling under VS COBOL II can also be used for compiling under COBOL for MVS & VM. When converting from OS/VS COBOL, CCCA can be automat- ically invoked by COBOL/SF, a re-engineering tool. This lets users convert programs before structuring them with COBOL/SF. CCCA is designed to identify and convert source code incompatibility, to reduce the effort required to convert programs, and to minimize conversion errors. The conver- sion process can be customized by users to meet unique conversion requirements. Installation and usage are easy, fast, and straightforward. CCCA key benefits are: o Identification and conversion of source code o Reduction of the effort required to convert programs o Minimization of conversion errors o Enhanced programmer productivity during migration. CCCA provides facilities to: o Convert most syntax differences between OS/VS COBOL, DOS/VS COBOL, or VS COBOL II Release 1 or 2 and the current release of VS COBOL II and COBOL for MVS & VM programs o Convert EXEC CICS commands o Remove and/or convert the base locator for linkage (BLL) section mechanism and references 26 IBM COBOL Family o Eliminate conflicts between user-defined names and words reserved for VS COBOL II o Convert both source programs and copy modules o Create conversion management reports o Produce a statement-by-statement diagnostic listing showing the result of the conversion process for each program o Change and/or create COBOL conversion modules o Allow foreground conversion of CICS programs o Perform conversion from various levels of COBOL into other COBOL levels through an open converter design o Read from PDSEs, not just PDSs. IBM COBOL FOR VSE/ESA _____________________ IBM COBOL for VSE/ESA (program product # 5686-068) is the high-performance compiler with a supporting runtime envi- ronment (Language Environment for VSE/ESA (program product # 5686-067), which facilitates multiple-language interaction. This is different from the single packaging of compiler and runtime environment for DOS/VS COBOL and VS COBOL II. Applications written using COBOL for VSE/ESA can inter- face with a variety of IBM products, such as SQL/DS and CICS. The consistent interlanguage communication support, common protocols, and suite of callable services provided by Language Environment for VSE/ESA is designed to allow easier access to in-house applications or vendor packages written in COBOL for VSE/ESA. IBM COBOL for VSE/ESA provides: o Intrinsic functions, which reduce the need for exten- sive algorithms o Programmer access to all of the elements in a table at once, reducing the need for explicit loops o Consistent interlanguage communications, common ser- vices, and common functions, which helps extend the useful life of existing applications o Improved dynamic calls o Support for Year2000 o Capabilities to help application programmers incre- mentally enhance applications o Help in maintaining and enhancing the investment in existing programmer skills. IBM COBOL for VSE/ESA provides facilities to acquire and integrate packaged software, consistent with the vendor's terms, into existing applications irrespective of the language used; use existing code in new applications (code reuse) regardless of the source code language used; Appendix A. The IBM COBOL Family 27 and invoke functionality between applications with improved interlanguage communication (ILC). IBM COBOL for VSE/ESA includes VS COBOL II language fea- tures, enhanced compiler options, virtual storage con- straint relief, structured programming language for improved programmer productivity, enhanced double-byte character set (DBCS) support, streamlined system inter- faces, expanded code optimization, flexible run-time options, and support for the VSE/ESA 31-bit addressing feature. Most applications were coded with 2-digit-year data. COBOL for VSE/ESA provides intrinsic functions not avail- able in our earlier COBOL compilers. Calendar functions include: o CURRENT-DATE o DATE-OF-INTEGER o DAY-OF-INTEGER o INTEGER-OF-DATE o INTEGER-OF-DAY o WHEN-COMPILED Example of obtaining the 4-digit year with the COBOL Intrinsic Functions: o DATE-OF-INTEGER gives YYYYMMDD o DAY-OF-INTEGER gives YYYYDDD IBM LANGUAGE ENVIRONMENT FOR VSE/ESA ____________________________________ IBM Language Environment (LE) for VSE/ESA (program product # 5686-067) is IBM's common runtime environment for enterprise applications written in COBOL and PL/I. Language Environment for VSE/ESA is designed to provide defined calling conventions, enhanced interlanguage com- munication, callable services, language-specific services (for example, common facilities messages), common math functions, application utilities, system services, and subsystem support for Customer Information Control System (CICS). With Language Environment for VSE/ESA, application pro- grammers can extend and integrate their applications and packages, as well as reuse code with greater flexibility, due to interlanguage communication and native language restrictions. Application packages may be extended with the language of choice. Language Environment for VSE/ESA enables existing applications to function as before with little, if any, changes required, thus helping preserve company investment in those applications. Language Envi- ronment for VSE/ESA condition handler permits programs to 28 IBM COBOL Family handle errors in a predictable, logical manner without highly-specialized routines. Language Environment for VSE/ESA replaces the existing language-specific run-time libraries and provides a common runtime environment for all languages that conform to the Language Environment architecture. In a single product, Language Environment for VSE/ESA combines essen- tial run-time services, such as routines for message han- dling, condition handling, and storage management. All these services are available through a set of interfaces that are consistent across programming languages. With Language Environment for VSE/ESA, application programmers can use one runtime environment for their applications, regardless of the programming language or system resource needs. Today, IBM Language Environment for VSE/ESA is the run- time library for the LE-enabled compilers IBM COBOL for VSE/ESA and PL/I for VSE/ESA. IBM realizes the impor- tance our customers place on complete, open, high-quality solutions. Therefore, IBM has established an IBM LAN- ________ GUAGE ENVIRONMENT PARTNER PROGRAM at the IBM Santa Teresa _________________________________ Laboratory. This program encourages and assists tool and application package vendors to support and take advantage of Language Environment services. Companies with existing 3GL applications will benefit from the wider choice of tools and application packages. Language Environment for VSE/ESA provides a number of advantages over other packages; its capabilities include: o Ability to parse dates in an infinite number of formats by using a picture string feature as a parsing guide o Provide NLS support by using a built-in table of defaults based on a country code o A sliding window feature IBM Language Environment for VSE/ESA provides a valu- able short term solution with the century window feature. If you are unable to change all of your applications and data at the same time, the century window feature allows 2-digit years to be interpreted in a 100-year window. Any 100-year window can be selected. You pass a 2-digit year to Language Envi- ronment and Language Environment returns a 4-digit year based on the 100-year window. The advantage to the century window is that you need to change only the application code and not the data- bases or files with 2-digit years. This allows you Appendix A. The IBM COBOL Family 29 to change the application programs one at a time or groups at a time without effecting your data files. Note, this only works for dates that range less than 100 years. For example, dates of birth may not be appropriate for this solution; a person born in '94' could be over 100 years of age. The disadvantage to the century window is that it doesn't last forever. If your application has a long life expectancy, you many need to go back and replace the century window with full 4-digit year support. Some of your applications will be replaced prior to this replacement. OTHER HOST COBOL COMPILERS FOR VSE __________________________________ IBM has developed three COBOL products for the VSE envi- ronment: DOS/VS COBOL, VS COBOL II, and COBOL for VSE/ESA. This section discusses issues involved with migrating from DOS/VS COBOL. MIGRATING FROM DOS/VS COBOL We are encouraging companies to upgrade their COBOL tech- nology to COBOL for VSE/ESA (compiler) with Language Environment for VSE (run-time library). There are three possible migration paths that you can follow. MIGRATION PATHS: The three paths are: 1. DOS/VS COBOL------------------>COBOL for VSE/ESA Companies with DOS/VS COBOL are encouraged to migrate directly to IBM COBOL for VSE/ESA (compiler) and IBM Language Environment for VSE (run-time library) if the prerequisites are satisfied. 2. DOS/VS COBOL---->VS COBOL II---->COBOL for VSE/ESA Companies with DOS/VS COBOL who do not yet satisfy the IBM Language Environment for VSE/ESA prerequi- sites should migrate to VS COBOL II first. When the IBM Language Environment for VSE/ESA prerequisites are satisfied, then a company can move to IBM COBOL for VSE/ESA. 3. VS COBOL II---->COBOL for VSE/ESA Companies with VS COBOL II can migrate to IBM COBOL for VSE/ESA once the IBM Language Environment for VSE/ESA prerequisites are satisfied. 30 IBM COBOL Family Each successive COBOL product contains more capabilities than the previous product. VS COBOL II VS COBOL II (program product # 5668-958) builds on the functions of DOS/VS COBOL but has a variety of features that give companies many advantages over earlier IBM COBOL products. VS COBOL II includes additional language features, enhanced compiler options, virtual storage con- straint relief, structured programming language for improved programmer productivity, enhanced double-byte character set (DBCS) support, streamlined system inter- faces, expanded code optimization, flexible run-time options, and support for VSE/ESA's 31-bit addressing feature. Customers who have VSE/ESA Version 2.1 or 1.4 installed and meet the prerequisites should migrate to IBM COBOL for VSE/ESA and Language Environment for VSE/ESA. BENEFITS OF COBOL MIGRATION DOS/VS COBOL is the ANSI 74 compiler. ANSI 85 introduced many significant functions which are provided to cus- tomers in either VS COBOL II or COBOL for VSE/ESA. Cus- tomers who have migrated to the newer COBOL Standard have additional functionality, increased developer produc- tivity and exploitation of S/390 hardware capabilities. Some benefits of upgrading COBOL technology are: o Improved Interlanguage Communication (ILC) o Condition management features of Language Environ- ment, which bring PL/I-like condition handling to COBOL o Language Environment callable services, including a date/time service routine that interprets a 2-digit year to a 4-digit year to accommodate the year 2000 o Improved application performance of COBOL for VSE/ESA compared to VS COBOL II For more information on the value of migrating from DOS/VS COBOL or VS COBOL II to COBOL for VSE/ESA, obtain a copy of WHY MIGRATE TO COBOL/370 AND LE/370?, which is ____________________________________ available from your IBM representative (COBMGVAL PACKAGE on MKTTOOLS). This document contains some examples of customer benefits of migrating to COBOL/370 that also applies to the VSE environment. Appendix A. The IBM COBOL Family 31 COBOL AND CICS/VS COMMAND LEVEL CONVERSION AID (CCCA) FOR VSE _____________________________________________________________ COBOL and CICS/VS Command Level Conversion Aid (CCCA) for VSE (program product # 5785-CCC) is an effective tool designed to make it easier to convert old COBOL source code and copy modules to the new COBOL Standard. CCCA converts DOS/VS COBOL and COBOL 74 Standard VS COBOL II (Release 3 and 4 (CMPR2)) source code to COBOL 85 Standard VS COBOL II Release 3 or 4 (NOCMPR2) or to IBM COBOL for VSE/ESA. In cases where a statement is no longer supported and has no equivalent statement in the target COBOL, CCCA flags the statement. CCCA can be used to convert from DOS/VS COBOL to COBOL for VSE/ESA, just as it is used to convert from DOS/VS COBOL to VS COBOL II. The source file output for compiling under VS COBOL II can also be used for com- piling under COBOL for VSE/ESA. CCCA is designed to identify and convert source code incompatibility, to reduce the effort required to convert programs, and to minimize conversion errors. The conver- sion process can be customized by users to meet unique conversion requirements. Installation and usage are easy, fast, and straightforward. CCCA key benefits are: o Identification and conversion of source code o Reduction of the effort required to convert programs o Minimization of conversion errors o Enhanced programmer productivity during migration. CCCA provides facilities to: o Convert most syntax differences between OS/VS COBOL, DOS/VS COBOL, or VS COBOL II Release 1 or 2 and the current release of VS COBOL II and COBOL for MVS & VM and COBOL for VSE/ESA programs o Convert EXEC CICS commands o Remove and/or convert the base locator for linkage (BLL) section mechanism and references o Eliminate conflicts between user-defined names and words reserved for VS COBOL II o Convert both source programs and copy modules o Create conversion management reports o Produce a statement-by-statement diagnostic listing showing the result of the conversion process for each program o Change and/or create COBOL conversion modules o Allow foreground conversion of CICS programs o Perform conversion from various levels of COBOL into other COBOL levels through an open converter design o Read from PDSEs, not just PDSs. 32 IBM COBOL Family IBM ILE COBOL/400 _________________ IBM ILE COBOL/400 (5763-CB1) delivers additional ANSI 85 High functions that can make porting applications from other platforms to the AS/400* system easier. Program- mers can now develop their applications in smaller, better, easier-to-maintain modules and link them together as one program. The Integrated Language Environment* (ILE) gives "power to the programmer" by providing the foundation for future application growth through improved application performance, application quality, and pro- grammer productivity. ILE introduces a common, con- sistent run-time environment and application programming interfaces (APIs) for all ILE languages. The ILE family of compilers provides greater flexibility in choosing the language(s) best suited for a program- mer's applications. C, RPG, COBOL, and CL code can be bound into a single program, regardless of the mix of source languages. IBM VISUALAGE FOR COBOL FOR OS/2 ________________________________ Please see "IBM VisualAge for COBOL for OS/2" on page 4 for details. IBM COBOL SET FOR AIX _____________________ Please see "IBM COBOL Set for AIX" on page 8 for details. COBOL STRUCTURING FACILITY __________________________ IBM COBOL Structuring Facility/MVS & VM (COBOL/SF) (program product # 5696-737) reduces the amount of time needed to maintain code by automatically transforming complex unstructured programs into structured programs. Improved maintenance productivity frees programmers to focus on creating new applications. COBOL/SF promotes application redevelopment by providing a set of com- plexity metrics for inventory analysis. Information pro- vided on program complexity and control flow can promote code reuse and speed up the development of new applica- tions. COBOL/SF provides a connection to COBOL and CCCA that automates the conversion of COBOL code to a higher-level standard and new COBOL technology. COBOL/SF also pro- vides access to VIA/Renaissance (ViaSoft), which does program slicing to extract program logic from COBOL source code and generate self-contained program modules. These three tools can be used together to automatically Appendix A. The IBM COBOL Family 33 convert, restructure, and modularize COBOL applications for use in maintenance, code sharing, new development or modularizing any date calculation or processing. COBOL/SF automatically produces a structured COBOL program from unstructured source code. In addition, sta- tistical metrics, structure charts to aid in program understanding, and modularization analysis reports are provided. Three steps form the basis for creating program parts that can be used in a client/server application architec- ture: converting OS/VS COBOL to VS COBOL II or to COBOL for MVS & VM, restructuring, and modularizing to create functional program units. If the functional units are wrapped with an object-oriented COBOL wrapper, then developers can use these primitive parts for new OO applications. COBOL Structuring Facility provides: o Analysis of potential problem areas in source code and expert advice on how to manually improve source code quality o Improved reporting capability and visual program display o An on-line tutorial o Comprehensive on-line documentation o Automatic structuring of COBOL code containing: - CICS HANDLE commands - COBOL for MVS & VM intrinsic functions - Language Environment for MVS & VM support o Cross-reference browser o Conformance to CUA 1991 standards o DBCS support consistent with IBM COBOL for MVS & VM enablement. COBOL/SF is more than a one-time restructuring tool. It can be used regularly to maintain structured programs for ease of maintenance and program understanding. By offering modularization advice, COBOL/SF also proves useful as a redevelopment tool to aid in isolating reus- able program functions such as standard date routines. Programming experts recommend restructuring an applica- tion whenever 10 to 15% of a program has changed due to a program error or enhancements. 34 IBM COBOL Family CICS APPLICATION MIGRATION AID ______________________________ The CICS Application Migration Aid (program product # 5695-061) is designed to assist developers in converting CICS applications from the macro-level API to the command-level API. Applications written in assembler or COBOL can be used with the migration aid. Old CICS transactions used a macro-level interface. However, CICS/ESA V3.3 (which is required when using Lan- guage Environment for MVS & VM ) does not support the macro level. Command level is a requirement for applica- tions to run on CICS/ESA V3. The CICS Application Migration Aid simplifies and speeds the conversion of COBOL and Assembler language applica- tion programs from macro to command level. The tool com- pletely converts simple macros and provides guidance on converting more complex macros. Conversion is key not only to using Language Environment for MVS & VM but also to obtain the benefits of the CICS command-level application interface (API), which is common across the CICS family. COBOL REPORT WRITER PRECOMPILER _______________________________ The COBOL Report Writer Precompiler (program offering # 5798-DYR) has two functions. It can permanently convert Report Writer statements to valid COBOL statements that can be compiled in IBM COBOL for MVS & VM or IBM COBOL for VSE/ESA. Or, it can be used to precompile applica- tions containing Report Writer statements so the code will be acceptable to the IBM COBOL for MVS & VM or IBM COBOL for VSE/ESA compiler. When used to precompile, the Precompiler automatically invokes the IBM COBOL compiler-as though Report Writer statements in the source program are being processed by the IBM COBOL for MVS & VM or IBM COBOL for VSE/ESA com- piler itself. The fact that two separate processes are involved is transparent to users. EDGE PORTFOLIO ANALYZER - COBOL AND PL/I MIGRATION TOOL _______________________________________________________ The EDGE Portfolio Analyzer Version 1 (program product # 5633-009) can significantly reduce the effort necessary to migrate from earlier versions of IBM host COBOL and PL/I compilers to the latest levels of these products. Appendix A. The IBM COBOL Family 35 This migration tool analyzes existing application load libraries and provides data and statistical information about: o Which release of a compiler and what compiler and linkage editor options are used to produce an existing load module o Application programs: - Containing shared subroutines - Requiring re-linking of runtime modules as a result of any arbitrary change - Impacted by implementation of a new runtime package - Not expected to be affected by the implementation of a new runtime package - Containing interlanguage dependencies that may prove obstacles to migration o Load modules not conforming to the installation's established compiler and linkage editor standards Customers can save many hours of tedious investigation and move more quickly into the new compiler products. IBM COBOL POWERBENCH FOR AIX ____________________________ The IBM COBOL POWERbench for AIX* is an integrated package of the Software Development Environment (SDE) WorkBench/6000 Version 2 with Micro Focus COBOL Version 3.2 for AIX, Micro Focus Toolbox** Version 3.2 for AIX, and optional Micro Focus Dialog System Version 2.2 for Motif. The COBOL POWERbench for AIX provides a set of integrated productivity tools for the construction, test, and main- tenance phases of software development, such as: o Program Editor with support for C++, C, FORTRAN, and COBOL o Program Debugger to examine, control, and debug running programs o Program Builder to compile and link source code into applications o Static Analyzer for C, FORTRAN, and COBOL source code o Integrated File Transfer program, Mail, and Help o Configuration management and version control support o Development Manager to view and locate files and directories o Tool Manager to manage and coordinate integrated tools 36 IBM COBOL Family o Micro Focus Operating System Extensions (OSX) Version 3.2 INTERACTIVE SYSTEM PRODUCTIVITY FACILITY (ISPF) _______________________________________________ Interactive System Productivity Facility (ISPF) (5655-042) supports application development in IBM mainframe environments. It provides a shell for con- sistent, easy access to host system services and IBM tools. ISPF is also an application execution environment for interactive applications in the MVS and VM environ- ments. Services are provided for the display of prede- fined screen images and the build and maintenance of tables for user information. ISPF provides an environment for the development of busi- ness and technical applications. ISPF, because of its pervasiveness, is used by virtually the entire MVS-focused AD industry for dialog management and tool access. It is the standard way to access almost any AD tool in this environment. There is a variety of tools for all kinds of specific AD scenarios (DB2, IMS, CICS, etc) and a variety of vendors (including IBM) that use ISPF for installation and access. ISPF and ISPF/Program Development Facility (PDF) are now one product. This makes the product easier to install (fewer steps) and maintain (fewer PTFs to apply). Sig- nificant functional enhancements have been made for ISPF: o Ability to invoke IBM COBOL compilers (COBOL/370, VS COBOL II) o Client/Server Component, which enables programmers to have existing host-based ISPF applications look and feel like native workstation applications o Common User Access (CUA) '89 compliant interface for host 3270 terminals o A language-sensitive editor for EDIT enhancements that will flag syntax errors before a job is sub- mitted or a compile is done o A new facility called VIEW Mode that replaces browse o Multi-volume data set support that makes it possible to allocate data sets with PDF over multiple DASD volumes with the support provided by DFSMS data stripping o Significant improvements in the time needed to display data set lists and members lists o VSAM utilities that can define/delete VSAM datasets without knowing IDCAMS! o LIBDEF enhancements that use the LIBDEF commands Query, Display, and Stack in order to determine what datasets are allocated to ISPF applications Appendix A. The IBM COBOL Family 37 o More flexibility in data set naming conventions for INCLUDE processing with SCLM REDISCOVERY ___________ ReDiscovery Product Family consists of ReDiscovery/2 (program product # 5871-AAA 70G3659) and ReDiscovery/MVS (program product # 5655-067). COBOL developers can reuse code to minimize new coding and enable code sharing between applications. This reduces the cost of application development, test, and maintenance while helping to improve code quality. ReDiscovery is a tool that facilitates the introduction of a reuse initiative into application development by cataloging parts/modules and improves productivity. Reusing information in complex systems that span multiple platforms is extremely challenging. There are a large number of modules to sort through when maintaining an application. Some research, design, and development of new tools or other processes may be duplicated. By using function and data that already exist, programmers can increase the speed of new development and maintenance. ReDiscovery is a productivity enhancement tool that allows programmers to organize and manage information about each file on their computer system. Some examples of files are: software parts and components, test cases, data files, source files for documents and manuals, JCL files, etc. By using ReDiscovery to quickly locate parts and the attributes that describe them, programmers can perform some time-consuming and complex tasks quickly and easily. For example: o MAINTAINING APPLICATIONS - identifying all modules and data that will require modification due to an error or new requirement in the existing application o LANGUAGE MIGRATION - identifying all the instructions that need to change across all the modules that are migrating o RIGHTSIZING - identify parts regardless of platform as input to the client-server migration process and downsize, consolidate, or upsize. ReDiscovery facilitates the introduction of a reuse ini- tiative into an application development organization. Many applications in an organization may contain reusable functions that could reduce development time. Therefore, collecting, organizing, and sharing data about these applications is essential for a successful reuse program. 38 IBM COBOL Family In addition, ReDiscovery can assist in locating date- related code by searching the ReDiscovery catalogs. Searching for keywords such as 'YY' or 'YEAR' or 'YR'. IBM TEAMCONNECTION FOR OS/2 ___________________________ The IBM TeamConnection for OS/2 integrates software con- figuration management functions and object-oriented library services to support application development in a client/server team programming environment. By deliv- ering an integrated platform on which development tools can work together, TeamConnection helps a workgroup develop and maintain business-critical applications. A series of new tools that utilize the IBM TeamConnection for OS/2 includes: o LAN library facility as a key part of TeamConnection for OS/2; the library ties into the IBM COBOL offering to form an integrated set of tools for team COBOL development on OS/2 o DataAtlas* allows for coordinated data definition management and the generation of COBOL data struc- tures that can be utilized in the COBOL environment o Data Modeling and Database Design tools that can be used to create data definitions for use in COBOL pro- grams IBM VISUALLIFT ______________ IBM VisualLift* for MVS, VSE and VM is a tool that adds a GUI interface to existing 3270-based applications without any change to the existing application. A first step toward graphical capabilities for existing host applica- tions, VisualLift supports applications currently running in MVS, VSE and VM. IBM VisualLift: o Provides a workstation interface for existing appli- cations o Requires NO changes to host applications o Requires NO programming at the workstation o Maintains the same reliability, availability, and serviceability characteristics as the underlying host applications, while providing a first step towards implementing a client/server strategy o Increases end-user productivity by using workstation controls to logically group input fields, helping to limit the chance of entering false values o Reduces training time for new users Appendix A. The IBM COBOL Family 39 o Supports National Languages on the workstation inter- face without changing the host application or "rede- signing" the VisualLift application o Uses an object-oriented graphical toolkit for devel- oping the workstation interface without programming WORKSTATION INTERACTIVE TEST TOOL (WITT) ________________________________________ Workstation Interactive Test Tool (WITT) Product Family currently consists of WITT for OS/2 (program product # 5648-031), WITT for AIX (program product # 5765-222), WITT for Windows (program part # 10H7744), WITT for SUN (program product # 5765-407), and WITT for HP (program product # 5765-406). COBOL programmers can use the Workstation Interactive Test Tool (WITT) as a GUI test tool that automatically facilitates the creation of reusable unit test, function test, system test, and regression test cases. These reusable test cases can be created when the program is newly developed and should be run continuously during the years that the program is maintained. Once created, the test cases can be played back interactively or in an unattended batch mode. The execution of a set of WITT test cases provides an audit trail of errors that a tester can provide to a programmer to document program failures. WITT automatically records and plays back all keystroke and mouse movements and compares and identifies test inconsistencies between benchmark test cases and test cases run after enhancements and fixes are made to a program. WITT also allows scripting in 2/REXX to add program intelligence to the test cases. This makes WITT test cases easy to update, maintain, and reuse for future testing. WITT/OS2 installs on an OS/2 desktop and allows the testing of MVS, VM, IMS, CICS, OS/400, and OS/2 PM and Text (ie, Micro Focus, CICS/OS2) applications. WITT/PM installs on an OS/2 desktop and allows the testing of only OS/2 PM and Text applications. X/WITT installs on an AIX desktop and allows the testing of AIX X Window applications, as well as remote client applications in X Windows environments on SUN, HP, APOLLO, and MVS. WITT/Windows installs on a Windows 3.1 desktop and allows the testing of Windows workstation applications. 40 IBM COBOL Family APPENDIX B. THE EXTENDED IBM COBOL FAMILY LANGUAGES ____________________________________________________ Assembler, C, FORTRAN, and PL/I languages are also impor- tant to the Enterprise 3GL COBOL customers. These lan- guages are an important part of an application developer's environment. ASSEMBLER _________ IBM's strategic assembler product, IBM High Level Assembler/MVS & VM & VSE (5696-234), became generally available in June 1992. IBM High Level Assembler/MVS & VM & VSE replaces the current OS/Assembler H Version 2 and becomes the default translator for S/370 and S/390 operating environments. High Level Assembler is designed to provide extensive and major usability, productivity, and reliability enhancements; VSE/ESA support; user input/output (I/O) exits; XREF facilities; and extensive support capabilities for debugging and program analysis. Customers are encouraged to migrate to this product from Assembler H V2, XF Assembler, or DOS/VSE Assembler. IBM High Level Assembler for VSE (announced 13 September 1994) was previously available as an optional program with VSE/ESA Version 1. A new release of it is now inte- grated in the VSE/ESA Version 2.1 base system package. It provides 31-bit virtual addressing; ESA Data Space access; and extensive usability, productivity, and reli- ability enhancements. The enhancements include user input/output (I/O) exits, XREF facilities, and extensive support capabilities for debugging and program analysis. C & C++ _______ Many companies with existing 3GL applications are inves- tigating cross-platform portability, a way to reuse code from one application to another or an alternative to time-consuming assembler coding. IBM has a family of C & C++ offerings including C Set ++ for OS/2, C Set ++ for AIX, C Set ++ for OS/400, C for AIX, C/370 (MVS & VM), and the newly announced IBM C/C++ for MVS/ESA. Companies should look today at IBM C/C++ for MVS/ESA (5655-121) or IBM C/370 (5688-216) for VM as the multi- purpose mainframe C language. To enable programmers to port C applications created on other platforms quickly and easily, C/C++ and C/370 conform to IBM SAA standards and ANSI/ISO standards for C and C++. OpenEdition* Ser- (C) Copyright IBM Corp. 1995 41 vices on MVS/ESA* expands portability with POSIX* inter- faces. The C/C++ and C/370 Interlanguage call facility to COBOL, Assembler, and PL/I allows reuse of code from existing applications, protecting programmer time and training investment. Additionally, the C/C++ and C/370 system programming capabilities give programmers a faster way to develop system exit routines compared to painstaking assembler coding. IBM C/C++ for MVS/ESA is designed to be an MVS-based, language-centered environment featuring: o A C compiler based on the existing C/370 o A C++ compiler delivering features consistent with other C Set ++ products, such as: - Template support - Exception handling - Direct-to-SOM (DTS) o A starter set of C++ class libraries o A mainframe interactive debugger IBM C/C++ for MVS/ESA is designed to exploit the C/C++ run-time environment found in LE for MVS & VM (new name for LE/370) and MVS/ESA SP Version 5 C/370 Language Support Feature. Global Optimizing and inlining capabilities may boost applications' performance. Language Environment for MVS & VM improves performance even more when executing C, COBOL, and PL/I Interlanguage calls. FORTRAN _______ Historically, Fortran has been considered a technical computing language, as opposed to a business application language like COBOL and PL/I. Fortran is, however, also effective for numeric-intensive commercial applications. IBM invented Fortran and now has more than 13,000 S/370 licenses worldwide. For MVS and VM, there are three IBM VS FORTRAN V2 products: compiler/library/debugger (5668-806), compiler/library (5688-087), and library (5668-805). IBM's XL Fortran* Version 3 is a full ANSI-compliant Fortran 90 compiler that is available on AIX 3.2.5 and AIX 4.1. It is also a key component of the IBM Fortran POWERbench (AIX 3.2.5 only). 42 IBM COBOL Family PL/I FOR MVS & VM _________________ PL/I MVS & VM (compiler) with LE/370 (run-time library) is IBM's strategic mainframe PL/I product. Companies should eventually aim to migrate all PL/I mainframe applications to PL/I MVS & VM. PL/I MVS & VM (5688-235) is packaged differently from OS PL/I. Pl/I MVS & VM is not packaged with either a run- time library or an editor or debugger. Language Environ- ment for MVS & VM (new name for LE/370) is a separate product that provides the run-time library for PL/I MVS & VM. CoOperative Development Environment/370 (CODE/370) is a separate product that provides the editor, compiler invocation facility, and debugger for PL/I MVS & VM. PL/I MVS & VM includes support for DFP V3 system- determined blocksize; DATATIME and TIME milliseconds response time; and installation enhancements. Addi- tionally, CMS terminal I/O is unblocked and immediate; ERROR conditions now get control of all system abends; and selected items from PL/I for OS/2 are included to ensure compatibility with that product. Appendix B. The Extended IBM COBOL Family Languages 43 44 IBM COBOL Family APPENDIX C. IBM COBOL SERVICES _______________________________ To assist you with IBM's expanded COBOL capabilities quickly and with minimum effort, IBM is providing ser- vices, education, and mentoring programs. From client/server configurations to object-oriented program- ming, IBM COBOL Services can extend your ability to use the IBM COBOL family products effectively in every part of their enterprise. With experience in handling COBOL challenges in many dif- ferent situations, the consultants who perform IBM ser- vices bring a level of expertise to your organization that is difficult to match with in-house staff. This bolsters the skills of in-house resources and allows you to move forward with confidence. To discuss your specific COBOL service requirements, contact your local IBM representative or call 1-800-4YOU (426-4968). AD ENVIRONMENT ASSESSMENT _________________________ The Application Development Environment Assessment pro- vides insights into a company's current and emerging AD environment and application portfolio. This engagement will answer questions such as: 1. Where do I begin implementing the new IBM COBOL tech- nology in my IT environment? 2. How ready is my organization to move our COBOL appli- cations to a workstation, client/server environment? 3. Is my organization prepared to implement OO tech- nology? The assessment stresses the importance of maintaining a balanced capability between technology, skills and process. The recommendations will enable you to more closely align their business strategy with their IT strategy. APPROACH: Consultants evaluate your information tech- nology (IT) infrastructure and note critical success factors, as well as identifying skill deficiencies and process inefficiencies. The final report includes recom- mendations on a viable technology road map, advice on the skills needed, and possible pilot applications for effecting the new technologies along with a prioritized activities list. (C) Copyright IBM Corp. 1995 45 o Assess your current IT environment through interviews with management and technical personnel o Understand your business environment o Identify critical success factors o Evaluate IT infrastructure and application portfolio o Assess alignment of the IT and business strategies o Assess client/server and/or object technology read- iness o Determine pilot applications o Prepare findings and recommendations report - Capabilities assessment - Skills development road map - Target environment transition road map - Technology and tools requirements - Prioritized activities. COBOL MIGRATION ASSESSMENT __________________________ The COBOL Migration Assessment will assist you in plan- ning a smooth migration from an IBM legacy COBOL environ- ment to one that takes advantage of new technology found in the IBM COBOL family products. A customized, compre- hensive migration plan is developed to cut through the complex issues encountered when migrating to a new envi- ronment. APPROACH: The engagement focuses on the technical and management issues of migrating legacy applications to current IBM COBOL technology. The services professionals who perform the assessment have first-hand experience with many COBOL migrations. They will: o Review your business objectives o Interview your management and technical personnel o Develop a production program inventory using proprie- tary software that analyzes your load libraries to identify potential trouble areas that can impact a migration effort o Identify and evaluate applications that are candi- dates for migration o Determine resource requirements (CPU, Personnel, etc.) o Provide a conversion road map o Recommend migration tools o Prepare a migration and/or restructuring plan o Prepare a findings and recommendations report. This service can also be used to assess applications migrating from a host to a workstation environment such as client/server, object-oriented, AIX or OS/2. 46 IBM COBOL Family QUICK START ___________ Wishing to get up and running quickly? You will appre- ciate the value of using experienced IBM professionals. The objective of a Quick Start engagement is to quickly install and configure the development environment for the COBOL for OS/2 family of products and demonstrate the functional capability and integration of these products. Skills transfer during the engagement will better enable your in-house staff to use the Visual Development Envi- ronment. APPROACH: Your environment and technical needs are assessed, and the hardware and software installed, con- figured, and integrated into your environment. The installation is then verified and functional capability demonstrated. An installation and roll-out plan with recommendations is also provided. PROOF OF CONCEPT ________________ IBM's Proof Of Concept service provides a powerful way to demonstrate how a new technology applies to your current environment. IBM consultants will design, develop and demonstrate an application using the new IBM COBOL tech- nology. Skills transfer during the course of the engage- ment will better enable your staff to use IBM COBOL products in real-world application development and main- tenance. An installation and roll-out plan with recom- mendations is provided. APPROACH: o Determine scope of Proof Of Concept (POC) o Identify POC candidate applications o Design your POC application o Develop POC application o Demonstrate application o Provide an installation and roll-out plan with recom- mendations. MIGRATION SERVICES __________________ You may choose to leverage the experience of IBM's con- sultants to help ensure a smooth migration to the new IBM COBOL products, whether on the host or on the work- station. On the System 370/390 platform, IBM will provide assist- ance in migrating from down-level COBOL systems to IBM COBOL for MVS & VM. Appendix C. IBM COBOL Services 47 On the OS/2 platform, IBM will provide assistance in migrating from Micro Focus** COBOL Workbench to IBM VisualAge for COBOL for OS/2. This service will be available on limited basis at product availability. Micro Focus** COBOL applications that are not compliant with existing COBOL ANSI standards may not be eligible for this service. On the AIX platform, similar migration services from Micro Focus** COBOL Workbench to IBM COBOL Set for AIX will be available on limited basis in late fourth quarter 1995. Micro Focus** COBOL applications that are not compliant with existing COBOL ANSI standards may not be eligible for this service. CUSTOMIZED EDUCATION ____________________ If your goal is to enhance your staff's understanding of the latest IBM COBOL technology, Customized Education Services can help. These services provide a bridge from principles learned in COBOL education to the specific tasks involved in applying those principles within the enterprise. A customized training plan is derived from your training requirements relative to a particular tech- nology transition. Customized education and knowledge transfer is provided using experienced professionals, workshops and mentoring. APPROACH: IBM's team will: o Assess your technical skills profile in relation to their goals o Identify training and/or mentoring objectives o Select training topics for education and/or applica- tions for mentoring o Determine the appropriate education provider and medium o Recommend and/or provide hands-on training, education and mentoring o Recommend follow-on training to satisfy a comprehen- sive plan, if needed o Conduct workshops such as: - Product education - Client/server and object-oriented concepts - Client/server and object-oriented applications - Host COBOL migration o Participate in mentor engagements. The hands-on mentorship program includes participation in designing and developing an application. Mentorship is a proven method for quickly training new and experienced application development professionals. IBM can provide 48 IBM COBOL Family assistance with tasks such as client/server development, COBOL migration and new application development. Appendix C. IBM COBOL Services 49 50 IBM COBOL Family