MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

COBOL ... 4?.89

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming
View previous topic :: View next topic  
Author Message
spiderdudeX
Beginner


Joined: 24 Nov 2004
Posts: 3
Topics: 1

PostPosted: Wed Nov 24, 2004 10:37 pm    Post subject: COBOL ... 4?.89 Reply with quote

This is for COBOL...

I compile the program, and there are no errors. When I run the program though, the brown highlighter thingy highlights a line of code, and when I mouseover the line of code that is highlighted, this shows up...

---------------------------------------------

TAB-PROD-PRICE=4?.89

---------------------------------------------

I don't know what's goin on 0_o


Here's the code...


Code:

                                                                 
01  IN-RECORD                  PIC x(29).                       
                                                                 
                                                                 
                                                                 
FD  PRFILE.                                                     
                                                                 
01  PRINT-LINE                 PIC x(133).                       
                                                                 
                                                                 
WORKING-STORAGE SECTION.                                         
                                                                 
01  IN-COMP.                                                     
    05  IN-COMP-TERRITORY         PIC x(2).                     
    05                            PIC x(1).                     
    05  IN-COMP-PROD-NO           PIC 9(2).                     
    05                            PIC x(1).                     
    05  IN-COMP-NAME              PIC x(20).                     
    05  IN-COMP-QUANTITY          PIC 9(3).                     
                                                                 
01  TERR-TABLE.                                                 
    05                     PIC x(12).                           
    05  TERR-CODE          PIC x(2).                             
    05                     PIC x(5).                             
    05  TERR-NAME          PIC x(17).                           
                                                                 
                                                                 
01  PROD-TABLE.                                                 
    05                     PIC x(12).                           
    05  PROD-NUM           PIC 9(2).                             
    05                     PIC x(5).                             
    05  PROD-DESC          PIC x(11).                           
    05                     PIC x(3).                             
    05  PROD-PRICE         PIC 9(2)V9(2).                       
                                                                 
                                                                 
01  TERRITORY-TABLE.                                             
    05   PIC x(2)  VALUE   'NS'.                                 
    05   PIC x(17) VALUE   'NOVA SCOTIA'.                       
                                                                 
    05   PIC x(2)  VALUE   'NF'.                                 
    05   PIC x(17) VALUE   'NEWFOUNDLAND'.                       
                                                                 
    05   PIC x(2)  VALUE   'NB'.                                 
    05   PIC x(17) VALUE   'NEW BRUNSWICK'.                     
                                                                 
    05   PIC x(2) VALUE    'PE'.                                 
    05   PIC x(17) VALUE   'P.E.I'.                             
                                                                 
    05   PIC x(2) VALUE    'QU'.                                 
    05   PIC x(17) VALUE   'QUEBEC'.                             
                                                                 
    05   PIC x(2) VALUE    'ON'.                                 
    05   PIC x(17) VALUE   'ONTARIO'.                           
                                                                 
    05   PIC x(2) VALUE    'MA'.                                 
    05   PIC x(17) VALUE   'MANITOBA'.                           
                                                                 
    05   PIC x(2) VALUE    'SA'.                                 
    05   PIC x(17) VALUE   'SASKATCHEWAN'.                       
                                                                 
    05   PIC x(2) VALUE    'AL'.                                 
    05   PIC x(17) VALUE   'ALBERTA'.                           
                                                                 
    05   PIC x(2)  VALUE   'BC'.                                 
    05   PIC x(17) VALUE   'BRITISH COLUMBIA'.                   
                                                                 
    05   PIC x(2)  VALUE   'YT'.                                 
    05   PIC x(17) VALUE   'YUKON TERRITORIES'.                 
                                                                 
01  NEW-TERRITORY-TAB REDEFINES TERRITORY-TABLE.                 
    05  TAB-TERRITORY-INFO OCCURS 11 TIMES.                     
        10  TAB-TERR-CODE  PIC x(2).                             
        10  TAB-TERR-NAME  PIC x(17).                           
                                                                 
