|
[ Converted text/html to text/plain ]
Everyone,
If you really want a good laugh, please read below. But if you dont want to do
this, please let me know. I am about ready to throw my computer monitor across
the room really hard.
This is my current source code listing that includes headings and detail
lines. All I did was to copy the source member from my existing previous code,
which is also listed below, then I added the information for the current date,
headings and detail lines.
But for the darn of me (Leif, you can start laughing please) I cannot figure
out why these errors are comming up, since I didnt change the values for these
items. Did I lose something along the way? Am I misinterpreting something
wrong?
I hope that in this case I didnt go a stray from your wonderful teachings
Leif. Any input would be greatly welcomed here.
Throughly dazed and confused on this one.
*************** Beginning of data
*************************************
0001.00 PROCESS APOST.
0002.00
0003.00 IDENTIFICATION DIVISION.
0004.00
0005.00 PROGRAM-ID. CHPT0404.
0006.00
0007.00 ************************************************************
0008.00 * *
0009.00 * The Ligh-Em-Up Utility Company has requested we create *
0010.00 * a program that reads the Customer Usage File containing *
0011.00 * customer records for electricity and gas consumption. *
0012.00 * *
0013.00 * The following items will be displayed in the printed *
0014.00 * report of the Customer Usage Report: *
0015.00 * *
0016.00 * 1. Account Number *
0017.00 * 2. First & Last Name *
0018.00 * 3. Electricity & Gas Used *
0019.00 * 4. Electricity & Gas Bill *
0020.00 * *
0021.00 * This newly created program will include the use of *
0022.00 * detail and heading lines. *
0023.00 * *
0024.00 ************************************************************
0025.00
0026.00 ENVIRONMENT DIVISION.
0027.00
0028.00 INPUT-OUTPUT SECTION.
0029.00
0030.00 FILE-CONTROL.
0031.00 SELECT CUSTOMER-USAGE-FILE
0032.00 ASSIGN TO DISK-CUSTUSAGPF.
0033.00
0034.00 SELECT CUSTOMER-USAGE-REPORT
0035.00 ASSIGN TO PRINTER-QPRINT.
0036.00
0037.00 DATA DIVISION.
0038.00
0039.00 FILE SECTION.
0040.00
0041.00 FD CUSTOMER-USAGE-FILE.
0042.00
0043.00 01 CUSTOMER-USAGE-RECORD.
0044.00 05 CU-ACCOUNT-NUMBER PIC 9(05).
0045.00 05 CU-FIRST-NAME PIC X(10).
0046.00 05 CU-LAST-NAME PIC X(15).
0047.00 05 CU-STREET-ADDRESS PIC X(20).
0048.00 05 CU-ELECT-USED PIC 9(05)
PACKED-DECIMAL.
0049.00 05 CU-GAS-USED PIC 9(05)
PACKED-DECIMAL.
0050.00 05 CU-ELECT-BILL PIC 9(05)V99
PACKED-DECIMAL.
0051.00 05 CU-GAS-BILL PIC 9(05)V99
PACKED-DECIMAL.
0052.00
0053.00 FD CUSTOMER-USAGE-REPORT.
0054.00
0055.00 01 PRINT-RECORD-OUT PIC X(80).
0056.00
0057.00 WORKING-STORAGE SECTION.
0058.00
0059.00 01 WS-CONTROL-FIELDS.
0060.00 05 ARE-THERE-MORE-RECORDS PIC X(03) VALUE 'YES'.
0061.00 05 WS-LINE-COUNTER PIC 9(03) PACKED-DECIMAL
0062.00 VALUE 60.
0063.00 05 WS-LINE-LIMIT PIC 9(03) PACKED-DECIMAL
0064.00 VALUE 60.
0065.00 05 WS-PAGE-COUNTER PIC 9(03) PACKED-DECIMAL
0066.00 VALUE ZERO.
0067.00 01 WS-CURRENT-DATE.
0068.00 05 WS-CURRENT-YEAR PIC 9(04).
0069.00 05 WS-CURRENT-MONTH PIC 9(02).
0070.00 05 WS-CURRENT-DAY PIC 9(02).
0071.00
0072.00 01 HEADING-1.
0073.00 05 HL-CURRENT-MONTH PIC 9(02).
0074.00 05 PIC X VALUE '/'.
0075.00 05 HL-CURRENT-DAY PIC 9(02).
0076.00 05 PIC X VALUE '/'.
0077.00 05 HL-CURRENT-YEAR PIC 9(04).
0078.00 05 PIC X(04).
0079.00 05 PIC X(41)
0080.00 VALUE 'CUSTOMER ELECTRICITY AND GAS USAGE REPORT'.
0081.00 05 PIC X(09).
0082.00 05 PIC X(04) VALUE 'PAGE'.
0083.00 05 PIC X(01).
0084.00 05 HL-PAGE PIC Z9 VALUE ZERO.
0085.00
0086.00 01 HEADING-2.
0087.00 05 PIC X(05).
0088.00 05 PIC X(07) VALUE 'ACCOUNT'.
0089.00 05 PIC X(30).
0090.00 05 PIC X(05) VALUE 'ELECT'.
0091.00 05 PIC X(05).
0092.00 05 PIC X(05) VALUE 'ELECT'.
0093.00 05 PIC X(07).
0094.00 05 PIC X(03) VALUE 'GAS'.
0095.00 05 PIC X(06).
0096.00 05 PIC X(03) VALUE 'GAS'.
0097.00 05 PIC X(04).
0098.00
0099.00 01 HEADING-3.
0100.00 05 PIC X(05).
0101.00 05 PIC X(06) VALUE 'NUMBER'.
0102.00 05 PIC X(03).
0103.00 05 PIC X(13)
0104.00 VALUE 'CUSTOMER NAME'.
0105.00 05 PIC X(16).
0106.00 05 PIC X(04) VALUE 'USED'.
0107.00 05 PIC X(06).
0108.00 05 PIC X(04) VALUE 'BILL'.
0109.00 05 PIC X(07).
0110.00 05 PIC X(04) VALUE 'USED'.
0111.00 05 PIC X(05).
0112.00 05 PIC X(04) VALUE 'BILL'.
0113.00 05 PIC X(03).
0114.00
0115.00 01 DETAIL-LINE.
0116.00 05 PIC X(05).
0117.00 05 DL-ACCOUNT-NUMBER PIC Z(05).
0118.00 05 PIC X(04).
0119.00 05 DL-FIRST-NAME PIC X(10).
0120.00 05 PIC X(01).
0121.00 05 DL-LAST-NAME PIC X(15).
0122.00 05 PIC X(02).
0123.00 05 DL-ELECT-USED PIC ZZ,ZZ9.
0124.00 05 PIC X(03).
0125.00 05 DL-ELECT-BILL PIC $,$$$.99.
0126.00 05 PIC X(03).
0127.00 05 DL-GAS-USED PIC ZZ,ZZ9.
0128.00 05 PIC X(03).
0129.00 05 DL-GAS-BILL PIC $,$$$.99.
0130.00
0131.00 PROCEDURE DIVISION.
0132.00
0133.00 000-MAIN-MODULE.
0134.00
0135.00 OPEN INPUT CUSTOMER-USAGE-FILE
0136.00 OUTPUT CUSTOMER-USAGE-REPORT.
0137.00
0138.00 ACCEPT WS-CURRENT-DATE FROM DATE.
0139.00 MOVE WS-CURRENT-MONTH TO HL-CURRENT-MONTH.
0140.00 MOVE WS-CURRENT-DAY TO HL-CURRENT-DAY.
0141.00 MOVE WS-CURRENT-YEAR TO HL-CURRENT-YEAR.
0142.00
0143.00 READ CUSTOMER-USAGE-FILE
0144.00 AT END
0145.00 MOVE 'NO ' TO ARE-THERE-MORE-RECORDS
0146.00 END-READ
0147.00
0148.00 PERFORM 200-PROCESS-RECORD-RTN
0149.00 UNTIL ARE-THERE-MORE-RECORDS = 'NO '.
0150.00
0151.00 CLOSE CUSTOMER-USAGE-FILE
0152.00 CUSTOMER-USAGE-REPORT.
0153.00
0154.00 STOP RUN.
0155.00
0156.00 200-PROCESS-RECORD-RTN.
0157.00
0158.00 MOVE CU-ACCOUNT-NUMBER TO DL-ACCOUNT-NUMBER.
0159.00 MOVE CU-FIRST-NAME TO DL-FIRST-NAME.
0160.00 MOVE CU-LAST-NAME TO DL-LAST-NAME.
0161.00 MOVE CU-ELECT-USED TO DL-ELECT-USED.
0162.00 MOVE CU-GAS-USED TO DL-GAS-USED.
0163.00 MOVE CU-ELECT-BILL TO DL-ELECT-BILL.
0164.00 MOVE CU-GAS-BILL TO DL-GAS-BILL.
0165.00
0166.00 IF WS-LINE-COUNTER >= WS-LINE-LIMIT
0167.00 PERFORM 210-HEADING-RTN
0168.00 END-IF
0169.00
0170.00 WRITE PRINT-RECORD-OUT FROM DETAIL-LINE
0171.00 AFTER ADVANCING 1 LINE.
0172.00 ADD 1 TO WS-LINE-COUNTER.
0173.00
0174.00 READ CUSTOMER-USAGE-FILE
0175.00 AT END
0176.00 MOVE 'NO ' TO ARE-THERE-MORE-RECORDS
0177.00 END-READ.
0178.00
0179.00 210-HEADING-RTN.
0180.00 ADD 1 TO WS-PAGE-COUNTER.
0181.00 MOVE WS-PAGE-COUNTER TO HL-PAGE.
0182.00 WRITE PRINT-RECORD-OUT FROM HEADING-1
0183.00 AFTER ADVANCING PAGE.
0184.00 WRITE PRINT-RECORD-OUT FROM HEADING-2
0185.00 AFTER ADVANCING 1 LINE.
0186.00 WRITE PRINT-RECORD-OUT FROM HEADING-3
0187.00 AFTER ADVANCING 1 LINE.
0188.00 MOVE SPACES TO PRINT-RECORD-OUT.
0189.00 WRITE PRINT-RECORD-OUT
0190.00 AFTER ADVANCING 1 LINE.
0191.00 MOVE 5 TO WS-LINE-COUNTER.
****************** End of data
****************************************
This is the dump from running the program.
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+...
MCH1202 exception in program CHPT0404 in TUBBS at MI instruction number 006F
COBOL statement number 97.
Last I-O operation was at statement 94.
LBE7903-Information pertaining to file CUSTOMER-USAGE-FILE.
LBE7905-File is open.
LBE7906-Last I-O operation completed for file was OPEN.
LBE7907-Last file status for file was 00.
LBE7910-Last extended file status for file was ****.
LBE7903-Information pertaining to file CUSTOMER-USAGE-REPORT.
LBE7905-File is open.
LBE7906-Last I-O operation completed for file was OPEN.
LBE7907-Last file status for file was 00.
LBE7910-Last extended file status for file was ****.
FORMATTED DATA DUMP FOR PROGRAM CHPT0404.TUBBS 19:51:36 08/02/0
NAME OFFSET ATTRIBUTES VALUE
ARE-THERE-MORE-RECORDS 000B80 CHAR(3) 'YES'
CU-ACCOUNT-NUMBER 000020 ZONED(5,0)
**INVALID DATA '4040404040'X
CU-ELECT-BILL 000058 PACKED(7,2)
**INVALID DATA '40404040'X
CU-ELECT-USED 000052 PACKED(5,0)
**INVALID DATA '404040'X
CU-FIRST-NAME 000025 CHAR(10) ' '
CU-GAS-BILL 00005C PACKED(7,2)
**INVALID DATA '40404040'X
CU-GAS-USED 000055 PACKED(5,0)
**INVALID DATA '404040'X
CU-LAST-NAME 00002F CHAR(15) ' '
CU-STREET-ADDRESS 00003E CHAR(20) ' '
CUSTOMER-USAGE-FILE 000020 CHAR(64) '
CUSTOMER-USAGE-RECORD 000020 CHAR(64) '
CUSTOMER-USAGE-REPORT 000020 CHAR(80) '
000020 VALUE IN HEX '0000000000000000000000000000000
**INVALID DATA '4040404040'X
CU-ELECT-BILL 000058 PACKED(7,2)
**INVALID DATA '40404040'X
CU-ELECT-USED 000052 PACKED(5,0)
**INVALID DATA '404040'X
CU-FIRST-NAME 000025 CHAR(10) ' '
CU-GAS-BILL 00005C PACKED(7,2)
**INVALID DATA '40404040'X
CU-GAS-USED 000055 PACKED(5,0)
**INVALID DATA '404040'X
CU-LAST-NAME 00002F CHAR(15) ' '
CU-STREET-ADDRESS 00003E CHAR(20) ' '
HEADING-2 000BF0 CHAR(80) ' ACCOUNT
HEADING-3 000C40 CHAR(80) ' NUMBER CUSTOMER NAME
HL-CURRENT-DAY 000BA3 ZONED(2,0)
**INVALID DATA '4040'X
HL-CURRENT-MONTH 000BA0 ZONED(2,0) 2
HL-CURRENT-YEAR 000BA6 ZONED(4,0)
**INVALID DATA '40404040'X
HL-PAGE 000BE5 CHAR(2) '00'
PRINT-RECORD-OUT 000020 CHAR(80) '
This is my original source code, below:
*************** Beginning of data
*************************************
0001.00 PROCESS APOST.
0002.00
0003.00 IDENTIFICATION DIVISION.
0004.00
0005.00 PROGRAM-ID. CHPT0304.
0006.00
0007.00 ************************************************************
0008.00 * *
0009.00 * The Ligth-Em-Up Utility Company has requested we create *
0010.00 * a program that reads the Customer Usage File containing *
0011.00 * customer records for electricity and gas consumption. *
0012.00 * *
0013.00 * The following items will be displayed in the printed *
0014.00 * output of the Customer Usage Report: *
0015.00 * *
0016.00 * 1. Account Number *
0017.00 * 2. First & Last Name *
0018.00 * 3. Electricity & Gas Used *
0019.00 * 4. Electricity & Gas Bill *
0020.00 * *
0021.00 ************************************************************
0022.00
0023.00 ENVIRONMENT DIVISION.
0024.00
0025.00 INPUT-OUTPUT SECTION.
0026.00
0027.00 FILE-CONTROL.
0028.00 SELECT CUSTOMER-USAGE-FILE
0029.00 ASSIGN TO DISK-CUSTUSAGPF.
0030.00
0031.00 SELECT CUSTOMER-USAGE-REPORT
0032.00 ASSIGN TO PRINTER-QPRINT.
0033.00
0034.00 DATA DIVISION.
0035.00
0036.00 FILE SECTION.
0037.00
0038.00 FD CUSTOMER-USAGE-FILE
0039.00 RECORD CONTAINS 64 CHARACTERS.
0040.00
0041.00 01 CUSTOMER-USAGE-RECORD.
0042.00 05 CU-ACCOUNT-NUMBER PIC 9(05).
0043.00 05 CU-FIRST-NAME PIC X(10).
0044.00 05 CU-LAST-NAME PIC X(15).
0045.00 05 CU-STREET-ADDRESS PIC X(20).
0046.00 05 CU-ELECT-USED PIC 9(05)
PACKED-DECIMAL.
0047.00 05 CU-GAS-USED PIC 9(05)
PACKED-DECIMAL.
0048.00 05 CU-ELECT-BILL PIC 9(05)V99
PACKED-DECIMAL.
0049.00 05 CU-GAS-BILL PIC 9(05)V99
PACKED-DECIMAL.
0050.00
0051.00 FD CUSTOMER-USAGE-REPORT
0052.00 RECORD CONTAINS 81 CHARACTERS.
0053.00
0054.00 01 PRINT-RECORD-OUT.
0055.00 05 PIC X(05).
0056.00 05 DL-ACCOUNT-NUMBER PIC Z(05).
0057.00 05 PIC X(04).
0058.00 05 DL-FIRST-NAME PIC X(10).
0059.00 05 PIC X(01).
0060.00 05 DL-LAST-NAME PIC X(15).
0061.00 05 PIC X(02).
0062.00 05 DL-ELECT-USED PIC ZZ,ZZ9.
0063.00 05 PIC X(03).
0064.00 05 DL-ELECT-BILL PIC $,$$$.99.
0065.00 05 PIC X(03).
0066.00 05 DL-GAS-USED PIC ZZ,ZZ9.
0067.00 05 PIC X(03).
0068.00 05 DL-GAS-BILL PIC $,$$$.99.
0069.00
0070.00 WORKING-STORAGE SECTION.
0071.00
0072.00 01 WS-CONTROL-FIELDS.
0073.00 05 ARE-THERE-MORE-RECORDS PIC X(3) VALUE 'YES'.
0074.00
0075.00 PROCEDURE DIVISION.
0076.00
0077.00 000-MAIN-MODULE.
0078.00
0079.00 OPEN INPUT CUSTOMER-USAGE-FILE
0080.00 OUTPUT CUSTOMER-USAGE-REPORT.
0081.00
0082.00 READ CUSTOMER-USAGE-FILE
0083.00 AT END
0084.00 MOVE 'NO ' TO ARE-THERE-MORE-RECORDS
0085.00 END-READ
0086.00 PERFORM 200-PROCESS-RECORD-RTN
0087.00 UNTIL ARE-THERE-MORE-RECORDS = 'NO '.
0088.00
0089.00 CLOSE CUSTOMER-USAGE-FILE
0090.00 CUSTOMER-USAGE-REPORT.
0091.00
0092.00 STOP RUN.
0093.00
0094.00 200-PROCESS-RECORD-RTN.
0095.00
0096.00 MOVE SPACES TO PRINT-RECORD-OUT.
0097.00 MOVE CU-ACCOUNT-NUMBER TO DL-ACCOUNT-NUMBER.
0098.00 MOVE CU-FIRST-NAME TO DL-FIRST-NAME.
0099.00 MOVE CU-LAST-NAME TO DL-LAST-NAME.
0100.00 MOVE CU-ELECT-USED TO DL-ELECT-USED.
0101.00 MOVE CU-ELECT-BILL TO DL-ELECT-BILL.
0102.00 MOVE CU-GAS-USED TO DL-GAS-USED.
0103.00 MOVE CU-GAS-BILL TO DL-GAS-BILL.
0104.00 WRITE PRINT-RECORD-OUT.
0105.00 READ CUSTOMER-USAGE-FILE
0106.00 AT END
0107.00 MOVE 'NO ' TO ARE-THERE-MORE-RECORDS
0108.00 END-READ.
****************** End of data
****************************************
Physical File:
*************** Beginning of data
*************************************
0001.00 ***********************************************************
0002.00 * Customer Usage File *
0003.00 * Physical File -- CUSTUSAGPF *
0004.00 * Key Sequence - Account Number *
0005.00 ***********************************************************
0006.00
0007.00 UNIQUE
0008.00 A R CUSTUSAGR TEXT('Customer Usage
Record')
0009.00 A ACCTNUMBER 5S 0 ALIAS(CU_ACCOUNT_NUMBER)
0010.00 A FIRSTNAME 10A ALIAS(CU_FIRST_NAME)
0011.00 A LASTNAME 15A ALIAS(CU_LAST_NAME)
0012.00 A STREETADDR 20A ALIAS(CU_STREET_ADDRESS)
0013.00 A ELECTUSED 5P 0 ALIAS(CU_ELECT_USED)
0014.00 A GASUSED 5P 0 ALIAS(CU_GAS_USED)
0015.00 A ELECTBILL 7P 2 ALIAS(CU_ELECT_BILL)
0016.00 A GASBILL 7P 2 ALIAS(CU_GAS_BILL)
0017.00 A K ACCTNUMBER
****************** End of data
****************************************
Printed Output:
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+
12345 Yanni Lostly 1,204 $456.00 984
$654.00
54687 Paul Winters 9,874 $15.04 845
$2.47
--
_______________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com[1]
Get 4 DVDs for $.49 cents! plus shipping & processing.Click to join[2].
===References:===
1. http://www.mail.com/?sr=signup
2. http://adfarm.mediaplex.com/ad/ck/990-1736-3566-59
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.