Advertisement
jelledebock

Auto2.cob

Nov 5th, 2014
727
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 4.64 KB | None | 0 0
  1.  000001        IDENTIFICATION DIVISION.
  2.  000002        PROGRAM-ID. AUTO2.
  3.  000003        ENVIRONMENT DIVISION.
  4.  000004        INPUT-OUTPUT SECTION.
  5.  000005        FILE-CONTROL.
  6.  000006            SELECT AUTOFILE ASSIGN TO AUTOF2.
  7.  000007            SELECT OUTPUTFILE ASSIGN TO AUTORES2.
  8.  000008        DATA DIVISION.
  9.  000009        FILE SECTION.
  10.  000010        FD AUTOFILE.
  11.  000011        01 AUTORECORD.
  12.  000012            02 KLANTNAAM PIC X(20).
  13.  000013            02 KLANTINIT PIC X(1).
  14.  000014            02 WAGENTYPE PIC X(1).
  15.  000015            02 AFSTAND   PIC 9(5).
  16.  000016            02 DAGEN     PIC 9(3).
  17.  000017        FD OUTPUTFILE.
  18.  000018        01 FILERECORD PIC X(46).
  19.  000019        WORKING-STORAGE SECTION.
  20.  000020        01 OUTPUTRECORD.
  21.  000021            02 FILLER     PIC X(23).
  22.  000022            02 OWAGENTYPE PIC X(1).
  23.  000023            02            PIC X.
  24.  000024            02 OAFSTAND   PIC Z(5).
  25.  000025            02            PIC X(2).
  26.  000026            02 ODAGEN     PIC ZZZ.
  27.  000027            02            PIC X(2).
  28.  000028            02 BETALEN    PIC $ZZZZZ.99.
  29.  000029        01 TITEL.
  30.  000030            02 FILLER     PIC X(5).
  31.  000031            02 TITKLANT   PIC X(20).
  32.  000032            02 TITINIT    PIC X(1).
  33.  000033            02 FILLER     PIC X(20).
  34.  000034        01 TOTAALLIJN.
  35.  000035            02 FILLER     PIC X(10).
  36.  000036            02 TOTAL      PIC X(7).
  37.  000037            02 TBETALEN   PIC $ZZZZZ.99.
  38.  000038            02 FILLER     PIC X(10).
  39.  000039
  40.  000040        01 READCTRL PIC 9 VALUE ZERO.
  41.  000041            88 EOF VALUE 1.
  42.  000042        01 DAGPRIJS PIC 99V99.
  43.  000043        01 KMPRIJS PIC 9V99.
  44.  000044        01 TOTAAL  PIC 9(9)V99.
  45.  000045        01 SUBTOTAAL  PIC 9(9)V99.
  46.  000046        01 CURCLIENT PIC X(20).
  47.  000047
  48.  000048        PROCEDURE DIVISION.
  49.  000049        MAIN.
  50.  000050                OPEN INPUT AUTOFILE
  51.  000051                OPEN OUTPUT OUTPUTFILE
  52.  000052                READ AUTOFILE
  53.  000053                   AT END SET EOF TO TRUE
  54.  000054                END-READ
  55.  000055                PERFORM UNTIL EOF
  56.  000056                  MOVE ZERO      TO TOTAAL
  57.  000057                  MOVE KLANTNAAM TO CURCLIENT
  58.  000058                  MOVE KLANTNAAM TO TITKLANT
  59.  000059                  MOVE KLANTINIT TO TITINIT
  60.  000060                  MOVE TITEL TO FILERECORD
  61.  000061                  WRITE FILERECORD END-WRITE
  62.  000062
  63.  000063                  PERFORM UNTIL KLANTNAAM IS NOT EQUAL TO CURCLIENT OR
  64.  000064                  EOF
  65.  000065                   PERFORM GETWAGENTYPE
  66.  000066                   PERFORM GETPRIJS
  67.  000067                   MOVE AFSTAND TO OAFSTAND
  68.  000068                   MOVE DAGEN TO ODAGEN
  69.  000069                   MOVE SUBTOTAAL TO BETALEN
  70.  000070                   MOVE OUTPUTRECORD TO FILERECORD
  71.  000071                   WRITE FILERECORD END-WRITE
  72.  000072
  73.  000073                   READ AUTOFILE
  74.  000074                     AT END SET EOF TO TRUE
  75.  000075                   END-READ
  76.  000076                  END-PERFORM
  77.  000077                  MOVE "TOTAL: " TO TOTAL
  78.  000078                  MOVE TOTAAL TO TBETALEN
  79.  000079                  MOVE TOTAALLIJN TO FILERECORD
  80.  000080                WRITE FILERECORD END-WRITE
  81.  000081                END-PERFORM
  82.  000082                CLOSE AUTOFILE
  83.  000083                CLOSE OUTPUTFILE
  84.  000084                STOP RUN
  85.  000085                .
  86.  000086        GETWAGENTYPE.
  87.  000087                EVALUATE WAGENTYPE
  88.  000088                 WHEN 1
  89.  000089                    MOVE 26.00 TO DAGPRIJS
  90.  000090                    MOVE 0.18  TO KMPRIJS
  91.  000091                    MOVE "K" TO OWAGENTYPE
  92.  000092                 WHEN 2
  93.  000093                    MOVE 32.00 TO DAGPRIJS
  94.  000094                    MOVE 0.22  TO KMPRIJS
  95.  000095                    MOVE "M" TO OWAGENTYPE
  96.  000096                 WHEN 3
  97.  000097                    MOVE 43.00 TO DAGPRIJS
  98.  000098                    MOVE 0.28  TO KMPRIJS
  99.  000099                    MOVE "G" TO OWAGENTYPE
  100.  000100                END-EVALUATE
  101.  000101                .
  102.  000102        GETPRIJS.
  103.  000103               IF AFSTAND > 100 THEN
  104.  000104                  COMPUTE TOTAAL = TOTAAL + DAGPRIJS * DAGEN +
  105.  000105                                     (KMPRIJS * (AFSTAND - 100))
  106.  000106                  COMPUTE SUBTOTAAL = DAGPRIJS * DAGEN
  107.  000107                             + (KMPRIJS * (AFSTAND - 100))
  108.  000108               ELSE
  109.  000109                  COMPUTE TOTAAL = TOTAAL + DAGPRIJS * DAGEN
  110.  000110                  COMPUTE SUBTOTAAL = DAGPRIJS * DAGEN
  111.  000111               END-IF
  112.  000112               .
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement