Financial institutions were among the earliest and largest adopters of Easytrieve. Core banking systems on z/OS produce nightly extracts—general ledger entries, loan balances, deposit snapshots, fee transactions—and Easytrieve transforms those extracts into trial balances, branch profitability reports, loan portfolio summaries, regulatory filings, and customer statement files. Accuracy is measured in cents across millions of rows; regulators expect reproducible logic; merger integrations duplicate report portfolios overnight. This tutorial maps typical banking file types, report categories, precision rules for currency fields, control break patterns by branch and product, reconciliation with GL control accounts, and operational practices that keep financial reporting audit-ready.
| Area | Typical input | Typical output |
|---|---|---|
| General ledger | GL transaction extract | Trial balance, journal register, account activity |
| Lending | Loan master/history tape | Portfolio by branch, past-due lists, maturity schedules |
| Deposits | Account balance snapshot | DDA summary, interest accrual support |
| Fees | Assessment transaction file | Fee income by product, waiver exceptions |
| Regulatory | Multiple merged extracts | Call report support schedules, liquidity worksheets |
| Customer statements | Transaction + demographic merge | Statement print file or vendor tape |
GL extracts carry account number, debit amount, credit amount, transaction date, and posting reference. Easytrieve JOB reads extract, accumulates net activity per account into working storage array or writes summarized intermediate file, then REPORT prints trial balance with opening balance from prior period file when design requires full balance sheet support.
1234567891011121314FILE GLTRAN ACCT-NO 10 NUM DR-AMT 13.2 CR-AMT 13.2 POST-DATE 8 NUM JOB INPUT GLTRAN IF ACCT-NO NE W-SAVE-ACCT AND W-SAVE-ACCT NE ZERO PERFORM EMIT-ACCT-TOTAL END-IF W-SAVE-ACCT = ACCT-NO W-ACCT-DR = W-ACCT-DR + DR-AMT W-ACCT-CR = W-ACCT-CR + CR-AMT W-REC-CNT = W-REC-CNT + 1
Input must be sorted by ACCT-NO for control break accumulation—or SORT in JCL before Easytrieve step. EMIT-ACCT-TOTAL. PROC writes summarized line and resets W-ACCT-DR and W-ACCT-CR. Tie-out requires sum of net activity across accounts to match GL control report from core system.
Loan master files include loan number, customer id, principal balance, rate, maturity date, branch, product code, and delinquency status. Portfolio reports filter IF DELQ-DAYS GT 30 for past-due lists; accumulate principal by BRANCH-CODE for branch manager review; SEARCH PRODTAB for product description on detail lines.
123456789JOB INPUT LOANMAST SEARCH PRODTAB WITH PROD-CODE GIVING PROD-DESC IF DELQ-DAYS GT 30 ADD PRIN-BAL TO W-PASTDUE-TOTAL PRINT PASTDUE-LINE END-IF ADD PRIN-BAL TO W-BRANCH-TOTAL BREAK BRANCH-CODE AFTER-BREAK PRINT BRANCH-SUMMARY-LINE
Delinquency thresholds vary by product line—document constants at top of JOB. Past-due reports feed collections workflows; branch summaries feed profitability analysis when combined with cost allocation files in separate jobs.
Banking tie-out fails when Easytrieve DEFINE decimals differ from COBOL copybook by one implied decimal. Verify 13.2 versus 11.2 carefully on amount fields. Accumulate in same precision as source; avoid mixing integer dollars with cents fields in one ADD chain without explicit conversion. Rounding on rate calculations should match finance policy—often banker's rounding implemented in PERFORM module shared across loan reports.
Many banking reports read sequential extracts for speed and reproducibility—core system publishes flat file nightly. Real-time inquiry may use VSAM KSDS FILE definitions with random READ by account key for small on-demand jobs. Report portfolio modernization sometimes replaces VSAM random access with Db2 SQL FILE while keeping sequential extracts for bulk registers.
Banking operations run match jobs comparing two files—GL sub-ledger to control account, fee extract to posting file. Easytrieve reads both sorted by key, detects mismatches, PRINTs exception report. See batch reconciliation use-case tutorial for pattern details; banking reconciliation often requires zero unmatched rows before close.
Statement jobs merge transaction file with name and address file on customer id, format fixed columns for print vendor, accumulate statement period interest and fees. Mask account numbers showing last four digits on print file while full number remains in internal sort key. Volume drives batch window—optimize SORT and minimize redundant SEARCH on static demographic data by sorting both files together or using TABLE for rate descriptions only.
Bank mergers duplicate report suites per legacy core until conversion completes. Easytrieve developers map alien field layouts to unified REPORT masks, often maintaining parallel members per legacy chart of accounts. TABLE files map old product codes to new enterprise codes during dual-branding periods.
A bank keeps giant notebooks of who borrowed money and who saved money. Every night a machine copies the important numbers onto long paper rolls. Easytrieve reads the rolls and prints shorter reports for bosses—how much each branch lent, which loans are late, whether all the pennies add up. If one penny is missing, accountants stay until they find it.
1. Banking Easytrieve portfolios often include:
2. Amount fields on banking extracts typically use:
3. Regulatory banking reports require:
4. Loan master reports often break subtotals by:
5. VSAM KSDS loan files in Easytrieve use: