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

47
13-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: geoffrey-flynn

Post on 04-Jan-2016

241 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 13-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)

13-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: 13-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)

13-2

Sequential File Processing

Chapter 13

Page 3: 13-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)

13-3

Chapter Objectives

To familiarize you with

• Master file processing concepts

• Sequential update procedures using disk as a master file

• How sequential disk files may be updated in place with REWRITE statement

Page 4: 13-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)

13-4

Chapter Contents

• Overview of Sequential File Processing

• Sequential File Updating - Creating a New Master File

• Validity Checking in Update Procedures

• Update Procedures with Multiple Transaction Records

Page 5: 13-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)

13-5

Chapter Contents

• Balanced Line Algorithm for Sequential File Updating

• Sequential File Updating - Rewriting Records on Disk

• Matching Files for Checking Purposes

• Interactive Updating of Sequential File

Page 6: 13-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)

13-6

Master Files

• Set of files used to store companies data in areas like payroll, inventory

• Usually processed by batch processing

• Typically stored on magnetic disk– Disks can store billions of characters– Disk drives read, write data quickly– Disk records can be any size

Page 7: 13-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)

13-7

Sequential Files

• Records always read in sequence

• Read first record, process it, then read second record, process it and so on– Payroll records in order by employee

number may be processed in sequence for updating or printing reports

Page 8: 13-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)

13-8

Sequential Files

• May be sorted into any sequence using any field in record– To distribute checks more easily, records

may be sorted by department

• Sequential processing then used to print checks, reading first record, then second, etc.

Page 9: 13-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)

13-9

Master File Procedures

Typical procedures for sequential processing in batch mode are:

• Designing Master File

• Creating Master File

• Creating Transaction File

• Updating Master File

• Reporting from Master File

Page 10: 13-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)

13-10

Designing a Master File

• Place key fields that uniquely identify record at beginning of record

• If possible, choose numeric key fields

• Secondary fields after primary key fields

• Remaining fields appear in order of importance

Page 11: 13-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)

13-11

Designing a Master File

• Choose field size large enough to accommodate data stored in it

• Use coded fields where possible to save space

• Be sure all date fields include four-digit year

Page 12: 13-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)

13-12

Creating a Master File

• Original master file data entered interactively, stored on disk file

• Ensure data integrity by using data validation techniques to minimize risk or errors

• Control listing or audit trail produced to show data stored in new master file and control totals

Page 13: 13-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)

13-13

Creating a Transaction File

• Changes to master file made with separate procedure

• Change records stored in file called transaction file

Page 14: 13-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)

13-14

Updating a Master File

• Updating is process of making master file current

• Update master file by incorporating changes from transaction records

Page 15: 13-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)

13-15

Reporting from a Master File

• Scheduled reports prepared on regular basis from data stored in master file– Sales reports, customer bills, checks, etc.– Use detail, exception and group printing

techniques

• On demand reports produced as need arises– May be in report form or displayed on

screen

Page 16: 13-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)

13-16

Creating Master, Transaction Files

• Data may be read in from another file or entered interactively from keyboard

• If data entered is valid, move it to master or transaction record fields

• WRITE new record to file

Page 17: 13-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)

13-17

Sequential File Updating

Two input files

• Input Master File (Old-Master)– Current through previous updating period– Does not contain changes since previous

update

• Input Transaction File (Trans-File)– Contains changes since previous update to

be applied to Old-Master

Page 18: 13-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)

13-18

Sequential File Updating

Two output files

• Output Master File (New-Master)– Integrates data from Old-Master with all of

changes from Trans-File– Will become Old-Master for next update

• Control Listing or Audit Trail– Print file showing changes made to master

file, errors during processing and control totals

Page 19: 13-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)

13-19

Ordering of Records

• Records in Old-Master and Trans-File must be in order by same key field

• Compare key fields to determine if given master record is to be updated

Page 20: 13-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)

13-20

Sequential Update Example

• For accounts receivable file, account number may be selected as key field

• Records in both input files in sequence by account number– Old-Master key field is M-Acct-No– Trans-file key field is T-Acct-No

• New-Master file also created in account number sequence (Acct-No-Out)

Page 21: 13-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)

13-21

Sequential Update Procedure

• One transaction record for each master record to be updated– Contains total amount to be added to

amount field in corresponding master record

• Initially, record read from both Old-Master and Trans-File

• Comparison of M-Acct-No and T-Acct-No determines next step

Page 22: 13-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)

13-22

1) T-Acct-No = M-Acct-No

• Means transaction record exists with same account number as master record

• Perform regular update, adding Trans-File amount to Old-Master amount, storing result in New-Master field

• Write record to New-Master file

• Read next record from both Old-Master and Trans-File

Page 23: 13-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)

13-23

2) T-Acct-No > M-Acct-No

• Means master record exists for which there is no corresponding transaction record

• Write record from Old-Master to New-Master as is, since no changes need to be made to it

• Read next record from Old-Master

Page 24: 13-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)

13-24

3) T-Acct-No < M-Acct-No

• Means transaction record exists for which there is no corresponding master record

• Two ways to process this transaction– Create record in New-Master file for this

transaction– May assume that T-Acct-No is invalid since

no match found in Old-Master file and treat as error condition

Page 25: 13-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)

13-25

Use of HIGH-VALUES

• Refers to largest value in computer's collating sequence

• Used so all records from both Old-Master and Trans-File are processed

• May reach end of Old-Master file before reaching end of Trans-File or vice versa

Page 26: 13-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)

13-26

Use of HIGH-VALUES

• When last record read from Old-Master, M-Acct-No set to HIGH-VALUES– For all remaining transaction records

T-Acct-No < M-Acct-No – Processed as new accounts and added to

New-Master

Page 27: 13-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)

13-27

Use of HIGH-VALUES

• When last record read from Trans-File, T-Acct-No set to HIGH-VALUES– For all remaining Old-Master records

T-Acct-No > M-Acct-No – Old-Master records added to New-Master

without changes

Page 28: 13-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)

13-28

Use of HIGH-VALUES

• Loop to process records ends only when both account numbers equal HIGH-VALUES

• May be used only with fields defined as alphanumeric– Define account number fields with PIC of

Xs even though fields contain numbers

Page 29: 13-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)

13-29

Validity Checking in Updating

• Code field may be added to each transaction record to indicate whether transaction is– New account to be added– Update to existing account– Deletion of existing account

• Comparison of keys and transaction code type enable program to detect other update errors

Page 30: 13-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)

13-30

Multiple Transaction Records

• To process more than one change for each master record requires different update procedure

• In accounts receivable file example, transaction record may be created for each purchase or credit by customer

• Amounts in all transaction records for one customer need to be added to amount in Old-Master file record

Page 31: 13-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)

13-31

Multiple Transaction Records

• Add loop to regular update routine to read and process multiple transaction records for same Old-Master record– Continue to read records from Trans-File

until T-Acct-No Not = M-Acct-No

Page 32: 13-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)

13-32

Balanced Line Algorithm

• Technique to update master file – With any number of transactions– With checks for error conditions

• Viewed as most efficient and effective sequential file updating method

• Two new fields used to control updating– WS-Control-Key– WS-Allocated-Switch

Page 33: 13-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)

13-33

WS-Control-Key

• Determines type of processing

• Called control or active key field

• Set to smaller of M-Acct-No or T-Acct-No

• Then comparison of M-Acct-No or T-Acct-No to WS-Control-Key used to control further processing

Page 34: 13-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)

13-34

WS-Allocated-Switch

• Used for error control– To ensure records processed correctly– To detect erroneous codes in transactions

• Set to 'YES' when record should be written to New-Master file

• Set to 'NO' if record should not be written to New-Master file

Page 35: 13-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)

13-35

1) M-Acct-No < T-Acct-No

• WS-Control-Key set to M-Acct-No

• WS-Allocated-Switch set to 'YES' because WS-Control-Key and M-Acct-No are same

• Since M-Acct-No and T-Acct-No not equal, Old-Master has no transactions– Old-Master record written to New-Master

record as is

Page 36: 13-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)

13-36

2) M-Acct-No = T-Acct-No

• WS-Control-Key set to M-Acct-No

• WS-Allocated-Switch set to 'YES' because WS-Control-Key and M-Acct-No are same

• Transactions with T-Acct-No = M-Acct-No processed

Page 37: 13-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)

13-37

2) M-Acct-No = T-Acct-No

• Processing transactions with T-Acct-No = M-Acct-No– Updates posted to New-Master– Additions displayed as errors because WS-

Allocated-Switch set to 'YES' (master record with this M-Acct-No already exists)

– Deletions move 'NO' to WS-Allocated-Switch to ensure this Old-Master record is not written to New-Master file

Page 38: 13-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)

13-38

3) M-Acct-No > T-Acct-No

• WS-Control-Key set to T-Acct-No

• WS-Allocated-Switch set to 'NO' because WS-Control-Key not equal to M-Acct-No– No master record exists for this transaction

Page 39: 13-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)

13-39

3) M-Acct-No > T-Acct-No

• Only additions acceptable– Reset WS-ALLOCATED-SWITCH to 'YES'– New-Master record created from

transaction record

• Update or deletion transaction treated as error

Page 40: 13-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)

13-40

Updating Master Disk in Place

• May read a master disk record, make changes directly to same record, and rewrite it or update it in place

• Only two files needed– Master-File OPEN as I-O– Trans-File OPEN as INPUT

• Use REWRITE statement to replace master disk record, currently in storage, that was accessed by preceding READ

Page 41: 13-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)

13-41

Updating Master Disk in Place

• To delete a record, establish each record with an activity code field– For example, Code-X = 1 if record is

active, or 2 if record is inactive

• All master records initially active (1 in Code-X)

• Master record deactivated by changing activity code to 2

Page 42: 13-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)

13-42

Updating Master Disk in Place

• New records cannot be added in sequence when file open for I-O

• Can add records at end of file by opening file in EXTEND mode

OPEN EXTEND file-name• Disk automatically positioned at end of

file, immediately after last record• Sort file after records added to arrange

them in sequence

Page 43: 13-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)

13-43

Chapter Summary

• Sequential updating by creating new master uses three files– Incoming master file– Transaction file with change records– New output master file that will incorporate

all changes

Page 44: 13-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)

13-44

Chapter Summary

• Sequential updating technique– All three files must be in sequence by

same key field– Record read from each file– Routine performed depends on whether

key fields match

Page 45: 13-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)

13-45

Chapter Summary

• Sequential updating technique – Transaction record may include coded field

to designate update, deletion, addition– Use HIGH-VALUES to ensure all records in

both old master and transaction files are processed

• Balanced line algorithm used for sequential updates

Page 46: 13-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)

13-46

Chapter Summary

• Can also update records in sequential file by rewriting them in place– Must open file as I-O

• Records can be added to end of sequential file– Open in EXTEND mode

Page 47: 13-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)

13-47

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.