10-1 cobol for the 21 st century nancy stern hofstra university robert a. stern nassau community...

28
10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin- Stout (Emeritus) John Wiley & Sons, Inc. 11th edition

Upload: christopher-farmer

Post on 27-Dec-2015

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-1

COBOL for the 21st Century

Nancy Stern Hofstra University

Robert A. Stern Nassau Community College

James P. Ley University of Wisconsin-Stout (Emeritus)

John Wiley & Sons, Inc.11th edition

Page 2: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-2

Control Break Processing

Chapter 10

Page 3: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-3

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

Page 4: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-4

Chapter Contents

• Introduction to Control Break Processing

• Program Requirements for Control Break Processing

• Multiple-Level Control Breaks

Page 5: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-5

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

Page 6: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-6

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

Page 7: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-7

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, …

Page 8: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-8

Sample Sales Input Data

01 12345 098855

01 12346 353700

01 12347 003499

02 12222 987700

02 12234 008777Amt-Of-Sales-In

SlsNo-In

Dept-In

Page 9: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-9

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

Page 10: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-10

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

Page 11: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-11

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

Page 12: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-12

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

Page 13: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-13

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

Page 14: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-14

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

Page 15: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-15

Detail Processing

When control field is equal to hold area

• Add amount to control total

• Print detail record (if desired)

• Read next record

Page 16: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-16

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

Page 17: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-17

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'

Page 18: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-18

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

Page 19: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-19

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

Page 20: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-20

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

Page 21: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-21

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)

Page 22: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-22

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

Page 23: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-23

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

Page 24: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-24

Major Control Break Routine

• Begins by forcing minor control break– This processes last salesperson’s total for

previous department

• Print department total

• Reinitialize department total to zero

• Save new Dept-In in hold area

• Print heading for new department

Page 25: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-25

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

Page 26: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-26

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

Page 27: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-27

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

Page 28: 10-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)

10-28

Copyright © 2003 John Wiley & Sons, Inc. All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without the express written permission of the copyright owner is unlawful. Request for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc. The purchaser may make back-up copies for his/her own use only and not for distribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages, caused by the use of these programs or from the use of the information contained herein.