beginning_cobol_for_programmers_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

Full Table of Contents

TOC Beginning COBOL for Programmers

Contents

Chapter 1:​ Introduction to COBOL

What Is COBOL?​

COBOL’s Target Application Domain

COBOL’s Fitness for Its Application Domain

History of COBOL

Beginnings

COBOL Standards

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

Characteristics of COBOL

Summary

References

Chapter 2:​ COBOL Foundation

COBOL Idiosyncrasies

COBOL Syntax Metalanguage

Some Notes on Syntax Diagrams

Example Metalanguage

Structure of COBOL Programs

Divisions

The Four Divisions

IDENTIFICATION DIVISION

ENVIRONMENT DIVISION

DATA DIVISION

File Section

Working-Storage Section

Data Hierarchy

PROCEDURE DIVISION

Shortest COBOL Program

COBOL Coding Rules

Name Construction

Example Programs

The COBOL Greeting Program

The DoCalc Program

The Condition Names Program

Chapter Exercise

Where to Get a COBOL Compiler

Micro Focus Visual COBOL

OpenCOBOL

Raincode COBOL

Compileonline COBOL

Fujitsu NetCOBOL

Summary

References

Chapter 3:​ Data Declaration in COBOL

Categories of Program Data

COBOL Literals

Data Items (Variables)

Figurative Constants

Elementary Data Items

Declaring Elementary Data Items

PICTURE Clause Symbols

PICTURE Clause Notes

Example Declarations

Assignment in COBOL

The MOVE Verb

MOVE Syntax

MOVE Rules

MOVE Combinations

MOVE Examples

Structured Data

Group Data Items

Level Numbers

Data Hierarchy

Level-Number Relationships Govern Hierarchy

Summary

Chapter 4:​ Procedure Division Basics

Input and Output with ACCEPT and DISPLAY

The DISPLAY Verb

The ACCEPT Verb

Example Program:​ ACCEPT and DISPLAY

Arithmetic in COBOL

Common Arithmetic Template

Nonconforming Arithmetic Verbs

Let’s Write a Program

Summary

Chapter 5:​ Control Structures:​ Selection

Selection

IF Statement

Condition Types

Relation Conditions

Class Conditions

Sign Conditions

Complex Conditions

Implied Subjects

Nested IFs

Delimiting Scope:​ END-IF vs.​ Period

Condition Names

