This repository is a deliberately legacy-style COBOL environment that represents a small nightly batch banking system.
It is intentionally structured so an engineer can:
- map architecture quickly
- inspect cross-program dependencies
- understand batch job orchestration
- trace file and copybook usage
No modernization tooling is included. This is purely a COBOL-style legacy sample.
Nightly processing for demand deposit accounts:
- validate and stage daily transactions
- post transactions to account balances
- generate management and exception reports
- write operational audit entries
src/programs/- COBOL programs and subprogramssrc/copybooks/- shared record layouts and common fieldsjcl/- batch job control examplesdata/input/- transaction input filesdata/master/- account master and output filesdocs/- architecture and dependency reference
BNK000N- nightly controller (orchestrates sequence)BNK110V- transaction validationBNK120P- transaction postingBNK130R- daily reportingBNK910A- audit logger subprogramBNK920F- fee calculator subprogram
- Read
docs/system-overview.md - Read
docs/dependency-map.md - Inspect
jcl/NIGHTLY.BATCH.jcl - Walk program flow from
BNK000Ndownward - Trace
COPYstatements in each module
- Program names follow typical 6-7 character legacy conventions.
- File references mimic common flat-file nightly processing.
- Some style choices intentionally reflect older code patterns.