01 PRODUCT-TABLE.                                               
    05    PIC 9(2)         VALUE 01.                             
    05    PIC X(11)        VALUE 'THINGAMAJIG'.                 
    05    PIC 9(2)V9(2)    VALUE 16.00.                         
                                                                 
    05    PIC 9(2)         VALUE 02.                             
    05    PIC X(11)        VALUE 'DOHICKEY'.                     
    05    PIC 9(2)V9(2)    VALUE 24.50.                         
                                                                 
    05    PIC 9(2)         VALUE 03.                             
    05    PIC X(11)        VALUE 'WATUCALLIT'.                   
    05    PIC 9(2)V9(2)    VALUE 43.92.                         
                                                                 
    05    PIC 9(2)         VALUE 04.                             
    05    PIC X(11)        VALUE 'THINGAMABOB'.                 
    05    PIC 9(2)V9(2)    VALUE 05.10.                         
                                                                 
    05    PIC 9(2)         VALUE 05.                             
    05    PIC X(11)        VALUE 'WHATSIT'.                     
    05    PIC 9(2)V9(2)    VALUE 59.63.                         
                                                                 
    05    PIC 9(2)         VALUE 06.                             
    05    PIC X(11)        VALUE 'RAMAMABOB'.                   
    05    PIC 9(2)V9(2)    VALUE 12.75.                         
                                                                 
    05    PIC 9(2)         VALUE 07.                             
    05    PIC X(11)        VALUE 'WHOSIT'.                       
    05    PIC 9(2)V9(2)    VALUE 04.98.                         
                                                                 
    05    PIC 9(2)         VALUE 08.                             
    05    PIC X(11)        VALUE 'DING-DONG'.                   
    05    PIC 9(2)V9(2)    VALUE 15.55.                         
                                                                 
    05    PIC 9(2)         VALUE 09.                             
    05    PIC X(11)        VALUE 'DONG-DING'.                   
    05    PIC 9(2)V9(2)    VALUE 31.31.                         
                                                                 
    05    PIC 9(2)         VALUE 10.                             
    05    PIC X(11)        VALUE 'ONEOFTHOSE'.                   
    05    PIC 9(2)V9(2)    VALUE 56.69.                         
                                                                 
01  NEW-PRODUCT-TAB REDEFINES PRODUCT-TABLE.                     
    05  TAB-PRODUCT-INFO OCCURS 11 TIMES.                       
        10  TAB-PROD-NUM   PIC x(2).                             
        10  TAB-PROD-DESC  PIC x(17).                           
        10  TAB-PROD-PRICE PIC 9(2)V9(2).                       
                                                                 
01  HDG01.                                                       
    05                      PIC x(18) VALUE 'PROGRAM-ID: ASGN06'.
    05                      PIC x(5).                           
    05                      PIC x(15) VALUE 'Earnings Report'.   
    05                      PIC x(26).                           
    05                      PIC x(5)  VALUE 'PAGE '.             
    05  PR-PAGE-NO          PIC Z9.                             
                                                                 
01  HDG0201.                                                     
    05                      PIC x(18) VALUE 'PROGRAM-ID: ASGN06'.
    05                      PIC x(5)  VALUE SPACES.             
    05                      PIC x(15) VALUE 'Territory Table'.   
                                                                 
01  HDG0202.                                                     
    05                      PIC x(14) VALUE 'Territory Code'.   
    05                      PIC x(3)  VALUE SPACES.             
    05                      PIC x(14) VALUE 'Territory Name'.   
                                                                 
                                                                 
                                                                 
01  HDG0300.                                                     
    05                    PIC x(18) VALUE 'PROGRAM-ID: ASGN06'. 
    05                    PIC x(5)  VALUE SPACES.               
    05                    PIC x(13) VALUE 'Product Table'.       
                                                                 
01  HDG0301.                                                     
    05                    PIC x(14) VALUE 'Product Number'.     
    05                    PIC x(5)  VALUE SPACES.               
    05                    PIC x(19) VALUE 'Product Description'.
    05                    PIC x(5)  VALUE SPACES.               
    05                    PIC x(13) VALUE 'Product Price'.       
                                                                 
                                                                 
