Chapter 15: Further Reading

Annotated Bibliography -- Report Writer Module

The following resources provide deeper exploration of the COBOL Report Writer module, including its syntax, its design philosophy, and its role in batch reporting systems. They are organized by category and include brief descriptions to help you select the most relevant materials for your learning goals.


Books

1. COBOL for the 21st Century by Nancy Stern, Robert A. Stern, and James P. Ley (Wiley, 11th Edition, 2013)

This academic text provides one of the most thorough treatments of Report Writer available in a modern COBOL textbook. The dedicated chapter walks through every report group type (RH, PH, DE, CH, CF, PF, RF) with complete coded examples and step-by-step output analysis. The discussion of how SUM counters cascade through control footing levels is particularly clear. Recommended as a primary supplementary reference for this chapter.

2. Advanced COBOL for Structured and Object-Oriented Programming by Gary DeWard Brown (Wiley, 3rd Edition, 1998)

Brown's advanced text devotes significant attention to Report Writer, including coverage of less commonly used features such as RESET ON, PAGE-COUNTER, LINE-COUNTER, and multiple reports within a single program. The book also discusses when Report Writer is the right tool and when manual report coding is more appropriate. Valuable for readers who want to go beyond the basics and understand Report Writer's full capabilities.

3. Murach's Mainframe COBOL by Mike Murach and Associates (2021 edition)

While Murach's focuses primarily on manual report coding rather than Report Writer, its chapters on printing reports, control break processing, and page overflow handling provide essential context for understanding what Report Writer automates. Comparing the manual approach in Murach's with the Report Writer approach in this chapter illuminates the trade-offs between explicit procedural control and declarative report definition.

4. Beginning COBOL for Programmers by Michael Coughlan (Apress, 2014)

Coughlan's introduction includes a practical chapter on Report Writer with examples that run on GnuCOBOL. The coverage is concise but complete, walking through the minimum set of clauses needed to produce a functional report. The GnuCOBOL-based examples are particularly useful for readers who want to experiment with Report Writer without mainframe access.


IBM Documentation

5. IBM Enterprise COBOL for z/OS: Programming Guide (IBM Documentation, current edition)

The IBM programming guide provides authoritative coverage of Report Writer as implemented in Enterprise COBOL for z/OS. It documents the precise behavior of INITIATE, GENERATE, and TERMINATE, the rules governing PAGE clause geometry, the cascading behavior of SUM counters across control levels, and the interaction between Report Writer and the runtime I/O subsystem. Search for "Report Writer" in the IBM Documentation portal.

6. IBM Enterprise COBOL for z/OS: Language Reference (IBM Documentation, current edition)

The language reference provides the formal syntax diagrams and semantic rules for every Report Writer clause: RD, TYPE, LINE, COLUMN, SOURCE, SUM, VALUE, GROUP INDICATE, RESET ON, PAGE-COUNTER, LINE-COUNTER, and others. This is the definitive reference when you need to verify the exact syntax of a clause or understand the precise rules governing a particular feature. Essential as a desk reference during Report Writer development.


Online Resources

7. GnuCOBOL Programmer's Guide (maintained by the GnuCOBOL community)

GnuCOBOL provides a mature implementation of Report Writer that closely follows the COBOL standard. The community documentation includes examples of report programs and notes on any behavioral differences from IBM Enterprise COBOL. Useful for readers who want to practice Report Writer on a PC. The GnuCOBOL FAQ also addresses common Report Writer questions.

8. Open Mainframe Project: COBOL Programming Course (Linux Foundation, GitHub)

The Open Mainframe Project's free COBOL course includes sections on report generation, though its primary focus is on manual report coding rather than Report Writer. The exercises provide a useful foundation for understanding the problems that Report Writer solves, and the hands-on z/OS access through IBM Z Xplore allows testing of Report Writer programs on a real mainframe.

9. IBM Developer: COBOL Cafe Community (IBM Developer platform)

The COBOL Cafe is an online community hosted by IBM where COBOL developers discuss programming techniques, share code samples, and ask questions. The community archives contain several threads on Report Writer best practices, migration from Report Writer to manual coding, and troubleshooting Report Writer issues. Searching the community for "Report Writer" surfaces practical advice from experienced practitioners.


Standards and Specifications

10. ISO/IEC 1989:2014 -- Programming Language COBOL (International Standards Organization)

The COBOL 2014 standard includes Report Writer as an optional module, defining its complete syntax and semantics. The standard specifies the exact rules for control break detection, SUM counter behavior, PAGE clause constraints, and the order in which report groups are generated during control breaks. The normative text is dense but authoritative, and it is the final arbiter of correct Report Writer behavior.

11. ANSI X3.23-1985 (COBOL-85 Standard) -- Report Writer Module

Report Writer was a fully defined module in the COBOL-85 standard, and the 1985 specification remains the basis for most production implementations. The standard defines two levels of Report Writer support (Level 1 and Level 2), with Level 2 including the full control break and SUM counter capabilities. Understanding the 1985 specification is important because most existing Report Writer code was written to this standard.


How to Use These Resources

If you want a clear, example-driven tutorial on Report Writer, start with resources 1 (Stern) and 4 (Coughlan) for comprehensive and concise treatments respectively.

If you need to understand Report Writer's full feature set, resource 2 (Brown) and resource 6 (IBM Language Reference) cover the advanced clauses and edge cases that production code may use.

If you want to compare Report Writer to manual report coding, resource 3 (Murach's) provides the manual approach side by side with the declarative approach taught in this chapter.

If you are maintaining legacy Report Writer code in production, resources 5 (IBM Programming Guide) and 6 (IBM Language Reference) are your primary references for understanding IBM-specific behavior and resolving compilation or runtime issues.


Note: Report Writer is classified as an optional module in the COBOL standard, and not all compilers implement it at the same level. Verify your compiler's Report Writer support level before relying on advanced features.