DOC PREVIEW
UNF COP 3531 - Indexed File Processing

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

INDEXED FILE PROCESSINGPROCESSING INDEXED DISK FILES:CREATING AN INDEXED FILE:. CREATE IN SEQUENCE BY KEY FIELD. SORT INPUT FILE ON RECORD KEY (UNIQUE FIELD)CHANGES TO PARTS OF COBOL PROGRAM:1. SELECT STATEMENT (NEED FULL OPTIONS...)SELECT file-name ASSIGN TO implementor-name-1[ORGANIZATION IS] INDEXED[ACCESS IS ] SEQUENTIAL]RECORD KEY IS data-name-1.(STILL ADDITIONAL OPTIONS: FILE STATUS FIELD; ALTERNATE INDEX FIELD – more later)NOTE: OPTIONAL / REQUIRED ENTRIES. implementor-name-1 IS YOUR DATA FILE TO BE CREATED.. ORGANIZATION - CITES FILE ORGANIZATIONSEQUENTIAL, INDEXED, RELATIVE, (OTHERS....). ACCESS - HOW YOU ARE TO ACCESS THE RECORDSSEQUENTIALLY, RANDOMLY, DYNAMICALLY..... DEFAULTS: SEQUENTIAL, SEQUENTIAL (INCLUDE FOR INDEXED FILES). RECORD KEY - (REQUIRED FIELD).. KEY FIELD LIES WITHIN THE RECORD... USED AS THE AINDEX@ TO LOAD/RETRIEVE RECORD1.. USUALLY NUMERIC2. INVALID KEY CLAUSE (STILL CREATING THE FILE....)WRITE record-name-1 [FROM identifier-1][INVALID KEY imperative statement-1]. INVALID KEY TESTS FOR TWO CONDITIONS: (CREATE).. KEY FIELD NOT IN SEQUENCE.. KEY FIELD NOT UNIQUE (SAME AS ONE WRITTEN)(SOME SYSTEMS REJECT BLANK KEY TOO).. WE WANT TO KNOW!!. INVALID KEY RAISED, ==> RECORD NOT WRITTEN TO DISKExample:WRITE MFSCHOOL-INDEX-RECINVALID KEY PERFORM 999-FIX-ERRORNOT INVALID KEY PERFORM 400-NEXT-STUFFEND-WRITE.. NOT INVALID KEY NOT USED MUCH BEFORE.. USING THIS CLAUSE CAN MAKE OUR LIVES EASIER AHEAD..... CAN HELP ENSURE VALIDITY IN OUR CREATES / UPDATES.. INDEXED FILE NOW CREATED! (ORGANIZATION IS INDEXED ACCESS IS SEQUENTIAL.)UPDATING AN INDEXED FILE RANDOMLYCAN ACCESS AN INDEXED FILE SEQUENTIALLY AND RANDOMLY.TO UPDATE: . NEED MASTER FILE ITSELF2. NEED TRANSACTIONS.. MASTER FILE SERVES AS BOTH INPUT AND OUTPUT FILES.. SINCE UPDATE IS RANDOM - NO NEED TO SORT TRANSACTIONS.. RANDOM ACCESS ==> RANDOM ACCESS. SOMETIMES INDEXED FILE ABACKED UP@ PRIOR TO UPDATE.  TRANSACTION FILE - TWO SOURCES.. FILE ON DISK.. TRANSACTIONS ENTERED INTERACTIVELY.. NOTE: YOUR BOOK ASSUMES A TRANSACTION FILE..... CAN CERTAINLY BE DONE THIS WAY TOO….TO UPDATE:. READ TRANSACTION RECORD (FROM FILE OR SCREEN). MOVE KEY FIELD OF TRANS REC INTO RECORD KEY FIELDIN MASTER RECORD AREA. ISSUE READ OF MASTER FILEACCESS METHOD USES KEY IN RECORD AREA..... MAY BE GOOD OR BAD - DEPENDING ON TRANSACTIONADD, CHANGE, DELETE...READ INVENTORY-FILEINVALID KEY PERFORM 999-ERROR-RTNVALID KEYPERFORM 777-OKAY-RTNEND-READ.PROGRAMS 3 AND 4 WILL REQUIRE YOU TO PASS PARAMETERS FROM DRIVER TO UPDATE PROGRAM CITING WHETHER OR NOT YOU HAVE SUCCESSFULLY ACCESSED A RECORD IN THE INDEXED OR RELATIVE FILE. (MORE LATER)3(REMEMBER, WE ARE "UPDATING THE FILE")1. SELECT STATEMENT ORGANIZATION IS INDEXEDACCESS IS RANDOMRECORD KEY IS .......2. OPEN I-O INDEX-FILE-NAMEOPEN I-O (RECORDS WILL BE READ / WRITTEN)3. READ TRANS-FILEAT END MOVE 1 TO F-EOFEND-READ <ASSUMES A SUCCESSFUL READ. DANGER!!>MOVE TR-SSAN TO MR-SSANREAD MASTER-FILEINVALID KEY PERFORM 999-ERRORNOT INVALID KEYPERFORM 555-OKAYEND-READ <PRESS ON>RECOGNIZE: INVALID KEY IS OFTEN DESIRABLEINVALID KEY IS OFTEN UNDESIRABLE DEPENDING UPON TYPE OF TRANSACTION.(NO AT END IN READING A DISK FILE RANDOMLY.)4. REWRITE THE DISK RECORD TO UPDATE IT.REWRITE MASTER-FILE-RECORD5. HANDLING INVALID KEYS:. GENERALLY USE A CODE TO TEST FOR AN ERROR. WS-ERROR-CODE OR W-ERR-CODE, ETC.. EXAMPLE COMING UP (FILE STATUS FIELD)46. ADDITIONAL FEATURES OF AN UPDATE PROCEDURE. HAVE ONLY UPDATED (CHANGES). WHEN WE READ A RECORD, WE EXPECTED IT TO BE THERE.. WE REWROTE RECORD. (VIA REWRITE VERB)NEW RECORDS?.. MOVE TRANSACTION RECORD INTO MASTER FILE REC AREA AND SIMPLY WRITE THE RECORD. (WRITE). TWO PHILOSOPHIES:.. WRITE .... INVALID KEYIF TRUE, YOU HAVE A DUPE ADD. ==> ERROR RTNE... READ ... INVALID KEY (FIRST)IF TRUE, RECORD NOT ON FILE AND ADD IS ACCEPTABLE. THEN, SIMPLE WRITE.. INEFFICIENT - TWO I/OsDELETING RECORDSNEW VERB: DELETE.DELETE indexed-file-name-1 RECORD (NOTE: THE FD!)[INVALID KEY imperative-statement-1][NOT INVALID KEY imperative-statement-2][END-DELETE]NOTE THE SYNTAX:NORMAL SCENARIO:READ TRANSACTION RECORDINVALID KEY, ... (LATER) <IF GOOD READ...> AGAIN, DANGER!!MOVE KEY FROM TRANS REC INTO REC KEY OF MASTERFILE RECORDISSUE READASSUMING VALID READ, ISSUE DELETE INVALID READ? => RECORD NOT FOUND => ERROR CONDITION.5E.G.:(BOOK)MOVE 005 TO I-PART-NO.READ INV-FILEINVALID KEY DISPLAY NO SUCH RECORDCLOSE INV-FILESTOP RUN <DON'T DO THIS!!!>END-READDELETE INV-FILE RECORDINVALID KEY DISPLAY DELETE ERROR END-DELETE.(COULD ISSUE THE READ FIRST, IF DESIRED; GOOD, BUT TWO I/Os.LET=S LOOK AT A FULL BLOWN EXAMPLE: CONSIDER AN UPDATE PROGRAM (YOUR TEXT)RECORD KEY IS SSANIDENTIFICATION DIVISION.PROGRAM-ID. SAMPLE.ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.SELECT TRANS-FILE-IN ASSIGN TO ... .SELECT MASTER-FILE-IO ASSIGN TO ... .ORGANIZATION IS INDEXEDACCESS IS RANDOMRECORD KEY IS MASTER-SSNO-IO.…..DATA DIVISION.FILE SECTIONFD TRANS-FILE-INLABEL RECORDS ARE STANDARD.01 TRANS-REC-IN.605 TRANS-SSNO-IN PIC X(9).05 TRANS-PAYROLL-DATA-IN PIC X(20).05 TRANS-CODE-IN PIC X.88 NEW-EMPLOYEE VALUE '1'.88 UPDATE-EMPLOYEE VALUE '2'.88 SEPARATION VALUE '3'.FD MASTER-FILE-IOLABEL RECORDS ARE STANDARD.01 MASTER-REC-IO.05 MASTER-SSNO-IO PIC X(9).05 MASTER-DATA-IO PIC X(20).WORKING-STORAGE SECTION.01 WORK-AREAS.05 ARE-THERE-MORE-RECORDS PIC XXX VALUE 'YES'.88 MORE-RECORDS VALUE 'YES'.88 NO-MORE-RECORDS VALUE 'NO'.05 WS-ERROR-CODE PIC 9 VALUE ZERO.88 NO-ERROR VALUE ZERO.PROCEDURE DIVISION.100-MAIN-MODULE.PERFORM 800-INITIALIZATION-RTN.PERFORM 200-CALC-RTNUNTIL NO-MORE-RECORDS.PERFORM 900-END-OF-JOB-RTN.200-CALC-RTN.MOVE ZERO TO WS-ERROR-CODE.IF NEW-EMPLOYEEPERFORM 300-NEW-RTN <ADD ROUTINE>ELSEIF SEPARATION <DELETE>PERFORM 600-DELETE-RTNELSEIF UPDATE-EMPLOYEE <CHANGE>PERFORM 400-UPDATE-RTNEND-IF7END-IFEND-IF.READ TRANS-FILE-INAT END MOVE "NO" TO ARE-THERE-MORE-RECORDS.END-READ.300-NEW-RTN.MOVE TRANS-SSNO-IN TO MASTER-SSNO-IO.MOVE TRANS-PAYROLL-DATA-IN TO MASTER-DATA-IO.WRITE MASTER-REC-IOINVALID KEY PERFORM 700-ERROR-RTNEND-WRITE.400-UPDATE-RTN.MOVE SPACES TO MASTER-REC-IO.MOVE TRANS-SSNO-IN TO MASTER-SSNO-IO.READ MASTER-FILE-IOINVALID KEY PERFORM 700-ERROR-RTN.END-READ.IF


View Full Document

UNF COP 3531 - Indexed File Processing

Download Indexed File Processing
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Indexed File Processing and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Indexed File Processing 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?