Easytrieve Payroll Processing Projects

Payroll is one of the highest-stakes batch workloads on the mainframe. Employees expect correct deposits; finance expects GL tie-out; auditors expect reproducible registers with hash totals. Easytrieve appears throughout payroll portfolios—not always as the tax calculation engine, but reliably as the report generator for pay registers, deduction summaries, exception lists, and interfaces to accounts payable and general ledger. This tutorial describes typical payroll file layouts, how earnings and deduction codes flow through Easytrieve JOB logic, TABLE decodes for code descriptions, control break subtotals by department, validation for negative net pay, and operational practices that keep pay week from becoming crisis week.

Progress0 of 0 lessons

Payroll Batch Landscape

Modern payroll often splits into calculation and reporting. An upstream job—COBOL, vendor package, or Easytrieve calculation member—reads time cards, applies tax tables, and writes a pay extract sequential file with one row per employee per pay period containing gross, each deduction, net, and bank deposit fields. Downstream Easytrieve reports read that extract and produce human-readable registers without recalculating tax unless your shop explicitly combines both roles in one program.

Understanding where calculation ends and reporting begins prevents double-applying deductions when you modify a register program. Read program header comments and operations runbook for the official split.

Typical Pay Extract Layout

text
1
2
3
4
5
6
7
8
9
10
11
12
FILE PAYEXTR EMP-ID 9 NUM EMP-NAME 30 A DEPT-CODE 3 NUM PAY-DATE 8 NUM GROSS-PAY 9.2 FED-TAX 7.2 STATE-TAX 7.2 FICA 7.2 NET-PAY 9.2 DED-CODE 2 A DED-AMT 7.2

Field names and sizes vary by shop. EMP-ID is employee identifier; GROSS-PAY and NET-PAY use decimal definitions for currency; DED-CODE and DED-AMT may repeat on separate deduction detail files in multi-file designs. Match DEFINE precision to extract—rounding mismatches between calculation and report are a common audit finding.

Decode Earnings and Deduction Codes

Registers print DED-CODE 401 next to amount 150.00—but supervisors want 401K RETIREMENT. TABLE lookup pattern applies: FILE DEDTAB TABLE with ARG matching DED-CODE and DESC for printable text. SEARCH in JOB before PRINT populates DED-DESC on each detail line.

text
1
2
3
4
5
6
7
8
9
10
11
12
13
FILE DEDTAB TABLE 50 DISK ARG 2 A DESC 25 A JOB INPUT PAYEXTR SEARCH DEDTAB WITH DED-CODE GIVING DED-DESC IF NOT DEDTAB DED-DESC = 'UNKNOWN DEDUCTION' PERFORM LOG-DED-EXCEPTION END-IF ADD GROSS-PAY TO W-TOTAL-GROSS ADD NET-PAY TO W-TOTAL-NET W-REC-CNT = W-REC-CNT + 1

Accumulators W-TOTAL-GROSS and W-TOTAL-NET feed report trailer or TITLE lines for control tie-out. LOG-DED-EXCEPTION. PROC increments W-BAD-DED-CNT and writes exception detail to a separate FILE for HR to fix master deduction codes.

Department and Cost Center Breaks

Pay registers group employees by department for manager review. SORT pay extract by DEPT-CODE before report JCL or rely on input order from upstream. REPORT activity defines control break on DEPT-CODE with AFTER-BREAK printing subtotals of gross and net. SEARCH DEPTTAB WITH DEPT-CODE GIVING DEPT-NAME for break headings.

Payroll report types commonly built with Easytrieve
ReportAudienceTypical content
Pay registerPayroll supervisorsEmployee detail, earnings, deductions, net
Department summaryFinance managersSubtotals by cost center
Deduction registerBenefits adminTotals per deduction code
Exception listHR clerksInvalid codes, zero net, missing bank
GL interfaceGeneral ledgerSummarized debit/credit records

Validation Rules Specific to Payroll

  • NET-PAY negative unless adjustment policy allows—route to exception.
  • GROSS-PAY zero for active employees—flag for missing time entry.
  • Sum of deductions plus net should reconcile to gross within rounding tolerance.
  • Duplicate EMP-ID on same PAY-DATE—possible double pay; reject or highlight.
  • Missing bank routing on direct deposit records—hold from disbursement file.

