Further Reading: Table Handling and Searching

IBM Documentation

  • Enterprise COBOL for z/OS: Language Reference — Chapter on Table Handling (OCCURS, SEARCH, SEARCH ALL). IBM SC27-1408. The definitive reference for IBM mainframe COBOL table syntax and rules.

  • Enterprise COBOL for z/OS: Programming Guide — Section on handling tables, including performance considerations and compile options (SSRANGE, OPTIMIZE). IBM SC27-1412.

  • Enterprise COBOL Performance Tuning — Redbook SG24-5945. Chapter 8 covers table handling optimization including index vs. subscript benchmarks.

Textbooks

  • Stern, N., Stern, R., & Ley, J. COBOL for the 21st Century (11th Edition). Chapter on table handling provides excellent foundational coverage with additional exercises.

  • Murach, M. Murach's Mainframe COBOL. Chapter 12 covers table handling with a practical, job-oriented approach including real-world examples.

  • Grauer, R. & Villar, C. Advanced COBOL (3rd Edition). Deep coverage of multi-dimensional tables and performance optimization techniques.

Algorithm References

  • Knuth, D.E. The Art of Computer Programming, Volume 3: Sorting and Searching. The canonical reference on search algorithms, providing the mathematical foundations for understanding why binary search is O(log n).

  • Sedgewick, R. Algorithms in C. While not COBOL-specific, the treatment of search algorithms (Chapter 12) provides excellent intuition for the binary search algorithm underlying SEARCH ALL.

Online Resources

  • IBM Developer: "COBOL Table Handling Best Practices" — Practical guidance on table design for enterprise applications.

  • COBOL-IT documentation on table handling — Useful for understanding how open-source COBOL compilers implement the same table features.

  • Chapter 25: VSAM File Processing — For when tables exceed memory limits, VSAM KSDS provides key-sequenced access as an alternative to in-memory tables.
  • Chapter 28: Embedded SQL and DB2 — Database-backed lookups for very large or dynamically updated reference data.
  • Chapter 30: Batch Processing Patterns — Table-driven processing strategies in production batch environments.