COMTRAN Reconstruction

J28-6169 · January 1962

90.05 listing

PDF page 196 of 221. Download the scanned PDF

The page as scanned

The scan of PDF page 196 of J28-6169
Select the scan to open it at full size.

The text read off it

[90.05 sample-program listing, PDF p.196]

Compilation listing of the sample problem, page 5 — PROCEDURE DIVISION (main match/compute logic, FICA and withholding-tax routines) Compilation of Sample Problem, printer listing page 5 (PDF p.196).

        DATE 10/18/61  TIME  2.45  ACCOUNT                     ID. CT PUBLICATIONS         PAGE  5

                                         FILE ERROROUT,
                                         GO TO GET.DETAIL.
        197,00   71504  END.OF.MASTERS. IF D.EMP.NO = HIGH.VALUE THEN GO TO END.OF.RUN
                                         OTHERWISE SET M.EMP.NO = HIGH.VALUE.
        198,00   71507  END.OF.DETAILS. IF M.EMP.NO = HIGH.VALUE THEN GO TO END.OF.RUN
                                         OTHERWISE SET D.EMP.NO = HIGH.VALUE,  GO TO HIGH.DETAIL.
        199,00   71512  END.OF.RUN.     DO DEPARTMENT.END,
                                         MOVE CORRESPONDING GRAND.TOTALS TO PAYRECORD,
                                         MOVE GRAND.TOTALS HOURS TO PAYRECORD HRS,
                                         MOVE GRAND.TOTALS INSURANCE TO PAYRECORD INS.PREM,
                                         MOVE GRAND.TOTALS RETIREMENT TO PAYRECORD RET.PREM,
                                         MOVE 'GT' TO PAYRECORD DEPARTMENT,
                                         MOVE  BLANKS TO PAYRECORD NAME, PAYRECORD EMPLOYEE,
                                         PAYRECORD MONTH, PAYRECORD DAY, PAYRECORD YEAR,
                                         MOVE GRAND.TOTALS BONDPURCHASES TO PAYRECORD
                                         BONDENOMINATION,  FILE PAYRECORD,
                                         CLOSE ALL FILES,  STOP RUN.
        200,00   71513  CHECK.NEW.DEPT. IF CURRENT.DEPT IS NOT EQUAL TO D.DEPT THEN
                                         DO DEPARTMENT.END OTHERWISE GO TO COMPUTE.PAY.
        201,00                          MOVE ZEROS TO INTERNAL.TOTALS,
                                         MOVE D.DEPT TO CURRENT.DEPT.
        202,00   71516  COMPUTE.PAY.    MOVE DETAIL DATE TO MASTER DATE,  MOVE DETAIL
                                         HOURS TO WORKING HOURS, PAYRECORD HRS.
        203,00                          IF WORKING HOURS GT 40.0 THEN SET WORKING GROSS = (WORKING
                                         HOURS * 1.5 -20) * MASTER RATE OTHERWISE SET WORKING
                                         GROSS = WORKING HOURS * MASTER RATE.
        204,00                          DO FICA.ROUTINE,
                                         DO WITHOLDING.TAX.ROUTINE.
        205,00                          IF M.BND.DED IS NOT EQUAL TO ZERO THEN DO BOND.ROUTINE
                                         OTHERWISE MOVE BLANKS TO PAYRECORD BONDEDUCTION,PAYRECORD
                                         BONDENOMINATION.
        206,00                          DO SEARCH FOR INDEX = 1(1)12.
        207,00   71523  NET.            SET WORKING NETPAY = WORKING GROSS - WORKING FICA - WORKING
                                         WHT - WORKING RETIREMENT - WORKING INSURANCE - M.BND.DED.
        208,00                          ADD CORRESPONDING WORKING TO MASTER TOTALS, INTERNAL.TOTALS,
                                         MOVE CORRESPONDING DETAIL TO PAYRECORD, CHECK,
                                         MOVE CORRESPONDING WORKING TO PAYRECORD,
                                         MOVE MASTER NAME TO PAYRECORD NAME, CHECK NAME,
                                         MOVE WORKING NETPAY TO CHECK AMOUNT,
                                         FILE CHECK,
                                         FILE PAYRECORD,
                                         FILE MASTER.
        209,00                          GO TO GET.MASTER.
        210,00   71524  FICA.ROUTINE.   BEGIN SECTION.
        211,00                          SET WORKING FICA = .03 * WORKING GROSS,
                                         ADD WORKING FICA TO MASTER FICA.
        212,00                          IF MASTER FICA GT 144.00 THEN SET WORKING FICA = WORKING
                                         FICA - (MASTER FICA - 144.00), SET MASTER FICA = 144.00.
        213,00           GN)077END FICA.ROUTINE.
        214,00   71527  WITHOLDING.TAX.ROUTINE.  BEGIN SECTION.
        215,00                          SET WORKING WHT = 0.18 * (WORKING GROSS - 13 * MASTER
                                         EXEMPTIONS),
                                         SET WORKING WHT = WORKING WHT * TR(WORKING WHT GT 0),
                                         ADD WORKING WHT TO MASTER WHT.
        216,00           GN)078END WITHOLDING.TAX.ROUTINE.

Transcriber’s note: WITHOLDING (statements 214–216) is reproduced exactly as printed by the compiler (the source deck's own spelling), not a transcription error. The generated labels (GN)077, GN)078, …) abut the following keyword with no space, exactly as printed.