01  HDG02.                                                       
    05                      PIC x(11) VALUE 'RUNDATE   :'.       
    05                      PIC x(1).                           
    05  PR-DAY              PIC 9(2).                           
    05                      PIC x(1)     VALUE '/'.             
    05  PR-MONTH            PIC 9(2).                           
    05                      PIC x(1)     VALUE '/'.             
    05  PR-YEAR             PIC 9(2).                           
                                                                 
                                                                 
01  HDG03.                                                       
    05               PIC x(4)   VALUE 'Terr'.                   
    05               PIC x(5)   VALUE SPACES.                   
    05               PIC x(9)   VALUE 'Territory'.               
    05               PIC x(14)  VALUE SPACES.                   
    05               PIC x(7)   VALUE 'Company'.                 
    05               PIC x(8)   VALUE SPACES.                   
    05               PIC x(2)   VALUE 'Pr'.                     
    05               PIC x(4)   VALUE SPACES.                   
    05               PIC x(7)   VALUE 'Product'.                 
    05               PIC x(4)   VALUE SPACES.                   
    05               PIC x(7)   VALUE 'Product'.                 
    05               PIC x(2)   VALUE SPACES.                   
    05               PIC x(5)   VALUE 'Sales'.                   
                                                                 
                                                                 
01  HDG04.                                                       
    05               PIC x(4)    VALUE 'Code'.                   
    05               PIC x(7)    VALUE SPACES.                   
    05               PIC x(4)    VALUE 'Name'.                   
    05               PIC x(18)   VALUE SPACES.                   
    05               PIC x(4)    VALUE 'Name'.                   
    05               PIC x(10)   VALUE SPACES.                   
    05               PIC x(2)    VALUE 'No'.                     
    05               PIC x(2)    VALUE SPACES.                   
    05               PIC x(11)   VALUE 'Description'.           
    05               PIC x(3)    VALUE SPACES.                   
    05               PIC x(5)    VALUE 'Price'.                 
    05               PIC x(3)    VALUE SPACES.                   
    05               PIC x(6)    VALUE 'Amount'.                 
                                                                 
                                                                 
01  PR-COMP.                                                     
    05                              PIC x(1).                   
    05  PR-COMP-TERR-CODE           PIC x(2).                   
    05                              PIC x(2).                   
    05  PR-COMP-TERR-NAME           PIC x(17).                   
    05                              PIC x(3).                   
    05  PR-COMP-NAME                PIC x(20).                   
    05                              PIC x(2).                   
    05  PR-COMP-PROD-NO             PIC 9(2).                   
    05                              PIC x(2).                   
    05  PR-COMP-PROD-DESC           PIC x(11).                   
    05                              PIC x(3).                   
    05  PR-COMP-PROD-PRICE          PIC $$$.99.                 
    05                              PIC x(5).                   
    05  PR-COMP-SALES               PIC $,$$$.99.               
                                                                 
                                                                 
01  PR-COMP-TERR-TOTALS.                                         
    05                  PIC x(51)   VALUE SPACES.               
    05                  PIC x(20)   VALUE '**Territory Totals**'.
    05                  PIC x.                                   
    05  TERR-TOTAL      PIC 99,999.99.                           
                                                                 
01  PR-COMP-FINAL-TOTALS.                                       
    05                    PIC x(51)  VALUE SPACES.               
    05                    PIC x(16)  VALUE '**FINAL TOTALS**'.   
    05                    PIC x(5)   VALUE SPACES.               
    05  FINAL-TOTAL       PIC 999,999.99.                       
                                                                 
                                                                 
01  SUB-TERR  PIC 9(2).                                         
01  SUB-PROD  PIC 9(2).                                         
                                                                 
01 PRIOR-TERR                   PIC X(2).                       
                                                                 
                                                                 
01 WS-TERR-CODE                  PIC x(2).                       
01 WS-TERR-NAME                  PIC x(17).                     
01 WS-PRODUCT-DESC               PIC x(11).                     
                                                                 
