000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. TB17P3.
000030 AUTHOR. TIMOTHY R P BROWN 494417.
000040 DATE-COMPILED. 16-11-00.
000050
000060************************************************************
000070** PROGRAM-3 **
000080** Program to update customer master file using sorted **
000090** file from TB17P2.DAT (transaction file), **
000100** creating new master file, updating the Stock file **
000110** and printing transactions that cannot be actioned. **
000120************************************************************
000130
000140 ENVIRONMENT DIVISION.
000150 INPUT-OUTPUT SECTION.
000160 FILE-CONTROL.
000170 SELECT TRANS-FILE ASSIGN TO 'A:TB17SD.DAT'
000180 ORGANIZATION IS LINE SEQUENTIAL.
000190 SELECT MAST-FILE ASSIGN TO 'CUSTMAST.DAT'
000200 ORGANIZATION IS LINE SEQUENTIAL.
000210 SELECT NEW-FILE ASSIGN TO 'A:TB17NF.DAT'
000220 ORGANIZATION IS LINE SEQUENTIAL.
000230 SELECT STOCK-FILE ASSIGN TO 'STCKMAST.DAT'
000240 ORGANIZATION IS INDEXED
000250 ACCESS MODE IS DYNAMIC
000260 RECORD KEY IS S-PART-NO.
000270 SELECT PRINT-FILE ASSIGN TO PRINTER.
000280
000290
000300***********************************************************
000310***********************************************************
000320
000330 DATA DIVISION.
000340 FILE SECTION.
000350
000360 FD TRANS-FILE.
000370 01 IR-TRANS-REC.
000380 03 IR-REC-TYPE PIC X.
000390 03 IR-CUS-CODE PIC X(5).
000400 03 IR-PART-NO PIC X(6).
000410 03 IR-QUANTITY PIC 9(4).
000420
000430 01 D-TRANS-REC.
000440 03 D-REC-TYPE PIC X.
000450 03 D-CUS-CODE PIC X(5).
000460
000470 01 C-TRANS-REC.
000480 03 C-REC-TYPE PIC X.
000490 03 C-CUS-CODE PIC X(5).
000500 03 CUS-NAME PIC X(20).
000510 03 CUS-ADDRESS PIC X(60).
000520 03 CUS-BALANCE PIC S9(7)V99.
000530 03 CUS-CRED-LIMIT PIC 9(7).
000540
000550 FD MAST-FILE.
000560 01 MAST-REC.
000570 03 M-CUS-CODE PIC X(5).
000580 03 M-CUS-NAME PIC X(20).
000590 03 M-CUS-ADDRESS PIC X(60).
000600 03 M-CUS-BALANCE PIC S9(7)V99.
000610 03 M-CUS-CRED-LIMIT PIC 9(7).
000620 03 M-DATE PIC 9(6).
000630
000640 FD NEW-FILE.
000650 01 NEW-REC.
000660 03 PIC X(85).
000670 03 NEW-CUS-BALANCE PIC S9(7)V99.
000680 03 NEW-CUS-CRED-LIMIT PIC 9(7).
000690 03 NEW-DATE PIC 9(6).
000700
000720 FD STOCK-FILE.
000730 01 STOCK-REC.
000740 03 S-PART-NO PIC X(6).
000750 03 PART-DESC PIC X(19).
000760 03 SUPP-CODE PIC 99.
000770 03 FREE-STOCK PIC 9(6).
000780 03 MIN-STOCK PIC 9(4).
000790 03 MOV-DATE PIC 9(6).
000800 03 SELL-PRICE PIC 9(4)V99.
000810
000820 FD PRINT-FILE.
000830 01 PRINT-LINE PIC X(130).
000840
000850***********************************************************
000860
000870 WORKING-STORAGE SECTION.
000880
000890* General storage of trans-file record
000900 01 T-RECORD.
000910 03 REC-TYPE PIC X.
000920 03 T-CUS-CODE PIC X(5).
000930 03 PIC X(96).
000940
000950
000960 01 CREATE-RECORD.
000970 03 CREATE-CUS-CODE PIC X(5).
000980 03 CREATE-CUS-NAME PIC X(20).
000990 03 CREATE-CUS-ADDRESS PIC X(60).
001000 03 CREATE-CUS-BALANCE PIC S9(7)V99.
001010 03 CREATE-CUS-CRED-LIMIT PIC 9(7).
001020 03 CREATE-DATE PIC 9(6).
001030
001040* Flags
001050 01 EOT-FLAG PIC X VALUE 'N'.
001060 88 END-OF-T-FILE VALUE 'Y'.
001070 01 EOM-FLAG PIC X VALUE 'N'.
001080 88 END-OF-M-FILE VALUE 'Y'.
001090 01 EO-BOTH-FLAG PIC X VALUE 'N'.
001100 88 BOTH-FILE-END VALUE 'Y'.
001110 01 REC-TYPE-FLAG PIC X.
001120 88 I-TYPE VALUE 'I'.
001130 88 R-TYPE VALUE 'R'.
001140 88 D-TYPE VALUE 'D'.
001150 88 C-TYPE VALUE 'C'.
001160 01 WRITE-OK-FLAG PIC X VALUE 'Y'.
001170 88 OK-TO-WRITE VALUE 'Y'.
001180
001190* Counters
001200 01 W-LINE-NO PIC 99 VALUE ZERO.
001210 01 W-PAGE-NO PIC 99 VALUE ZERO.
001220 01 W-TOTAL-ERR-NO PIC 9(4) VALUE ZERO.
001230 01 W-CREATED-NO PIC 9(4) VALUE ZERO.
001240 01 W-DELETED-NO PIC 9(4) VALUE ZERO.
001250 01 TOTAL-OLD-MAST PIC 9(5) VALUE ZERO.
001260 01 TOTAL-NEW-MAST PIC 9(5) VALUE ZERO.
001270 01 TOTAL-ERROR-NO PIC 9(4) VALUE ZERO.
001280
001290* Miscellaneous
001300 01 W-ERROR-CODE PIC X.
001310 01 W-COST PIC 9(7)V99.
001320 01 W-DATE.
001330 03 DOS-YEAR PIC 99.
001340 03 DOS-MONTH PIC 99.
001350 03 DOS-DAY PIC 99.
001360
001370
001380* Print items
001390 01 P-BLANK-LINE PIC X VALUE SPACE.
001400 01 P-UNDERLINE PIC X(122) VALUE ALL '-'.
001410
001420 01 P-TITLE-1.
001430 03 PIC X(20) VALUE SPACES.
001440 03 PIC X(13) VALUE 'ZENITH PAINTS'.
001450 01 P-TITLE-2.
001460 03 PIC X(14) VALUE SPACES.
001470 03 PIC X(48) VALUE
001480 'TRANSACTION ERROR REPORT (Program 3 output) '.
001490 03 PIC X(6) VALUE 'DATE: '.
001500 03 DOS-DAY PIC 99.
001510 03 PIC X VALUE '/'.
001520 03 DOS-MONTH PIC 99.
001530 03 PIC X VALUE '/'.
001540 03 DOS-YEAR PIC 99.
001550
001560 01 P-PAGE-NO-HEAD.
001570 03 PIC X(7) VALUE ' PAGE '.
001580 03 P-PAGE-NO PIC ZZ9.
001590 01 P-HEADING-1.
001600 03 PIC X(5) VALUE SPACES.
001610 03 PIC X(93) VALUE
001620 'RECORD CUSTOMER PART ISSUE/RECEIPT'.
001630 03 PIC X(25) VALUE
001640 'CUSTOMER CREDIT ERROR'.
001650 01 P-HEADING-2.
001660 03 PIC X(6) VALUE SPACES.
001670 03 PIC X(61) VALUE
001680 'TYPE CODE NO QUANTITY NAME'.
001690 03 PIC X(31) VALUE 'ADDRESS'.
001700 03 PIC X(24) VALUE
001710 'BALANCE(£) LIMIT(£) CODE'.
001720
001730
001740 01 P-RECORD.
001750 03 PIC X(7) VALUE SPACES.
001760 03 P-REC-TYPE PIC X.
001770 03 PIC X(5) VALUE SPACES.
001780 03 P-CUS-CODE PIC X(5).
001790 03 PIC X(4) VALUE SPACES.
001800 03 P-PART-NO PIC X(6).
001810 03 PIC X(4) VALUE SPACES.
001820 03 P-IR-QUANTITY PIC ZZZ9 BLANK WHEN ZERO.
001830 03 PIC X(7) VALUE SPACES.
001840 03 P-CUS-NAME PIC X(20).
001850 03 PIC X(2) VALUE SPACES.
001860 03 P-CUS-ADDRESS PIC X(30).
001870 03 PIC X VALUE SPACES.
001880 03 P-CUS-BALANCE PIC -(7)9.99 BLANK WHEN ZERO.
001890 03 PIC X VALUE SPACES.
001900 03 P-CUS-CRED-LIMIT PIC -(7)9 BLANK WHEN ZERO.
001910 03 PIC XXXX VALUE SPACES.
001920 03 P-ERROR-CODE PIC X.
001930
001940 01 P-FOOTER-1.
001950 03 PIC X(10) VALUE SPACES.
001960 03 PIC X(40) VALUE
001970 'TOTAL RECORDS IN ORIGINAL MASTER FILE : '.
001980 03 P-OMAST-NO PIC Z(4)9.
001990
002000 01 P-FOOTER-2.
002010 03 PIC X(10) VALUE SPACES.
002020 03 PIC X(35) VALUE
002030 'TOTAL RECORDS IN NEW MASTER FILE : '.
002040 03 P-NMAST-NO PIC Z(4)9.
002050 03 PIC X(13) VALUE ' (CREATED : '.
002060 03 P-CREATED-NO PIC ZZZ9.
002070 03 PIC X(13) VALUE ' ; DELETED : '.
002080 03 P-DELETED-NO PIC ZZZ9.
002090 03 PIC X VALUE ')'.
002100
002110 01 P-FOOTER-3.
002120 03 PIC X(10) VALUE SPACES.
002130 03 PIC X(27) VALUE
002140 'TOTAL ERROR TRANSACTIONS : '.
002150 03 P-ERROR-NO PIC ZZZ9.
002160
002170 01 P-KEY-1.
002180 03 PIC X(10) VALUE SPACES.
002190 03 PIC X(4) VALUE 'KEY:'.
002200 01 P-KEY-2.
002210 03 PIC X(10) VALUE SPACES.
002220 03 PIC X(26) VALUE
002230 'I = ISSUE TYPE TRANSACTION'.
002240 01 P-KEY-3.
002250 03 PIC X(10) VALUE SPACES.
002260 03 PIC X(27) VALUE
002270 'R = RETURN TYPE TRANSACTION'.
002280 01 P-KEY-4.
002290 03 PIC X(10) VALUE SPACES.
002300 03 PIC X(29) VALUE
002310 'D = DELETION TYPE TRANSACTION'.
002320 01 P-KEY-5.
002330 03 PIC X(10) VALUE SPACES.
002340 03 PIC X(29) VALUE
002350 'C = CREATION TYPE TRANSACTION'.
002360
002370 01 CODES-1.
002380 03 PIC X(10) VALUE SPACES.
002390 03 PIC X(12) VALUE
002400 'ERROR CODES:'.
002410
002420 01 CODES-2.
002430 03 PIC X(10) VALUE SPACES.
002440 03 PIC X(41) VALUE
002450 '1 = TRANSACTION FOR NON-EXISTANT CUSTOMER'.
002460
002470 01 CODES-3.
002480 03 PIC X(10) VALUE SPACES.
002490 03 PIC X(28) VALUE
002500 '2 = ATTEMPT TO CREATE RECORD'.
002510 03 PIC X(33) VALUE
002520 ' FOR CUSTOMER THAT ALREADY EXISTS'.
002530
002540 01 CODES-4.
002550 03 PIC X(10) VALUE SPACES.
002560 03 PIC X(35) VALUE
002570 '3 = ATTEMPT TO DELETE CUSTOMER WITH'.
002580 03 PIC X(27) VALUE
002590 ' A BALANCE THAT IS NOT ZERO'.
002600
002610 01 CODES-5.
002620 03 PIC X(10) VALUE SPACES.
002630 03 PIC X(34) VALUE
002640 '4 = ITEM NOT PRESENT IN STOCK LIST'.
002650
002660 01 CODES-6.
002670 03 PIC X(10) VALUE SPACES.
002680 03 PIC X(41) VALUE
002690 '5 = INSUFFICIENT ITEMS AVAILABLE IN STOCK'.
002700
002710 01 P-END-MESSAGE.
002720 03 PIC X(20) VALUE SPACES.
002730 03 PIC X(23) VALUE
002740 '*** END OF REPORT ***'.
002750
002760*** END OF DATA DIVISION ***
002770
002780***********************************************************
002790***********************************************************
002800
002810 PROCEDURE DIVISION.
002820
002830 CONTROL-PARAGRAPH.
002840
002850 PERFORM INITIATE-PROCESS
002860 PERFORM MAIN-PROCESS UNTIL BOTH-FILE-END
002870 PERFORM TERMINATE-PROCESS
002880 STOP RUN.
002890
002900***********************************************************
002910
002920 INITIATE-PROCESS.
002930* Paragraph to open files and print report titles and date
002940
002950 OPEN INPUT TRANS-FILE MAST-FILE
002960 OUTPUT NEW-FILE PRINT-FILE
002970 I-O STOCK-FILE
002980 ACCEPT W-DATE FROM DATE
002990 MOVE CORRESPONDING W-DATE TO P-TITLE-2
003000 WRITE PRINT-LINE FROM P-TITLE-1 AFTER PAGE
003010 WRITE PRINT-LINE FROM P-TITLE-2 AFTER 2 LINES
003020
003030 PERFORM PRINT-HEADERS
003040
003050*------ prime read of both files ------*
003060 PERFORM READ-TRANS-FILE
003070 READ MAST-FILE
003080 AT END
003090 MOVE 'Y' TO EOM-FLAG
003100 MOVE HIGH-VALUES TO M-CUS-CODE
003110 END-READ
003120
003130*------ test end ------*
003140 IF END-OF-T-FILE AND END-OF-M-FILE
003150 THEN MOVE 'Y' TO EO-BOTH-FLAG
003160 END-IF.
003170
003180***********************************************************
003190
003200 READ-TRANS-FILE.
003210* Paragraph to read record from transaction file
003220
003230 READ TRANS-FILE INTO T-RECORD
003240 AT END MOVE 'Y' TO EOT-FLAG
003250 MOVE HIGH-VALUES TO T-CUS-CODE
003260 NOT AT END MOVE REC-TYPE TO REC-TYPE-FLAG
003270 END-READ.
003280
003290***********************************************************
003300
003310 READ-MAST-FILE.
003320* Paragraph to write customer record to new customer
003330* master file and then read record from master file
003340
003350*------ condition to avoid writing validly deleted records --*
003360 IF OK-TO-WRITE THEN
003370 MOVE W-DATE TO M-DATE
003380 WRITE NEW-REC FROM MAST-REC
003390 ADD 1 TO TOTAL-NEW-MAST
003400 END-IF
003410*------ next record from customer master file read ----*
003420 READ MAST-FILE
003430 AT END MOVE 'Y' TO EOM-FLAG
003440 MOVE HIGH-VALUES TO M-CUS-CODE
003450 END-READ.
003460
003470***********************************************************
003480
003490 PRINT-HEADERS.
003500* Paragraph to print page number and column headers
003510
003520 ADD 1 TO W-PAGE-NO
003530 MOVE W-PAGE-NO TO P-PAGE-NO
003540 WRITE PRINT-LINE FROM P-PAGE-NO-HEAD AFTER 2 LINES
003550 WRITE PRINT-LINE FROM P-HEADING-1 AFTER 1 LINE
003560 WRITE PRINT-LINE FROM P-HEADING-2 AFTER 1 LINE
003570 WRITE PRINT-LINE FROM P-UNDERLINE AFTER 1 LINE
003580 MOVE ZERO TO W-LINE-NO.
003590
003600
003610***********************************************************
003620
003630 MAIN-PROCESS.
003640* Paragraph to control main iteration
003650
003660*------ compare customer codes from transaction & master files -
003670 EVALUATE TRUE
003680
003690 WHEN T-CUS-CODE < M-CUS-CODE PERFORM CREATE-CUSTOMER
003700
003710 WHEN T-CUS-CODE > M-CUS-CODE PERFORM READ-MAST-FILE
003720
003730 WHEN T-CUS-CODE = M-CUS-CODE PERFORM DO-CUS-TRANSACTION
003740
003750 END-EVALUATE
003760
003770*------ test if both files are at end ------*
003780 IF END-OF-T-FILE AND END-OF-M-FILE
003790 THEN MOVE 'Y' TO EO-BOTH-FLAG
003800 END-IF.
003810
003820***********************************************************
003830
003840 CREATE-CUSTOMER.
003850* Procedure for creation of a new customer record
003860
003870 IF C-TYPE THEN
003880 MOVE T-CUS-CODE TO CREATE-CUS-CODE
003890 MOVE CUS-NAME TO CREATE-CUS-NAME
003900 MOVE CUS-ADDRESS TO CREATE-CUS-ADDRESS
003910 MOVE CUS-BALANCE TO CREATE-CUS-BALANCE
003920 MOVE CUS-CRED-LIMIT TO CREATE-CUS-CRED-LIMIT
003930 MOVE W-DATE TO CREATE-DATE
003940 WRITE NEW-REC FROM CREATE-RECORD
003950 ADD 1 TO TOTAL-NEW-MAST W-CREATED-NO
003960 ELSE
003970 MOVE '1' TO W-ERROR-CODE
003980 PERFORM PRINT-ERROR-LINE
003990 END-IF
004000
004010*---- read next record from transaction file ------*
004020 PERFORM READ-TRANS-FILE.
004030
004040***********************************************************
004050
004060 DO-CUS-TRANSACTION.
004070* Paragraph to process I-, R-, and/or D-type records
004080
004090 EVALUATE TRUE
004100
004110 WHEN I-TYPE OR R-TYPE
004120 PERFORM PROCESS-IR-TYPE
004130
004140 WHEN D-TYPE
004150 PERFORM PROCESS-D-TYPE
004160
004170 WHEN C-TYPE
004180 PERFORM PROCESS-C-TYPE
004190
004200 END-EVALUATE
004210 PERFORM READ-TRANS-FILE.
004220
004230***********************************************************
004240
004250 PROCESS-IR-TYPE.
004260* Paragraph to process Issue and Return transactions,
004270* allowing for multiple transactions for a single customer
004280
004290 MOVE IR-PART-NO TO S-PART-NO
004300
004310 READ STOCK-FILE
004320
004330*------- when item not in stock then print record ------*
004340 INVALID KEY
004350 MOVE '4' TO W-ERROR-CODE
004360 PERFORM PRINT-ERROR-LINE
004370
004380*------- process when item found in stock ------*
004390 NOT INVALID KEY
004400
004410 MULTIPLY SELL-PRICE BY IR-QUANTITY
004420 GIVING W-COST
004430 ON SIZE ERROR DISPLAY
004440 'CALCULATION EXCEEDING PROGRAM LIMITS FOR ' T-CUS-CODE
004450 END-MULTIPLY
004460
004470*---------- calculate according to Issue or Return transaction -
004480 EVALUATE TRUE
004490
004500*------------- process for Issue transactions -----*
004510 WHEN I-TYPE
004520 IF IR-QUANTITY > FREE-STOCK THEN
004530 MOVE '5' TO W-ERROR-CODE
004540 PERFORM PRINT-ERROR-LINE
004550 ELSE
004560*------------------- calculate balance for Issue transaction --*
004570 ADD W-COST TO M-CUS-BALANCE
004580 GIVING M-CUS-BALANCE
004590 ON SIZE ERROR DISPLAY
004600 'CALCULATION EXCEEDING PROGRAM LIMITS FOR ' T-CUS-CODE
004610 END-ADD
004620
004630*------------------- update stock file ------*
004640 SUBTRACT IR-QUANTITY FROM FREE-STOCK
004650 MOVE W-DATE TO MOV-DATE M-DATE
004660 REWRITE STOCK-REC
004670 END-IF
004680
004690*------------- process for Return transactions ------*
004700 WHEN R-TYPE
004710*---------------- calculate balance for Return transaction ----*
004720 SUBTRACT W-COST FROM M-CUS-BALANCE
004730 GIVING M-CUS-BALANCE
004740 ON SIZE ERROR DISPLAY
004750 'CALCULATION EXCEEDING PROGRAM LIMITS FOR ' T-CUS-CODE
004760 END-SUBTRACT
004770
004780*---------------- update stock file ------*
004790 ADD IR-QUANTITY TO FREE-STOCK
004800 MOVE W-DATE TO MOV-DATE M-DATE
004810 REWRITE STOCK-REC
004820
004830 END-EVALUATE
004840
004850 END-READ.
004860
004870***********************************************************
004880
004890 PROCESS-D-TYPE.
004900* Process for deletion records
004910
004920 IF M-CUS-BALANCE NOT = ZERO THEN
004930 MOVE 'Y' TO WRITE-OK-FLAG
004940 MOVE '3' TO W-ERROR-CODE
004950 PERFORM PRINT-ERROR-LINE
004960 ELSE
004970 MOVE 'N' TO WRITE-OK-FLAG
004980 ADD 1 TO W-DELETED-NO
004990 END-IF
005000
005010 PERFORM READ-MAST-FILE
005020 MOVE 'Y' TO WRITE-OK-FLAG.
005030
005040***********************************************************
005050
005060 PROCESS-C-TYPE.
005070* Error process for C-type records
005080
005090 MOVE '2' TO W-ERROR-CODE
005100 PERFORM PRINT-ERROR-LINE.
005110
005120***********************************************************
005130
005140 PRINT-ERROR-LINE.
005150* Paragraph to print error records
005160
005170 INITIALIZE P-RECORD
005180 ADD 1 TO W-LINE-NO TOTAL-ERROR-NO
005190 MOVE T-CUS-CODE TO P-CUS-CODE
005200 MOVE REC-TYPE TO P-REC-TYPE
005210 MOVE W-ERROR-CODE TO P-ERROR-CODE
005220
005230 EVALUATE TRUE
005240
005250*-------- set appropriate print items for I and R records -----*
005260 WHEN I-TYPE OR R-TYPE
005270 MOVE ALL '-' TO P-CUS-NAME P-CUS-ADDRESS
005280 MOVE IR-PART-NO TO P-PART-NO
005290 MOVE IR-QUANTITY TO P-IR-QUANTITY
005300
005310*-------- set appropriate print items for D records ------*
005320 WHEN D-TYPE
005330 MOVE ALL '-' TO P-CUS-NAME P-CUS-ADDRESS
005340*----------- print non-zero customer balance from master file --
005350 IF W-ERROR-CODE = '3' THEN
005360 MOVE M-CUS-BALANCE TO P-CUS-BALANCE
005370 ELSE MOVE ZEROS TO P-CUS-BALANCE
005380 END-IF
005390
005400*-------- set appropriate print items for C records ------*
005410 WHEN C-TYPE
005420 MOVE CUS-NAME TO P-CUS-NAME
005430 MOVE CUS-ADDRESS TO P-CUS-ADDRESS
005440 MOVE CUS-BALANCE TO P-CUS-BALANCE
005450 MOVE CUS-CRED-LIMIT TO P-CUS-CRED-LIMIT
005460
005470 END-EVALUATE
005480
005490 WRITE PRINT-LINE FROM P-RECORD
005500
005510 IF W-LINE-NO > 45 THEN
005520 WRITE PRINT-LINE FROM P-BLANK-LINE AFTER PAGE
005530 PERFORM PRINT-HEADERS
005540 END-IF.
005550
005560
005570***********************************************************
005580
005590 TERMINATE-PROCESS.
005600* Paragraph to print abbreviation keys, error code guide
005610* record totals, error record totals, ending message,
005620* and then close files
005630
005640 IF W-LINE-NO > 20 THEN
005650 WRITE PRINT-LINE FROM P-BLANK-LINE AFTER PAGE
005660 END-IF
005670
005680 COMPUTE TOTAL-OLD-MAST =
005690 (TOTAL-NEW-MAST + W-DELETED-NO) - W-CREATED-NO
005700 MOVE TOTAL-OLD-MAST TO P-OMAST-NO
005710 MOVE TOTAL-NEW-MAST TO P-NMAST-NO
005720 MOVE W-CREATED-NO TO P-CREATED-NO
005730 MOVE W-DELETED-NO TO P-DELETED-NO
005740 MOVE TOTAL-ERROR-NO TO P-ERROR-NO
005750
005760 WRITE PRINT-LINE FROM P-UNDERLINE AFTER 1 LINE
005770 WRITE PRINT-LINE FROM P-FOOTER-1 AFTER 2 LINES
005780 WRITE PRINT-LINE FROM P-FOOTER-2 AFTER 2 LINES
005790 WRITE PRINT-LINE FROM P-FOOTER-3 AFTER 2 LINES
005800 WRITE PRINT-LINE FROM P-KEY-1 AFTER 3 LINES
005810 WRITE PRINT-LINE FROM P-KEY-2
005820 WRITE PRINT-LINE FROM P-KEY-3
005830 WRITE PRINT-LINE FROM P-KEY-4
005840 WRITE PRINT-LINE FROM P-KEY-5
005850 WRITE PRINT-LINE FROM CODES-1 AFTER 3 LINES
005860 WRITE PRINT-LINE FROM CODES-2
005870 WRITE PRINT-LINE FROM CODES-3
005880 WRITE PRINT-LINE FROM CODES-4
005890 WRITE PRINT-LINE FROM CODES-5
005900 WRITE PRINT-LINE FROM CODES-6
005910 WRITE PRINT-LINE FROM P-END-MESSAGE AFTER 4 LINES
005920
005930 CLOSE TRANS-FILE MAST-FILE PRINT-FILE
005940 STOCK-FILE NEW-FILE.
005950
005960*******************************************************
005970** **
005980** END OF PROGRAM-3 **
005990** **
006000*******************************************************
006010
006020****************************************************************
006030* ERROR CODES:
006040*
006050* 1 = TRANSACTION FOR NON-EXISTANT CUSTOMER
006060* 2 = ATTEMPT TO CREATE RECORD FOR CUSTOMER THAT ALREADY EXISTS
006070* 3 = ATTEMPT TO DELETE CUSTOMER WITH A BALANCE THAT IS NOT ZERO
006080* 4 = ITEM NOT PRESENT IN STOCK LIST
006090* 5 = INSUFFICIENT ITEMS AVAILABLE IN STOCK
006100****************************************************************
|