Chapter 3: Further Reading -- Data Types, Variables, and the PICTURE Clause

Books

"Murach's Mainframe COBOL" by Mike Murach & Associates The data definition chapters in this book are among the best available for learning PICTURE clauses. The paired-page format presents each PICTURE symbol with its storage implications on one page and practical examples on the facing page. The treatment of COMP-3 packed decimal, including hex-level storage diagrams, is particularly clear. The book also includes an extensive PICTURE clause reference appendix that serves as a quick-lookup tool during development. Available from the publisher's website and major booksellers.

"COBOL for the 21st Century" by Nancy Stern, Robert A. Stern, and James P. Ley This textbook provides an unusually thorough treatment of numeric editing pictures, including detailed tables showing input values and their formatted output for every editing symbol. The chapter on data types includes numerous exercises that build skill with PICTURE clause construction -- a topic that requires practice to master. The discussion of EBCDIC versus ASCII encoding and its impact on sign representation is especially relevant for programmers working across mainframe and distributed platforms. Published by Wiley.

"IBM Mainframe COBOL: Data and File Management" (various IBM Redbooks authors) IBM Redbooks are free technical publications that provide deep, practical coverage of specific topics. This volume covers COMP-3 packed decimal storage in hardware-level detail, including how the IBM z/Architecture processors execute packed decimal arithmetic instructions. It also explains how PICTURE clauses interact with DB2 column definitions and VSAM record layouts. Search for "IBM Redbooks COBOL data" on the IBM Redbooks website.

"Decimal Arithmetic" by Mike Cowlishaw (General Decimal Arithmetic specification) While not COBOL-specific, this work by the creator of the IEEE 754-2008 decimal floating-point standard provides essential background on why decimal arithmetic matters for financial computing. Understanding the fundamental problem -- that binary floating point cannot exactly represent many decimal fractions -- explains why COBOL's COMP-3 packed decimal and PICTURE-based data description remain relevant in an era of modern programming languages. The specification and related papers are available through the author's website at speleotrove.com.

Online Resources

GnuCOBOL FAQ and Programmer's Guide The GnuCOBOL documentation includes a comprehensive list of supported PICTURE symbols, USAGE types, and their storage characteristics on ASCII platforms. It is particularly useful for understanding how COMP-3 behaves on non-mainframe systems, where the sign nibble encoding may differ slightly from EBCDIC conventions. The FAQ section addresses common questions about PICTURE clause compatibility between GnuCOBOL and IBM Enterprise COBOL. Available on the GnuCOBOL project site at SourceForge.

"Introduction to COBOL" (University of Limerick, Michael Coughlan) Professor Coughlan's online COBOL course materials include excellent visual diagrams of PICTURE clause storage layouts, step-by-step walkthroughs of numeric editing, and interactive exercises for testing your understanding of data descriptions. The materials are freely available and complement his textbook "Beginning COBOL for Programmers." Search for "Michael Coughlan COBOL" to find the course website.

COBOL PICTURE Clause Tester (various online tools) Several websites provide interactive tools where you can enter a PICTURE clause and a value, then see the resulting storage representation and formatted output. These are invaluable for learning how editing pictures work and for testing edge cases (what happens when you move zero to a floating dollar sign field, for example). Search for "COBOL PICTURE clause tester" or "COBOL PIC clause simulator" to find current options.

IBM Documentation

"Enterprise COBOL for z/OS: Language Reference" -- Data Division Chapter (IBM publication) The Language Reference provides the definitive specification for every PICTURE symbol, USAGE type, and data description clause on IBM platforms. The section on PICTURE clause rules includes precise sizing formulas for COMP-3 fields, the complete list of valid editing symbol combinations, and the rules governing REDEFINES, JUSTIFIED, BLANK WHEN ZERO, and SYNCHRONIZED. This is the authoritative source for resolving any ambiguity. Search for publication number SC27-1408 on the IBM Knowledge Center.

"Enterprise COBOL for z/OS: Performance Tuning" (IBM publication) This guide explains the performance implications of USAGE choices. It documents how COMP-3 arithmetic leverages native z/Architecture packed decimal instructions, the overhead of implicit USAGE conversion in arithmetic statements, and guidelines for choosing between COMP, COMP-3, and DISPLAY for different use cases. Essential reading for programmers optimizing financial calculation performance on mainframes. Available on the IBM Knowledge Center.

Standards and Historical References

ISO/IEC 1989:2014 -- Programming Language COBOL (Section 8: Data Division) The official COBOL standard defines the precise semantics of every PICTURE symbol, the rules for level number hierarchy, the behavior of figurative constants, and the interaction between USAGE and PICTURE. While dense and legalistic in tone, it is the final authority on how COBOL data types should behave. The section on intermediate result precision during arithmetic operations is particularly important for understanding decimal alignment. Available for purchase from ISO or through national standards bodies.

"The Influence of COBOL on Data Description in Modern Languages" (academic papers) Several computer science publications trace how COBOL's PICTURE clause and hierarchical record descriptions influenced later languages and data formats. The concept of structured records with named fields at multiple levels, now ubiquitous in JSON, XML, and Protocol Buffers, originated in COBOL's DATA DIVISION. Understanding this lineage helps modern programmers appreciate the sophistication of COBOL's data model. Search academic databases (ACM Digital Library, IEEE Xplore) for papers on COBOL's influence on data description.