01  WS-CALCULATION.                                             
    05  WS-PRODUCT-PRICE      PIC 9(2)V9(2) VALUE ZEROES.       
    05  WS-SALE-TOTAL         PIC 9(4)V9(2).                     
    05  WS-TERR-TOTALS        PIC 9(5)V9(2) VALUE ZEROES.       
    05  WS-FINAL-TOTALS       PIC 9(6)V9(2) VALUE ZEROES.       
                                                                 
01  WS-LINE-CTR               PIC 9(2)      VALUE ZERO.         
01  WS-PAGE-CTR               PIC 9(3)      VALUE ZERO.         
                                                                 
01  WS-EOF                    PIC x(3)      VALUE 'NO '.         
    88 EOF-REACHED                          VALUE 'YES'.         
                                                                 
01  WS-DATE.                                                     
    05  WS-DAY                PIC 9(2).                         
    05  WS-MONTH              PIC 9(2).                         
    05  WS-YEAR               PIC 9(2).                         
                                                                 
                                                                 
PROCEDURE DIVISION.                                             
MAIN-PROC.                                                       
    PERFORM INITIALIZATION.                                     
    PERFORM READIN.                                             
    PERFORM READY-TERRITORY-TOTALS.                             
    PERFORM TERRITORY-HEADINGS.                                 
    PERFORM PRINT-TERRITORY-TABLE                               
        VARYING SUB-TERR                                         
        FROM 1 BY 1                                             
        UNTIL SUB-TERR > 11.                                     
    PERFORM PRODUCT-HEADINGS.                                   
    PERFORM PRINT-PRODUCT-TABLE                                 
        VARYING SUB-PROD                                         
        FROM 1 BY 1                                             
        UNTIL SUB-PROD > 10.                                     
    PERFORM HEADINGS.                                           
    PERFORM MAIN-LOOP UNTIL EOF-REACHED.                         
    PERFORM MOVE-TERR-TOTALS.                                   
    PERFORM PRINT-TERR-TOTALS.                                   
    PERFORM MOVE-FINAL-TOTALS.                                   
    PERFORM PRINT-FINAL-TOTALS.                                 
    PERFORM WRAPUP.                                             
    STOP RUN.                                                   
                                                                 
                                                                 
MAIN-LOOP.                                                       
    PERFORM CHECK-TERRITORY.                                     
    PERFORM LOOKUP-TERRITORY                                     
        VARYING SUB-TERR                                         
        FROM 1 BY 1                                             
        UNTIL SUB-TERR > 11.                                     
                                                                 
    PERFORM LOOKFOR-PRODUCT                                     
        VARYING SUB-PROD                                         
        FROM 1 BY 1                                             
        UNTIL SUB-PROD > 10.                                     
                                                                 
    PERFORM CALCULATIONS.                                       
    PERFORM MOVE-SALES.                                         
    PERFORM MOVE-FIELDS.                                         
    PERFORM PRINT-RECORD.                                       
    PERFORM ACCUM-TERR-TOTALS.                                   
    PERFORM ACCUM-FINAL-TOTALS.                                 
    PERFORM READIN.                                             
                                                                 
                                                                 
                                                                 
INITIALIZATION.                                                 
OPEN INPUT FILEIN                                               
     OUTPUT PRFILE.                                             
ACCEPT WS-DATE FROM DATE.                                       
     MOVE WS-DAY     TO PR-DAY.                                 
     MOVE WS-MONTH   TO PR-MONTH.                               
     MOVE WS-YEAR    TO PR-YEAR.                                 
                                                                 
                                                                 
READIN.                                                         
    READ FILEIN                                                 
        INTO IN-COMP                                             
            AT END MOVE 'YES' TO WS-EOF.                         
                                                                 
                                                                 
TERRITORY-HEADINGS.                                             
WRITE PRINT-LINE                                                 
     FROM HDG0201                                               
         AFTER ADVANCING PAGE.                                   
                                                                 
MOVE PR-YEAR         TO WS-YEAR.                                 
MOVE PR-MONTH        TO WS-MONTH.                               
MOVE PR-DAY          TO WS-DAY.                                 
                                                                 
WRITE PRINT-LINE                                                 
     FROM HDG02                                                 
         AFTER ADVANCING 2 LINES.                               
                                                                 