Defining] [[Condition Names

Using Condition Names Correctly

Example Program

Setting a Condition Name to True

EVALUATE

Decision Tables

EVALUATE Metalanguage

Notes

EVALUATE Examples

Summary

References

Chapter 6:​ Control Structures:​ Iteration

Paragraphs Revisited

The PERFORM Verb

Open Subroutines

Closed Subroutines

COBOL Subroutines

Why Use Open Subroutines?​

PERFORM NamedBlock

How PERFORM Works

PERFORM.​.​THRU Dangers

Using PERFORM.​.​THRU Correctly

PERFORM.​.​TIMES

Inline Execution

Out-of-Line Execution

PERFORM.​.​UNTIL

Notes on PERFORM.​.​UNTIL

How PERFORM.​.​UNTIL Works

PERFORM.​.​VARYING

Notes on PERFORM.​.​VARYING

How PERFORM.​.​VARYING Works

Summary

References

Chapter 7:​ Introduction to Sequential Files

What Is a File?​

Terminology

Files, Records, and Fields

How Files Are Processed

Implications of Buffers

File and Record Declarations

Creating a Record

Declaring the Record Buffer in Your Program

The SELECT and ASSIGN Clause

SELECT and ASSIGN Syntax

Processing Sequential Files

The OPEN Statement

The CLOSE Statement

The READ Statement

How READ Works

The WRITE Statement

Summary

Chapter 8:​ Advanced Sequential Files

Files with Multiple Record Types

Problem Specification

Implications of Files with Multiple Record Types

Multiple Record Descriptions, One Record Buffer

The Type Code

Printer Sequential Files

SELECT and ASSIGN

What Is in a Report

Problem of Multiple Print Records

Solution to the Multiple Print Record Problem

WRITE Syntax Revisited

Variable-Length Records

FD Entries for Variable-Length Records

Notes on Varying-Length Records

Example Program

Summary

Chapter 9:​ Edited Pictures

Edited Pictures

Formatting Output

Immediate Editing

Example Program

Types of Editing

Editing Symbols

Insertion Editing

Simple-Insertion Editing

Special-Insertion Editing

Fixed-Insertion Editing

Floating Insertion

Suppression-and-Replacement Editing

Suppression-and-Replacement Examples

Example Print Lines

Immediate Editing

PICTURE String Restrictions

The PICTURE Clause Scaling Symbol

Rules

Summary

Chapter 10:​ Processing Sequential Files

File Organization vs.​ Method of Access

Sequential Organization

Ordered and Unordered Files

Control-Break Processing

Specifications that Require Control Breaks

Detecting the Control Break

Writing a Control-Break Program

Control-Break Program Template

Three-Level Control Break

An Atypical Control Break

Updating Sequential Files

Applying Transactions to an Ordered Sequential File

The File-Update Problem:​ Simplified

The Full File Update Problem

Full File Update Program

Program Notes

Test Data and Results

Summary

TestData

Notes

Chapter 11:​ Creating Tabular Data

Tables vs.​ Arrays

Table/​Array Definition

Table/​Array Differences

Declaring Tables

OCCURS Clause Rules

Subscript Rules

Why Use Tabular Data?​

First Specification

Second Specification

Using a Table for the State Sales Totals

Third Specification:​ Group Items as Table Elements

Tabular Data Program

Multidimensional​ Tables

Multidimensional​ Program

Correct Depiction of COBOL Tables

Three-Dimensional Tables

Prefilled Tables

REDEFINES Clause

Creating Prefilled Tables of Values

Creating a Prefilled Two-dimensional Table

ANS 85 Table Changes

Summary

Specification Extension

Chapter 12:​ Advanced Data Declaration

The Redefines Clause

Specification:​ Aromamora Base Oil Sales Report

The REDEFINES Clause

REDEFINES Syntax

REDEFINES Notes

REDEFINES Examples

The RENAMES Clause

RENAMES Syntax

RENAMES Notes

RENAMES Examples

Listing Notes

The USAGE Clause

Representation of Numeric Data

Nonstandard USAGE Extensions

Decimal Arithmetic

Summary

The Problems

Program 1

Program 2

Program 3

Program 4

References

Chapter 13:​ Searching Tabular Data

SEARCHING Tabular Data

Searching Using SEARCH and SEARCH ALL

INDEXED BY Clause

Using SET to Manipulate the Table Index

The SEARCH Verb

SEARCH Examples

Searching Multidimensional​ Tables

Searching the First Dimension of a Two-Dimensional Table

The SEARCH ALL Verb

KEY IS Clause

How a Binary Search Works

SEARCH ALL

Variable-Length Tables

Summary

Chapter 14:​ Sorting and Merging

SORTING

Simple Sorting

Using Multiple Keys

SORT with Procedures

How an INPUT PROCEDURE Works

OUTPUT PROCEDURE

How the OUTPUT PROCEDURE Works

Some Interesting Programs

Sorting Tables:​ ISO 2002 Changes

Merging Files

MERGE Verb

MERGE Notes

Merging Province Sales Files

Summary

Chapter 15:​ String Manipulation

The INSPECT Verb

INSPECT.​.​.​TALLYING:​ Format 1

INSPECT.​.​.​REPLACING:​ Format 2

INSPECT:​ Format 3

INSPECT.​.​.​CONVERTING:​ Format 4

String Concatenation

The STRING Verb

String Concatenation Example

String Splitting

The UNSTRING Verb

String-Splitting Program

Reference Modification

Intrinsic Functions

Using Intrinsic Functions

String Functions

DATE Functions

Summary

Chapter 16:​ Creating Large Systems

Subprograms and the COPY Verb

The CALL Verb

Parameter-Passing Mechanisms

Subprograms

State Memory and the IS INITIAL Phrase

The CANCEL Verb

The IS GLOBAL Clause

The IS COMMON PROGRAM Clause

Example Programs and Their Subprograms

The IS EXTERNAL Clause

Using IS EXTERNAL Data Items

The COPY Verb

The COPY Metalanguage

How COPY Works

How the REPLACING Phrase Works

COPY Examples

Summary

Chapter 17:​ Direct Access Files

Direct Access vs.​Sequential Files

Organization of Relative Files

Processing Relative Files

Reading a Relative File

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

Relative File Verbs

Organization of Indexed Files

Processing Indexed Files

Reading an Indexed File

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

The Key of Reference

Indexed File Verbs

Comparison of COBOL File Organizations

Sequential File Organization

Relative File Organization

Indexed File Organization

Summary

Introduction

General Description

Maintenance Procedure

The Redundant Stock Report

Chapter 18:​ The COBOL Report Writer

Report Writer

Example Report:​ Solace Solar Solutions

How the Report Writer Works

Writing a Report Program

Adding Features to the Report Program

Adding More Features to the Report Program

Report Writer Declaratives

Report Writer Syntax and Semantics

Special Report Writer Registers

PROCEDURE DIVISION Report Writer Verbs

Declaratives

Using Declaratives with the Report Writer

Using Declaratives with Files

Summary

Introduction

File Descriptions

Print Specification

Chapter 19:​ OO-COBOL

Module Strength and Module Coupling

Informational-Strength Modules in COBOL

OO-COBOL

The UseDictionary Program

The Dictionary Class

A Formal Introduction to OO-COBOL

Objects, Classes, and Methods

Programming with Objects

Registering a Class

Declaring Object References

Sending Messages to Instance Objects

Creating a New Object Instance

Destroying Objects

Predefined Object Identifiers

Writing Your Own Classes

The Issue of Scope

Summary

Index

TOC Beginning COBOL for Programmers

beginning_cobol_for_programmers_table_of_contents.txt · Last modified: 2025/02/01 07:15 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki