COBOL FAQ By William M. Klein Last-Modified: Wednesday, March 9, 2016 (For details of what changes have been made so far, please see Appendix C.7 - Changes to create Version 3.03) Accesses to this page since last revision (August 17, 2005):: Search Engine Optimization Counter Version: 3.03 Additional information and corrections are encouraged. Please send comments to wmklein <at> ix.netcom.com CONTENTS 1. Copying this FAQ 2. Where can I get this FAQ? 2.1 Where do I turn if my question isn't answered in this FAQ? 3. Where can I get a COBOL compiler? 3.1 for DOS, OS/2, or 16-bit Windows? 3.2 for 32-bit Windows? 3.3 for UNIX? 3.4 for Linux? 3.5 for the Macintosh? 3.6 for other environments? 4. Is there a free COBOL compiler? 4.1 for DOS, Windows or OS/2? 4.2 for Windows? 4.3 for UNIX? 4.4 for the Macintosh? 4.5 for Amiga? 4.6 for other environments? 5. Commercial COBOL Products (Compilers) 5.1 Acucorp 5.2 Compaq COBOL 5.21 Compaq COBOL (for Alpha and VAX) 5.2.2 Compaq COBOL85 (for NonStop Himalaya Servers) 5.3 Computer Associates/Realia 5.4 Fujitsu Software 5.4.1 Fujitsu (WinTel) 5.4.2 Fujitsu COBOL for UNIX 5.4.3 Fujitsu–Siemens 5.5 IBM Corporation 5.6 LegacyJ Corporation 5.7 Liant/Ryan McFarland 5.8 Micro Focus 5.10 Wang 6. Where can I contact... 6.1 Acucorp? 6.2 Computer Associates? 6.4 Fujitsu 6.5 LegacyJ Corporation 6.6 Liant? 6.7 Micro Focus? 6.8 mbp ? 6.10 RM? 6.13 WANG? 7. COBOL standards. 7.1 What standards exist? 7.2 Can I get the standards via FTP? 7.3 What is happening with the draft of the next COBOL Standard and what is in it? 8. COBOL 6.50 8.1 How do I compile my programs? 8.2 How do I link my objects? 9. What about OO COBOL? 9.1 ANSI and ISO Work 9.2 Micro Focus 9.3 IBM 9.4 Fujitsu 9.5 Others 10. Books about COBOL 10.5 “COBOL For Dummies” 10.6 “COBOL for OS/390 Power Programming with Complete Year 2000 Section” 10.12 “COBOL Unleashed” 10.16 “Mastering COBOL” 10.22 “Sam’s Teach Yourself COBOL in 21 Days” 10.23 “Sam's Teach Yourself COBOL in 24 Hours” 11. Is there a COBOL to C converter? 12. COBOL code generators 12.1 Advantage™ CA-Telon® Application Generator and Advantage™ CA-Telon® Application Generator PWS Option 12.1 IBM VisualAge Pacbase 13. COBOL Tools 13.1 Creating GUI's 13.1.1 Acucorp GUI Products 13.1.2 Flexus COBOL spII 13.1.3 Fujitsu PowerFORM 13.14 LegacyJ BlueJ 13.1.5 Norcom GUI ScreenIO 13.1.6 VanGui for RM/COBOL 13.4 What about Year 2000 Tools? 13.5 Misc. Tools and Services 13.5.1 Clone Doctor 13.5.2 COBOL Explorer 13.5.3 DMS Reengineering Toolkit 13.5.4 ETK 13.5.4a FlexGen 4GL Rapid Application Development Environment 13.5.5 Flexus WinPrint 13.5.6 J & C Migrations 13.5.7 PCYACC 13.5.8 Progeni 13.5.9 RainCode products 13.5.10 Refactive 13.5.11 SANFACE Software 13.5.12 Siber Systems 13.5.13 Xinotech 13.6 IBM Mainframe Debugging and Development Tools 13.6.1 Computer Associates 13.6.2 Compuware 13.6.3 Cue-METAMON 13.6.4 Edge Portfolio Analyzer 13.6.5 IBM 13.6.6 Macro 4 13.6.7 Serena 13.6.8 SPC COBOL Report Writer 14. Other sources of information. 14.1 Acucorp WWW server 14.2 Bix 14.3 CA WWW server 14.4 The COBOL Foundation 14.5 COBOL User Groups 14.6 The Flexus WWW server 14.7 The IBM COBOL products WWW server 14.8 Liant Ryan McFarland WWW server 14.9 Micro Focus WWW server 15. Information required for the FAQ 16. Contributors to the FAQ 17. What about the Y2K (Millennium) Issue? 17.1 Where can I get information about the Y2K problem? 18. What can/should I post in the COBOL newsgroups? 18.1 Can I get help with homework via the newsgroups? 18.2 Can I post job openings in the newsgroups and if so what should I include? 19. What about USAGE? COMP? Storage for data in xyz format? etc? 20. How do I get started with COBOL? Where can I get education? Tutorials? Etc 20.1 Some places to start – for “teaching yourself COBOL” 20.2 Online and Trainer-led Courses and Tutorials 20.2.1 The Trainer’s Friend 20.2.2 University of Limerick – Department of CSIS 20.2.3 Schools offering IBM Mainframe Courses Appendix A - Samples and Examples of COBOL Coding techniques Appendix A.1 - Date - 4-digit year Appendix A.2 - Date Comparisons Appendix A.3 - MVS (or OS/390) Control Blocks Appendix A.4 - How to "right justify" an alphanumeric field Appendix A.5 - How can you convert a number to words Appendix B – Miscellaneous COBOL related web pages Appendix C - Changes in recent revisions Appendix C.1 - Changes to create Version 2.0 Appendix C.2 - Changes to create Version 2.05 Appendix C.3 - Changes to create Version 2.08 Appendix C.4 - Changes to create Version 2.09 Appendix C.5 - Changes to create Version 3.01 Appendix C.6 - Changes to create Version 3.02 Appendix C.7 - Changes to create Version 3.03 1. Copying this FAQ. This FAQ is copyright 1994-2016 by William M. Klein. It may be freely redistributed as long as it is completely unmodified and that no attempt is made to restrict any recipient from redistributing it on the same terms. It may not be sold or incorporated into commercial documents without the written permission of the copyright holder. Permission is granted for this document to be made available for file transfer from sites offering unrestricted file transfer on the Internet and from the COBOL Forums. This document is provided as is, without any warranty. Your mileage may vary. 2. Where can I get this FAQ? This document should be archived at many sites on the Internet, including rtfm.mit.edu -- the archive site for all FAQs. It is also available via e-mail from the author (wmklein@ix.netcom.com). An HTML version of the latest FAQ is also available from http://www.cobolreport.com/faqs/cobolfaq.htm 2.1 Where do I turn if my question isn't answered in this FAQ? If you have access to the web (but not to Usenet newsgroups), you can go to http://groups.google.com/ From this page: Select “Advanced Groups Search” Fill in the “Find Messages” section with appropriate words Place “comp.lang.cobol” in the newsgroup field The chances are that you will find more than enough answers already (and many quite recent) to your question. If you don't find an answer here, then look at 18. What can/should I post in the COBOL newsgroups? 3. Where can I get a COBOL compiler? There are many vendors who sell COBOL compilers. Almost all of the mainframe hardware/operating system vendors, also sell a COBOL compiler for their systems. The following are some of the vendors providing COBOL compilers for systems where they are not the operating system vendor. 3.1 for DOS, OS/2, or 16-bit Windows? Acucorp, CA, Fujitsu, Liant, IBM, and Micro Focus all produced compilers for one or more of these DOS environments. Microsoft used to repackage the Micro Focus compiler under their name, but not any more. It is doubtful that any of these vendors still “actively” sell (market for commercial use) these products (although Micro Focus does sell a couple of “academic” products for Windows 3.1 and later). It is possible that you can find “old” copies of some of the other products via eBay or other online auctions of products. However, licensing requirements may make acquisitions of such copies of questionable validity or legality. Especially if you want to “market” your compiler’s output, I strongly suggest that you contact the specific compiler vendor for legal issues. IBM, Micro Focus, and LegacyJ all have had products for OS/2. It is not clear that any of these (even IBM) is “updating” their OS/2 development environments – much less selling them.. Check with the specific vendor for current information. 3.2 for 32-bit Windows? Micro Focus (formerly MERANT) has development environments for Windows called Net Express and Mainframe Express. A student version of Net Express is also available from Micro Focus. Fujitsu's compiler also works under Windows. Liant has development systems for Windows. Computer Associates has Advantage™ CA-Realia® II Workbench.. IBM's VisualAge for COBOL is also available for Windows/NT. Acucorp's AcuCOBOL-GT also runs under 32-bit Windows. NOTE: For details on whether each of the following supports 16-bit as well as 32-bit systems and whether or not they work under Windows/NT, Windows/95, Windows/98, and/or Windows/2000, see the specific vendor’s information. 3.3 for UNIX? Acucorp, Fujitsu, Liant, and Micro Focus have products available across a large number of UNIX platforms. Some OEMs re-badge and/or reengineer these products for their own systems too. Liant used to provide LPI COBOL for Sun SPARC with Solaris 2, HP 9000 with HP-UX and Intel-based machines with UNIX SVR4, SVR3, and SCO. They no longer make this product. IBM sells its COBOLSet for AIX. 3.4 for Linux? AcuCOBOL-GT is available for Linux. Also, the iBCS2 code for Linux should mean that it is possible to get some of the i486 COBOL packages for operating systems such as SCO UNIX to work. Micro Focus provides a development environment for Linux (including announced – but not yet delivered – plans for a Linux/390 product). PERCobol from LegacyJ also supports Linux, as does RM. For specific information on each vendor’s Linux support, see their product information below or at their web site. There is a project (referred to as the “Tiny COBOL” project) working on creating a new Linux compiler. If you are interested in its status (or better yet helping them), please see: http://tiny-cobol.sourceforge.net/ 3.5 for the Macintosh? Acucorp produces a COBOL development system for the Mac running A/UX. There are no reports of any current COBOL products targeted at the standard MAC operating systems. 3.6 for other environments? Fujitsu COBOL is also available for IBM MVS and Fujitsu MSP. Ryan McFarland COBOL is also available for OpenVMS. AcuCOBOL-GT is available on a wide range of environments, including OpenVMS. Most major vendors have their own COBOL implementation, or have someone else's ported to their platform(s). There are quite a few available for CP/M and MP/M, and one is even rumored to have been available for the PERQ workstation. 4. Is there a free COBOL compiler? There are two current/ongoing projects to produce an "open source" and/or GNU compiler. For one, see the project “COBOL for GCC”. This site also includes a status on various other “open source” projects. http://cobolforgcc.sourceforge.net/ Also, see the “Tiny COBOL project” at: http://tiny-cobol.sourceforge.net/ Also several books in the booklists come with a COBOL compiler. See section 10 for details. For some other possibilities, see: http://www.thefreecountry.com/developercity/cobol.html 4.1 for DOS, Windows or OS/2. There is a freely available COBOL compiler for DOS. It can be found on many archive sites, named COBOL650.ZIP. You also need DPATH30.ZIP. Have a read through Section 8 before you start. Bob Wolfe has made the compiler available at the Flexus FTP site, http://www.flexus.com. It is widely rumored that the sources for this compiler are available from a BBS. This no longer appears to be the case. Numerous attempts have completely failed to track down the sources. There is a COBOL701.ARJ archive that contains a version of COBOL 6.50 with a limited number of compiles. It was an attempt at a full integrated development environment, including an editor. Unfortunately, no documentation is included. Also, it may be possible to run the freely available CP/M compiler (see 4.5) under a freely available CP/M emulator. 4.2 for Windows? For information on the getting the "not latest but free version" of the Fujitsu compiler, see 5.3.2 FREE Fujitsu COBOL Version 3 Starter Set NOTE: Although not free, a number of vendors provide discounted versions of their products for “academic” use. See the specific vendor’s information for details on these offerings. 4.3 for UNIX? There are no well-documented examples of a freely available COBOL compiler for UNIX. COBOL 6.50 might run under a UNIX emulation of a DOS system, however. (For example, VP/ix, SoftPC or dosemu under Linux.) The CP/M compiler (see 4.5) should run under a CP/M emulator for UNIX in a similar fashion. 4.4 for the Macintosh? Not that we know of. 4.5 for Amiga? According to HarriottC@cardiff.ac.uk (on March 2, 1998), There is a freely available COBOL compiler/interpreter (Amiga WB2.0+). GUI/CLI, largely ANSI'85 compliant takes the form of Microsoft COBOL 2.xx ?) This is available as postware via Aminet Dev/lang nrcobol_1?.lha 4.7 for other environments ? There is a freely available CP/M COBOL compiler/interpreter (NPS Micro COBOL). This is available via anonymous FTP from oak.oakland.edu in /pub/cpm/cobol. However, Stefano Priola (s70829@galileo.polito.it) comments : "I've used the CPM COBOL ... I think that this compiler is much too old to use or for a student to learn COBOL." 5. Commercial COBOL Products (Compilers) In order to present an un-biased list of commercial COBOL product offerings I've pulled in the product overviews from each company's marketing information. For detailed product descriptions, you should probably contact the specific vendor. 5.1 Acucorp 5.1.1 AcuCOBOL-GT (See http://www.acucorp.com/solutions/datasheets/acucobolgt/) If it's your job to write COBOL applications that conquer today's complex, transaction intensive, network-centric information systems, you need an advanced COBOL - a COBOL that allows you to leverage modern IS technologies, while freeing you from proprietary hardware - a COBOL that delivers the best performance, flexibility, scalability, and platform independence. You need ACUCOBOL-GT. At Acucorp, we have pioneered technologies that enable COBOL applications to take advantage of today's advanced computing environments. We offer technology that allows you to run your COBOL applications on hundreds of platforms in every type of client/server environment, without recompilation. We can enable you to move your legacy data to a relational database or ODBC data source and access it from your COBOL program, without having to embed SQL or recode your COBOL application in any way. If you want your application to retrieve data from a remote UNIX or Windows NT server, or launch a program on a remote server - without recoding - you can do it with Acucorp technology. If you want to make your COBOL application available to users of the Internet, you can do it with Acucorp technology. If you want to use COBOL to add a native GUI front-end to your COBOL application, you can do it with Acucorp technology 5.1.2 AcuBench™ (See http://www.acucorp.com/solutions/datasheets/acubench/) Acucorp, Inc., the industry leader in open systems COBOL development tools, is pleased to offer AcuBench, an integrated development environment for ACUCOBOL™-GT. Available for the Windows 95 and Windows NT operating systems, AcuBench contains a set of graphically based, GT-optimized development tools, including a Project Manager, WYSIWYG Screen Painter, and language sensitive source Code Editor. 5.2 Compaq COBOL 5.2.1 Compaq COBOL (for Alpha and VAX) NOTE: Compaq is now a part of HP. This section will be revised eventually. Compaq COBOL (formerly known as DIGITAL (DEC and VAX) COBOL) is a high-level language for business data processing that operates on the OpenVMS (VAX and Alpha), Tru64 UNIX (Alpha) and Windows NT (Alpha) platforms. It is a high-performance, optimizing compiler environment that is based upon the 1985 ANSI COBOL Standard X3.23-1985 as modified by the X.23a-1989 amendment. Compaq COBOL is designed to maximize source-code level compatibility between supported platforms. The Compaq extensions to COBOL, include screen handling (ACCEPT/DISPLAY) at the source language level, file sharing and record locking and others. Support for ORACLE CDD/Repository, and some X/Open features are also provided. See: http://h71000.www7.hp.com/commercial/cobol/ Online documentation is available at: http://h71000.www7.hp.com/doc/cobol.html 5.2.2 Compaq COBOL85 Programming Language (for NonStop Himalaya Servers) The Compaq COBOL85 programming language is an ANSI-compliant language for developing online transaction processing (OLTP) and batch applications for Compaq NonStop™ Himalaya servers. Special Compaq extensions to the ANSI specifications allow COBOL programmers to access the unique capabilities of the Compaq NonStop™ Himalaya server architecture using a language that they already know. See http://nonstop.compaq.com/view.asp?IO=TDCB85PD 5.3 Computer Associates/Realia 5.3.1 Advantage™ CA-Realia® II Workbench Advantage™ CA-Realia® II Workbench provides an exciting mainframe-compatible COBOL development environment on the PC. CARealia II Workbench uses the power of the PC environment to improve the development and maintenance of COBOL and CICS applications. This revolutionary technology provides a new and exciting graphical user interface (GUI) workstation environment that operates under Windows 9x, Windows NT 4.0 SP3, Windows 2000 and Windows XP. CA-Realia II Workbench includes a high-speed COBOL compiler, an interactive debugger, a COBOL-Intelligent analyzer, a CICS emulator, a COBOL-sensitive editor, and a complete life cycle manager with mainframe connectivity. Its includes a 32-bit COBOL compiler and runtime. Its mainframe options allow mainframe-compiled and executing programs to be debugged and analyzed under the friendly Workbench GUI. See http://ca.com/products/realiaii_workbench.htm for details and add on products. Technical Support (including documentation) is available from webpage: http://esupport.ca.com/public/cobol_testing/realia/realia-wkbch_supp.asp 5.4 Fujitsu Software 5.4.1 Fujitsu (WinTel) 5.4.1.1 Fujitsu COBOL for Windows (See http://www.adtools.com/products/windows/cobol.htm) Fujitsu COBOL for Windows is a complete COBOL development environment that allows you to create standalone COBOL applications and/or COBOL components for use with Microsoft® visual tools. Fujitsu COBOL for Windows Version 4 runs on Windows 95/98/NT. 5.4.1.2 FREE Fujitsu COBOL Version 3 Starter Set (See http://www.adtools.com/download/v3starter/index.htm) The easy-to-install Fujitsu COBOL Version 3 Starter Set contains a complete development and execution environment, allowing you to start building robust client/server applications immediately. The PowerBSORT OCX is ready to build into your applications. A full set of softcopy manuals is also available for downloading. 5.4..1.3 PowerCOBOL™ (See http://www.adtools.com/products/windows/pcobol.htm) PowerCOBOL™ is a visual, object-oriented development environment that allows you to create graphical user interface (GUI) applications on Windows 95/98/NT. PowerCOBOL’s graphical development environment lets you use your COBOL expertise to efficiently build and execute complex GUI applications in the Microsoft® Windows environment. PowerCOBOL simplifies the process of programming for Windows by abstracting Windows APIs to a higher level. 5.4.1.4 Fujitsu NetCOBOL for .NET (See http://www.adtools.com/dotnet/index.html) By announcing support for the Microsoft .NET Framework, Fujitsu continues its long-standing effort to keep abreast of the technological advancements offered by Microsoft and other companies. Fujitsu NetCOBOL for .NET smoothly integrates with other languages such as Visual Basic, C++, and Java. Fujitsu Software is the only COBOL vendor to announce support for Microsoft .NET and ASP.NET, including Web Services. 5.4.1.5 PowerBSORT™ (See http://www.adtools.com/products/windows/pbsort.htm) PowerBSORT significantly shortens the time needed to merge or sort data for business processing. You get rapid, high-performance merging and sorting of large volumes of data without disrupting your current environment. PowerBSORT thus offers a straightforward way to slash response times for merges and sorts. 5.4.1.6 PowerGEM Plus (See http://www.adtools.com/products/windows/pgemplus.htm) PowerGEM Plus is a graphical library system that allows you to maintain control of distributed development resources for a variety of languages on multiple platforms. PowerGEM Plus lets you set up local or network repositories, check files in and out, view change histories, and compare source versions. 5.4.2 Fujitsu COBOL for UNIX (See http://www.adtools.com/products/unix/cobolux.htm) Fujitsu COBOL for UNIX is a complete COBOL development suite -- compiler, run-time libraries, and debug tool. The highly optimized code produced by Fujitsu COBOL provides the basis for fast, mission-critical business systems on UNIX workstations. 5.4.3 Fujitsu–Siemens 5.4.3.1 - COBOL85 (BS2000/OSD) COBOL85 is the COBOL compiler, providing support for the current ANSI/ISO COBOL Standard, open interfaces conforming to X/Open, and future standards for the server lines running BS2000/OSD. For additional information, see: http://www.fujitsu-siemens.com/products/software/compiler/languages/cobol.html 5.4.3.2 - COBOL2000® (BS2000/OSD) COBOL2000 (BS2000/OSD) V1.1 is a pre-standard COBOL Compiler for the server lines running under BS2000/OSD, which already makes the main new features of the future COBOL standard available today. The functionality of the previous versions, COBOL2000 (BS2000/OSD) V1.0 and COBOL85 (BS2000/OSD) V2.3, is naturally included in the new COBOL compiler. COBOL85 (BS2000/OSD) conforms to American National Standard X3.23-1985 with Addendum X3.23a-1989, international standard ISO 1989-1985 with Amendment 1:1992, German standard DIN 66028-1986 and European standard EN 21989, and has been validated to High Level. For additional information, see: http://www.fujitsu-siemens.com/products/software/compiler/languages/cobol2000.html 5.5 IBM Corporation See http://www-4.ibm.com/software/ad/cobol/ for links to information on all of IBM's Mainframe, Midrange, and Workstation COBOL Products. Also, if you are looking for IBM publications, you can find the complete online library at: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/Shelves 5.6 LegacyJ Corporation As this FAQ may not be updated in the same “cycle” as this (or other) vendors update their products, please do check out their website for the latest information on their products. 5.6.1 PERCobol™ PERCobol is the modern advanced function COBOL compiler permitting the creation of Graphical, Object Oriented, Platform independent, Java enabled COBOL applications. Applications compiled with PERCobol can fully exploit new capabilities. PERCobol compiler technology permits existing COBOL applications to make use of modern COBOL features with little or no changes to existing code. PERCobol can be integrated with existing COBOL applications or can execute completely independent of any previous COBOL compiler or COBOL runtimes. For supported operating systems and environments, see http://www.legacyj.com/perc_plat.html If a newer release/version is currently available, check out the LegacyJ sites for additional information. 5.6.1.1 LegacyJ Educational Program Students can use PERCobol Educational one semester FREE. Options are available for Colleges, Universities and other institutions to teach advanced COBOL concepts with PERCobol. The LegacyJ Education Program may be ideal for your college or university 5.6.2 LegacyJ DDS Plug-in LegacyJ DDS Plug-in permits the use and display of OS/400 DDS screens on any platform supporting Java. The LegacyJ DDS plug-in is the natural extension for COBOL and Java functioning with screens defined using IBM’s OS/400 Data Description Specification (DDS). The DDS screen definitions, familiar to the OS/400 community, remain valuable and can continue to be used to define user interface interactions. The screens can be leveraged with the use of the DDS Plug-in, and unlike screen scraping, DDS screen definition records are controlled and displayed on the platform where they are deployed. PERCobol in conjunction with DDS Plug-in maintains the same behavior as it did when solely resident on the iSeries while enabling the COBOL application to access data remotely on the iSeries server. For additional information, see: http://www.legacyj.com/DDSPlugin/index.html 5.7 Liant/Ryan McFarland 5.7.1 RM/COBOL Compiler and Runtime System RM/COBOL's sophisticated runtime system permits the maintenance of single source and object code - and the easy deployment of applications on a wide choice of open client/server platforms. Their "claim to fame" is that their compiler generates objects that are portable between platforms without recompiling. This is why you need a runtime for the desired platform to interpret the object. They also provide 100% portable data files. 5.7.2 RM/Interface Builder RM/COBOL developers can now use their choice of industry-standard tools such as Microsoft's Visual Basic and Borland's Delphi to develop a true Windows client user interface for Windows or UNIX-based COBOL application 5.7.3 RM/Enterprise CodeBench RM/COBOL developers can now take full advantage of their client/server development environments. This new version of our powerful graphical workbench enables the management of existing UNIX- or Windows-based RM/COBOL applications to be handled from a remote Windows workstation. 5.7.4 RM/Panels RM/Panels allows you to develop COBOL based applications with a whole new event-driven look-and-feel with true GUI functionality, while maintaining complete object portability. 5.7.5 Relativity® (at one time also known as Relational Data Bridge) This product allows you ODBC access to your COBOL data. You can update and insert records from ODBC. 5.8 Micro Focus NOTE: For COBOL “issues,” MERANT is once more Micro Focus. I am not yet positive that I have completed all updates throughout the entire FAQ to reflect this change. 5.8.1 Micro Focus® Net Express™ 3.1 (See http://www.microfocus.com/products/netexpress) Micro Focus Net Express is a ground-breaking development environment that takes core business processes written in COBOL and extends them to the Web and other distributed platforms. With Net Express, your programmers can quickly construct enterprise components from your existing business logic and use these to develop new Web or client/server applications across your distributed enterprise. Because Net Express leverages your legacy applications and programming resources, it reduces the development cycle and accelerates deployment of new state-ofthe-art applications. 5.8.2 Object COBOL Developer Suite (See http://www.microfocus.com/products/ocds ) Object COBOL Developer Suite provides an integrated environment for developing and deploying client/server and standalone applications on a wide range of UNIX and Linux platforms. Its advanced features include: COBOL access to industry standard Object Request Broker (ORB) technology A flexible, cross-platform COBOL compiler Powerful programmer productivity tools Object COBOL™ class libraries Transparent support for large files DBCS application support User interface development tools Ability to execute Web server applications created using Micro Focus Micro Focus Net Express™ Run-time facilities that simplify application deployment 5.8.3 Micro Focus® Server Express (see http://www.microfocus.com/products/serverexpress ) Specifically designed for performance and reliability to support high-volume transaction processing applications, Server Express is the platform of choice for deploying e-business and distributed applications. Server Express accelerates enterprise COBOL application performance to the next level providing the fastest ever Micro Focus COBOL® product for UNIX. Server Express helps to dramatically reduce deployment costs and provides increased service levels through state-of-the-art capabilities. 5.8.4 Micro Focus® Mainframe Express (See http://www.microfocus.com/products/mainframeexpress ) To stay competitive, businesses must exploit their hardware and software development investments by cost-effectively maintaining current systems, while at the same time delivering new applications with emerging technologies that interface with current production business logic. Mainframe Express helps businesses do both by providing an industry-leading workstation-based COBOL development environment that includes advanced, integrated application development tools that streamline workflow and dramatically increase programmer productivity. 5.8.5. Academic Products (See http://www.microfocus.com/academic) Net Express™ University Edition V3.0 Learn and write COBOL for the PC, e-business, Internet/Intranet, and distributed computing environments! Personal COBOL for Windows 3.1 V1.1 Runs on Windows 3.1, Windows 95, Windows 98, and Windows NT! Personal COBOL for DOS V2.0 The DOS compiler of choice for the first time COBOL student 5.10 WANG Information received on March 11, 2002, “Wang's COBOL ReSource is alive and well, running in AIX on RS/6000 and HP/UX on HP-9000. Sites running 300-500 users in shared, indexed files are not unusual and a site or two runs over 1,000 users. All the key components are ports of Wang VS code, including the very able file system. Care of the product was outsourced by Wang to SRDI of Australia a few years ago, before Wang was acquired by Getronics. I represent SRDI in most parts of the world and am the focal point for most new migrations from Wang VS to COBOL ReSource. I do not have any performance comparisons of ReSource against MF or AC but I have comparisons of ReSource on modest RS/6000 boxes against a range of Wang VS models and a couple of HP models. Wang's COBOL 85 generates native assembler code, then assembles it and links it using the native tools, all automatically, on all three platforms that support it -- the Wang VS line and COBOL ReSource on RS/6000 and HP-9000.” For additional information on COBOL ReSource, see: http://www.tjunker.com/ and select “COBOL ReSource” 6. Where can I contact ... This section includes contact information for the various COBOL compiler vendors. For information on “add-on” or related tools (and their vendors) see: 13. COBOL Tools 6.1 Acucorp? Acucorp Inc. 8515 Miralani Drive San Diego, CA 92126 Tel: (800)262-6585 (in U.S.) Systems Engineering: (619) 689 4501 fax: +1 (619) 689-4550 Email: info@acucobol.com and support@acucobol.com. WWW: http://www.Acucorp.com 6.2 Computer Associates? 6.2.1 For product inquiries Computer Associates One Computer Associates Plaza Islandia, NY 11788-7000 USA Tel: 1-800-225-5224 Fax: 1-631-342-5329 Worldwide offices: http://ca.com/camap.htm Email: cainfo@ca.com www: http://www.ca.com 6.4 Fujitsu Fujitsu Software Developer Tools Group 3055 Orchard Drive San Jose, CA. 95134-2005 Phone: FAX: (408) 428-0500 (408) 428-0600 Email: cobol@adtools.com Web: www.adtools.com 6.5 LegacyJ Corporation LegacyJ Corporation 4683 Chabot Drive, Suite 211 Pleasanton, California 94588 Tel: (925) 467-1598 fax: (925) 467-1599 Web Site: http://www.legacyj.com Email: info@LegacyJ.com 6.6 Liant? 6.6.1 In the US Liant Software Corporation Suite 4300 8911 Capital of Texas Highway North Austin, TX 78759 USA Tel: (512) 343-1010 Fax: (512) 343-9487 Note: Liant no longer makes nor supports LPI COBOL. However, support for other LPI products is still provided here. www: http://lsc.liant.com/ 6.6.2 In the UK Liant Software Ltd 2 Caxton Street St. James Park London SW1H 0QE UK Tel: +44 71 799 2434 Fax: +44 71 799 2552 Email: info@liant.co.uk 6.6.3 In Japan Nippon Liant Ltd 31-8, Takasecho Funabashi City, Chiba 273, Japan Tel: +81 47 437 9816 Fax: +81 47 437 9818 6.7 Micro Focus? NOTE: Was originally independent, then a part of MERANT, and now is independent again. I have not yet updated this entire FAQ to reflect this change. For COBOL related questions, you should assume that “Micro Focus” not “MERANT” is what you want. 6.7.1 In the US Micro Focus Inc. 701 E. Middlefield Road Mountain View, CA 94043 Tel: 650 938-3700 Fax: 650 404-7414 WWW: http://www.microfocus.com Check the Micro Focus web site for addresses and phone numbers of offices in other countries. 6.7.2 In the UK Micro Focus Ltd The Lawn, Old Bath Road, Newbury, Berks. RG14 1QN UK Tel: 01635-32646 Fax: +44-635-33966 WWW: http://www.microfocus.com Check the Micro Focus web site for addresses and phone numbers of offices in other countries. 6.8 mbp? I don’t have detailed information on mbp – other than the fact that they were purchased by MERANT / Micro Focus. My understanding is that they (Micro Focus) have provided a “migration path” – but no longer really support it. I suggest you contact Micro Focus (especially “in your area”) to determine their current position on this product line. 6.10 Ryan McFarland? Ryan McFarland has been acquired by Liant. Therefore, see 6.2 Liant? 6.13 Wang Wang sells thru internal sales, they don't have sales offices anymore. Wang TeleSales: 800-639-9264 Bob Ash: 8-6232 Wang was bought up by Getronics in Europe (where Wang is still hot). The old Wang Web site (http://www.wang.com) now links over to Getronics at: http://www.getronics.com/ . Wang’s semi-official Web site is: http://www.wangvs.com/ 7. What about COBOL standards? 7.1 What standards exist? The current COBOL standard is the ISO/ANSI '85 standard. This replaced the ANSI '74 standard. There are two amendments to the COBOL '85 standard -- intrinsic functions and corrections. The ANSI (J4) and ISO (WG4) groups are working on created the next Standard. See below for its current status and contents. 7.2 Can I get the standards via FTP? The current Standards are not available for FREE via FTP. However, they can be purchased (at least in the US) by going to: http://webstore.ansi.org/ansidocstore/find.asp? And entering “COBOL” as the word to find. The “result list” will allow you to purchase downloadable copies of the existing Standards. Note: See the next section for information on obtaining a copy of the draft of the next COBOL Standard. The status of the “copyright” versus the “acknowledgement” makes it uncertain whether – once purchased – one may or may not distribute copies of the existing (or next) COBOL Standard. Contact your own legal advisor for their opinion. 7.3 What is happening with the draft of the next COBOL Standard and what is in it? NOTE: To see (or download) a copy of the latest draft of the next COBOL Standard, go to the J4 “external web site” and find a link to the “latest and greatest” version from there. The external J4 web-site is at: http://www.cobolstandards.com/ This site also provides all the information on the current status of J4’s work and links to various related sites) First "9x" has become "0x". After the last public review, it turns out that there will need to be at least one more public review before it gets approved. 1. Major features/enhancements: A. OO gets all the press B. Common exception handling, C-ification (pointers, call prototypes, typedefs, and everything else needed to use C-type APIs), user-defined functions, file-sharing/record-locking, 31-digit numbers, portable arithmetic, National character handling (MOCS or DBCS but more so), are all some of the "biggies" that some people are looking for. C. In the category of "old technology" getting a new face lift and being added to the Standard (as required) see Report Writer enhancements, VALIDATE feature, and character screen I/O support via ACCEPT/DISPLAY. 2. Little things (and there are too many for me to remember off the top of my head) include everything from dynamic file assignment (in the SELECT/ASSIGN statement), assigning multiple values via the VALUE statement in tables, sorting tables, hex literals, GOBACK verb, apostrophe as quote, bits and Boolean support, and LOTS more 8. COBOL 6.50 8.1 How do I compile my programs? It is assumed you have installed cobol650.zip in the directory C:\COBOL650. In install.doc you will find some information on running the compiler. 1) Add C:\COBOL650 to the PATH 2) Run APPEND on C:\COBOL650 : APPEND C:\COBOL650 3) The install.doc contained in cobol650.zip refers to a program DPATH.COM to be run instead of APPEND. The DOS program APPEND seems to work too. 4) Now you can compile your .cob files as explained in install.doc. When trying to compile sources in a directory other than that where the compiler is installed, the compiler terminates without an error. This restriction is not documented in install.doc, which is probably a result of using APPEND instead of DPATH. The compiler accesses drive A:. You should have a disk in this drive. Peter Mikalajunas adds: To avoid the need to use drive A:, you should do the following : subst a: c:\cobol650 When you type A: you will drop into the C:\COBOL650 subdirectory. The compiler will behave normally at this point, not constantly searching drive A:. When you are done with a session do the following : C: subst a: /D 8.2 How do I link my objects ? There is no linker with the COBOL 6.50 compiler. To link objects you need to use the linker from MS-DOS v3.3 or earlier. Ralf Laemmel adds : You can use newer linkers, especially from newer Microsoft compiler products, too. And Peter Mikalajunas has found that : Tlink compiled with obj files without complaint, but the exe's were useless. What did work was Link version 5.31.009 which comes with Visual Basic for DOS. It compiled all obj files I tried and the EXEs ran perfectly. Clinton G. Downing also reports : The linker from IBM DOS v2.1 does now work, at least on the PS/2 70. The MS-DOS v3.3 linker works fine, however. Steve ??? <steve@mado.demon.co.uk> has reported some success with a linker from the SimTel archives. Look for sl101a.zip. 9. What about OO COBOL? 9.1 ANSI and ISO Work The draft of the Committee Draft (CD !>!) of the next COBOL Standard which underwent public review in 1997 included significant OO COBOL support. Based on the comments received J4 (ANSI) and WG4 (ISO) or currently revising it (and deleting some features. 9.2 Micro Focus Micro Focus has an OO COBOL product. It does not conform exactly to the OO COBOL proposal currently being discussed, however -- the syntax is a subset of the current proposal with a few variations. Multiple inheritance, conformance and garbage collection are not implemented. Also, vocabularies are implemented though these are not currently part of the proposed standard. (See Micro Focus' product section.) 9.3 IBM IBM offers OO COBOL products for MVS, OS/2, Windows, and AIX. (It does not currently offer it for OS/400, VSE, or VM). There implementation is a subset of s snap-shot of the Standard as it was in 1995. The latest mainframe compiler uses a Java-based OO model.. (See IBM's product section.) 9.4 Fujitsu Fujitsu's various COBOL products also support OO COBOL with or without GUI interfaces. (See Fujitsu's product section.) 9.5 Others I believe that other vendors are at various stages of developing, testing, and distributing OO COBOL products. For specific product information, you should contact the vendor (such as Fujitsu (Siemens), Hitachi a, Computer Associates, etc) 10. Books about COBOL. 10.1 “Advanced ANSI COBOL with Structured Programming (2nd ed.)” ISBN 0-471-54786-7 by Gary DeWard Brown, published by John Wiley & Sons. Apparently this is one of the few books which covers ANSI 85 COBOL. This book is reported to be out of print) 10.2 “Advanced COBOL for Structured and Object-Oriented Programming” ISBN 0471314811 by Gary DeWard Brown December 1998, John Wiley & Sons, “Well put together, clear, concise. Not a beginners book, but a great reference book. Covers mainframe as well as PC-COBOL” 10.3 “Application Programming and File Processing in COBOL” ISBN 0-669-16570-0 by Yuksel Uckan, published by D.C. Heath and Co., 1992 This is also available in two volumes (as described below) 10.3a "Application Programming in COBOL (Volume 1)" ISBN: 0669282081 "File Processing in COBOL (Volume 2)" by Yuksel Uckan Textbook Binding, First Edition , Vol 2 (January 1, 1992) Jones & Bartlett Pub 10.3b “Application Programming in COBOL: Concepts, Techniques, and Applications” ISBN: 0669282073 by Yuksel Uckan Paperback, Vol 1, (January 1992) Jones & Bartlett Pub; 10.4 "COBOL 85 For Programmers" ISBN 0-444-01232-X by Don Nelson, published by North-Holland, price 10 USD. It is available only from the author. He may be contacted (at least as of July 2000) at: don.nelson@compaq.com 10.5 "COBOL For Dummies" ISBN: 0764502980 by Arthur Griffith Paperback - 400 pages Book and CD-Rom edition (October 30, 1997) IDG Books Worldwide Per Bob Howell [rahowell@worldnet.att.net], “A good introduction to COBOL for the beginner. It doesn't give many full programs to see, but it does help understand the way the language works.” *** To install the Fujitsu compiler that comes with this book, you will need to enter a serial number that was accidentally left out of the first printing of the book. (For later editions, this is not a problem). It will install with this number: 103-2001 1699-03317-70168 The first part of the number should already be in the window, so all you will have to enter is: 99-03317-70168 Another reported problem with the Fujitsu compiler provided with this book is linking of programs. The following information on the problem and solution was provided by Thane Hubbell on March 20, 1998. "When Linking you will get a warning message that says: No Entry Point The program continues to link however. It will not run. Here are the steps to get it to Link properly, eliminate the error message and run. >From the WINCOB window - NOT the WORK FRAME window, just the plain WINCOB window, click OPTION Click ADD Scroll down to MAIN Click ADD Select the option for "Compile as Main Program" Click OK Now the program will compile and link as a main program and life will be just wonderful. PS: Thanks to Robert S. Robbins for these instructions, I do not know if he still monitors the group, but he deserves the credit." 10.6 “COBOL for OS/390 Power Programming with Complete Year 2000 Section” ISBN: 1892559021 By David S. Kirk Paperback - 409 pages 3rd edition (September 1998) MVS Training, Inc. This book does not address the basics of COBOL, the basics of programming or the language syntax. Rather, this book addresses the many features introduced into the language that allow for better design; better performance; better use of CICS, IMS and DB2; better documentation; and full use of Y2K features, many of which were just introduced in 1998. In fact, use of the Y2K features takes 2 full chapters. Per Bob Howell [rahowell@worldnet.att.net], “Exceptional COBOL reference if you work with COBOL. Practical information on how to make code Year 2000 compliant along with many suggestions for improving overall code including help with improving programming efficiency.” 10.7 “COBOL 85 For Programmers” ISBN 0-471-92156-4 by Jim Inglis, published by John Wiley and Sons. First edition in 1989, 287 pages. (Reported to be out of print – see below for an edition that appears to be in print as of July 2000) 10.8 “COBOL 85 For Programmers” ISBN: 0-471-92156-4 Jim Inglis Format: Paperback, 302pp. Publisher: Wiley, John & Sons, Incorporated Pub. Date: November 1990 10.9 “COBOL: Der Einstieg” ISBN 3-8006-1673-4 By Andreas Tietz, published by Vahlen Verlag, München. A German language book. 10.10 “COBOL from Micro to Mainframe” ISBN 0-13-138686-7 by Robert Grauer, published by Prentice Hall. This includes a disk containing a student edition of CA-Realia COBOL and interactive COBOL debugger. US price (May '94) : $55 This book may have been released as several volumes and as a complete work. I'm not sure to which the ISBN applies. The ISBN 0-13140179-3 has been suggested for Volume I by William Fang <wfan1@lindblat.cc.monash.edu.au>. (This edition is reported to be out of print. See below for an edition that is available in July 2000.) 10.10a “COBOL from Micro to Mainframe” by Robert T. Grauer, Carol Vasquez Villar, Arthur R. Buss Paperback - 896 pages 3rd edition (September 16, 1998) Prentice Hall; ISBN: 0130827134 Textbook Binding - 896 pages 3rd edition (March 25, 1998) Prentice Hall; ISBN: 0137908172 “Provides very good examples and explains concepts at a beginning programmer level. It has the most complete sample programs of any COBOL text. It is NOT a reference book.” See also the following “environment specific editions” 10.10b “COBOL From Micro to Mainframe: Fujitsu Version Preparing for the New Millennium” ISBN: 0130858498 by Carol Vazquez Villar, Arthur R. Buss, Robert T. Grauer Textbook Binding - 908 pages 3rd edition (April 15, 2000) Prentice Hall; 10.10c “COBOL From Micro to Mainframe, Volume II, The IBM Environment” ISBN: 0130161144 by Robert T. Grauer Textbook Binding - 208 pages 1 edition Vol 1-2 (July 24, 1997) Prentice Hall; 10.10d “COBOL From Micro to Mainframe,/ Micro Focus Complete” ISBN: 0130108073 by Robert T. Grauer, Carol V. Villar Hardcover Book & CD edition (August 1998) Prentice Hall 10.11 The COBOL Presentation Manager Programming Guide" ISBN 0-442-01293-4 by David M. Dill, (originally ??? published by Van Nostrand Reinhold) Format: Paperback, 476pp. Publisher: Wiley, John & Sons, Incorporated Pub. Date: June 1992 10.12 “COBOL Unleashed” ISBN: 0672312549 By Jon Wessler 1021p, September 1998 COBOL Unleashed presents real-world solutions to the key programming problems facing COBOL programmers today. These solutions will be presented in a topic-by-topic method that will allow the reader to skip around the book to find the solutions key to them, without having to read the entire book from start to finish. Key topics include: - Year 2000 Problems and Solutions. - Legacy code migration, maintenance and reengineering. - Interoperability and compatibility of legacy systems. - Client/Server COBOL. - COBOL Database programming. - Transaction Processing. - Dynamic File Allocation. - Object-Oriented COBOL and COBOL 9X. - Tools and Vendors Appendix. - Syntax Reference Appendix. Per Bob Howell [rahowell@worldnet.att.net] “One of the few books that contains anything about IDMS. It also covers other database types. A comprehensive COBOL reference.” NOTE: If you get a copy of the first edition, you should be aware of a problem with the Fujitsu compiler provided with the book. The following correspondence came in from a person at Casegen, “May we apologize to everyone who has tried using Casegen COBOL for Windows supplied with the CD on "Cobol Unleashed" and had problems compiling their programs. You will have received this message: “Registry error - cannot find compiler registry key...” This problem is due to an error with the Fujitsu compiler on the CD. For some reason the compiler does not get installed correctly and Casegen needs this compiler to build Cobol programs generated by Casegen. It will be necessary to install Fujitsu Version 3 or Version 4 from another source to use Casegen.” You should be able to contact the publisher of the book, Fujitsu, or www.adtools.com to get an updated (corrected) version of the compiler. 10.13 “Comprehensive Structured COBOL, 3rd edition” ISBN: 087709621X by Gary M. Gleason, Lister Wayne Horn Paperback - 794 pages 3 edition Pub. Date: January 1995 Course Technology; “Good for an introductory course.” (reported to come with an RM compiler. ) 10.14 “Comprehensive Structured COBOL (Third edition)” ISBN 0-534-91781-X (Possibly 0534932703) by Gary S. Popkin, published by PWS-KENT (Division of Wadsworth Inc). Covers ANSI-74 and ANSI-85 COBOL in detail. Highly recommended by m.wilson@rea2102.wins.icl.co.uk. 10.14a “Comprehensive Structured COBOL / With Format Reference Guide” ISBN: 053491781X by Gary S. Popkin Order Time 4-6 weeks (according to Amazon), May not be available Paperback 4th edition (December 1992) PWS-KENT (Division of Wadsworth Inc). 10.15 “Introduction to COBOL: A Guide to Modular Structured Programming” ISBN: 0139090606 by David M. Collopy Textbook Binding - 568 pages (September 28, 1999) Prentice Hall Good COBOL Introduction Textbook (per Bob Howell [rahowell@worldnet.att.net]) 10.16 “Mastering COBOL” ISBN: 078212321X By Carol Baroudi 1008p, Feb. 2, 1999 Mastering COBOL is the must-have tutorial/reference for experienced programmers who need to learn COBOL to work with legacy code. There is no other book with this emphasis! The book uses hands-on examples and extensive coding samples to teach the reader how to deal with the key issues facing today's COBOL programmer: mainframe code updates, Year 2000 corrections, Euro currency conversions, Web migration, and more “For the intermediate and advanced COBOL programmer.” 10.17 “Modern COBOL Programming” ISBN 0-394-39100-4 by Price/Olson published by McGraw Hill Comes with RM/COBOL-85 (This edition is reported to be out of print, however, see the next item.) 10.17a “Modern COBOL Programming” ISBN 0078375266 Wilson T. Price Jack Olson Format: Paperback, 1st ed. Publisher: McGraw-Hill Companies, The Pub. Date: March 1991 10.18 “Object Orientation: An Introduction for COBOL programmers” ISBN 1569280126 or 1569280053 (however, both are reported to be out of print) by Raymond Obin published by Micro Focus Press. 10.19 “OS/2 Presentation Manager Programming for COBOL Programmers, Revised Edition” ISBN: 0471561401 by Robert B. Chapman Paperback - 504 pages (September 1993) John Wiley & Sons; 10.20 “The Revolutionary guide to COBOL with compiler” ISBN 1-874416-17-6 by Yevsei Handel and Boris Degtyar. Paperback - 642 pages Book and Diskette edition (October 1993) Published by Wrox Press Ltd, 1334 Warwick Rd, Birmingham, UK. “Good review of the language for a COBOL programmer.” The following information was provided (on March 2, 1998) by John Amos concerning the compiler that comes with the book) "Requirements: CPU: Intel 286 or newer Tutorial minimum requirements: 400KB RAM free, EGA adapter, 1.5 MB disk storage, DOS 3.0 Constraints relative to the ANSI-85 COBOL standard: Does not support implementor names and associated switches in the SPECIAL NAMES paragraph of the Environment Division. RECORD DELIMITER phrase is not supported. No support for CLOSE with REEL, UNIT, or LOCK options. Supports static program linkage only." The COBOL compiler that comes with this book was written by Dmitry Bronnikov. 10.21 “Comprehensive COBOL” ISBN 0-07-909613-1 (5.25 inch disks) by Bradley ISBN 0-07-836549-X (3.5 inch disks) Includes a Liant RM/COBOL-85 DOS compiler and development environment (These ISBN’s are reported to be out of print, however, see the following.) 10.21a “Comprehensive COBOL” ISBN 0070070784 by James Bradley Paperback (April 1990) McGraw Hill College Div 10.22 “Sams Teach Yourself COBOL in 21 Days, Third Edition” ISBN: 0672317885 by Mo Budlong Paperback - 1100 pages 3rd Book & CD-Rom edition (October 22, 1999) Sams “Teaches the language itself and not how to structure programs etc. Experience in programming needs to be added.” 10.23 “Sam's Teach Yourself COBOL in 24 Hours” NOTE: For just one place you can get this book, see: http://www.amazon.com/exec/obidos/ISBN=0672314533/ ISBN 0-672-31453-3 By Thane Hubbell Paperback - 477 pages Book & CD-Rom edition (December 1998) Sams Teach Yourself COBOL in 24 Hours teaches the basics of COBOL programming in 24 step-by-step lessons. Each lesson builds on the previous one providing a solid foundation in COBOL programming concepts and techniques. Coupled with the source code and the compiler available from Fujitsu, this hands-on guide is the easiest, fastest way to begin creating standard COBOL compliant code. Business professionals and programmers from other languages will find this hands-on, task-oriented tutorial extremely useful for learning the essential features and concepts of COBOL programming Includes Fujitsu v3.0 starter kit and Flexus COBOL sp2 -GUI Environment (60 day evaluation copy) Per Bob Howell [rahowell@worldnet.att.net] “A comprehensive, easy to follow, and readable introduction to COBOL. The examples and exercises are well thought out and give many hints about pitfalls encountered by newcomers, and helps them avoid common mistakes and misconceptions.” 10.24 “Structured COBOL Programming” ISBN: 0789557037 by Gary B. Shelly, Thomas J. Cashman, Roy O. Foreman Paperback 2nd edition (November 1999) Course Technology Well-written COBOL textbook and reference (per Bob Howell [rahowell@worldnet.att.net]) 10.25 “Structured COBOL, 2nd Edition” ISBN 1-870941-82-9 By B. J. Holmes DP Publications Ltd., Aldine Place, 142/144 Uxbridge Road, London W12 8AW, UK From the jacket: "This book is written around two themes: the design of structured computer programs based on the techniques from Jackson Structured Programming (JSP); and the methods available for coding these designs in the COBOL language." According to David Silber [DavidS@hpd.co.uk], “This is an introductory text on COBOL, though heavily geared to the implementation of JSP with techniques such as Schematic Logic, Structure Clashes and Program Inversion discussed as well as Program Structures from File Structures. Definitely geared to mainstream commercial EDP.“ 10.26 “Structured COBOL, 3rd Edition” ISBN 0-07-835423-4 (5.25 inch disks) ISBN 0-07-836489-2 (3.5 inch disks) by Welburn/Price Includes a Liant RM/COBOL-85 DOS compiler and development environment US price (April '94): $67.38 The above two books may be ordered from Mitchell/McGraw Hill, (According to one report, the above two ISBN’s are no longer available, however, see the next entry.) Tel: (800) 338-3987 (US only) or (619) 426-5000 Juergen Linkens <R13550@WACCVM.corp.mot.com> adds : The compiler is limited as following: max. 800 lines of code max. 4 files max. 1000 records per file max. 100 bytes per file record BTW, the editor coming with it isn't very good either. This is not meant to be a complaint, just a hint for future issues. I never expected a fully unlimited compiler for a book price, just a few less limitations. 10.26a “Structured COBOL: Fundamentals and Style” ISBN: 0070691967 by Tyler Welburn, Wilson Price Paperback 4th edition (April 1995) Mitchell Pub; 10.26b “Structured COBOL: Fundamentals and Style” ISBN: 0079120466 by Tyler Welburn, Wilson Price Paperback 4th package edition (July 1999) Richard D. Irwin “An excellent COBOL book which uses new, modern techniques for program design. There are numerous examples, clearly illustrating various COBOL instructions, which approach real-world standards, more so than other COBOL books. Clear explanations for beginners, but has so much information that experienced programmers can use it. Examples are easily understood and use a userfriendly terminology.” 10.27 “Structured ANSI COBOL Part 1 : A Course for novices using a subset of 1974 or 1985 ANSI COBOL” ISBN: 0911625372 by Mike Murach Paperback 2nd edition (November 1986) Mike Murach & Associates 10.27a “Structured ANSI COBOL Part 2 : An advanced course using 1974 or 1985 ANSI COBOL” ISBN: 0911625380 by Mike Murach Paperback - 498 pages 2nd edition (May 1987) Mike Murach & Associates 10.28 “Structured COBOL with Business Applications” ISBN 0138541671 by Stanley E. Myers published by Prentice Hall. (reported to be out of print) 10.29 "Structured COBOL Programming (7th Edition)" ISBN 0-471-30580-4 by Stern & Stern, published by John Wiley & Sons. Comes with a syntax guide and an order form for a special offer cut-down RM/COBOL 85 or Micro Focus Personal COBOL (unmodified). 10.29a “Structured COBOL Programming (8th Edition)” ISBN 0471318817 8TH EDITION - HIGHLY RATED AT AMAZON (4 REVIEWERS) (NOTE, THE 9TH EDITION, July 23, 1999 IS NOT AS HIGHLY RATED - HOWEVER, ONE REVIEWER LOOKED AT THIS BOOK, AND IT LOOKS PRETTY GOOD) 10.29b “Structured COBOL Programming, Year 2000 Update” ISBN: 0471299871 by Nancy B. Stern, Robert A. M. Stern Paperback - 800 pages 8th Book & Diskette edition (June 1999) John Wiley & Sons “Textbook style, well organized, readable two-color book, which includes discussions of COBOL topics not properly addressed in other books. Distinguishes between COBOL 74 and COBOL 85, with code examples for each. Detailed discussion of every topic, good examples and helpful self-tests.” 10.30 “Successful COBOL Upgrades: Highlights and Programming Techniques” ISBN: 0471330116 by Young M. Chae, Steven Glen Rogers Paperback - 287 pages; Book and CD Rom edition (April 14, 1999) John Wiley & Sons Card catalog description This complete guide acquaints you with significant differences between major COBOL releases, describes how to get the most out of the newest features, and boosts your upgrade effort with techniques used by one of the largest Y2K factories in the world - Ernst & Young's Accelerated Conversion Center. You'll find step-by-step methods for comprehensive planning, converting, compiling, and testing for each of the three different approaches to upgrading COBOL: manually, using internal staff and resources; using purchased or leased conversion tools; and outsourcing to an established upgrade factory. 11. Is there a COBOL to C converter ? Asking this question anywhere appears to generate much general flaming and general language wars and very little useful information. No such beast is listed in the free compilers FAQ, but an ad has appeared in the US publication "Programmer's Shop Catalog" for COBOL to C (and PL/I to C) translators. Contact : Micro-Processor Services, 92 Stone Hurst Lane, Dix Hills, NY 11746 Tel: (516) 499 4461 Fax: (516)- 499-4727 E-Mail: info@mpsinc.com, mpsinc@netusa.net www: http://www.mpsinc.com Several commercial products can be used for this purpose. See for example: 13.5.3 DMS Reengineering Toolkit and 13.5.12.1 CobolTransformer Another (semi-related) question concerns COBOL to Java translators. Although intended as a COBOL compiler, if you are interested in this, you might want to check out: 5.6.1 PERCobol™ A toolset for conversion from COBOL to several other languages is available. A tool first produces structured diagrams (Nassi-Shneiderman) from existing source files. Structural errors are identified and you can edit to correct them. Another tool takes those same diagrams and produces source code in one of several languages (COBOL, C, ADA, Basic, Clipper, dBaseIV, Fortran, Modula 2, Natural, PL/1, etc.) The toolset is called XperCase by Siemens, and is available in the US from: Boston Technical Distribution Corp. 3 Center Plaza, Suite 440 Boston, MA 02108 Tel: (617) 248-8989 Fax: (617) 248-8986 Laurent Sabarthez contributed : "Some years ago I was Project Leader on a software project termed COBTOC (COBol TO C translation). The company is by now out of business, but the rights on this product were purchased by NSI (Network Solutions Inc., Herndon, VA, USA - Emitt McHenry was Chairman). COBTOC is actually a translator generator. It can produce a specialized translator for any reasonable COBOL dialect, given a dialect description very close to the usual syntax notation one can find into any COBOL Reference Manual. "semantics" peculiarities are also described in this way. Once a translator has been produced in this way, a source management module allows automated translation of the COBOL source modules. A run-time library is also automatically produced as a by-product of the translator. The COBTOC user gets a set of C files, each being the translation of a corresponding COBOL file. You can get K&R C, ANSI C, or common variants like Turbo C. The overall structure of the COBOL program is preserved upon translation. Identifiers are straightforward transformations of COBOL names. Paragraph structure and flow control are also preserved, like all name space properties attached to I/O and file management. The C files are compiled and linked with the run-time library, which supports data handling, edition, arithmetic, direct I/O, file I/O and transaction management (e.g. CICS). Executables are intended to run on any platform supporting POSIX C compiling and standard library linkage. COBTOC was left by my co-workers and me in an alpha release state, mid 1993. I don't know the end of the story, but NSI should provide more up-to-date information about it. There is also a project running to create a COBOL to C converter (possibly COBOL to C++ ?) available under the GNU license. " Another project that can be viewed as either a COBOL to C converter or as a compiler, is the "CobCy Project" For more details, see the CobCy homepage at: http://web.tiscali.it/albertosantini/cobcy/ 12. COBOL code generators 12.1 Advantage™ CA-Telon® Application Generator and Advantage™ CA-Telon® Application Generator PWS Option (See http://ca.com/products/telon_pws.htm) Advantage CA-Telon Application Generator and Advantage CA-Telon Application Generator PWS Option (Programmable Workstation) are complete solutions for designing, generating and maintaining your mission-critical COBOL and PL/1 applications. High-level, non-procedural design and prototyping, combined with automatic code generation, result in higher productivity, consistent standards and good programming practices. With CA-Telon Application Generator PWS Option, you can offload your application development projects from the mainframe and provide your programmers with a complete application development environment on the workstation. The Advantage CA-Telon Design Facility (TDF) provides a "fill-in-the-blank" approach for designing online and batch programs. An automated prototyping facility assists in the analysis/design phases of the life cycle. Advantage CA-Telon Application Generator generates structured portable code for a multitude of target environments and DBMSs.. Available for: Windows 9x, Windows NT 4.0, Windows 2000, OS/390, and z/OS Technical Support (including documentation) webpage: http://esupport.ca.com/public/app_dev/ca_telon/telonsupp.asp 12.2 IBM VisualAge Pacbase VisualAge® Pacbase is a model-driven, repository-based, application development offering designed for enterprise-wide scalability, reliability, and performance. VisualAge Pacbase analyzes and designs traditional and e-business management systems. VisualAge Pacbase handles the production process for all types of e-business models from simple two-tier applications to complex n-tier network-centric systems. See: http://www-3.ibm.com/software/ad/vapacbase/ 13. COBOL Tools This section documents some of the add-on tools that are available for use with COBOL compilers. Further submissions are welcomed, but please try to keep them as free from marketing "hype" as possible. Note: This section seems to be entirely devoted to tools that run in or are targeted at the PC and/or Unix world. Mainframe additions are welcome, but will probably be a while before I can add them. 13.1 Creating GUI's 13.1.1 Acucorp GUI products AcuBench AcuBench is an integrated development environment for ACUCOBOL.-GT. Available for the Windows 95 and Windows NT operating systems, AcuBench combines the internationally acclaimed ACUCOBOL-GT (Graphical Technology) compiler and runtime system with a set of graphically-based, GT-optimized WYSIWYG screen Painter, and language sensitive source Code Editor. ACUCOBOL®-GT ACUCOBOL®-GT enables COBOL programmers to implement and deliver full-featured GUI COBOL applications on any of over 600 platforms, with full object code portability using a single set of COBOL source code. Programmers can create graphical applications including floating windows, graphical controls (such as entry fields, frames, radio buttons, push buttons, and labels), menu bars, bitmaps, and toolbars using COBOL extensions that are consistent with traditional COBOL syntax. 13.1.2 Flexus COBOL spII COBOL spII allows the COBOL programmer to create GUI or character mode screens using ANSI standard COBOL CALL USING statements. COBOL spII screen definitions and source programs are 100% COBOL compiler independent, 100% operating system independent and 100% text mode to GUI mode independent. Automatic screen conversion tools for many proprietary environments are also available from Flexus. These automate the task of converting screen definitions from proprietary character mode screens to GUI screen definitions. For more information: see http://www.flexus.com/ 13.1.3 Fujitsu PowerFORM™ (See http://www.adtools.com/products/windows/pform.htm) PowerFORM is a WYSIWYG graphical form designer and layout tool for creating complex print forms. You can easily replace your traditional plain text reports with graphical COBOL reports. PowerFORM lets you design reports with graphical elements, color, and variable fonts and then print them on any laser or inkjet printer. It is closely integrated with Fujitsu COBOL so PowerFORM reports are defined and written using COBOL file handling syntax. In fact, programming in PowerFORM is almost identical to writing a regular print file. 13.1.4 LegacyJ BlueJ™ NOTE: I can no longer find information on this product at the LegacyJ site. BlueJ is a graphical application painter utilizing graphical and non-graphical program elements to create application programs in Java or PERCobol (COBOL). BlueJ combines the features of a conversion tool and a graphical application painter. Import filters paint text elements as configurable graphical elements and allow these elements to be enhanced. Graphical palette items can be supplemented with commercial Java Beans or tailored elements provided by LegacyJ to create new programs. BlueJ delivers active element programming; enabling programmers to view element interactions while the program is being built. BlueJ will generate and compile both COBOL (PERCobol) programs and Java programs. Programs developed with BlueJ can contain COBOL Beans (generated with LegacyJ PERCobol) and Java Beans commercially available from a wide range of sources. BlueJ enables programmers to add active elements to an application "form", and visualize the "touch and feel" of the application as the program is being assembled. An interaction wizard is used to connect objects and actions. BlueJ is a highly configurable graphical application tool. It has the capability to add input and output filters so that non-graphical terminal applications can be "screen scraped" and used as input to then generate a basic graphical screen. This basic screen can then be enhanced adding new graphical elements. Output filters (Application Programming Interface) can be used to attach additional code generators for other programming languages. For the latest information, the following site previously was used: http://www.legacyj.com/bluej/index.html 13.1.5 Norcom GUI ScreenIO GUI ScreenIO, a graphical user interface for COBOL, is Norcom's newest and coolest product. Powerful, rich in features, and remarkably easy to use. If you want to develop true Windows® applications using COBOL, you want GUI ScreenIO. For more information, see: http://www.screenio.com/products.htm 13.1.6 VanGui for RM/COBOL. VanGui consists of two major components: a design tool and a runtime system. The design tool is a Windows application which provides COBOL developers with the capability to define windows, populate those windows with standard Windows and VBX controls, adjust the properties of those controls and attach COBOL event-handling logic to their events. The VanGui Runtime is a Windows .DLL that manages Windows messages, provides runtime support for the controls, and provides a COBOL interface to the Windows API. For more information on VanGui, see http://www.liant.com/products/rmcobol/vangui/ For another GUI tool from Liant, see 5.3.4 RM/Panels !3.4 What about Year 2000 Tools? As far as I can tell, there are no longer any tools specifically marketed for Y2K issues. Many “re-engineering” and analysis tools can (could) be used for this and similar (e.g., EURO) conversion efforts. Although I don’t know how current it is, if you are interested in such tools, you might want to check out: http://www.y2ksavers.com/pages/resource.htm#software As well as looking at: What about the Y2K (Millennium) Issue? 13.5 Misc. Tools and Services 13.5.1 Clone Doctor The Clone Doctor finds and locates exact and near-miss clones (duplicated sections of code and/or data declarations) in large (COBOL) application suites, and optionally removes them. It typically finds 10-20% by code volume. Removing such clones can potentially save maintenance costs an amount proportional to the size of the removed code. An additional benefit is that often detection of clones will show an incorrectly modified clone, thus demonstrating a bug. Since the Clone Doctor is based on the DMS Reengineering toolkit, it can handle massive application systems in multiple languages. A demo version for COBOL85 is available from their Web site at: http://www.semdesigns.com/Products/Clone/index.html 13.5.2 COBOL Explorer COBOL Explorer is a web-based facility to archive and view (IBM mainframe) COBOL / JCL listings in a hyper-text medium. It is a maintenance-friendly medium. Both COBOL and JCL are full of cross-referenced items that are tedious to follow. We believe that the time has come to re-present the information in an intuitive way so we can improve maintenance productivity by an order of magnitude. COBOL Explorer is an active fully cross-referenced and searchable repository. You can navigate from program to program to JCL and back at a specific timeline, all without any regimentation, installation or any work at all! For additional information, the following (now defunct) web-site was available: http://www.cobolexplorer.com/ 13.5.3 DMS Reengineering Toolkit The DMS Reengineering Toolkit is a suite of tools for automating the analysis and modification of large-scale application suites, in COBOL and/or other languages. This enables organizations to carry out changes that are not practical or reliable by hand, such as porting, database rehosting, database and application conversion, documentation extraction, etc. The toolkit provides facilities for: Parsing legacy languages (COBOL85, IBM COBOL VS2, C, C++, Fortran, Pascal, SQL, VisualBasic; other languages can be defined). Software systems with mixed languages, thousands of files and several million lines can be processed in a single session as a unit. Applying customer-defined transforms written in the syntax of the legacy language (e.g., COBOL) to carry out desired changes. Prettyprinting the transformed results, optionally reproducing the unchanged portions with the original spacing, formatting and comments. See, http://www.semdesigns.com/Products/DMS/DMSToolkit.html 13.5.4 ETK ETK (Easy ToolKit) was developed by SEMA Group in Belgium. It now appears to have moved several times. For information on what is included in the “toolkit” zip file, see: http://home.comcast.net/~wmklein/FAQ/ETK/ETKPAK.HTM To Download the most current version that I could find, get it (in zipped format) from: http://home.comcast.net/~wmklein/FAQ/ETK/ETKPAK.zip Currently only available (that I can find) at: http://richheimer.dyndns.org/Downloads/Docs/ETKPAK.ZIP Previously it was available from http://www.coboltools.com/index.html and http://www.coboltools.com/etk.htm 13.5.4a FlexGen 4GL Rapid Application Development Environment A repository-based, data dictionary-driven tool set and code generator. It supports and generates code for RM/COBOL, Acucorp, Micro Focus COBOL, Realia (DOS Only), mbp (DOS Only) and runs and deploys under DOS, Windows, Windows 95, NT, many flavors of UNIX, VAX/VMS and Open VMS. For more information, see: http://www.rxcomputer.com 13.5.5 Flexus WinPrint COBOL WinPrint allows the COBOL programmer to make ANSI standard COBOL CALL USING statements to completely control and communicate with the Windows Print Manager. Forms may be designed interactively with the Forms Editor to include bitmaps, special fonts, colors and many other modern features. These reports may be viewed on the screen prior to printing or sent directly to the Print Manager. 13.5.6 J & C Migrations Translate cryptic RPG and CPG to readable COBOL CPG, RPGII, and RPG III are proprietary, cryptic, and obsolete, and require specialized Runtime, APIs, licenses, and skills. RPG skills and tools are not as readily available when urgent work needs to be done. While RPG/400 is not yet obsolete, it is cryptic and proprietary. In contrast, COBOL is readable, self documenting, has better tools and more trained people for its maintenance. COBOL is the most common computer language, available on Mainframes, Minis, Unix, and PC environments. COBOL is based on a public Standard, and is the most portable, and best supported language in all of the above environments. For additional information contact: J & C Migrations 566 Centre Street Newton, MA 02458-2325 USA E-mail: info@jcmigrations.com Tel: +1 (617) 916-5114 Fax: +1 (617) 916-5113 13.5.7 PCYACC PCYACC 7.5 is a complete language development environment that generates C, C++, Java, Delphi, and VBS source code from input Language Description Grammars for building Assemblers, Compilers, Interpreters, Browsers, Page Description Languages, Language Translators, Syntax Directed Editors, Language Validators, Natural Language Processors, Expert System Shells, and Query Languages. The PCYACC Tool-Kit includes PCLEX, Visual Debugging Tools, Object-Oriented Class Library's, and Pre-Written "Drop-In" Language engines for virtually every computer language in the world. Note the original information stated that support was for the 77 and 90 Standards (which are good years for the Fortran Standard but not for COBOL). It is assumed that they actually support the 74 and 85 Standards of COBOL. Contact them at: http://www.abxsoft.com/ 13.5.8 Progeni An Information Technology company providing services and tools for the development and/or maintenance of COBOL and other applications. We specialize in all sizes of code conversion or migration projects. Our automated tools produce cost effective and Rapid Application Development (RAD). For more information on their products and services, see http://www.progeni.com/ Or you can contact them at: The Progeni Corporation 3150 Holcomb Bridge Rd. Suite 100 Norcross, GA. 30071 Voice: 770-840-7550 Fax: 770-840-7907 E-mail: info@progeni.com 13.5.9 RainCode products To find all the RainCode offers related to the COBOL language, see: http://www.raincode.com/cobollg.html 13.5.9.1 RainCode Engine for COBOL RainCode actually reads the COBOL source code and builds an annotated parse tree after a fully documented object model. A scripting language can then be used to walk through the parse tree, taking full advantage of the features provided by the object model. See: http://www.raincode.com/cobolengine.html 13.5.9.2 RainCode Roadmap for COBOL The RainCode Roadmap for COBOL is a RainCode product, which produces documentation out of possibly large amounts of COBOL source code automatically, in order to ease maintenance, and, more generally, deliver usable knowledge about existing systems. 13.5.9.3 RainCode Checker for COBOL RainCode is a system that operates on possibly large volumes of COBOL code, and that assesses its compliance versus a number of possible metrics: Quality Industrially accepted, company-wide or project-wide guidelines Portability The true added value of RainCode lies in its ability to measure compliance towards user-defined rules that can be expressed conveniently using an ad hoc scripting-language. This scripting-language operates on high-level structural and semantic concepts. Even the most obscure, the most exotic guideline can be checked for easily. See: http://www.raincode.com/cobolchecker.html 13.5.9.4 RainCode XMLBooster's COBOL Code generator RainCode XMLBooster's COBOL Code generator: Generates a parser (to convert an XML input to a valid COBOL data structure) as well as an unparser (to convert the COBOL data structure back to an XML stream). Generates standard COBOL code, that can be compiled and run on virtually any platform, including NT, Unix, VMS, MVS, etc For more see: http://www.raincode.com/cobrasp/index?PRODUCT_LINE=XMLBooster 13.5.10 Refactive We have created an open and flexible toolset for delivering software re-engineering solutions to our customers. Our products are based on open standards and support multiple languages/dialects including Cobol, Java, etc. We believe our customers are looking for solutions; not just tools. We have created re-engineering services that support our customers in specific maintenance areas. Our services combine tools, technology, methodology and our experience with only one goal: to solve our customer's problems: http://www.refactive.com/web/solutions_and_services/assessment.php Our technology and experience is not limited to these standard services. If you have a specific problem, not covered by our services, we encourage you to contact us. Refactive BV Aan de wind 22 1316 VM Almere-stad The Netherlands Phone +31 (0)36 548 99 41 Fax +31 (0)36 521 44 05 Email info@refactive.com www: http://www.refactive.com/ 13.5.11 SANFACE Software SANFACE Software is a PERL specialist company. They use PERL combined with their other products to develop scripts and cgi that create PDF files dynamically. Their products can be customized to customer requirements. Their tools run on all operating systems supported by PERL For additional information, see http://www.sanface.com/ 13.5.12 Siber Systems Siber Systems is a diverse software and services company that specializes in program and data conversions, natural language processing, and compilers. We offer these great products and services. For additional information, see: http://www.siber.com/sct/ 13.5.12.1 CobolTransformer (See http://www.siber.com/sct/) CobolTransformer (SCT) is a next generation COBOL reengineering and parsing toolkit (SDK). By using CobolTransformer components, developers are able to develop COBOL-transforming (or COBOL-analyzing) product or project faster and the resulting tools are of much higher quality. CobolTransformer is a library with API in C++ that includes: High quality COBOL Parser that parses 12 most popular COBOL dialects and that has tremendous error recovery capability. C++ library that client uses to browse and transform the tree-based Internal Representation of COBOL programs. Definition-Use links attached to the Program Tree effectively make it a general case Graph. PrettyPrinter that transforms our Internal Representation back into beautifully indented human-readable COBOL program. 13.5.12.2 Cbl-Beau CobolBeautifier does the following things: a. Beautifully indents your COBOL program. b. Renumbers paragraph-names, section-names, data-names c. attach an increasing or decreasing prefix or suffix to all paragraph-names and/or section-names and/or data-names in your COBOL program. (Based on CobolTransformer.) A free version is available from their Web site at: http://www.siber.com/sct/ The Commercial version will allow to specify your own indentation/pretty-printing rules, Program you style rules in CobolTransformer and make all programs to comply automatically. To be available soon. 13.6.12.3 Mf2Fsc Mf2Fsc is a Micro Focus COBOL to Fujitsu COBOL converter. It converts Micro Focus COBOL-85 to Fujitsu COBOL-85 and beautifies the program at the same time. A free prototype is available from their web site at: http://www.siber.com/sct/ A commercial version will be available soon. 13.5.13 Xinotech Xinotech (used to?) develop and commercialize meta-language-based software tools to support reengineering and the automated transformation of software. As far as I can tell this old “company” is now out of this business. They do still have a web-site, but I can’t find anything (obvious) that relates to COBOL. To make up your own mind, see http://www.xinotech.com/xino-products.html 13.6 IBM Mainframe Debugging and Development Tools Although it may also be true for other environments, it is incredibly common in IBM mainframe COBOL shops for there to be a variety of “add-on” products for application development, debugging, and maintenance. This FAQ will not detail all the tools available. However, I have tried to list many of the common ones – with links to obtain additional information. 13.6.1 Computer Associates Computer Associates offers a variety of COBOL and COBOL-related products (for a variety of operating systems – include OS/390, VSE, WinTel). For an “entry” into the world of CA products, see: http://www.cai.com/products/ 13.6.1.1 AllFusion Endevor Change Manager See: http://www3.ca.com/Solutions/Product.asp?ID=259 13.6.1.2 Advantage CA-InterTest/Batch See: http://ca.com/products/intertest_batch.htm 13.6.1.3 CA-InterTest for CICS See: http://ca.com/products/intertest.htm 13.6.1.4 CA-Migrate/COBOL See: http://ca.com/products/migrate_cobol.htm 13.6.1.5 CA-Optimizer/II See: http://www3.ca.com/Solutions/Collateral.asp?ID=808&PID=1628 13.6.2 Compuware Compuware’s home page lists links for Developing Testing Implementing Managing Staffing Any or all of these may be of interest to those doing IBM mainframe COBOL development and maintenance. The Compuware home page is: http://www.compuware.com/ Specific tools and products are listed below. 13.6.2.1 Abend-AID See: http://www.compuware.com/products/abendaid/ 13.6.2.2 File-AID See: http://www.compuware.com/products/fileaid/ 13.6.2.3 STROBE See http://www.compuware.com/products/strobe/mvs/ 13.6.2.4 XPEDITER See: http://www.compuware.com/products/xpediter/ 13.6.3 Cue-METAMON Cue-METAMON is a company aimed at insuring the integrity of the software that runs your business. Their software products, services and technical support provide for high-quality, cost-effective solutions for today's critical MVS application systems and back-end operations. See: http://www.cue-metamon.com/ 13.6.3.1 METAMON See: http://www.cue-metamon.com/ and select “Metamon TSO” or “Metamon CICS” in the Products list 13.6.4 Edge Portfolio Analyzer See: http://www.edge-information.com 13.6.5 IBM 13.6.5.1 Debug Tool See: http://www-1.ibm.com/servers/eserver/zseries/dt/ 13.6.5.2 File Manager for z/OS and OS/390 See: http://www-4.ibm.com/software/ad/filemanager/ 13.6.5.3 Fault Analyzer for z/OS and OS/390 See: http://www-4.ibm.com/software/ad/faultanalyzer/ 13.6.5.4 IBM ISPF for z/OS See: http://www-3.ibm.com/software/ad/ispf/ 13.6.5.5 IBM SCLM for z/OS See: http://www-3.ibm.com/software/ad/sclmsuite/sclm/ 13.6.6 Macro 4 Macro 4 is an independent, leading developer of world-class, business-enabling solutions. Their solutions underpin traditional and e-business environments, enabling companies to realize their business goals quickly and efficiently. See: http://www.macro4.com/solutions/index.html 13.6.6.1 DUMPMASTER See: http://www.macro4.com/solutions/products/dumpmaster/index.html 13.6.6.2 INSYNC See: http://www.macro4.com/solutions/products/insync/ 13.6.6.3 TRACEMASTER See: http://www.macro4.com/solutions/products/tracemaster/ 13.6.7 Serena SERENA Software, Inc. is a global software and services company dedicated to providing their customers with infrastructure software to manage application change across the enterprise, throughout the life cycle, for a competitive advantage. See: http://www.serena.com/home/index.html 13.6.7.1 Serena™ StarTool® FDM File and Data Manager See: http://www.serena.com/product/aa_st_fdm_ov.html 13.6.7.2 Serena™ StarTool® ATD Application Test Debugger See: http://www.serena.com/product/aa_st_atd_ov.html 13.6.7.3 Serena™ StarTool® DA Batch Dump Analyzer See: http://www.serena.com/product/aa_st_dabatch_ov.html 13.6.7.4 Serena™ StarTool® DA CICS Dump Analyzer See: http://www.serena.com/product/aa_st_dacics_ov.html 13.6.7.5 Serena™ StarTool® APM Application Performance Manager See: http://www.serena.com/product/aa_st_apm_ov.html 13.6.7.6 Serena™ Comparex® Any-to-Any Comparison Tool See: http://www.serena.com/product/aa_comparex_ov.html 13.6.8 SPC COBOL Report Writer See: http://www.spc-systems.com 14. Other sources of information 14.1 The Acucorp WWW server This is at http://www.Acucorp.com/ 14.2 Bix There is (or at least WAS) a COBOL forum on Bix. Don Nelson is the moderator. 14.3 CA WWW server CA also has a WWW server. It's URL is http://www.ca.com CA has Open Forums on it's technical support website: http://esupport.ca.com/index.html?OpenForums 14.4 The COBOL Foundation Dave McFarland, formerly of Ryan McFarland, has begun an organization aimed at promoting COBOL and providing information to and about the COBOL community. Members (including RM, MF, and IBM) pay yearly dues and in return are included in the Foundation's promotion efforts, literature, directories, etc. and have their company and product information posted on the Foundation's web server. However, this group no longer seems to be current. 14.5 COBOL User Groups There are a large number of Micro Focus User Groups. Rather than reproduce the list here and have it constantly out of date, it can be found at http://www.microfocus.com/usergroups/ IBM’s mainframe user group (for COBOL and other issues) is SHARE. See: http://www.share.org/index.jsp HP’s user group (for COBOL and other issues) is Interex, See http://www.interex.org/ Encompass is Compaq’s User Group (formerly the DECUS), See http://www.decus.org/encompass/ 14.6 The Flexus WWW server Contains all sorts of information, including a copy of the COBOL 650 compiler. It's at http://www.flexus.com/ 14.7 The IBM COBOL products WWW server IBM has enhanced the COBOL you currently use with powerful features to increase development productivity, simplify the maintenance of your legacy code, and provide seamless portability from your host to your workstation. Whether you're maintaining or reengineering legacy code or creating new object-oriented client/server applications, IBM's COBOL family offers you the year 2000 ready application development environment designed to do the job right. IBM COBOL provides a complete offering of compatible, cross platform, cross product compilers which support OS/2®, OS/390™, MVS™, VM, VSE/ESA™, AS/400®, AIX®, and Windows®. IBM gives you the tools you need to tackle your COBOL year 2000 challenge while leveraging your existing applications. IBM COBOL also provides the tools you need to amplify your program development, enabling you to position your enterprise to take advantage of tomorrow's technologies. See: http://www-4.ibm.com/software/ad/cobol/ 14.8 Liant and Ryan McFarland WWW server Liant has a WWW server at http://lsc.liant.com/. 14.9 Micro Focus WWW server Micro Focus has a WWW server covering many COBOL issues. The URL is http://www.microfocus.com/ 15. Information required for the FAQ. Corrections and additions to existing material are always welcome. I'd like to add a section of reviews of different COBOL books. If I am sent any reviews I will collate them and add these to the FAQ. More information on mainframe COBOL products would be useful. A section covering COBOL programming could be worthwhile. Note: I still have a "folder full" of comments sent to the last owner of this FAQ that have yet to be applied. It is my intent to get them verified and applied as soon as possible. 16. Contributors to the FAQ. Many people have contributed to this FAQ in each of its iterations. In the past an ongoing list of these people have been included within the FAQ. At this time, i am stopping this practice, although I ,in no way, want to deprecate all the work and input that these people have provided. I have continued to identify people whom I am quoting (directly or indirectly) and do still hope that everyone who has input for this document will continue to provide it. 17. What about the Y2K (Millennium) Issue? Yes, the year 2000 IS a leap year Yes, the millennium really starts on January 1, 2001 - but the software "bug" refers to January 1, 2000 (and several other dates) 17.1 Where can I get information about the Y2K problem? The Year 2000 Information Center home page on the World Wide Web is at http://www.year2000.com. The Information Center has a countdown clock, articles on various aspects of the problem, vendor information, this FAQ, and links to related information. There is an Internet mailing list operated by Peter de Jager for discussions of year 2000 computer problems. The list has over 1200 members, and gets an average of about 25 messages per business day. This is a moderated mailing list managed by a paid administrator and fully supported by its members on a "shareware" basis. Each member is asked to pay a subscription fee of US $50 yearly. (You may contribute more if you wish.) New subscribers get a 30-day free trial. To subscribe, select the "Year 2000 Announcement List" link from the Year 2000 Information Center home page at http://www.year2000.com. On the subscription form, select the Yes adio button for the Discussion List. You can also subscribe by sending e-mail to 2k@tor.hookup.net with SUBSCRIBE in the subject line of the message. Subscriptions are processed manually, so please be patient. The list can optionally be received in digest form instead of individual messages. Invoices and receipts are available if needed. Details will be sent when you subscribe. The Year 2000 Forum on CompuServe has discussions of all year 2000 issues, and a collection of files, including this FAQ. There are over 1000 members. To reach the forum, GO YEAR2000. The Usenet newsgroup comp.software.year-2000 is dedicated to discussions of year 2000 computer issues. The current version of this Year 2000 FAQ is available from several web sites, an FTP site, and on CompuServe. It is in ASCII text form at all these sites. On the Year 2000 Information Center home page at http://www.year2000.com, select the "Year 2000 Archive" link. The FAQ is the last item listed on the Archive page 18. What can/should I post in the COBOL newsgroups? Both comp.lang.cobol and alt.cobol are UN-moderated newsgroups. This means that there is no controlling authority regulating the content of the posts in those groups. Anyone is able (but most assuredly not welcome) to post anything, relevant to COBOL or not. Off-topic posts (and particularly prolonged off-topic threads)are discouraged, but it is impossible to prevent them. Different readers of these newsgroups have different thresholds for tolerating off-topic comments. The more that you post, the more likely it is that some readers will simply apply a "killfile" to all of your posts - often after sending you (and possibly the newsgroup) rather pointed comments on your use/abuse of the newsgroup. You should, therefore, apply the following guidelines that will help you get the most out of both your viewing and postings at these sites. Comp.lang.cobol is the preferred site to use - especially for technical issues related to COBOL. Although threads do stray from the topics, the more targeted your inquiry is - and the more closely it relates to COBOL, the more likely you are to receive a useful and prompt response. (If you know that you are leaving the current subject, consider changing the subject line in your post.) When asking about a specific structure, error message, or situation, it is always best to specify both the compiler that you are using and the operating system where you are working. (What you may think is a general COBOL question may actually be very specific to your current environment.) Note: For those who are interested, the "charter" for the comp.lang.cobol newsgroup can be found at: ftp//ftp.uu.net/usenet/news.announce.newgroups/comp/comp.lang.cobol 18.1 Can I get help with homework via the newsgroups? Yes, you can get help with your homework via these newsgroups. HOWEVER, that does mean that you will receive help - you will NOT find many participants who will be very happy if you ask them to do your homework FOR YOU. Some hints that you should consider when drafting your post for assistance with homework include: Make it clear from the beginning that you are asking for homework help. (Most of the newsgroup participants are very good at sniffing out those who try and pose homework questions as "business need" questions - and they are not very polite in replying to such questions). Make certain that you specify what compiler and operating system your homework is targeted at. Solutions may vary significantly based on this. (You might also want to include what text book you are using.) The more information that you can give that demonstrates that you really have tried to solve the problem yourself (using your text book, class material/presentations, lab assistance, etc), the more likely it is that you will get useful and friendly responses. If you let us know what you have found on your own and why you are still uncertain or confused, you will usually get helpful responses; if it looks like you are asking us questions without trying to solve it yourself, you are likely to get very pointed replies. NOTE: if you are looking for a COBOL tutor, (and don't want to see the "Do your own homework" notes that occur in the COBOL newsgroups), you might want to try, http://www.tutoraid.org/ 18.2 Can I post job openings in the newsgroups and if so what should I include? These newsgroups are an excellent place for posting job openings. Some participants (those with jobs) often wish that less of the bandwidth was spent on job postings, but, for those who are looking for positions/contracts, these postings are quite useful. There are, however, some guidelines that you should follow when posting positions - unless you like getting abusive and non-responsive replies to your postings. Always, ALWAYS, include rates, a range of rates, or your best information on what rates are available. Phrases like "based on experience" and "competitive" are bound to receive replies questioning your motives. The assumption made by many newsgroup readers is: that ALL such posts are "trolling" for resumes or rates and not serious job searches. Try to give the best summary of job location and desired expertise in the subject line of your posting. This will assist you in attracting readers that are actually potentially interested in your openings. The newsgroups are international in nature, but are dominated by Americans. If you are posting a position outside the US, please make it clear whether foreigners are or are not welcome to apply - and if so what visas and other paperwork is required If you are posting for a job with specific citizenship requirements, please make that clear from the start. In general, the more information that you provide in your postings, the better the match will be from those who reply. If, however, you are "attaching" a job description, please make certain that you make it clear what type of document-reader is required to process it AND make certain that you have virus scanned the document before you post it. NOTE: For those looking for jobs, you might want to check out Dice at http://www.dice.com or http://www.justcoboljobs.com/ 19. What about USAGE? COMP? Storage for data in xyz format? Etc 19.1 For "alphanumeric" data? For "alphanumeric" data (or alphanumeric edited data), you should be OK, if you simply take the default of USAGE DISPLAY for your data. In other words, the definition of COBOL insures (more or less) that such data is pretty portable and that each symbol in the PICTURE clause takes 1 byte of storage. HOWEVER, the only way to really insure that such data is completely portable is to: Use the Standard-1 (or Standard-2) Collating Sequence Use the Standard-1 (or Standard-2) CODE-SET for input/output files Not rely on the order of keys of indexed files However, in most environments, you should be fairly safe in using the "native" coding system for alphanumeric items - as long as you have a method of converting such data from environment to environment (for example - an upload or download system that converts from ASCII to EBCDIC) if this is now or may ever be an issue for your application. The problems you might encounter with such data include: Comparisons not working (are alphanumeric numbers "smaller" or "larger" than "letters"?) What order are indexed files stored in? Remember that "true" ASCII (Standard-1) only includes 7-bit characters. (All the "extended" characters or the "top-half" of most common ASCII environments are NOT standard and are not necessarily portable) 19.2 For "numeric" data? When it comes to numeric fields the *ONLY* way to insure "portable" numeric fields is to define them as: USAGE DISPLAY SIGN IS SEPARATE Such fields may need to go thru the same type of ASCII/EBCDIC conversions as alphanumeric data, but they will retain their complete numeric values. HOWEVER, this type of numeric field is highly INefficient in some operating systems and with some (most?) COBOL compilers. If a field is just used for input/output from external devices (files or screens), then this definition may serve you well - but if you are doing a lot of arithmetic - or interacting with other operating system "programs", it is possible (probable?) that you will not be able to use this format in resource/time-sensitive applications. 19.2.1 For "portable numeric" data? "Standard" more or less numeric data types include USAGE BINARY and USAGE PACKED-DECIMAL. These were introduced in the '85 Standard and provide for portable source code - but NOT NECESSARILY PORTABLE STORAGE. Taking the most simple example, 05 How-Many-Bytes Pic 9(04) Packed-Decimal. may be stored as either 2 or 3 "bytes" (a concept that isn't in the current Standard - but will be in the next one) of storage - depending on whether your compiler "requires" a sign-nibble for even unsigned packed-decimal items. The general rule is that all "meaningful" digits of a packed-decimal item take 1 nibble (half of a byte) and the sign takes another. But when the data definition does NOT include a sign (S), then some systems still require the storage and some don't; some store an unsigned numeric field with the same sign-nibble as a positive number and some don't. (Most common examples - Most IBM-compatible PC's treat positive and unsigned numeric fields with a X'3' sign-nibble - while most IBM compatible mainframes treat positive numeric fields with a X'C' while unsigned have a X'F' sign-nibble). The standard USAGE BINARY has even more variations. (The Standard says that its exact storage is "hardware dependent".) Therefore, your system may allow 1 byte binary fields (or may require half-word as the smallest storage) may use 1 or 2's complements for negative numbers may be "big-endian" or "little-endian" All of these ARE hardware/operating system concepts, so you need to check your specific environment to determine their relevance (especially if you don't know what the concept means). 19.2.2 For "less portable numeric" data? USAGE COMP (or COMPUTATIONAL) is a Standard definition (unlike COMP-1, COMP-2, ... COMP-n or COMP-x). HOWEVER, what it means is totally implementor defined. There is a common MISCONCEPTION that the Standard requires USAGE COMP to be the "most efficient" USAGE for numeric fields (I have even seen this quoted in some manuals). However, this requirement certainly does NOT exist in the current ANSI/ISO Standard. Nevertheless, often (but definitely NOT always) this USAGE is the most efficient for numeric fields used in frequent arithmetic operations. Some common meanings of USAGE COMP include: USAGE BINARY (on IBM mainframes) USAGE PACKED-DECIMAL (on IBM COBOL/400) USAGE DECIMAL (on ???) USAGE COMP-5 (or COMP-X) (on some Unix or PC compilers) Without checking your compiler's documentation, you simply canNOT know which it is. Furthermore, your compiler MAY have a compiler option or directive that will switch it from meaning one thing to another. (For those that mean BINARY, all the variations listed above apply here as well.) 19.2.3 For "non-portable numeric" data? Once you get to the non-Standard USAGE COMP-n, "all bets are off". Because, IBM mainframes USED TO dominate the COBOL world, the following meanings are quite common (but are certainly far from universal): COMP-1 - Short Floating Point COMP-2 - Long Floating Point COMP-3 - Packed-Decimal COMP-4 - Binary Other common USAGEs are: COMP-5 - "native" binary COMP-X - "native" binary (allocated by bytes, not digits) COMP-6 - Packed-Decimal not requiring sign-nibbles. ****** 19.3 Well, What can you tell me? OK, so now you STILL want to know how many bytes some data field takes (or what the values within a numeric field "mean"). Clearly the best way to get the answer to this (for anything other than USAGE DISPLAY SIGN IS SEPARATE) is to CHECK YOUR compiler's LANGUAGE REFERENCE or USER MANUALS!!! However, if you don't have access to the proper documentation, the answers for various implementations have been given (often) in the comp.lang.cobol newsgroup - and a check of google.COM (see elsewhere in the FAQ for how to get there) should provide you a good answer. If all else fails, please do ask the newsgroup for help, but make certain you EXPLICITLY say: What compiler you are using What Operating System you are running on and Why you couldn't find the answer already in either google.COM or your documentation Given the answers to these 3 questions, you will probably get a quick and accurate answer - without them you will usually get a "rather pointed" reply. P.S. Never, NEVER, use a "REDEFINES" where you change the USAGE of a field - and expect the application to be portable from operating system to operating system - much less from compiler to compiler! 20. How do I get started with COBOL? Where can I get education? Tutorials? Etc 20.1 Some places to start – for “teaching yourself COBOL” There are a number of books listed above that are useful for “teaching yourself COBOL.” One of the ones most frequently recommended in comp.lang.cobol (partially as its author is a frequent contributor) is: “Sam's Teach Yourself COBOL in 24 Hours” Many of the other books are also targeted at this “audience”. Many of the others (like this one) include a COBOL compiler (software) with the book. Check the detailed list of books for the one that best meets your needs. It should also be noted that a number of the “commercial vendors” of COBOL compilers provide “academic” programs. See for example: Micro Focus Academic Products LegacyJ Educational Program 20.2 Online and Trainer-led Courses and Tutorials 20.2.1 The Trainer’s Friend The “Trainer’s Friend” does application programmer training for installations using IBM mainframe software (primarily MVS, OS/390, and z/OS systems, but we also do some Visual Age and WebSphere). In addition, we offer courses in Oracle and Java which may be taught for a variety of platforms. See: http://www.trainersfriend.com There is current list the COBOL-related courses at: http://www.trainersfriend.com/COBOL_Courses/cobolcurr.htm 20.2.2 University of Limerick – Department of CSIS The University of Limerick, Department of CSIS provides a site that contains COBOL lecture notes, COBOL Programming Exercises with sample solutions, a large number of example COBOL programs, tutorials on the COBOL Report Writer and a comprehensive set of COBOL tutorials making a full COBOL course. It supports the COBOL programming modules taught at the University of Limerick See: http://www.csis.ul.ie/COBOL/default.htm 20.2.3 Schools Offering IBM Mainframe Courses The site http://www.mainframes.com/schools.htm provides a list (with links where available) to schools offering S/390 related courses and/or degrees. Many, but not all, provide COBOL as part of their curriculum. Appendix A - Samples and Examples of COBOL Coding techniques For a link to several other COBOL related links - including several with "sample" source code (to solve "real world" problems), see: http://www.infogoal.com/cbd/cbdprj.htm Appendix A.1 - Date - 4-digit year The simplest way to get today's date with a 4-digit year (assuming a current ANSI/ISO compiler - with Intrinsic Functions) is: 01 Current-4-Digit-Year-Date. 05 YYYY Pic 9(04). 05 MM Pic 9(02). 05 DD Pic 9(02). *** Move Function Current-Date (1:8) to Current-4-Digit-Year-Date. If you then want to convert that "Gregorian" date to a "Julian" date, you can add the following code. 01 01 Current-Num-Greg-Date redefines Current-4-Digit-Year-Date Pic 9(08). Current-4-Digit-Year-Julian-Date. 05 YYYY Pic 9(04). 05 DDD Pic 9(03). 01 Current-Num-Jul-Date Redefines Current-4-Digit-Year-Julian-Date Pic 9(07). *** Compute Current-Num-Jul-Date = Function Day-of-Integer (Function Integer-of-Date (Current-Num-Greg-Date)). End-Compute. FYI, if you have a compiler with extensions to the ACCEPT statement taken from the draft of the next COBOL Standard, you may also be able to use the following code (instead). Accept Current-Num-Jul-Date from Day YYYYDDD Appendix A.2 - Date Comparisons Assignment: The "sample assignment" is that you are supposed to verify that an "input date" is no more than 60 days "old". (For any specific programming requirement or design, you will need to adjust the code accordingly.) NOTE WELL: Some code is omitted and some code could be combined, re-ordered, or modified for "performance" reasons. This also assumes that the "input date" has already been validated to be a "good date" and as a date after 1600. Sample COBOL Solution: Working-Storage Section. 01 Input-Date. 05 MM-IN Pic 9(02). 05 DD-IN Pic 9(02). 05 Y4-IN Pic 9(04). 01 WS-Current-Date. 05 Y4-CD Pic 9(04). 05 MM-CD Pic 9(02). 05 DD-CD Pic 9(02). 01 Temp-Integer-fields. 05 INT-Inp-DATE Pic 9(10). 05 INT-Cur-DATE Pic 9(10). 01 Reformatted-Input-Date. 05 Y4-IN Pic 9(04). 05 MM-IN Pic 9(02). 05 DD-IN Pic 9(02). 01 Num-Input-Date redefines Reformatted-Input-Date Pic 9(08). Procedure Division. * Do in initialization code Move Function Current-Date (1:8) to WS-Current-Date Compute INT-Cur-date = Function Integer-of-Date (Function NumVal(WS-Current-Date)) End-Compute *** * Do in each validation loop * Some programmers HATE "MOVE CORR" * but this is a reasonable place to use it - IMHO Move Corr Input-Date to Reformatted-Input-Date Compute INT-Inp-date = Function Integer-of-Date (Num-Input-Date) End-Compute If Int-Inp-Date > Int-Cur-Date Display "Whatever happens when Input date is bigger than today" Else If (Int-Inp-Date + 60) >= Int-Cur-Date Display "Whatever happens when input date is OK" Else Display "Whatever happens when input date is too old" End-IF End-IF Appendix A.3 - MVS (or OS/390) Control Blocks Is there some sample COBOL source code for accessing (finding out about) various OS/390 control block information? Yes, Please see (with thanks to Gilbert Saint-flour) – for system-level control blocks: http://mywebpages.comcast.net/gsf/tools/cob2sys.txt and for job-level control blocks: http://mywebpages.comcast.net/gsf/tools/cob2job.txt Appendix A.4 - How to "right justify" an alphanumeric field VERY MUCH still "under review" Assignment: Given: a 50 byte alphanumeric input field that MAY include imbedded spaces, all spaces, or trailing spaces, Then: Create an output field that includes all the original input data (including embedded spaces) but with no trailing spaces (i.e. "right justified"). Solution 1: 01 01 01 Input-Field Pic X(50). Output-Field Pic X(50). Cntr Pic 9(02). ... Procedure Division. ... Move Zero to Cntr Inspect Function Reverse (Input-Field) Tallying Cntr For Leading Spaces Move Space to Output-Field If Cntr < Function Length (Input-Field) Move Input-Field to Output-Field ((Cntr + 1) : ) Else Display "Input-Field has no non-blank characters" End-IF Solution 2: 01 01 01 01 INPUT-FIELD OUTPUT-FIELD INPUT-PTR OUTPUT-PTR PIC X(50). PIC X(50). PIC S9(04) Binary. PIC S9(04) Binary. MOVE SPACES TO OUTPUT-FIELD IF (INPUT-FIELD NOT = SPACES) MOVE FUNCTION LENGTH(INPUT-FIELD) TO INPUT-PTR PERFORM UNTIL INPUT-FIELD (INPUT-PTR:1) NOT = SPACE SUBTRACT 1 FROM INPUT-PTR END-PERFORM COMPUTE OUTPUT-PTR = FUNCTION LENGTH(OUTPUT-FIELD) - INPUT-PTR + 1 IF (OUTPUT-PTR < 1) COMPUTE INPUT-PTR = 2 - OUTPUT-PTR MOVE 1 TO OUTPUT-PTR ELSE MOVE 1 TO INPUT-PTR END-IF MOVE INPUT-FIELD(INPUT-PTR:) TO OUTPUT-FIELD(OUTPUT-PTR:) END-IF . Solution 3: 01 Input-Field Pic X(50). 01 01 Output-Field Pic X(50). Cntr Pic 9(02). ... Procedure Division. ... Move Space to Output-Field Perform Varying Cntr from 50 By -1 Until Cntr < 1 If Input-Field (cntr :1) = Space * Handle an input field with no trailing spaces If Cntr = 1 Display "Input-Field has no non-blank characters" Else If Input-Field ((cntr - 1):1) = Space Continue Else Move Input-Field to Output-Field (cntr:) Move 1 to Cntr End-IF End-If * No embedded spaces Else Move Input-Field to Output-Field End-if End-Perform Solution 4: 01 01 Input-Field Pic X(50). Input-Field-Table redefines Input-Field. 05 Input-Byte Occurs 50 times indexed by Inp-Ind Pic X(01). 01 Output-Field Pic X(50). 01 Output-Field-Table redefines Input-Field. 05 Output-Byte Occurs 50 times indexed by Out-Ind Pic X(01). 01 Blank-Switch Pic X(01) Value "N". 88 Already-NonBlank Value "Y". 01 Cntr Pic 9(02). ... Procedure Division. ... Move Space to Output-Field Set Out-Ind to 50 Perform Varying Ind from 50 by -1 Until Ind < 1 If Already-NonBlank Move Input-Byte (Inp-Ind) to Output-Byte (Out-Ind) Set Out-Ind down by 1 Else If Each-Byte (Inp-Ind) = Space Continue Else Move Input-Byte (Inp-Ind) to Output-Byte (Out-Ind) Set Out-Ind down by 1 Set Already-NonBlank to true End-IF End-IF End-Perform Appendix A.5 - How can you convert a number to words Is there a way to write a COBOL program that will convert numbers (expressed in digits) to words (as you do in a check - for example)? Yes, two frequent contributors to comp.lang.cobol have provided sample source code to do this. For a relatively "simple" version (that only works for English), see (Thanks to Thane Hubbell, cf. 10.18 "Sam's Teach Yourself COBOL in 24 Hours") http://www.geocities.com/Eureka/2006/download.htm and look specifically for (zip file): http://www.geocities.com/Eureka/2006/cutenum.zip For a more complex solution (which handles multiple languages and also includes support for converting "dates" as well as numbers), see (Thanks to Leif Svalgaard and our friends at "ETK") http://home.comcast.net/~wmklein/FAQ/ETK/ETKPAK.zip and look for the program "CERTPK Certify number functions ". NOTE: as of this writing, there is a “pointer” to the ETKPAK at: http://www.infogoal.com/cbd/cbdprj.htm (under the topic “TOSC : Download ETKPAK.ZIP example code” – but the link seems to be broken) Appendix B - Miscellaneous COBOL related web pages The following are a number of “miscellaneous” COBOL related web pages that I have found. They are not listed in any particular order and (currently) I am not providing any guidance on when/why you would look at each. http://www.geocities.com/Eureka/2006/ring.htm (All Things COBOL Webring Page) http://www.jamesshuggins.com/h/tek1/cobol.htm http://www.cobolportal.com/ (The COBOL Portal) http://www.infogoal.com/cbd/cbdhome.htm (The COBOL Center) http://home.swbell.net/mck9/cobol/cobol.html (The Kasten COBOL) http://www.actscorp.com/acts/cobol.htm (COBOL and the Business Programming Paradigm) http://www.teo-computer.com/dev/cobol.html (COBOL Resource Information Page) http://www.aboutlegacycoding.com/ (About Legacy Coding) http://www.thefreecountry.com/developercity/cobol.html (Free COBOL Compilers) Appendix C - Changes in recent revisions This appendix documents the major changes that were made to create the various (recent) versions of this document. Appendix C.1 - Changes to create Version 2.0 Huge numbers of changes! Version numbering jumped from 1.xxx to 2.0 to reflect this. FAQ availability details. Added section on Commercial COBOL Products. Removed 'what happened to Realia?' section. Removed references to Wang, as I can find no information on any Wang COBOL Products. Checked all URLs, and updated/added as appropriate. Removed reference to IBM 'COBOL Products WWW site'. Added entries in 'GUI Tools' section for Micro Focus Dialog System and Net Express, Flexus COBOL spII, and CA-Visual Realia. Removed ADS/Online from 'Code Generators' section as it's not, apparently. Also noted that Cullinet have been acquired by CA, who now sell the Telon product. Appendix C.2 - Changes to create Version 2.05 Significant reformatting Updated OO COBOL Section Add URL for IBM COBOL Web site Added information on "COBOL for Dummies" Added initial Y2K section Added information on using the newsgroups Added information on PCYACC Appendix C.3 - Changes to create Version 2.08 Started adding Logos Removed the detailed list of FAQ contributors Fixed erroneous Standards information Corrected information about Liant (who acquired RM) Added information on Amiga freeware compiler Added information on Siber tools Corrected CA company and product information Added information on where to turn for information not in the FAQ Rephrased the information on what can/should be put in the newsgroups. Revised the information on the CobCy project/product Updated Micro Focus information Added URL for "Dice" for those looking for COBOL jobs. Added information on getting a "COBOL Tutor" Appendix C.4 - Changes to create Version 2.09 Added and corrected information on Fujitsu Re-instated the information on obtaining a copy of the draft COBOL Standard. Appendix C.5 - Changes to create Version 3.01 Recorded new location of the FAQ Updated some old (bad) web links Added some new COBOL books (particularly those written or contributed to - by frequent comp.lang.cobol submitters). Added information about LegacyJ (PERCobol) and changed the company name from “Synkronix” to “LegacyJ”. Updated information for changes in product and company names and addresses where available Updated the URLs for downloading the draft of the next COBOL Standard and CobCy Started the Samples/Example Section Tried to get rid of most specific references to Windows/NT, Windows/95, Windows/98, and Windows/2000. Added links to Xinotech Added information on Norcom and GUI ScreenIO Added (back) information on Wang Added (back) information on the Tiny-COBOL (’74 Standard) project Appendix C.6 - Changes to create Version 3.02 Significant updates to “Books about COBOL” Changed several erroneous references to “Cobol” to the correct spelling “COBOL” Added information on J & C Migrations conversion tools Updated information on the “Tiny COBOL” project to reflect their new goal of providing an ’85 Standard compiler Add information on the Semantic Designs and Progeni tools Added information on Compaq COBOL (both for the formerly DEC COBOL and the formerly TANDEM COBOL) Added an appendix with “miscellaneous” COBOL-related web pages Updated the Acucorp phone numbers Updated the information on who distributes ETK Appendix C.7 - Changes to create Version 3.03 Verified and updated many links Did some restructuring of several “major” sections of the FAQ (e.g., removed some “tool vendors” from “where to contact”) Started updates for MERANT (for COBOL issues) returning to an independent Micro Focus Updated much of the Computer Associate information Started removing CompuServe references Add information on the various RainCode products Added information on Refactive Updated LegacyJ information Added information about COBOL Explorer Added information about Fujitsu-Siemens commercial COBOL products Added a new section (and subsections) “How do I get started with COBOL? Where can I get education? Tutorials? Etc” Started a new section (and subsection) “IBM Mainframe Debugging and Development Tools” Added information on SANFACE Software Added information on Fujitsu NetCOBOL for .NET