Encapsulate rules in VALIDATE-PAY-REC. PROC with W-ERROR-FLAG contract. Payroll mistakes are visible and emotional; automated guards reduce recall events.

Control Totals and Sign-Off

Operations compares W-REC-CNT to trailer count on pay extract. W-TOTAL-GROSS and W-TOTAL-NET match finance spreadsheet from calculation system. Some jobs write control records to GDG dataset PAY.CONTROL for automated monitoring. TITLE or final LINE prints hash totals operators initial on run sheet.

text
1
2
3
4
5
TITLE 'PAY REGISTER CONTROL' 'RECORDS:' W-REC-CNT 'GROSS:' W-TOTAL-GROSS 'NET:' W-TOTAL-NET 'EXCEPTIONS:' W-BAD-DED-CNT

Sample JCL Context

text
1
2
3
4
5
6
7
8
//PAYREG EXEC PGM=EZTPA00,REGION=0M //SYSPRINT DD SYSOUT=* //SYSIN DD DSN=HR.PAY.LIB(EZTPREG),DISP=SHR //PAYEXTR DD DSN=HR.PAY.WEEKLY(+1),DISP=SHR //DEDTAB DD DSN=HR.PAY.DED.CODES,DISP=SHR //DEPTTAB DD DSN=HR.PAY.DEPT.CODES,DISP=SHR //RPTOUT DD SYSOUT=(1,INTRDR) //EXCEPT DD DSN=HR.PAY.EXCEPT(+1),DISP=(,CATLG,DELETE)

DEDTAB and DEPTTAB external TABLE files allow benefits team to update codes without recompiling register program—when codes change mid-year, refresh table dataset and rerun.

Payroll Calendar Considerations

Weekly jobs stress volume and tight windows; monthly jobs add commission and benefit true-ups; year-end adds W-2 support registers and archival formats. Easytrieve members may multiply by period type sharing COMMON PROC macros for validation while varying REPORT masks for legal wording on year-end headers.

Security and Privacy

Pay extracts contain PII and salary data. Restrict dataset profiles, mask test files, and avoid DISPLAY of full SSN in production listings. Report TITLE may show last-four only when policy requires. Exception files need same protection as source extract.

Explain It Like I'm Five

Payroll Easytrieve is like printing paycheck stubs for every worker after a calculator figured how much each person earns. The calculator writes numbers on a list. Easytrieve reads the list, looks up what deduction codes mean, groups people by team, and prints a neat notebook the boss checks before money goes to the bank. If a code makes no sense, it goes on a problem list instead of the main notebook.

Exercises

  1. Define FILE PAYEXTR with five fields and write JOB accumulating W-TOTAL-NET.
  2. Build INSTREAM DEDTAB with three codes and SEARCH before a PRINT line.
  3. List five validation rules you would put in VALIDATE-PAY-REC. PROC.
  4. Design control TITLE lines for record count and gross total.
  5. Explain why external DEDTAB helps benefits team without developer recompile.

Frequently Asked Questions

Quiz

Test Your Knowledge

1. Payroll Easytrieve jobs most often read:

  • Pay calculation extracts from HR or payroll engine
  • Customer loan master only
  • CICS screen maps
  • Compiler listings

2. Deduction codes on pay extracts are commonly decoded with:

  • TABLE SEARCH lookup tables
  • REPORT TITLE only
  • SCREEN INPUT
  • MACRO without FILE

3. Pay register control totals typically include:

  • Record count, gross pay sum, net pay sum
  • Only page numbers
  • Compiler options
  • PF key settings

4. Negative net pay on a register usually triggers:

  • Exception report or hold flag
  • Silent acceptance
  • Automatic delete
  • SKIP SORT

5. Department subtotals on pay registers use:

  • Control breaks on department code fields
  • SQL GROUP BY only
  • MACRO expansion
  • JCL COND
Published
Read time19 min
AuthorMainframeMaster
Reviewed by MainframeMaster teamVerified: Mainframe payroll batch reporting patterns with EasytrieveSources: Broadcom Easytrieve 11.6 batch reporting, payroll operations practicesApplies to: Easytrieve payroll register and pay extract reporting projects