Advertisement
Guest User

Untitled

a guest
Jul 10th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 4.27 KB | None | 0 0
  1.  000001        IDENTIFICATION DIVISION.
  2.  000002        PROGRAM-ID.       EMPLOYR.
  3.  000003        AUTHOR.           ALEX EVANGELOU.
  4.  000004        INSTALLATION.     LAUNCHCODE NEWARK.
  5.  000005        DATE-WRITTEN.     01-07-95.
  6.  000006       **************************************************************
  7.  000007       * THIS PROGRAM CALCULATES THE PAYROLL
  8.  000008       **************************************************************
  9.  000009        ENVIRONMENT DIVISION.
  10.  000010        INPUT-OUTPUT SECTION.
  11.  000011        FILE-CONTROL.
  12.  000012            SELECT EMPLOYEE-PAYROLL-FILE ASSIGN TO PAYIN.
  13.  000013            SELECT PAYROLL-REPORT-FILE   ASSIGN TO PAYROUT.
  14.  000014        DATA DIVISION.
  15.  000015        FILE SECTION.
  16.  000016        FD  EMPLOYEE-PAYROLL-FILE
  17.  000017            RECORDING MODE IS F
  18.  000018            LABEL RECORDS ARE STANDARD
  19.  000019            BLOCK CONTAINS 0.
  20.  000020        01  PAYROLL-RECORD               PIC X(80).
  21.  000021
  22.  000022        FD  PAYROLL-REPORT-FILE
  23.  000023            RECORDING MODE IS F
  24.  000024            LABEL RECORDS ARE STANDARD
  25.  000025            BLOCK CONTAINS 0.
  26.  000026        01  REPORT-RECORD                PIC X(80).
  27.  000027
  28.  000028        WORKING-STORAGE SECTION.
  29.  000029        01  WS-MASTER-RECORD.
  30.  000030            05 WS-LAST-NME               PIC X(20).
  31.  000031            05 WS-FIRST-NME              PIC X(20).
  32.  000032            05 WS-HOURLY-RATE            PIC S9(3)V99 COMP-3.
  33.  000033            05 FILLER                    PIC X(37).
  34.  000034
  35.  000035        01  WS-REPORT-RECORD.
  36.  000036            05                           PIC X(1).
  37.  000037            05 RPT-FIRST-NAME            PIC X(15).
  38.  000038            05                           PIC X(2).
  39.  000039            05 RPT-LAST-NAME             PIC X(15).
  40.  000040            05                           PIC X(2).
  41.  000041            05 RPT-LIT1                  PIC X(6) VALUE 'MAKES'.
  42.  000042            05 RPT-RATE                  PIC $$$9.99-.
  43.  000043            05 RPT-LIT2                  PIC X(11) VALUE ' PER HOUR.'.
  44.  000044            05                           PIC X(3).
  45.  000045            05 RPT-MSG                   PIC X(57).
  46.  000046
  47.  000047        01  WS-SWITCH.
  48.  000048            05 MASTER-EOF-SWITCH         PIC X  VALUE 'N'.
  49.  000049                88  EOF                         VALUE 'Y'.
  50.  000050
  51.  000051        01  VARIABLES.
  52.  000052            05  COUNTER-1                PIC 9 VALUE 0.
  53.  000053            05  IN-COUNTER               PIC 9999 VALUE 0.
  54.  000054            05  OUT-COUNTER              PIC 9999 VALUE 0.
  55.  000055
  56.  000056       *-----------------------------------------------
  57.  000057        PROCEDURE DIVISION.
  58.  000058            PERFORM INITIALIZATION
  59.  000059            PERFORM PROCESS-MASTER UNTIL EOF
  60.  000060            PERFORM EOF-PROCESS
  61.  000061            STOP RUN.
  62.  000062       *
  63.  000063        INITIALIZATION.
  64.  000064            OPEN   INPUT   EMPLOYEE-PAYROLL-FILE
  65.  000065                   OUTPUT  PAYROLL-REPORT-FILE
  66.  000066            .
  67.  000067       *
  68.  000068        PROCESS-MASTER.
  69.  000069            READ  EMPLOYEE-PAYROLL-FILE INTO WS-MASTER-RECORD
  70.  000070               AT END
  71.  000071                  SET EOF TO TRUE
  72.  000072               NOT AT END
  73.  000073                  ADD  1              TO   IN-COUNTER
  74.  000074                  IF WS-HOURLY-RATE < 9.00 THEN MOVE
  75.  000075                     'THIS IS ILLEGAL - TIME FOR A RAISE'
  76.  000076                     TO RPT-MSG
  77.  000077                     ELSE MOVE SPACES TO RPT-MSG
  78.  000078                  END-IF
  79.  000079                  MOVE WS-FIRST-NME   TO RPT-FIRST-NAME
  80.  000080                  MOVE WS-LAST-NME    TO RPT-LAST-NAME
  81.  000081                  MOVE WS-HOURLY-RATE TO RPT-RATE
  82.  000082                  WRITE REPORT-RECORD FROM WS-REPORT-RECORD
  83.  000083                  ADD  1              TO  OUT-COUNTER
  84.  000084               END-READ.
  85.  000085
  86.  000086       *
  87.  000087        EOF-PROCESS.
  88.  000088            DISPLAY 'NUMBER OF RECORDS READ    = ' IN-COUNTER
  89.  000089            DISPLAY 'NUMBER OF RECORDS WRITTEN = ' OUT-COUNTER
  90.  000090            CLOSE EMPLOYEE-PAYROLL-FILE
  91.  000091                  PAYROLL-REPORT-FILE
  92.  000092            .
  93.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement