Easytrieve Daily Report Projects

Before the trading floor opens, before branches unlock doors, operations already scanned dozens of overnight listings: cash position, failed wires, overdrawn accounts, policy exceptions, inventory below reorder point. Daily report projects are the rhythm of mainframe batch—same programs every business morning, business date in the title, dependency on last night's close extract, finish by 06:30 or someone escalates. Easytrieve owns a large share because REPORT activities, CONTROL subtotals, and exception filtering are expressible in few lines compared to COBOL report writers. This tutorial describes daily portfolio structure, business-date parameterization, multi-report morning packages, zero-record handling, exception versus full-detail dailies, scheduling and SLA, archival expectations, and pairing with reusable report framework macros your shop already standardized. Beginners learning real projects should compare this page to monthly and year-end tutorials—same REPORT syntax, different aggregation window and audience.

Progress0 of 0 lessons

Morning Report Package

Typical daily Easytrieve report suite
ReportAudienceContent
Activity summaryOperations managerCounts and totals by product
Exception listAnalystsRows failing policy rules
Position listingTreasuryEnd-of-day balances
Audit trailComplianceHigh-value transactions

Business Date Parameterization

text
1
2
3
4
5
6
INIT-DAILY. PROC GET CONTROL-FILE MOVE CTL-BUS-DATE TO RPT-DATE MOVE CTL-BUS-DATE TO SELECT-DATE MOVE 'DAILY ACTIVITY' TO RPT-TITLE END-PROC

CONTROL-FILE from close process carries authoritative business date—do not rely on SYSDATE alone when processing after midnight spans two calendar days. SELECT-DATE filters JOB INPUT records IF TRAN-DATE EQ SELECT-DATE. Holiday calendar in TABLE skips runs or sets prior business date when INIT detects closed market flag.

Exception Daily Pattern

text
1
2
3
4
5
6
7
8
9
10
11
12
13
JOB INPUT DAILY-EXTRACT IF TRAN-DATE NE SELECT-DATE EXIT END-IF IF AMT GT LIMIT-AMT * drive REPORT detail via accumulated flag or WRITE work file END-IF END-JOB REPORT DAILY-EXCEPTIONS JOB INPUT EXCEPTION-WORK LINE ACCT TRAN-AMT REASON-CODE END-REPORT

Alternative: single pass writes exception rows to EXCEPTION-WORK then REPORT reads work—separates filter logic from layout. Exception dailies must explain REASON-CODE with TABLE decode in HEADING legend.

Zero-Record Handling

No exceptions is good news—still print TITLE, HEADING, FOOTING with zero detail and DISPLAY EXCEPTION-COUNT 0 in TERM. Operations distinguishes job failure from genuinely empty exception set. Optional LINE when READ-COUNT zero: No exceptions for business date. Without that line, help desk receives false incident tickets.

Multi-Report JOB

text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
PERFORM INIT-DAILY PERFORM SETUP-ACTIVITY-RPT REPORT DAILY-ACTIVITY ... END-REPORT PERFORM SETUP-EXCEPTION-RPT REPORT DAILY-EXCEPTIONS ... END-REPORT PERFORM TERM-DAILY STOP

SETUP-xxx PROCs move distinct RPT-TITLE and input file DD names if reports read different extracts. Shared STD-REPORT-HEADING macro keeps corporate banner identical across morning package.

Scheduling and SLA

  1. JCL starts after DAILY-EXTRACT job RC=0.
  2. Target completion 06:30 local—document in run book.
  3. Monitor elapsed time trend—creeping duration signals data growth.
  4. Auto-restart once on WLM abend; second failure pages on-call.
  5. Archive SYSOUT or report file GDG retained 90 days minimum.

Daily Versus Real-Time

Daily batch reports complement online screens—not replace. Treasury may see intraday screen but signs daily listing as official record. Design dailies for reproducibility: same business date rerun produces identical totals. Real-time feeds tolerate eventual consistency; dailies must foot to general ledger.

Performance Tips

  • Filter on business date early in JOB—skip before expensive TABLE lookups.
  • Presorted extract from upstream avoids SORT in report job.
  • Exception work file smaller than full extract—write only exceptions in first pass.
  • Split enormous activity summary to weekly if daily page count exceeds printer policy.

Common Mistakes

  • SYSDATE in title when business date differs—audit confusion.
  • No output on zero exceptions—false incident.
  • Full detail daily when only exceptions needed—waste paper and time.
  • Missing dependency COND—report runs on empty extract.
  • Unsorted CONTROL breaks on branch dailies.

Explain It Like I'm Five

Every morning the teacher posts yesterday's gold-star list and a short note about problems to fix. Daily reports are those lists for grown-up work—what happened yesterday, what needs attention today. The date on the paper must say yesterday's school day, not today's clock, or everyone looks at the wrong homework.

Exercises

  1. Write INIT-DAILY reading business date from control file.
  2. Design exception daily with REASON-CODE table and zero-record message.
  3. Sketch morning package with two REPORT blocks and shared framework.
  4. List five SLA items for operations run book.
  5. Explain business date versus processing date with midnight example.

Quiz

Test Your Knowledge

1. Daily reports typically use:

  • Business date parameter for titles and record selection
  • Compile date only
  • Random date
  • No date fields

2. Zero-record daily report should:

  • Print title and zero-count summary—not fail silently
  • Abend always
  • Skip JCL
  • Omit TITLE

3. Daily exception reports list:

  • Transactions or balances failing policy thresholds
  • All successful rows only
  • Compiler warnings
  • JCL catalog

4. Multiple daily reports in one JOB:

  • Share INIT and framework TITLE with different REPORT blocks
  • Require separate compile units always
  • Use SCREEN
  • Disable FILE

5. Daily JCL often schedules:

  • After daily extract completes via COND dependency
  • At random time
  • Only monthly
  • Before source system opens
Published
Read time16 min
AuthorMainframeMaster
Reviewed by MainframeMaster teamVerified: Broadcom Easytrieve REPORT daily batch scheduling patternsSources: Broadcom Easytrieve 11.6 Report Generator; mainframe operations daily close practicesApplies to: Easytrieve daily report real-world projects