HP 3000 Manuals

Example HP COBOL II/XL Program [ HP COBOL II/XL Reference Manual ] MPE/iX 5.0 Documentation


HP COBOL II/XL Reference Manual

Example HP COBOL II/XL Program 

This section contains a complete COBOL program listing from the HP COBOL
II/XL compiler.

     PAGE 0001         COBOL II/XL   HP31500A.04.03  [85]    FRI, JUN  7, 1991,  4:02
                      PM     Copyright Hewlett-Packard CO. 1987

      00001          001000$CONTROL MAP,SOURCE,CROSSREF,VERBS
      00002          002000 IDENTIFICATION DIVISION.
      00003          003000 PROGRAM-ID.                      EXAMPLE.
      00004          004000 AUTHOR.                          HEWLETT-PACKARD.
      00005          005000 DATE-COMPILED.  FRI, JUN  7, 1991,  4:02 PM
      00006          006000*********************************************************
      00007          007000*   BRIEF PROGRAM DESCRIPTION
      00008          008000*
      00009          009000*    THIS IS AN EXAMPLE OF THE USE OF COBOL85.  THIS IS A
      00010          010000*  SEQUENTIAL UPDATE PROGRAM USING STRUCTURED PROGRAMMING
      00011          011000*  TECHNIQUES.  THE TRANSACTION FILE USED BY THE UPDATE
      00012          012000*  PROGRAM HAS ALREADY BEEN EDITED AND SORTED INTO THE
      00013          013000*  PROPER SEQUENCE FOR UPDATE PROCESSING.
      00014          014000*********************************************************
      00015          015000*   FILE REQUIREMENTS
      00016          016000*
      00017          017000*   COPY FILES: NONE REQUIRED IN THIS PROGRAM
      00018          018000*
      00019          019000*   DATA FILES--INPUT FILES:  OLD INVENTORY MASTER
      00020          020000*                             UPDATE TRANSACTIONS
      00021          021000*               OUTPUT FILES: NEW INVENTORY MASTER
      00022          022000*                             TRANSACTION ERROR FILE
      00023          023000*                             PRINTED REPORT OF UPDATE
      00024          024000*               I-O    FILES: NONE
      00025          025000*
      00026          026000*********************************************************
      00027          027000 ENVIRONMENT DIVISION.
      00028          028000 INPUT-OUTPUT SECTION.
      00029          029000 FILE-CONTROL.
      00030          030000     SELECT OLD-INV-MAST
      00031          031000         ASSIGN TO "OLDMAST".
      00032          032000     SELECT NEW-INV-MAST
      00033          033000         ASSIGN TO "NEWMAST".
      00034          034000     SELECT TRAN-FILE
      00035          035000         ASSIGN TO "TRANFILE".
      00036          036000     SELECT ERROR-FILE
      00037          037000         ASSIGN TO "TRANERR".
      00038          038000     SELECT PRINT-FILE
      00039          039000         ASSIGN TO "PRINT,UR".

     PAGE 0002/COBTEXT  EXAMPLE
      00040          040000/ ******  D A T A   D I V I S I O N  ******
      00041          041000 DATA DIVISION.
      00042          042000 FILE SECTION.
      00043          043000*
      00044          044000 FD  OLD-INV-MAST.
      00045          045000*
      00046          046000 01  OLD-INV-MAST-REC.
      00047          047000     03  OM-PART-NBR         PIC  X(05).
      00048          048000     03  FILLER              PIC  X(35).
      00049          049000*
      00050          050000 FD  NEW-INV-MAST.
      00051          051000*
      00052          052000 01  NEW-INV-MAST-REC        PIC  X(40).
      00053          053000*
      00054          054000 FD  TRAN-FILE.
      00055          055000*
      00056          056000 01  TRAN-REC.
      00057          057000     03  TR-UPDATE-CODE          PIC  X(01).
      00058          058000         88  TR-ADD-CODE                    VALUE "A".
      00059          059000         88  TR-CHANGE-CODE                 VALUE "C".
      00060          060000         88  TR-DELETE-CODE                 VALUE "D".
      00061          061000     03  TR-PART-NBR             PIC  X(05).
      00062          062000     03  TR-DESCRIPTION          PIC  X(25).
      00063          063000     03  TR-PART-COST-FLD.
      00064          064000         05  TR-PART-COST        PIC  9(07)V99.
      00065          065000     03  TR-PART-PRICE-FLD.
      00066          066000         05  TR-PART-PRICE       PIC  9(05)V99.
      00067          067000     03  TR-PART-QUANTITY-FLD.
      00068          068000         05  TR-PART-QUANTITY    PIC  9(04).
      00069          069000*
      00070          070000 FD  ERROR-FILE.
      00071          071000 01  ERROR-REC               PIC  X(51).
      00072          072000*
      00073          073000 FD  PRINT-FILE.
      00074          074000 01  PRINT-REC               PIC  X(132).

     PAGE 0003/COBTEXT  EXAMPLE
      00075          075000/ ******  W O R K I N G   S T O R A G E  ******
      00076          076000 WORKING-STORAGE SECTION.
      00077          077000*
      00078          078000*
      00079          079000 01  WS-PRINT-CONTROL.
      00080          080000     03  WS-LINE-CTR         PIC S9(03) BINARY VALUE 999.
      00081          081000     03  WS-PAGE-CTR         PIC S9(03) BINARY VALUE 0.
      00082          082000     03  WS-SPACING          PIC S9(01) BINARY VALUE 1.
      00083          083000     03  WS-LINE-LMT         PIC S9(03) BINARY VALUE 45.
      00084          084000*
      00085          085000 01  WS-ACCUMULATORS.
      00086          086000     03  WS-CHANGES-CTR      PIC S9(05) BINARY.
      00087          087000     03  WS-ADDITIONS-CTR    PIC S9(05) BINARY.
      00088          088000     03  WS-DELETES-CTR      PIC S9(05) BINARY.
      00089          089000     03  WS-TOTAL-CTR        PIC S9(05) BINARY.
      00090          090000     03  WS-ERRORS           PIC S9(05) BINARY.
      00091          091000     03  WS-TRANS-READ       PIC S9(05) BINARY.
      00092          092000*
      00093          093000 01  WS-UPDT-MESSAGES.
      00094          094000     03  WS-CHANGE-MSG       PIC  X(10) VALUE "CHANGED".
      00095          095000     03  WS-ADDITION-MSG     PIC  X(10) VALUE "ADDED".
      00096          096000     03  WS-DELETE-MSG       PIC  X(10) VALUE "DELETED".
      00097          097000*
      00098          098000 01  WS-MASTER-REC.
      00099          099000     03  WS-MR-PART-NBR      PIC  X(05).
      00100          100000     03  WS-MR-DESCRIPTION   PIC  X(25).
      00101          101000     03  WS-MR-PART-COST     PIC S9(07)V99 BINARY SYNC.
      00102          102000     03  WS-MR-PART-PRICE    PIC S9(05)V99 BINARY SYNC.
      00103          103000     03  WS-MR-PART-QUANTITY PIC S9(04)    BINARY SYNC.
      00104          104000*
      00105          105000 01  HDG-1.
      00106          106000     03  HDG1-DATE          PIC  X(08).
      00107          107000     03                     PIC  X(22) VALUE SPACES.
      00108          108000     03  HDG1-REPORT-NAME   PIC  X(24)
      00109          109000         VALUE "INVENTORY UPDATE LISTING".
      00110          110000     03                     PIC  X(20) VALUE SPACES.
      00111          111000     03                     PIC  X(06) VALUE "PAGE  ".
      00112          112000     03  HDG1-PAGE-NBR      PIC  ZZ9.
      00113          113000*
      00114          114000 01  HDG-2.
      00115          115000     03                     PIC  X(20)
      00116          116000         VALUE "PART     PART      ".
      00117          117000     03                     PIC  X(20)
      00118          118000         VALUE "                    ".
      00119          119000     03                     PIC  X(20)
      00120          120000         VALUE "      PART        PA".
      00121          121000     03                     PIC  X(20)
      00122          122000         VALUE "RT       PART    UPD".
      00123          123000     03                     PIC  X(20)
      00124          124000         VALUE "ATE                 ".
      00125          125000     03                     PIC  X(20)
      00126          126000         VALUE "                    ".
      00127          127000     03                     PIC  X(13)
      00128          128000         VALUE "             ".
      00129          129000*
      00130          130000 01  HDG-3.
      00131          131000     03                     PIC  X(20)

     PAGE 0004/COBTEXT  EXAMPLE
      00132          132000         VALUE "NUMBER   DESCRIPTION".
      00133          133000     03                     PIC  X(20)
      00134          134000         VALUE "                   ".
      00135          135000     03                     PIC  X(20)
      00136          136000         VALUE "      COST        PR".
      00137          137000     03                     PIC  X(20)
      00138          138000         VALUE "ICE   QUANTITY   MES".
      00139          139000     03                     PIC  X(20)
      00140          140000         VALUE "SAGE                ".
      00141          141000     03                     PIC  X(20)
      00142          142000         VALUE "                    ".
      00143          143000     03                     PIC  X(13)
      00144          144000         VALUE "             ".
      00145          145000*
      00146          146000 01  TOTALS-HDG-1.
      00147          147000     03                     PIC  X(20)
      00148          148000         VALUE "TOTALS FOR INVENTORY".
      00149          149000     03                     PIC  X(20)
      00150          150000         VALUE " UPDATE RUN OF  -   ".
      00151          151000     03  TOT1-HDG-DATE      PIC  X(08).
      00152          152000*
      00153          153000 01  TOTALS-HDG-2.
      00154          154000     03                     PIC  X(20)
      00155          155000         VALUE "CHANGES             ".
      00156          156000     03  TOT2-CHANGES       PIC  ZZ,ZZ9.
      00157          157000*
      00158          158000 01  TOTALS-HDG-3.
      00159          159000     03                     PIC  X(20)
      00160          160000         VALUE "ADDITIONS           ".
      00161          161000     03  TOT3-ADDITIONS     PIC  ZZ,ZZ9.
      00162          162000*
      00163          163000 01  TOTALS-HDG-4.
      00164          164000     03                     PIC  X(20)
      00165          165000         VALUE "DELETIONS           ".
      00166          166000     03  TOT4-DELETIONS     PIC  ZZ,ZZ9.
      00167          167000*
      00168          168000 01  TOTALS-HDG-5.
      00169          169000     03                     PIC  X(20)
      00170          170000         VALUE "TOTAL UPDATES       ".
      00171          171000     03  TOT5-UPDATES       PIC  ZZ,ZZ9.
      00172          172000*
      00173          173000 01  TOTALS-HDG-6.
      00174          174000     03                     PIC  X(20)
      00175          175000         VALUE "ERRORS              ".
      00176          176000     03  TOT6-ERRORS        PIC  ZZ,ZZ9.
      00177          177000*
      00178          178000 01  TOTALS-HDG-7.
      00179          179000     03                     PIC  X(20)
      00180          180000         VALUE "TOTAL TRANSACTIONS  ".
      00181          181000     03  TOT7-TRANS-READ    PIC ZZ,ZZ9.
      00182          182000*
      00183          183000 01  WS-UPDATE-LINE.
      00184          184000     03  WS-UP-PART-NBR      PIC  X(05).
      00185          185000     03                      PIC  X(04) VALUE SPACES.
      00186          186000     03  WS-UP-DESCRIPTION   PIC  X(25).
      00187          187000     03                      PIC  X(04) VALUE SPACES.
      00188          188000     03  WS-UP-PART-COST     PIC  Z,ZZZ,ZZZ.99-.

     PAGE 0005/COBTEXT  EXAMPLE
      00189          189000     03                      PIC  X(03) VALUE SPACES.
      00190          190000     03  WS-UP-PART-PRICE    PIC  ZZ,ZZZ.99-.
      00191          191000     03                      PIC  X(05) VALUE SPACES.
      00192          192000     03  WS-UP-PART-QUANTITY PIC  ZZZ9.
      00193          193000     03                      PIC  X(04) VALUE SPACES.
      00194          194000     03  WS-UP-UPDT-MESSAGE  PIC  X(10).
      00195          195000*

     PAGE 0006/COBTEXT  EXAMPLE
      00196          196000/  ******  P R O C E D U R E   D I V I S I O N  *****
      00197          197000 PROCEDURE DIVISION.
      00198          198000 100-MAIN-PROGRAM.
      00199          199000     OPEN INPUT  OLD-INV-MAST
      00200          200000                 TRAN-FILE
      00201          201000          OUTPUT NEW-INV-MAST
      00202          202000                 ERROR-FILE
      00203          203000                 PRINT-FILE
      00204          204000*
      00205          205000     MOVE SPACES       TO PRINT-REC
      00206          206000     MOVE CURRENT-DATE TO HDG1-DATE
      00207          207000                          TOT1-HDG-DATE
      00208          208000     INITIALIZE WS-ACCUMULATORS WS-UPDATE-LINE
      00209          209000     PERFORM 300-GET-TRANSACTION
      00210          210000     PERFORM 310-GET-OLD-MASTER
      00211          211000*
      00212          212000*  M A I N   P R O G R A M    D R I V E R
      00213          213000*
      00214          214000     PERFORM UNTIL WS-MR-PART-NBR EQUAL ALL "9" AND
      00215          215000                   TR-PART-NBR    EQUAL ALL "9"
      00216          216000
      00217          217000         EVALUATE TRUE
      00218          218000            WHEN WS-MR-PART-NBR GREATER TR-PART-NBR
      00219          219000                PERFORM 210-MASTER-COMPARED-HIGH
      00220          220000            WHEN WS-MR-PART-NBR LESS    TR-PART-NBR
      00221          221000                PERFORM 240-MASTER-COMPARED-LOW
      00222          222000            WHEN WS-MR-PART-NBR = ALL "9"
      00223          223000                CONTINUE
      00224          224000            WHEN OTHER
      00225          225000                PERFORM 250-MASTER-AND-TRAN-EQUAL
      00226          226000         END-EVALUATE
      00227          227000     END-PERFORM
      00228          228000*
      00229          229000* PRINT TOTALS AND QUIT
      00230          230000*
      00231          231000     PERFORM 420-PRINT-TOTALS
      00232          232000     CLOSE OLD-INV-MAST
      00233          233000           NEW-INV-MAST
      00234          234000           TRAN-FILE
      00235          235000           ERROR-FILE
      00236          236000           PRINT-FILE
      00237          237000     STOP RUN.
      00238          238000*

     PAGE 0007/COBTEXT  EXAMPLE
      00239          239000/
      00240          240000 210-MASTER-COMPARED-HIGH.
      00241          241000*
      00242          242000     IF  TR-ADD-CODE
      00243          243000         PERFORM 220-ADD-TO-MASTER
      00244          244000     ELSE
      00245          245000         PERFORM 230-TRAN-IN-ERROR.
      00246          246000*
      00247          247000 220-ADD-TO-MASTER.
      00248          248000     MOVE TR-PART-NBR      TO WS-MR-PART-NBR
      00249          249000     MOVE TR-DESCRIPTION   TO WS-MR-DESCRIPTION
      00250          250000     MOVE TR-PART-COST     TO WS-MR-PART-COST
      00251          251000     MOVE TR-PART-PRICE    TO WS-MR-PART-PRICE
      00252          252000     MOVE TR-PART-QUANTITY TO WS-MR-PART-QUANTITY
      00253          253000     MOVE WS-MASTER-REC    TO NEW-INV-MAST-REC
      00254          254000     MOVE TR-PART-NBR      TO WS-UP-PART-NBR
      00255          255000     MOVE TR-DESCRIPTION   TO WS-UP-DESCRIPTION
      00256          256000     MOVE TR-PART-COST     TO WS-UP-PART-COST
      00257          257000     MOVE TR-PART-PRICE    TO WS-UP-PART-PRICE
      00258          258000     MOVE TR-PART-QUANTITY TO WS-UP-PART-QUANTITY
      00259          259000     MOVE WS-ADDITION-MSG  TO WS-UP-UPDT-MESSAGE
      00260          260000     PERFORM 300-GET-TRANSACTION
      00261          261000     PERFORM 330-WRITE-NEW-MASTER
      00262          262000     PERFORM 320-PRINT-UPDATE
      00263          263000     MOVE OLD-INV-MAST-REC TO WS-MASTER-REC
      00264          264000     ADD 1                 TO WS-ADDITIONS-CTR.
      00265          265000*
      00266          266000 230-TRAN-IN-ERROR.
      00267          267000     MOVE TRAN-REC TO ERROR-REC
      00268          268000     WRITE ERROR-REC
      00269          269000     PERFORM 300-GET-TRANSACTION
      00270          270000     ADD 1 TO WS-ERRORS.
      00271          271000*
      00272          272000 240-MASTER-COMPARED-LOW.
      00273          273000     MOVE WS-MASTER-REC TO NEW-INV-MAST-REC
      00274          274000     PERFORM 330-WRITE-NEW-MASTER
      00275          275000     PERFORM 310-GET-OLD-MASTER.
      00276          276000*
      00277          277000 250-MASTER-AND-TRAN-EQUAL.
      00278          278000     EVALUATE TRUE
      00279          279000         WHEN TR-DELETE-CODE
      00280          280000             PERFORM 260-DELETE-MASTER
      00281          281000         WHEN TR-CHANGE-CODE
      00282          282000             PERFORM 270-CHANGE-MASTER
      00283          283000         WHEN OTHER
      00284          284000             PERFORM 230-TRAN-IN-ERROR
      00285          285000     END-EVALUATE.
      00286          286000*
      00287          287000 260-DELETE-MASTER.
      00288          288000     MOVE WS-MR-PART-NBR      TO WS-UP-PART-NBR
      00289          289000     MOVE WS-MR-DESCRIPTION   TO WS-UP-DESCRIPTION
      00290          290000     MOVE WS-MR-PART-COST     TO WS-UP-PART-COST
      00291          291000     MOVE WS-MR-PART-PRICE    TO WS-UP-PART-PRICE
      00292          292000     MOVE WS-MR-PART-QUANTITY TO WS-UP-PART-QUANTITY
      00293          293000     MOVE WS-DELETE-MSG       TO WS-UP-UPDT-MESSAGE
      00294          294000     PERFORM 320-PRINT-UPDATE
      00295          295000     PERFORM 310-GET-OLD-MASTER

     PAGE 0008/COBTEXT  EXAMPLE
      00296          296000     PERFORM 300-GET-TRANSACTION
      00297          297000     ADD 1                    TO WS-DELETES-CTR.
      00298          298000*
      00299          299000 270-CHANGE-MASTER.
      00300          300000*
      00301          301000     IF  TR-DESCRIPTION
     SPACES
      00302          302000         MOVE TR-DESCRIPTION   TO WS-MR-DESCRIPTION
      00303          303000         END-IF
      00304          304000     IF  TR-PART-COST-FLD
     SPACES
      00305          305000         MOVE TR-PART-COST     TO WS-MR-PART-COST
      00306          306000         END-IF
      00307          307000     IF  TR-PART-PRICE-FLD
     SPACES
      00308          308000         MOVE TR-PART-PRICE    TO WS-MR-PART-PRICE
      00309          309000         END-IF
      00310          310000     IF  TR-PART-QUANTITY-FLD
     SPACES
      00311          311000         MOVE TR-PART-QUANTITY TO WS-MR-PART-QUANTITY
      00312          312000         END-IF
      00313          313000*
      00314          314000     MOVE WS-MR-PART-NBR      TO WS-UP-PART-NBR
      00315          315000     MOVE WS-MR-DESCRIPTION   TO WS-UP-DESCRIPTION
      00316          316000     MOVE WS-MR-PART-COST     TO WS-UP-PART-COST
      00317          317000     MOVE WS-MR-PART-PRICE    TO WS-UP-PART-PRICE
      00318          318000     MOVE WS-MR-PART-QUANTITY TO WS-UP-PART-QUANTITY
      00319          319000     MOVE WS-CHANGE-MSG       TO WS-UP-UPDT-MESSAGE
      00320          320000     PERFORM 320-PRINT-UPDATE
      00321          321000     PERFORM 300-GET-TRANSACTION
      00322          322000     ADD 1                    TO WS-CHANGES-CTR.
      00323          323000*
      00324          324000 300-GET-TRANSACTION.
      00325          325000     READ TRAN-FILE
      00326          326000       AT END
      00327          327000         MOVE ALL "9" TO TR-PART-NBR
      00328          328000       NOT AT END
      00329          329000         ADD 1 TO WS-TRANS-READ
      00330          330000     END-READ.
      00331          331000*
      00332          332000 310-GET-OLD-MASTER.
      00333          333000     READ OLD-INV-MAST
      00334          334000       AT END
      00335          335000         MOVE ALL "9" TO OM-PART-NBR
      00336          336000     END-READ
      00337          337000*
      00338          338000     MOVE OLD-INV-MAST-REC TO WS-MASTER-REC.
      00339          339000*
      00340          340000 320-PRINT-UPDATE.
      00341          341000*
      00342          342000     IF  WS-LINE-CTR GREATER WS-LINE-LMT
      00343          343000         PERFORM 410-PRINT-HEADING
      00344          344000         END-IF
      00345          345000*
      00346          346000     MOVE WS-UPDATE-LINE TO PRINT-REC
      00347          347000     MOVE 1 TO WS-SPACING
      00348          348000     PERFORM 400-WRITE-PRINT-LINE
      00349          349000     ADD 1 TO WS-LINE-CTR.
      00350          350000*
      00351          351000 330-WRITE-NEW-MASTER.
      00352          352000     WRITE NEW-INV-MAST-REC.

     PAGE 0009/COBTEXT  EXAMPLE
      00353          353000*
      00354          354000 400-WRITE-PRINT-LINE.
      00355          355000     WRITE PRINT-REC BEFORE ADVANCING WS-SPACING
      00356          356000     MOVE SPACES    TO PRINT-REC
      00357          357000     ADD WS-SPACING TO WS-LINE-CTR.
      00358          358000*
      00359          359000 410-PRINT-HEADING.
      00360          360000     WRITE PRINT-REC BEFORE ADVANCING PAGE
      00361          361000     MOVE ZEROES      TO WS-LINE-CTR
      00362          362000     ADD 1            TO WS-PAGE-CTR
      00363          363000     MOVE WS-PAGE-CTR TO HDG1-PAGE-NBR
      00364          364000     MOVE 2           TO WS-SPACING
      00365          365000     MOVE HDG-1       TO PRINT-REC
      00366          366000     PERFORM 400-WRITE-PRINT-LINE
      00367          367000     MOVE 1           TO WS-SPACING
      00368          368000     MOVE HDG-2       TO PRINT-REC
      00369          369000     PERFORM 400-WRITE-PRINT-LINE
      00370          370000     MOVE 2           TO WS-SPACING
      00371          371000     MOVE HDG-3       TO PRINT-REC
      00372          372000     PERFORM 400-WRITE-PRINT-LINE.
      00373          373000*
      00374          374000 420-PRINT-TOTALS.
      00375          375000     ADD WS-CHANGES-CTR WS-ADDITIONS-CTR WS-DELETES-CTR
      00376          376000         GIVING WS-TOTAL-CTR
      00377          377000*
      00378          378000     MOVE 1                TO WS-SPACING
      00379          379000     MOVE WS-CHANGES-CTR   TO TOT2-CHANGES
      00380          380000     MOVE WS-ADDITIONS-CTR TO TOT3-ADDITIONS
      00381          381000     MOVE WS-DELETES-CTR   TO TOT4-DELETIONS
      00382          382000     MOVE WS-TOTAL-CTR     TO TOT5-UPDATES
      00383          383000     MOVE WS-ERRORS        TO TOT6-ERRORS
      00384          384000     MOVE WS-TRANS-READ    TO TOT7-TRANS-READ
      00385          385000     WRITE PRINT-REC BEFORE ADVANCING PAGE
      00386          386000*
      00387          387000     MOVE TOTALS-HDG-1 TO PRINT-REC
      00388          388000     PERFORM 400-WRITE-PRINT-LINE
      00389          389000     MOVE TOTALS-HDG-2 TO PRINT-REC
      00390          390000     PERFORM 400-WRITE-PRINT-LINE
      00391          391000     MOVE TOTALS-HDG-3 TO PRINT-REC
      00392          392000     PERFORM 400-WRITE-PRINT-LINE
      00393          393000     MOVE TOTALS-HDG-4 TO PRINT-REC
      00394          394000     PERFORM 400-WRITE-PRINT-LINE
      00395          395000     MOVE TOTALS-HDG-5 TO PRINT-REC
      00396          396000     PERFORM 400-WRITE-PRINT-LINE
      00397          397000     MOVE TOTALS-HDG-6 TO PRINT-REC
      00398          398000     PERFORM 400-WRITE-PRINT-LINE
      00399          399000     MOVE TOTALS-HDG-7 TO PRINT-REC
      00400          400000     PERFORM 400-WRITE-PRINT-LINE.
      00401          401000*
      00402          402000

     PAGE 0010/COBTEXT  EXAMPLE         SYMBOL TABLE MAP
      LINE# LVL SOURCE NAME                    BASE  OFFSET     SIZE   USAGE     CATE
                     GORY R O J BZ

      FILE SECTION

      00030 FD  OLD-INV-MAST                   DP+        24        C0 SEQUENTIAL
      00046 01   OLD-INV-MAST-REC              DP+       504        28 DISP      AN
      00047 03   OM-PART-NBR                   DP+       504         5 DISP      AN
      00048 03   FILLER                        DP+       509        23 DISP      AN
      00032 FD  NEW-INV-MAST                   DP+        E4        C0 SEQUENTIAL
      00052 01   NEW-INV-MAST-REC              DP+       4DC        28 DISP      AN
      00034 FD  TRAN-FILE                      DP+       1A4        C0 SEQUENTIAL
      00056 01   TRAN-REC                      DP+       4A8        33 DISP      AN
      00057 03   TR-UPDATE-CODE                DP+       4A8         1 DISP      AN
      00058 88   TR-ADD-CODE
      00059 88   TR-CHANGE-CODE
      00060 88   TR-DELETE-CODE
      00061 03   TR-PART-NBR                   DP+       4A9         5 DISP      AN
      00062 03   TR-DESCRIPTION                DP+       4AE        19 DISP      AN
      00063 03   TR-PART-COST-FLD              DP+       4C7         9 DISP      AN
      00064 05   TR-PART-COST                  DP+       4C7         9 DISP      N
      00065 03   TR-PART-PRICE-FLD             DP+       4D0         7 DISP      AN
      00066 05   TR-PART-PRICE                 DP+       4D0         7 DISP      N
      00067 03   TR-PART-QUANTITY-FLD          DP+       4D7         4 DISP      AN
      00068 05   TR-PART-QUANTITY              DP+       4D7         4 DISP      N
      00036 FD  ERROR-FILE                     DP+       264        C0 SEQUENTIAL
      00071 01   ERROR-REC                     DP+       474        33 DISP      AN
      00038 FD  PRINT-FILE                     DP+       324        C0 SEQUENTIAL
      00074 01   PRINT-REC                     DP+       3F0        84 DISP      AN

      WORKING-STORAGE SECTION

      00079 01  WS-PRINT-CONTROL               DP+       530         8 DISP      AN
      00080 03   WS-LINE-CTR                   DP+       530         2 COMP      NS
      00081 03   WS-PAGE-CTR                   DP+       532         2 COMP      NS
      00082 03   WS-SPACING                    DP+       534         2 COMP      NS
      00083 03   WS-LINE-LMT                   DP+       536         2 COMP      NS
      00085 01  WS-ACCUMULATORS                DP+       538        18 DISP      AN
      00086 03   WS-CHANGES-CTR                DP+       538         4 COMP      NS
      00087 03   WS-ADDITIONS-CTR              DP+       53C         4 COMP      NS
      00088 03   WS-DELETES-CTR                DP+       540         4 COMP      NS
      00089 03   WS-TOTAL-CTR                  DP+       544         4 COMP      NS
      00090 03   WS-ERRORS                     DP+       548         4 COMP      NS
      00091 03   WS-TRANS-READ                 DP+       54C         4 COMP      NS
      00093 01  WS-UPDT-MESSAGES               DP+       550        1E DISP      AN
      00094 03   WS-CHANGE-MSG                 DP+       550         A DISP      AN
      00095 03   WS-ADDITION-MSG               DP+       55A         A DISP      AN
      00096 03   WS-DELETE-MSG                 DP+       564         A DISP      AN
      00098 01  WS-MASTER-REC                  DP+       570        2A DISP      AN
      00099 03   WS-MR-PART-NBR                DP+       570         5 DISP      AN
      00100 03   WS-MR-DESCRIPTION             DP+       575        19 DISP      AN
      00101 03   WS-MR-PART-COST               DP+       590         4 COMP-SYNC NS
      00102 03   WS-MR-PART-PRICE              DP+       594         4 COMP-SYNC NS
      00103 03   WS-MR-PART-QUANTITY           DP+       598         2 COMP-SYNC NS
      00105 01  HDG-1                          DP+       59C        53 DISP      AN
      00106 03   HDG1-DATE                     DP+       59C         8 DISP      AN
      00107 03   FILLER                        DP+       5A4        16 DISP      AN

     PAGE 0011/COBTEXT  EXAMPLE         SYMBOL TABLE MAP
      LINE# LVL SOURCE NAME                    BASE  OFFSET     SIZE   USAGE     CATE
                     GORY R O J BZ

      00108 03   HDG1-REPORT-NAME              DP+       5BA        18 DISP      AN
      00110 03   FILLER                        DP+       5D2        14 DISP      AN
      00111 03   FILLER                        DP+       5E6         6 DISP      AN
      00112 03   HDG1-PAGE-NBR                 DP+       5EC         3 DISP      NE
      00114 01  HDG-2                          DP+       5F0        85 DISP      AN
      00115 03   FILLER                        DP+       5F0        14 DISP      AN
      00117 03   FILLER                        DP+       604        14 DISP      AN
      00119 03   FILLER                        DP+       618        14 DISP      AN
      00121 03   FILLER                        DP+       62C        14 DISP      AN
      00123 03   FILLER                        DP+       640        14 DISP      AN
      00125 03   FILLER                        DP+       654        14 DISP      AN
      00127 03   FILLER                        DP+       668         D DISP      AN
      00130 01  HDG-3                          DP+       678        85 DISP      AN
      00131 03   FILLER                        DP+       678        14 DISP      AN
      00133 03   FILLER                        DP+       68C        14 DISP      AN
      00135 03   FILLER                        DP+       6A0        14 DISP      AN
      00137 03   FILLER                        DP+       6B4        14 DISP      AN
      00139 03   FILLER                        DP+       6C8        14 DISP      AN
      00141 03   FILLER                        DP+       6DC        14 DISP      AN
      00143 03   FILLER                        DP+       6F0         D DISP      AN
      00146 01  TOTALS-HDG-1                   DP+       700        30 DISP      AN
      00147 03   FILLER                        DP+       700        14 DISP      AN
      00149 03   FILLER                        DP+       714        14 DISP      AN
      00151 03   TOT1-HDG-DATE                 DP+       728         8 DISP      AN
      00153 01  TOTALS-HDG-2                   DP+       730        1A DISP      AN
      00154 03   FILLER                        DP+       730        14 DISP      AN
      00156 03   TOT2-CHANGES                  DP+       744         6 DISP      NE
      00158 01  TOTALS-HDG-3                   DP+       74C        1A DISP      AN
      00159 03   FILLER                        DP+       74C        14 DISP      AN
      00161 03   TOT3-ADDITIONS                DP+       760         6 DISP      NE
      00163 01  TOTALS-HDG-4                   DP+       768        1A DISP      AN
      00164 03   FILLER                        DP+       768        14 DISP      AN
      00166 03   TOT4-DELETIONS                DP+       77C         6 DISP      NE
      00168 01  TOTALS-HDG-5                   DP+       784        1A DISP      AN
      00169 03   FILLER                        DP+       784        14 DISP      AN
      00171 03   TOT5-UPDATES                  DP+       798         6 DISP      NE
      00173 01  TOTALS-HDG-6                   DP+       7A0        1A DISP      AN
      00174 03   FILLER                        DP+       7A0        14 DISP      AN
      00176 03   TOT6-ERRORS                   DP+       7B4         6 DISP      NE
      00178 01  TOTALS-HDG-7                   DP+       7BC        1A DISP      AN
      00179 03   FILLER                        DP+       7BC        14 DISP      AN
      00181 03   TOT7-TRANS-READ               DP+       7D0         6 DISP      NE
      00183 01  WS-UPDATE-LINE                 DP+       7D8        57 DISP      AN
      00184 03   WS-UP-PART-NBR                DP+       7D8         5 DISP      AN
      00185 03   FILLER                        DP+       7DD         4 DISP      AN
      00186 03   WS-UP-DESCRIPTION             DP+       7E1        19 DISP      AN
      00187 03   FILLER                        DP+       7FA         4 DISP      AN
      00188 03   WS-UP-PART-COST               DP+       7FE         D DISP      NE
      00189 03   FILLER                        DP+       80B         3 DISP      AN
      00190 03   WS-UP-PART-PRICE              DP+       80E         A DISP      NE
      00191 03   FILLER                        DP+       818         5 DISP      AN
      00192 03   WS-UP-PART-QUANTITY           DP+       81D         4 DISP      NE
      00193 03   FILLER                        DP+       821         4 DISP      AN
      00194 03   WS-UP-UPDT-MESSAGE            DP+       825         A DISP      AN

     PAGE 0012/COBTEXT  EXAMPLE         SYMBOL TABLE MAP
      LINE# LVL SOURCE NAME                    BASE  OFFSET     SIZE   USAGE     CATE
                     GORY R O J BZ

      STORAGE LAYOUT               (#ENTRYS)

                FIRST TIME FLAG, etc.          DP+         8         4
                Global USE area                DP+        10         C
                RUN TIME $ . ,                 DP+        1C         4
                SORT/MERGE PLABEL              DP+        20         4
                FILE TABLE            (5)      DP+        24       3C0
                TALLY                          DP+       3E8         4
                USER STORAGE                   DP+       3E8       447
                TEMPCELL pool                  SP        -48         C
                Constant pool     C$           CODE        0        40
                Literal pool ~    S$           CODE        0        6C

     PAGE 0013/COBTEXT  EXAMPLE         CROSS REFERENCE LISTING
                                              IDENTIFIERS
     ERROR-FILE                         00036   00070   00202   00235
     ERROR-REC                          00071   00267   00268
     HDG-1                              00105   00365
     HDG-2                              00114   00368
     HDG-3                              00130   00371
     HDG1-DATE                          00106   00206
     HDG1-PAGE-NBR                      00112   00363
     HDG1-REPORT-NAME                   00108
     NEW-INV-MAST                       00032   00050   00201   00233
     NEW-INV-MAST-REC                   00052   00253   00273   00352
     OLD-INV-MAST                       00030   00044   00199   00232   00333
     OLD-INV-MAST-REC                   00046   00263   00338
     OM-PART-NBR                        00047   00335
     PRINT-FILE                         00038   00073   00203   00236
     PRINT-REC                          00074   00205   00346   00355   00356   00360
                        00365   00368   00371   00385   00387   00389
        00391   00393   00395   00397   00399
     TALLY                              00000
     TOT1-HDG-DATE                      00151   00207
     TOT2-CHANGES                       00156   00379
     TOT3-ADDITIONS                     00161   00380
     TOT4-DELETIONS                     00166   00381
     TOT5-UPDATES                       00171   00382
     TOT6-ERRORS                        00176   00383
     TOT7-TRANS-READ                    00181   00384
     TOTALS-HDG-1                       00146   00387
     TOTALS-HDG-2                       00153   00389
     TOTALS-HDG-3                       00158   00391
     TOTALS-HDG-4                       00163   00393
     TOTALS-HDG-5                       00168   00395
     TOTALS-HDG-6                       00173   00397
     TOTALS-HDG-7                       00178   00399
     TR-ADD-CODE                        00058   00242
     TR-CHANGE-CODE                     00059   00281
     TR-DELETE-CODE                     00060   00279
     TR-DESCRIPTION                     00062   00249   00255   00301   00302
     TR-PART-COST                       00064   00250   00256   00305
     TR-PART-COST-FLD                   00063   00304
     TR-PART-NBR                        00061   00215   00218   00220   00248   00254
                        00327
     TR-PART-PRICE                      00066   00251   00257   00308
     TR-PART-PRICE-FLD                  00065   00307
     TR-PART-QUANTITY                   00068   00252   00258   00311
     TR-PART-QUANTITY-FLD               00067   00310
     TR-UPDATE-CODE                     00057
     TRAN-FILE                          00034   00054   00200   00234   00325
     TRAN-REC                           00056   00267
     WS-ACCUMULATORS                    00085   00208
     WS-ADDITION-MSG                    00095   00259
     WS-ADDITIONS-CTR                   00087   00264   00375   00380
     WS-CHANGE-MSG                      00094   00319
     WS-CHANGES-CTR                     00086   00322   00375   00379
     WS-DELETE-MSG                      00096   00293
     WS-DELETES-CTR                     00088   00297   00375   00381
     WS-ERRORS                          00090   00270   00383
     WS-LINE-CTR                        00080   00342   00349   00357   00361
     WS-LINE-LMT                        00083   00342

     PAGE 0014/COBTEXT  EXAMPLE         CROSS REFERENCE LISTING
                                              IDENTIFIERS
     WS-MASTER-REC                      00098   00253   00263   00273   00338
     WS-MR-DESCRIPTION                  00100   00249   00289   00302   00315
     WS-MR-PART-COST                    00101   00250   00290   00305   00316
     WS-MR-PART-NBR                     00099   00214   00218   00220   00222   00248
                        00288   00314
     WS-MR-PART-PRICE                   00102   00251   00291   00308   00317
     WS-MR-PART-QUANTITY                00103   00252   00292   00311   00318
     WS-PAGE-CTR                        00081   00362   00363
     WS-PRINT-CONTROL                   00079
     WS-SPACING                         00082   00347   00355   00357   00364   00367
                        00370   00378
     WS-TOTAL-CTR                       00089   00376   00382
     WS-TRANS-READ                      00091   00329   00384
     WS-UP-DESCRIPTION                  00186   00255   00289   00315
     WS-UP-PART-COST                    00188   00256   00290   00316
     WS-UP-PART-NBR                     00184   00254   00288   00314
     WS-UP-PART-PRICE                   00190   00257   00291   00317
     WS-UP-PART-QUANTITY                00192   00258   00292   00318
     WS-UP-UPDT-MESSAGE                 00194   00259   00293   00319
     WS-UPDATE-LINE                     00183   00208   00346
     WS-UPDT-MESSAGES                   00093

     PAGE 0015/COBTEXT  EXAMPLE         CROSS REFERENCE LISTING
                                              PROCEDURES and PROGRAMS
     100-MAIN-PROGRAM                   00198
     210-MASTER-COMPARED-HIGH           00240   00219
     220-ADD-TO-MASTER                  00247   00243
     230-TRAN-IN-ERROR                  00266   00245   00284
     240-MASTER-COMPARED-LOW            00272   00221
     250-MASTER-AND-TRAN-EQUAL          00277   00225
     260-DELETE-MASTER                  00287   00280
     270-CHANGE-MASTER                  00299   00282
     300-GET-TRANSACTION                00324   00209   00260   00269   00296   00321
     310-GET-OLD-MASTER                 00332   00210   00275   00295
     320-PRINT-UPDATE                   00340   00262   00294   00320
     330-WRITE-NEW-MASTER               00351   00261   00274
     400-WRITE-PRINT-LINE               00354   00348   00366   00369   00372   00388
                        00390   00392   00394   00396   00398   00400
     410-PRINT-HEADING                  00359   00343
     420-PRINT-TOTALS                   00374   00231
     EXAMPLE                            00003

     PAGE 0016/COBTEXT  EXAMPLE         STATEMENT OFFSETS
                                        Entry = example
          STMT   OFFSET   STMT   OFFSET   STMT   OFFSET   STMT   OFFSET   ...

           198       58    259      76C    304      C14    360     11D0
           203       58    260      798    305      C38    361     11F4
           205      110    261      7AC    307      CC0    362     11FC
           207      124    262      7C0    308      CE4    363     120C
           208      154    263      7D4    310      D50    364     1274
           209      224    264      7F0    311      D74    365     1280
           210      238    266      814    314      DBC    366     12A0
           214      250    267      814    315      DD0    367     12B4
           215      274    268      82C    316      E14    368     12C0
           217      2A0    269      848    317      E90    369     12D4
           218      2A4    270      85C    318      F04    370     12E8
           219      2D4    272      880    319      F6C    371     12F4
           220      2E8    273      880    320      F98    372     1308
           221      31C    274      898    321      FAC    374     1330
           222      330    275      8AC    322      FC0    375     1330
           224      360    277      8D4    324      FE4    378     134C
           225      360    278      8D4    326      FE4    379     1358
           227      374    279      8D8    328     1004    380     13C4
           231      37C    280      8E8    329     1020    381     1430
           236      390    281      8FC    330     1030    382     149C
           237      3FC    282      910    332     1048    383     1508
           240      414    283      924    334     1048    384     1574
           242      414    284      92C    335     1064    385     15E0
           243      424    285      940    338     1078    387     1604
           244      438    287      958    340     10A8    388     1624
           245      440    288      958    342     10A8    389     1638
           247      468    289      96C    343     10C0    390     1680
           248      468    290      9B0    346     10D4    391     1694
           249      488    291      A2C    347     10F4    392     16DC
           250      4E4    292      AA0    348     1100    393     16F0
           251      56C    293      B08    349     1114    394     1738
           252      5D8    294      B34    351     1138    395     174C
           253      620    295      B48    352     1138    396     1794
           254      638    296      B5C    354     1168    397     17A8
           255      658    297      B70    355     1168    398     17F0
           256      6B4    299      B94    356     1194    399     1804
           257      6FC    301      B94    357     11A8    400     184C
           258      73C    302      BB8    359     11D0

     0 ERROR(s), 0 QUESTIONABLE, 0 WARNING(s)

         DATA AREA IS      834 BYTES.
         CPU TIME = 0:00:03.  WALL TIME = 0:00:05.

-->



MPE/iX 5.0 Documentation