WRITE PRINT-LINE                                                 
     FROM HDG0202                                               
         AFTER ADVANCING 2 LINES.                               
                                                                 
                                                                 
PRODUCT-HEADINGS.                                               
WRITE PRINT-LINE                                                 
    FROM HDG0300                                                 
        AFTER ADVANCING PAGE.                                   
                                                                 
MOVE PR-YEAR         TO WS-YEAR.                                 
MOVE PR-MONTH        TO WS-MONTH.                               
MOVE PR-DAY          TO WS-DAY.                                 
                                                                 
WRITE PRINT-LINE                                                 
     FROM HDG02                                                 
     AFTER ADVANCING 2 LINES.                                   
                                                                 
                                                                 
WRITE PRINT-LINE                                                 
     FROM HDG0301                                               
     AFTER ADVANCING 2 LINES.                                   
                                                                 
                                                                 
HEADINGS.                                                       
ADD 1 TO WS-PAGE-CTR.                                           
MOVE WS-PAGE-CTR TO PR-PAGE-NO.                                 
MOVE 0 TO WS-LINE-CTR.                                           
                                                                 
WRITE PRINT-LINE                                                 
     FROM HDG01                                                 
         AFTER ADVANCING PAGE.                                   
                                                                 
MOVE PR-YEAR         TO WS-YEAR.                                 
MOVE PR-MONTH        TO WS-MONTH.                               
MOVE PR-DAY          TO WS-DAY.                                 
                                                                 
WRITE PRINT-LINE                                                 
     FROM HDG02                                                 
         AFTER ADVANCING 2 LINES.                               
                                                                 
WRITE PRINT-LINE                                                 
     FROM HDG03                                                 
         AFTER ADVANCING 2 LINES.                               
                                                                 
WRITE PRINT-LINE                                                 
     FROM HDG04                                                 
         AFTER ADVANCING 1 LINE.                                 
                                                                 
                                                                 
CHECK-TERRITORY.                                                 
    IF IN-COMP-TERRITORY NOT = PRIOR-TERR                       
    THEN                                                         
        PERFORM MOVE-TERR-TOTALS                                 
        PERFORM PRINT-TERR-TOTALS                               
        PERFORM READY-TERRITORY-TOTALS.                         
                                                                 
READY-TERRITORY-TOTALS.                                         
   MOVE IN-COMP-TERRITORY TO PRIOR-TERR.                         
   MOVE ZEROES            TO WS-TERR-TOTALS.                     
                                                                 
                                                                 
CALCULATIONS.                                                   
   MULTIPLY IN-COMP-QUANTITY BY WS-PRODUCT-PRICE                 
                             GIVING WS-SALE-TOTAL ROUNDED.       
                                                                 
MOVE-SALES.                                                     
    MOVE WS-SALE-TOTAL TO PR-COMP-SALES.                         
                                                                 
                                                                 
ACCUM-TERR-TOTALS.                                               
    ADD WS-SALE-TOTAL TO WS-TERR-TOTALS ROUNDED.                 
                                                                 
MOVE-TERR-TOTALS.                                               
    MOVE WS-TERR-TOTALS TO TERR-TOTAL.                           
                                                                 
ACCUM-FINAL-TOTALS.                                             
    ADD WS-SALE-TOTAL TO WS-FINAL-TOTALS ROUNDED.               
                                                                 
MOVE-FINAL-TOTALS.                                               
    MOVE WS-FINAL-TOTALS TO FINAL-TOTAL.                         
                                                                 
                                                                 
MOVE-FIELDS.                                                     
    MOVE IN-COMP-TERRITORY    TO PR-COMP-TERR-CODE.             
    MOVE WS-TERR-NAME         TO PR-COMP-TERR-NAME.             
    MOVE IN-COMP-PROD-NO      TO PR-COMP-PROD-NO.               
    MOVE IN-COMP-NAME         TO PR-COMP-NAME.                   
                                                                 
 PRINT-TERRITORY-TABLE.                                         
    MOVE TAB-TERR-CODE(SUB-TERR)  TO  PR-COMP-TERR-CODE.         
    MOVE TAB-TERR-NAME(SUB-TERR)  TO  PR-COMP-TERR-NAME.         
    WRITE PRINT-LINE                                             
        FROM TERR-TABLE                                         
            AFTER ADVANCING 2 LINES.                             
                                                                 
                                                                 
