cobol faq - SourceForge

advertisement
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
Download