# 07-keybreak-summary — Key Break Summary ## 电信业务场景 加入者月汇总。按客户ID进行key切汇总,计算每位客户当月的通话总量和总金额。输出每个客户的汇总记录。 Demonstrates the classic COBOL control-break (key break) pattern: - Read sorted input file grouped by KEY - Compare WS-PREV-KEY to detect key change - On key change: write summary (KEY, COUNT, TOTAL) and reset accumulators - At end-of-file: write final group summary - Accumulate grand total across all groups ## Files | File | Purpose | |------|---------| | `main-07-keybreak-summary.cbl` | COBOL program (fixed format) | | `data-gen.sh` | Generate sorted test data | | `run.sh` | Compile, run, verify output | ## Input Record | Field | Type | Length | |-------|------|--------| | KEY | PIC X | 10 | | AMOUNT | PIC 9 | 10 | ## Output Record | Field | Type | Notes | |-------|------|-------| | KEY | PIC X(10) | Group key | | COUNT | PIC Z(5)9 | Record count in group | | TOTAL | PIC Z(9)9 | Sum of AMOUNT in group |