Table of Contents
Sams Teach Yourself COBOL in 24 Hours Acknowledgments
Return to Teach Yourself COBOL in 24 Hours, COBOL bibliography, COBOL, COBOL DevOps, Awesome COBOL, Awesome IBM Mainframe, IBM Mainframe development, IBM Mainframe bibliography, Fortran
Acknowledgments
Writing a book is not unlike the team effort involved in developing a complex software system. The people at Sams Publishing are consummate professionals. Their input, support, encouragement, and guidance have been invaluable. I want to especially recognize Holly Allender, Sean Dixon, Fran Hatton, and Heather Talbot.
In the COBOL community, several individuals deserve special recognition. Bob Wolfe is the individual who first piqued my interest in a book opportunity. His contacts landed me a spot on the COBOL: Unleashed team, which in turn led to this work.
I had the utmost privilege of historical perspective from an individual who was there and involved when COBOL began. Warren G. Simmons's insight and advice proved invaluable to the completion of this book.
Another individual who deserves mention is Don Nelson, current COBOL standards committee member. Don was heavily involved in the 1985 COBOL standard, and helped me greatly in areas concerning why things are the way they are, and what really is part of the present standard. For COBOL syntax, I relied on Don's excellent book, COBOL85 for Programmers.
The chapter on date manipulation was particularly interesting to write. I want to thank Judson McClendon for his assistance and advice on those issues, and on COBOL coding style in general.
Todd Yancy of Fujitsu Software Corporation assisted in securing the compiler for use with this book. The Fujitsu COBOL compiler is a strong, stable, and accurate compiler. Todd and Fujitsu have been instrumental in trying to bring the price of COBOL compilers within the reach of the average individual programmer.
Last, but certainly not least, I want to thank my very special partner, friend, and mate—my wife, Darlene. She supported me throughout this all-consuming process. She gave up much of her time with me to allow me the time to write this book. Her contribution is personal, and lovingly appreciated.
Lest I forget from whence this talent springs, I must thank God for granting me the gift of this talent for programming, and the ability to convey it in some small measure to the reader.
About the Author
THANE HUBBELL has been programming in COBOL for 15 years. He started in computer operations and rapidly moved into programming. He has worked on a variety of platforms, from the PC up to the large MVS mainframe systems. Along the way, he has had the opportunity to develop new systems ranging in size from small, isolated programs to large, interactive, enterprise-driving systems.
He has designed and written applications ranging from a full CICS security and menuing system in COBOL to a VSAM database inquiry and reporting tool. Thane is a pilot and one of his more interesting projects was a system to translate FAA-formatted Aviation weather reports into English.
Thane makes his home in Texas and is married to a wonderful woman, Darlene, who kindly tolerates the spare time he spends programming on his computer after work. Occasionally he will even take on a custom programming project for her.
Thane can be reached via email at redsky@ibm.net, and frequents the comp.lang.cobol Internet newsgroup.
Tell Us What You Think! As the reader of this book, you are our most important critic and commentator. We value your opinion and want to know what we're doing right, what we could do better, what areas you'd like to see us publish in, and any other words of wisdom you're willing to pass our way.
As an associate publisher with Sams Publishing, I welcome your comments. You can email or write me directly to let me know what you did or didn't like about this book—as well as what we can do to make our books stronger.
Please note that I cannot help you with technical problems related to the topic of this book, and that due to the high volume of mail I receive, I might not be able to reply to every message.
When you write, please be sure to include this book's title and author as well as your name and phone or fax number. I will carefully review your comments and share them with the author and editors who worked on the book.
Email: feedback@samspublishing.com
Mail: Mike Stephens
Executive Editor
Sams Publishing
800 E. 96th Street
Indianapolis, IN 46240 USA
Fair Use Sources
COBOL Programming Language, COBOL Source File, COBOL .cbl File Extension, COBOL .cob File Extension, COBOL .cobol File Extension, COBOL Compiler, COBOL Compilation Unit, COBOL Run-time System, COBOL Environment Division, COBOL Identification Division, COBOL Procedure Division, COBOL Data Division, COBOL Configuration Section, COBOL Input-Output Section, COBOL File-Control Paragraph, COBOL I-O Control Paragraph, COBOL File Section, COBOL Working-Storage Section, COBOL Local-Storage Section, COBOL Linkage Section, COBOL Communication Section, COBOL Report Section, COBOL FD Entry (File Descriptor), COBOL SD Entry (Sort Descriptor), COBOL SELECT Statement, COBOL ASSIGN Clause, COBOL ORGANIZATION Clause, COBOL ACCESS MODE, COBOL SEQUENTIAL Access, COBOL RELATIVE Access, COBOL INDEXED Access, COBOL RECORD KEY Clause, COBOL ALTERNATE KEY Clause, COBOL DYNAMIC Access Mode, COBOL RANDOM Access Mode, COBOL KEY IS Clause, COBOL LINAGE Clause, COBOL BLOCK CONTAINS Clause, COBOL RECORD CONTAINS Clause, COBOL RECORDING MODE Clause, COBOL LABEL RECORDS Clause, COBOL CODE-SET Clause, COBOL FILE STATUS Clause, COBOL FD (File Description) Entry, COBOL FILE SECTION Variables, COBOL WORKING-STORAGE Variables, COBOL 01 Level Number, COBOL 77 Level Number, COBOL 66 Level Number, COBOL 88 Level Number (Condition Names), COBOL PIC Clause (Picture), COBOL USAGE Clause, COBOL DISPLAY Usage, COBOL COMP Usage, COBOL COMP-3 (Packed Decimal), COBOL COMP-1 (Floating Point) , COBOL COMP-2 (Floating Double) , COBOL COMP-4 Equivalent to COMP, COBOL COMP-5 (Native Binary) , COBOL SIGN SEPARATE Clause, COBOL SIGN TRAILING Clause, COBOL JUSTIFIED RIGHT Clause, COBOL SYNCHRONIZED Clause, COBOL OCCURS Clause, COBOL OCCURS DEPENDING ON Clause, COBOL REDEFINES Clause, COBOL RENAMES Clause, COBOL VALUE Clause, COBOL VALUE IS Clause, COBOL FILLER Keyword, COBOL ACCEPT Statement, COBOL DISPLAY Statement, COBOL MOVE Statement, COBOL ADD Statement, COBOL SUBTRACT Statement, COBOL MULTIPLY Statement, COBOL DIVIDE Statement, COBOL COMPUTE Statement, COBOL INITIALIZE Statement, COBOL STRING Statement, COBOL UNSTRING Statement, COBOL INSPECT Statement, COBOL PERFORM Statement, COBOL PERFORM UNTIL, COBOL PERFORM VARYING, COBOL PERFORM THRU, COBOL EXIT Statement, COBOL STOP RUN Statement, COBOL GOBACK Statement, COBOL EVALUATE Statement, COBOL WHEN Clause (EVALUATE), COBOL CONTINUE Statement, COBOL NEXT SENTENCE Statement, COBOL IF Statement, COBOL ELSE Clause, COBOL END-IF Statement, COBOL GO TO Statement, COBOL ALTER Statement (Obsolete), COBOL SORT Statement, COBOL MERGE Statement, COBOL RELEASE Statement (for SORT), COBOL RETURN Statement (for SORT), COBOL SEARCH Statement, COBOL SEARCH ALL (Binary Search), COBOL CALL Statement, COBOL CANCEL Statement, COBOL LINKAGE SECTION Variables, COBOL USING Clause (in Procedure Division), COBOL EXIT PROGRAM Statement, COBOL ENTRY Statement (Obsolete), COBOL COPY Statement, COBOL REPLACE Directive, COBOL EJECT Directive, COBOL SKIP Directive, COBOL SERVICE RELOAD (IBM Extension, COBOL INTRINSIC FUNCTIONS, COBOL FUNCTION Keyword, COBOL CURRENT-DATE Function, COBOL NUMVAL Function, COBOL NUMVAL-C Function, COBOL WHEN-COMPILED Function, COBOL RANDOM Function, COBOL REM Function, COBOL LENGTH Function, COBOL MAX Function, COBOL MIN Function, COBOL MOD Function, COBOL SUBSTRING Function, COBOL UPPER-CASE Function, COBOL LOWER-CASE Function, COBOL NATIONAL-OF Function, COBOL DISPLAY-OF Function, COBOL TEST Function (in some compilers, COBOL EXAMINE Statement (Old name of INSPECT), COBOL CLASS Condition, COBOL ALPHABETIC Class Condition, COBOL ALPHANUMERIC Class Condition, COBOL NUMERIC Class Condition, COBOL JUSTIFIED Clause (in PIC), COBOL SYNCHRONIZED Clause repeated, COBOL ON SIZE ERROR Clause, COBOL ON OVERFLOW Clause, COBOL ON EXCEPTION Clause, COBOL INVALID KEY Clause, COBOL END-ADD Statement (in COBOL 2002+, COBOL END-SUBTRACT Statement, COBOL END-MULTIPLY Statement, COBOL END-DIVIDE Statement, COBOL END-COMPUTE Statement, COBOL END-PERFORM Statement, COBOL END-READ Statement, COBOL END-WRITE Statement, COBOL END-REWRITE Statement, COBOL END-DELETE Statement, COBOL END-RETURN Statement, COBOL END-SEARCH Statement, COBOL END-IF repeated, COBOL END-STRING Statement, COBOL END-UNSTRING Statement, COBOL END-INSPECT Statement, COBOL END-ACCEPT Statement, COBOL END-DISPLAY Statement, COBOL In-Line PERFORM, COBOL Nested Programs, COBOL END PROGRAM Header, COBOL CALL BY CONTENT, COBOL CALL BY REFERENCE, COBOL CALL BY VALUE, COBOL INITIAL Program Attribute, COBOL RECURSIVE Program Attribute, COBOL EXPORT and IMPORT (Some compilers support, COBOL ENTRY POINTS in Program, COBOL Debugging Lines (D in col 7), COBOL Comment Lines (*) in col 7, COBOL Continuation Lines (- in col 7), COBOL Fixed Format Source Columns, COBOL Column 7 Indicators, COBOL Column 72 Limit, COBOL Free Format (COBOL 2002+) , COBOL *CONTROL Compiler Directive, COBOL *CBL Compiler Directive, COBOL $ SET Compiler Directive (IBM), COBOL ADV Compiler Option, COBOL SSRANGE Compiler Option, COBOL APOST Compiler Option, COBOL RENT Compiler Option, COBOL MAP Compiler Option, COBOL OPTIMIZE Compiler Option, COBOL NOOPTIMIZE Compiler Option, COBOL INSPECT TALLYING, COBOL INSPECT REPLACING, COBOL INSPECT CONVERTING, COBOL STRING DELIMITED BY, COBOL UNSTRING DELIMITED BY, COBOL POINTER IN STRING/UNSTRING, COBOL SUBScripting Arrays (OCCURS), COBOL OCCURS Depending On Variables, COBOL Table Handling, COBOL SEARCH VERB, COBOL SEARCH ALL VERB, COBOL SORT VERB, COBOL MERGE VERB, COBOL USE FOR DEBUGGING ON Statement, COBOL USE Global Declarative, COBOL DECLARATIVES Section, COBOL END DECLARATIVES, COBOL FILE STATUS Checking, COBOL EXTEND MODE for files, COBOL REWRITE Statement, COBOL DELETE Statement (for indexed files), COBOL START Statement (indexed file positioning), COBOL READ NEXT, COBOL READ PREVIOUS (not standard widely COBOL READ KEY Is Clause, COBOL WRITE FROM Clause, COBOL WRITE ADVANCING PAGE, COBOL WRITE AFTER ADVANCING LINES, COBOL WRITE BEFORE ADVANCING, COBOL Page-Controlled Reports (REPORT SECTION), COBOL Report Writer Feature (Obsolete in some implementations), COBOL RH, PH, PF, DE, etc. in REPORT)], [[COBOL SPECIAL-NAMES Paragraph, COBOL DECIMAL-POINT IS COMMA, COBOL CURRENCY SIGN Clause, COBOL CLASS Alphabet Name Definition, COBOL SYMBOLIC CHARACTERS, COBOL CRT STATUS Phrase (Old terminals), COBOL ADVANCING Control in WRITE, COBOL Nonnumeric Literals, COBOL Numeric Literals, COBOL PICTURE Clause (PIC), COBOL PIC 9 for digits, COBOL PIC X for alphanumeric, COBOL PIC A for alphabetic, COBOL PIC S for sign, COBOL PIC V for implied decimal, COBOL PIC P for scaling position, COBOL JUSTIFIED RIGHT Clause in PIC, COBOL BLANK WHEN ZERO Clause, COBOL ZERO SUPPRESSION, COBOL SIGN LEADING SEPARATE, COBOL SIGN TRAILING SEPARATE, COBOL USING in PROCEDURE DIVISION, COBOL GIVING/RETURNING in CALL, COBOL CANCEL Program, COBOL LINKAGE SECTION Parameters, COBOL EXTERNAL Name Clause, COBOL GLOBAL Clause for Data, COBOL COMMON Data, COBOL INITIAL Clause on Programs, COBOL IDENTIFICATION DIVISION PROGRAM-ID, COBOL AUTHOR Paragraph, COBOL INSTALLATION Paragraph, COBOL DATE-WRITTEN Paragraph, COBOL DATE-COMPILED Paragraph, COBOL SECURITY Paragraph, COBOL REMARKS Paragraph (Obsolete), COBOL Class Condition Checks, COBOL Condition-Names (88 Level), COBOL LEVEL 88 Definition, COBOL SET condition-name TO TRUE, COBOL SET condition-name TO FALSE, COBOL SET variable TO value, COBOL SET ... UP/DOWN BY value (for indexes), COBOL ACCEPT FROM DATE, COBOL ACCEPT FROM DAY, COBOL ACCEPT FROM DAY-OF-WEEK, COBOL ACCEPT FROM TIME, COBOL ACCEPT FROM COMMAND-LINE (Extension, COBOL ACCEPT FROM ENVIRONMENT (Extension, COBOL DISPLAY UPON], [COBOL DISPLAY WITH NO ADVANCING, COBOL READY TRACE (Obsolete Debug feature), COBOL USE AFTER ERROR Declarative, COBOL USE AFTER EXCEPTION Declarative, COBOL USE AFTER STANDARD Declarative, COBOL EXIT PARAGRAPH Statement, COBOL EXIT Perform CYCLE, COBOL EXIT Perform Loop
COBOL: Effective IBM Enterprise COBOL, Object-Oriented Programming for COBOL - Object-Oriented COBOL, COBOL Best Practices, COBOL FAQ, COBOL Standards (ISO COBOL-2023 - ISO/IEC 1989-2023 Standard), IBM Enterprise COBOL for z/OS, Deprecated / Defunct Micro Focus Visual COBOL - Visual COBOL - Managed COBOL from Micro Focus (JVM COBOL and dot NET COBOL | NET COBOL), COBOL Fundamentals, COBOL Inventor - COBOL Language Designer: 1959 by Howard Bromberg COBOL | Howard Bromberg, Norman Discount COBOL | Norman Discount, Vernon Reeves COBOL | Vernon Reeves, Jean E. Sammet, William Selden COBOL | William Selden, Gertrude Tierney COBOL | Gertrude Tierney, with indirect influence from Grace Hopper, CODASYL, ANSI COBOL, ISO/IEC COBOL; Modern COBOL - Legacy COBOL, IBM COBOL, COBOL keywords, COBOL data structures - COBOL algorithms, COBOL syntax, Visual COBOL, COBOL on Windows, COBOL on Linux, COBOL on UNIX, COBOL on macOS, Mainframe COBOL, IBM i COBOL, IBM Mainframe DevOps, COBOL Paradigms (Imperative COBOL, Procedural COBOL, Object-Oriented COBOL - COBOL OOP, Functional COBOL), COBOL syntax, COBOL installation, COBOL containerization, COBOL configuration, COBOL compilers, COBOL IDEs, COBOL development tools, COBOL DevOps - COBOL SRE, COBOL data science - COBOL DataOps, COBOL machine learning, COBOL deep learning, COBOL concurrency, COBOL history, COBOL bibliography, COBOL Glossary - Glossaire de COBOL - French, COBOL topics, COBOL courses, COBOL Standard Library, COBOL libraries, COBOL frameworks, COBOL research, Grace Hopper, COBOL GitHub, Written in COBOL, COBOL popularity, COBOL Awesome list, COBOL Versions. (navbar_cobol - see also navbar_mainframe, navbar_fortran)
Cloud Monk is Retired ( for now). Buddha with you. © 2025 and Beginningless Time - Present Moment - Three Times: The Buddhas or Fair Use. Disclaimers
SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.