Control Break Processing - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Control Break Processing

Description:

Stern, Stern & Ley. 10-2. Chapter Objectives. To familiarize you with. Main types of computer-generated reports ... Techniques used for efficient printing of ... – PowerPoint PPT presentation

Number of Views:122
Avg rating:3.0/5.0
Slides: 27
Provided by: wini155
Category:

less

Transcript and Presenter's Notes

Title: Control Break Processing


1
Control Break Processing
COBOL for the 21st Century
11th edition
Stern, Stern Ley
John Wiley Sons, Inc.
Chapter 10
2
Chapter Objectives
  • To familiarize you with
  • Main types of computer-generated reports
  • Techniques used for efficient printing of group
    reports and control totals
  • Control break processing and control break
    printing

3
Chapter Contents
  • Introduction to Control Break Processing
  • Program Requirements for Control Break Processing
  • Multiple-Level Control Breaks

4
Types of Reports
  • Detail or Transaction Reports
  • Include one or more lines of output for each
    input record read
  • Exception Reports
  • Printout of individual records that meet (or
    fail to meet) certain criteria
  • Summary Reports
  • Summarizes rather than itemizes to provide more
    comprehensive information

5
Control Break Processing
  • Produces summary report using control fields to
    indicate when totals are to print
  • Records with same value for control field grouped
    together in file
  • Totals printed for each group of records with
    same control field value

6
Control Break Example
  • Consider file of sales records, each with three
    fields
  • Salesperson's department number, salesperson's
    number, sales amount
  • Department number is control field
  • Records in sequence by control field
  • All records for salespeople in Dept 01 followed
    by records for those in Dept 02,

7
Sample Sales Input Data
  • 01 12345 098855
  • 01 12346 353700
  • 01 12347 003499
  • 02 12222 987700
  • 02 12234 008777

Amt-Of-Sales-In
SlsNo-In
Dept-In
8
Control Break Example
  • Report includes detail printing
  • One line for each record with salesperson's
    amount of sales
  • Report also includes summary lines or group
    printing
  • Total line written for each department
  • After all records for Dept 01 read and printed,
    total for Dept 01 printed
  • Same is done for Dept 02, and so on

9
Control Break Sample Report
  • Dept Salesperson No Amt of Sales
  • 01 12345 988.55
  • 01 12346 3,537.00
  • 01 12347 34.99
  • Total for Dept is 4,560.54
  • 02 12222 9,877.00
  • 02 12234 87.77
  • Total for Dept is 9,964.77

10
Control Break Example
  • Records must be in sequence by control field
    (department number)
  • Sales records for Dept 01 read in, printed, Dept
    total accumulated
  • Continues until record read in with different
    Dept number
  • Change in Dept triggers printing of Dept total
    for Dept 01

11
Single-Level Control Break
  • Single-level means program has only one control
    field whose value triggers printing of totals
  • Control break is change in control field value
    from one record to the next

12
Single-Level Control Break
  • Many steps (initialization, heading routines)
    same as previous programs
  • Detail routine must be modified to check for
    control breaks
  • New module added to handle control break
    processing

13
Detecting a Control Break
  • For first record read, move control field to hold
    area in WORKING-STORAGE
  • If control field of subsequent records is same as
    hold area
  • Perform detail processing
  • If they are not equal, control break occurs
  • Perform control break routine

14
Detail Processing
  • When control field is equal to hold area
  • Add amount to control total
  • Print detail record (if desired)
  • Read next record

15
Control Break Routine
  • If control field of record read is not equal to
    hold area
  • Print control total for previous group
  • Initialize control total field to zero
  • Reinitialize hold field with new control field
    value
  • Perform detail processing as in previous step

16
Handling first record
  • First record has no previous control field value
    for comparison
  • Add field to use as "flag" to determine if record
    is first one processed (e.g., First-Record
    initialized to 'YES')
  • When record read, if First-Record 'YES'
  • Save control field value in hold area
  • Turn "off" flag by setting it to 'NO'

17
Forcing Final Control Break
  • Totals printed when record with new control field
    is read
  • Last group of records has no subsequent record to
    trigger printing
  • Include statements in end of job routine to move
    final group total to output record and print it

18
Printing a Final Total
  • May accumulate final total by
  • Adding amount from each record to control group
    total and final total in detail routine
  • Adding control group total to final total in
    control break routine
  • Second method more efficient since additions made
    once for each group instead of once for each
    record

19
Multiple Level Control Breaks
  • Suppose a sales record is created each time a
    salesperson makes a sale
  • Each salesperson may have multiple sales records
  • Report will include two levels of totals
  • Total sales for each salesperson
  • Total sales for each department

20
Multiple Level Control Breaks
  • Two control fields Dept-In and SlsNo-In
  • Records sorted by major control field (Dept-In)
  • Within department, sorted by minor control field
    (SlsNo-In)

21
Sample Sales Input Data
  • Dept-In SlsNo-In Amt-Of-Trans-In
  • 01 004 127.23
  • 01 004 100.14
  • 01 006 027.45
  • 01 006 052.23
  • 01 006 126.27
  • 02 003 111.14
  • 02 003 027.23

In sequence within Dept 01
22
Double-Level Control Break
  • Two hold areas, one for each control field
  • Check for control break on each
  • If no change in Dept-In or SlsNo-In, just add
    Amt-Of-Trans-In to salesperson total
  • If Dept-In changes, perform major control break
    routine
  • If no change in Dept-In but SlsNo-In changes,
    perform minor control break routine

23
Major Control Break Routine
  • Begins by forcing minor control break
  • This processes last salespersons total for
    previous department
  • Print department total
  • Reinitialize department total to zero
  • Save new Dept-In in hold area
  • Print heading for new department

24
Minor Control Break Routine
  • Print total for previous SlsNo-In
  • Add salesperson total to department total
  • Initialize salesperson total to zero
  • Move new SlsNo-In to hold area

25
Chapter Summary
  • Control break program may have any number of
    control fields
  • All input records must be in sequence by minor
    control fields within intermediate control fields
    within major control fields
  • Sort file before processing if records are not
    already in this order

26
Chapter Summary
  • Control break routines
  • Higher-level breaks force lower-level breaks
  • Appropriate control total line printed
  • Appropriate control total is initialized
  • Appropriate control field is initialized
Write a Comment
User Comments (0)
About PowerShow.com