Table of Contents
Beginning COBOL for Programmers Table of Contents
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)
Contents at a Glance
Contents at a Glance
- 2: COBOL Foundation
- 5: Control Structures: Selection
- 6: Control Structures: Iteration
- 15: String Manipulation
- 17: Direct Access Files
- 18: The COBOL Report Writer
- 19: OO-COBOL
Full Table of Contents
TOC Beginning COBOL for Programmers
Chapter 1: Introduction to COBOL
COBOL’s Target Application Domain
COBOL’s Fitness for Its Application Domain
The Argument for COBOL (Why COBOL?)
Dominance of COBOL in Enterprise Computing
Danger, Difficulty, and Expense of Replacing Legacy COBOL Applications
Shortage of COBOL Programmers: Crisis and Opportunity
COBOL: The Hidden Asset
Advantages of Bespoke Software
Characteristics of COBOL Applications
Some Notes on Syntax Diagrams
The Four Divisions
The DoCalc Program
Where to Get a COBOL Compiler
Chapter 3: Data Declaration in COBOL
Declaring Elementary Data Items
The MOVE Verb
Level-Number Relationships Govern Hierarchy
Chapter 4: Procedure Division Basics
Input and Output with ACCEPT and DISPLAY
The DISPLAY Verb
The ACCEPT Verb
Example Program: ACCEPT and DISPLAY
Nonconforming Arithmetic Verbs
Chapter 5: Control Structures: Selection
Nested IFs
Delimiting Scope: END-IF vs. Period
Using Condition Names Correctly
Setting a Condition Name to True
Notes
Chapter 6: Control Structures: Iteration
Using PERFORM..THRU Correctly
Chapter 7: Introduction to Sequential Files
Terminology
Implications of Buffers
File and Record Declarations
Declaring the Record Buffer in Your Program
The READ Statement
Chapter 8: Advanced Sequential Files
Files with Multiple Record Types
Implications of Files with Multiple Record Types
Multiple Record Descriptions, One Record Buffer
Problem of Multiple Print Records
Solution to the Multiple Print Record Problem
FD Entries for Variable-Length Records
Notes on Varying-Length Records
Suppression-and-Replacement Editing
Suppression-and-Replacement Examples
The PICTURE Clause Scaling Symbol
Rules
Chapter 10: Processing Sequential Files
File Organization vs. Method of Access
Specifications that Require Control Breaks
Writing a Control-Break Program
Control-Break Program Template
Applying Transactions to an Ordered Sequential File
The File-Update Problem: Simplified
Notes
Chapter 11: Creating Tabular Data
Why Use Tabular Data?
Using a Table for the State Sales Totals
Third Specification: Group Items as Table Elements
Multidimensional Tables
Multidimensional Program
Correct Depiction of COBOL Tables
Prefilled Tables
Creating Prefilled Tables of Values
Creating a Prefilled Two-dimensional Table
Chapter 12: Advanced Data Declaration
Specification: Aromamora Base Oil Sales Report
The USAGE Clause
Representation of Numeric Data
The Problems
Program 1
Program 2
Program 3
Program 4
Chapter 13: Searching Tabular Data
Searching Using SEARCH and SEARCH ALL
Using SET to Manipulate the Table Index
Searching Multidimensional Tables
Searching the First Dimension of a Two-Dimensional Table
SEARCH ALL
Chapter 14: Sorting and Merging
How the OUTPUT PROCEDURE Works
Sorting Tables: ISO 2002 Changes
Chapter 15: String Manipulation
INSPECT...TALLYING: Format 1
INSPECT...REPLACING: Format 2
INSPECT...CONVERTING: Format 4
Intrinsic Functions
Chapter 16: Creating Large Systems
Subprograms and the COPY Verb
The CALL Verb
State Memory and the IS INITIAL Phrase
Example Programs and Their Subprograms
The COPY Metalanguage
How the REPLACING Phrase Works
Chapter 17: Direct Access Files
Direct Access vs.Sequential Files
Organization of Relative Files
Creating a Relative File from a Sequential File
Applying Transactions to a Relative File
Relative Files: Syntax and Semantics
Relative Files: SELECT and ASSIGN Clause
Organization of Indexed Files
Creating an Indexed File from a Sequential File
Using Indexed Files in Combination
Applying Transactions to an Indexed File
Indexed Files: Syntax and Semantics
Indexed Files: SELECT and ASSIGN Clause
Comparison of COBOL File Organizations
Chapter 18: The COBOL Report Writer
Example Report: Solace Solar Solutions
How the Report Writer Works
Adding Features to the Report Program
Adding More Features to the Report Program
Report Writer Syntax and Semantics
Special Report Writer Registers
PROCEDURE DIVISION Report Writer Verbs
Using Declaratives with the Report Writer
Using Declaratives with Files
Module Strength and Module Coupling
Informational-Strength Modules in COBOL
The UseDictionary Program
The Dictionary Class
A Formal Introduction to OO-COBOL
Programming with Objects
Sending Messages to Instance Objects
Creating a New Object Instance
Predefined Object Identifiers