000100 ID DIVISION. 000200 PROGRAM-ID. update-rec. 000300 AUTHOR. ChanJin Chung. 000400*PROGRAM TO update a record in AN INDEXED FILE 000500 ENVIRONMENT DIVISION. 000600 INPUT-OUTPUT SECTION. 000700 FILE-CONTROL. 000800*---------- NOTE: MODE IS RANDOM TO READ ---------------------- 000900 SELECT IDX-FILE ASSIGN TO DISK 'PART.IXF' 001000 ORGANIZATION IS INDEXED 001100 ACCESS MODE IS ?????? 001200 RECORD KEY IS IDX-KEY. 001300*-------------------------------------------------------------- 001400 DATA DIVISION. 001500 FILE SECTION. 001600 FD IDX-FILE RECORD CONTAINS 30 CHARACTERS. 001700 01 IDX-RECORD. 001800 05 IDX-KEY PIC X(4). 001900 05 I-NAME PIC X(15). 002000 05 U-PRICE PIC 9(5)V99. 002100 05 IN-STOCK PIC 9(4). 002200*-------------------------------------------------------------- 002300 WORKING-STORAGE SECTION. 002400 01 MORE-REC PIC X(1) VALUE 'Y'. 002500 01 U-PART-NO PIC X(4). 002600 01 T-PART PIC 9(4). 002700 002800 PROCEDURE DIVISION. 002900 main-rtn. 003000 OPEN ??? IDX-FILE 003100 PERFORM UNTIL MORE-REC = 'N' OR MORE-REC = 'n' 003200 DISPLAY 'Enter Part Number to be Updated:' 003300 ACCEPT U-PART-NO 003400 MOVE U-PART-NO TO IDX-KEY 003500 READ IDX-FILE 003600 INVALID KEY DISPLAY 'INVALID KEY' 003700 NOT INVALID PERFORM PART-UPDATE 003800 END-READ 003900 DISPLAY 'MORE RECORDS TO UPDATE? (Y/N) :' 004000 ACCEPT MORE-REC 004100 END-PERFORM 004200 CLOSE IDX-FILE 004300 STOP RUN. 004400 PART-UPDATE. 004500 DISPLAY 'Enter Current Parts in Stock' 004600 ACCEPT T-PART 004700 MOVE T-PART TO IN-STOCK 004800 ??????? IDX-RECORD 004900 INVALID KEY DISPLAY 'REWRITE ERROR' U-PART-NO 005000 NOT INVALID KEY DISPLAY IDX-RECORD 005100 END-REWRITE.