LOOKUP-TERRITORY.                                               
    IF IN-COMP-TERRITORY = TAB-TERR-CODE(SUB-TERR)               
    THEN                                                         
        MOVE TAB-TERR-NAME(SUB-TERR)TO WS-TERR-NAME             
        MOVE WS-TERR-NAME           TO PR-COMP-TERR-NAME         
        MOVE 12                     TO SUB-TERR.                 
                                                                 
                                                                 
PRINT-PRODUCT-TABLE.                                             
    MOVE TAB-PROD-NUM(SUB-PROD)     TO PR-COMP-PROD-NO.         
    MOVE TAB-PROD-DESC(SUB-PROD)    TO PR-COMP-PROD-DESC.       
    MOVE TAB-PROD-PRICE(SUB-PROD)   TO PR-COMP-PROD-PRICE.       
    WRITE PRINT-LINE                                             
        FROM PROD-TABLE                                         
            AFTER ADVANCING 2 LINES.                             
                                                                 
LOOKFOR-PRODUCT.                                                 
    IF IN-COMP-PROD-NO = TAB-PROD-NUM(SUB-PROD)                 
    THEN                                                         
        MOVE TAB-PROD-PRICE(SUB-PROD)TO WS-PRODUCT-PRICE         
        MOVE TAB-PROD-DESC(SUB-PROD) TO WS-PRODUCT-DESC         
        MOVE WS-PRODUCT-DESC         TO PR-COMP-PROD-DESC       
        MOVE WS-PRODUCT-PRICE        TO PR-COMP-PROD-PRICE       
        MOVE 11                      TO SUB-PROD.               
                                                                 
                                                                 
PRINT-RECORD.                                                   
        WRITE PRINT-LINE                                         
             FROM PR-COMP                                       
             AFTER ADVANCING 2 LINES.                           
             ADD 2 TO WS-LINE-CTR.                               
             IF WS-LINE-CTR > 48                                 
             THEN                                               
                 PERFORM HEADINGS.                               
                                                                 
                                                                 
PRINT-TERR-TOTALS.                                               
        WRITE PRINT-LINE                                         
              FROM PR-COMP-TERR-TOTALS                           
                  AFTER ADVANCING 3 LINES.                       
                                                                 
PRINT-FINAL-TOTALS.                                             
        WRITE PRINT-LINE                                         
              FROM PR-COMP-FINAL-TOTALS                         
                  AFTER ADVANCING 3 LINES.                       
                                                                 
WRAPUP.                                                         
    MOVE SPACES TO PR-COMP.                                     
    WRITE PRINT-LINE                                             
        FROM PR-COMP                                             
            AFTER ADVANCING PAGE.                               
    CLOSE FILEIN                                                 
          PRFILE.
[/code]
Back to top
View user's profile Send private message Visit poster's website
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12372
Topics: 75
Location: San Jose

PostPosted: Thu Nov 25, 2004 10:39 am    Post subject: Reply with quote

spiderdudeX,

Shouldn't your TAB-PROD-DESC in NEW-PRODUCT-TAB be pic x(11) instead of pic x(17) ??

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
spiderdudeX
Beginner


Joined: 24 Nov 2004
Posts: 3
Topics: 1

PostPosted: Thu Nov 25, 2004 12:35 pm    Post subject: Reply with quote

Yea, you're right, thanks for pointing that out Smile
Back to top
View user's profile Send private message Visit poster's website
spiderdudeX
Beginner


Joined: 24 Nov 2004
Posts: 3
Topics: 1

PostPosted: Thu Nov 25, 2004 12:52 pm    Post subject: Reply with quote

Awesome, it works, thank you so much Smile

Now, the tables won't show up in the output file PRFILE6.RPT though... I'm currently working on it, but any help that you guys can give me as to the reason for this is welcome

8)
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group