Code Comments
Programming Forum and web based access to our favorite programming groups.IDENTIFICATION DIVISION.
PROGRAM-ID. CH801.
AUTHOR. TREY.
DATE-WRITTEN. 7/27/2006.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT CUSTOMER-REPORT ASSIGN TO 'N:\\CHAP8\CO801.DAT'
ORGANIZATION IS LINE SEQUENTIAL.
SELECT CUST-REC ASSIGN TO 'H:\\CHAP8\CHO0801.PRN'
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD CUSTOMER-REPORT
RECORD CONTAINS 30 CHARACTERS.
01 TRANS-REC-IN.
05 CUST-LAST-NAME-IN PIC X(20).
05 F-INT-IN PIC X(1).
05 TYPE-CAR-IN PIC 9(1).
88 TOYOTA VALUE 1.
88 OLDSMOBLIE VALUE 2.
88 CADILLAC VALUE 3.
05 M-OWED-IN PIC 9(5).
05 D-OWED-IN PIC 9(3).
05 AMT-OWED-IN PIC $999v99.
FD CUST-REC
RECORD CONTAINS 30 CHARACTERS.
01 AMOUNT-OWED.
05 PIC X(1) VALUE SPACE.
05 CUST-LAST-NAME-OUT PIC X(20).
05 F-INT-OUT PIC X(1).
05 PIC X(1) VALUE SPACE.
05 TYPE-CAR-OUT PIC X9.
05 PIC X(1) VALUE SPACE.
05 M-OWED-OUT PIC 9(5).
05 PIC X(1) VALUE SPACE.
05 D-OWED-OUT PIC 9(3).
05 PIC X(1) VALUE SPACE.
05 AMT-OWED-OUT PIC $999v99.
05 PIC X(1) VALUE SPACE.
01 ARE-THERE-MORE-RECORDS PIC X(3) VALUE 'YES'.
88 NO-MORE-RECORDS VALUE 'NO'.
01 CALCULATIONS.
05 MILES-OWED-OUT PIC 9(5).
05 DAYS-OWED-OUT PIC 9(3).
05 AMOUNT-OWED-OUT PIC $999v99.
PROCEDURE DIVISION.
100-MAIN-MODULE.
PERFORM 100-INIT-MODULE
PERFORM UNTIL ARE-THERE-MORE-RECORDS = 'NO'
READ CUSTOMER-REPORT
AT END
MOVE 'NO' TO ARE-THERE-MORE-RECORDS
NOT AT END
PERFORM 200-PROCESS-MODULE
END-READ
END-PERFORM
PERFORM 900-TERMINATION-RTN
STOP RUN.
100-INIT-MODULE.
OPEN INPUT CUSTOMER-REPORT
OUTPUT CUST-REC.
200-PROCESS-MODULE.
MOVE CUST-LAST-NAME-IN TO CUST-LAST-NAME-OUT
MOVE F-INT-IN TO F-INT-OUT
MOVE TYPE-CAR-IN TO TYPE-CAR-OUT
MOVE M-OWED-IN TO M-OWED-OUT
MOVE D-OWED-IN TO D-OWED-OUT
MOVE AMT-OWED-IN TO AMT-OWED-OUT
PERFORM 205-CALC-RTN
MOVE SPACES TO CUST-REC-IN
MOVE CUST-REC-IN TO CUST-REC-OUT
WRITE -CUST-REC-OUT AFTER ADVANCING 1 LINE.
205-CALC-RTN.
IF TYPE-CAR = 1
THEN
COMPUTE D-OWED = 26 * DAYS
IF MILES > 100 THEN
COMPUTE M-OWED = (MILES-100) * 0.18
COMPUTE M-OWED = MILES * 0
END-COMPUTE
END-IF
END-IF
COMPUTE AMT-OWED = D-OWED + M-OWED
IF TYPE-CAR = 2 THEN
COMPUTE AMT-OWED = 32 * DAYS
IF M > 100 THEN
COMPUTE M-OWED = (MILES-100) * 0.22
COMPUTE M-OWED = MILES * O
END-COMPUTE
END-IF
END-IF
COMPUTE AMT-OWED = D-OWED + M-OWED
IF TYPE-CAR = 3 THEN
COMPUTE D-OWED = 43 * DAYS
IF M > 100 THEN
COMPUTE M-OWED = (MILES-100) *0.28
COMPUTE M-OWED = MILES * 0
END-COMPUTE
END-IF
END-IF
COMPUTE AMT-OWED = D-OWED + M-OWED
END-COMPUTE.
900-TERMINATION-RTN.
CLOSE CUSTOMER-REPORT
CLOSE CUST-REC.
CLOSE CUST-REC.
COBCH0012S Operand CUST-REC-IN is not declared : H:\bernier007\Program8-1RE
V.cbl(90,37)
COBCH0012S Operand CUST-REC-IN is not declared : H:\bernier007\Program8-1RE
V.cbl(91,27)
COBCH0013S User-name required : H:\bernier007\Program8-1REV.cbl(92,18)
COBCH0012S Operand TYPE-CAR is not declared : H:\bernier007\Program8-1REV.c
bl(95,23)
COBCH0012S Operand D-OWED is not declared : H:\bernier007\Program8-1REV.cbl
(97,30)
COBCH0012S Operand MILES is not declared : H:\bernier007\Program8-1REV.cbl(
98,27)
COBCH0012S Operand M-OWED is not declared : H:\bernier007\Program8-1REV.cbl
(99,37)
COBCH0012S Operand M-OWED is not declared : H:\bernier007\Program8-1REV.cbl
(100,37)
COBCH0564S A scope-delimiter did not have a matching verb and was discarded.
: H:\bernier007\Program8-1REV.cbl(102,25)
COBCH0564S A scope-delimiter did not have a matching verb and was discarded.
: H:\bernier007\Program8-1REV.cbl(103,19)
COBCH0012S Operand AMT-OWED is not declared : H:\bernier007\Program8-1REV.c
bl(105,32)
COBCH0012S Operand TYPE-CAR is not declared : H:\bernier007\Program8-1REV.c
bl(106,24)
COBCH0012S Operand AMT-OWED is not declared : H:\bernier007\Program8-1REV.c
bl(107,33)
COBCH0012S Operand M is not declared : H:\bernier007\Program8-1REV.cbl(108,
23)
COBCH0012S Operand M-OWED is not declared : H:\bernier007\Program8-1REV.cbl
(109,31)
COBCH0012S Operand M-OWED is not declared : H:\bernier007\Program8-1REV.cbl
(110,31)
COBCH0564S A scope-delimiter did not have a matching verb and was discarded.
: H:\bernier007\Program8-1REV.cbl(112,25)
COBCH0564S A scope-delimiter did not have a matching verb and was discarded.
: H:\bernier007\Program8-1REV.cbl(113,18)
COBCH0012S Operand AMT-OWED is not declared : H:\bernier007\Program8-1REV.c
bl(115,33)
COBCH0012S Operand TYPE-CAR is not declared : H:\bernier007\Program8-1REV.c
bl(116,23)
COBCH0012S Operand D-OWED is not declared : H:\bernier007\Program8-1REV.cbl
(117,29)
COBCH0012S Operand M is not declared : H:\bernier007\Program8-1REV.cbl(118,
23)
COBCH0012S Operand M-OWED is not declared : H:\bernier007\Program8-1REV.cbl
(119,29)
COBCH0012S Operand M-OWED is not declared : H:\bernier007\Program8-1REV.cbl
(120,29)
COBCH0564S A scope-delimiter did not have a matching verb and was discarded.
: H:\bernier007\Program8-1REV.cbl(122,25)
COBCH0564S A scope-delimiter did not have a matching verb and was discarded.
: H:\bernier007\Program8-1REV.cbl(123,18)
COBCH0012S Operand AMT-OWED is not declared : H:\bernier007\Program8-1REV.c
bl(125,33)
* Total Messages: 27
* Unrecoverable : 0 Severe : 27
Post Follow-up to this messagePowered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.