Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ***********************************************************************
- *-----I D E N T I F I C A T I O N D I V I S I O N-------------------*
- ***********************************************************************
- IDENTIFICATION DIVISION.
- PROGRAM-ID. CBLH02JN.
- AUTHOR. Jan Noel Calayag.
- ***********************************************************************
- *-----E N V I R O M E N T D I V I S I O N---------------------------*
- ***********************************************************************
- ENVIRONMENT DIVISION.
- INPUT-OUTPUT SECTION.
- FILE-CONTROL.
- SELECT TRANS-FILE ASSIGN TO CBLHO2I1
- ORGANIZATION IS SEQUENTIAL.
- SELECT VALID-TRANS-FILE ASSIGN TO CBLHO2O1
- ORGANIZATION IS SEQUENTIAL.
- SELECT VALID-PROOF-LIST ASSIGN TO CBLHO2O2
- ORGANIZATION IS SEQUENTIAL.
- ***********************************************************************
- *-----D A T A D I V I S I O N---------------------------------------*
- ***********************************************************************
- DATA DIVISION.
- * ********************************************************************
- * * F I L E S E C T I O N *
- * * *
- * * INPUT FILE: TRANS-FILE -> TRANS-REC *
- * * OUTPUT FILE: VALID-TRANS-FILE -> VALID-TRANS-REC *
- * * VALID-PROOF-LIST -> VALID-PROOF-REC *
- * ********************************************************************
- FILE SECTION.
- FD TRANS-FILE
- RECORD CONTAINS 80 CHARACTERS
- LABEL RECORDS ARE STANDARD
- DATA RECORD IS TRANS-REC.
- 01 TRANS-REC PIC X(80).
- FD VALID-TRANS-FILE
- RECORD CONTAINS 80 CHARACTERS
- LABEL RECORDS ARE STANDARD
- DATA RECORD IS VALID-TRANS-REC.
- 01 VALID-TRANS-REC PIC X(80).
- FD VALID-PROOF-LIST
- RECORD CONTAINS 133 CHARACTERS
- LABEL RECORDS ARE STANDARD
- DATA RECORD IS VALID-PROOF-REC.
- 01 VALID-PROOF-REC PIC X(133).
- * ********************************************************************
- * * W O R K I N G S T O R A G E S E C T I O N *
- * * *
- * * INPUT FILE: TRANS-FILE -> TRANS-REC *
- * * OUTPUT FILE: VALID-TRANS-FILE -> VALID-TRANS-REC *
- * * VALID-PROOF-LIST -> VALID-PROOF-REC *
- * ********************************************************************
- WORKING-STORAGE SECTION.
- * *****************************************************************
- * * TRANSACTION FILE *
- * *****************************************************************
- 01 WS-TRANS-FILE PIC X(80)
- VALUE SPACES.
- 01 WS-TRANS-FILE-HDR REDEFINES WS-TRANS-FILE.
- 05 TRANS-FILE-HDR-DATE.
- 10 TRANS-FILE-HDR-CC PIC 9(02).
- 10 TRANS-FILE-HDR-YY PIC 9(02).
- 10 TRANS-FILE-HDR-MM PIC 9(02).
- 10 TRANS-FILE-HDR-DD PIC 9(02).
- 05 FILLER PIC X(72).
- 01 WS-TRANS-FILE-REC REDEFINES WS-TRANS-FILE.
- 05 TRANS-FILE-REC-EMPNO PIC 9(06).
- 05 FILLER PIC X(67).
- 05 TRANS-FILE-REC-DATE.
- 10 TRANS-FILE-REC-CC PIC 9(02).
- 10 TRANS-FILE-REC-YY PIC 9(02).
- 10 TRANS-FILE-REC-MM PIC 9(02).
- 05 TRANS-FILE-REC-CODE PIC 9(01).
- 01 WS-TRANS-FILE-TC0 REDEFINES WS-TRANS-FILE.
- 05 FILLER PIC X(06).
- 05 TRANS-FILE-REC-EE-PRCNT PIC X(05).
- 05 TRANS-FILE-REC-EE-PRCNT-9 REDEFINES TRANS-FILE-REC-EE-PRCNT
- PIC 9(03)V99.
- 05 TRANS-FILE-REC-ER-PRCNT PIC X(05).
- 05 TRANS-FILE-REC-ER-PRCNT-9 REDEFINES TRANS-FILE-REC-ER-PRCNT
- PIC 9(03)V99.
- 05 FILLER PIC X(64).
- 01 WS-TRANS-FILE-TC1 REDEFINES WS-TRANS-FILE.
- 05 FILLER PIC X(06).
- 05 TRANS-FILE-REC-EE-CONTR PIC X(10).
- 05 TRANS-FILE-REC-EE-CONTR-9 REDEFINES TRANS-FILE-REC-EE-CONTR
- PIC 9(08)V99.
- 05 TRANS-FILE-REC-ER-CONTR PIC X(10).
- 05 TRANS-FILE-REC-ER-CONTR-9 REDEFINES TRANS-FILE-REC-ER-CONTR
- PIC 9(08)V99.
- 05 FILLER PIC X(54).
- 01 WS-TRANS-FILE-TC2 REDEFINES WS-TRANS-FILE.
- 05 FILLER PIC X(06).
- 05 TRANS-FILE-REC-EE-EARNG PIC X(10).
- 05 TRANS-FILE-REC-EE-EARNG-9 REDEFINES TRANS-FILE-REC-EE-EARNG
- PIC 9(08)V99.
- 05 TRANS-FILE-REC-ER-EARNG PIC X(10).
- 05 TRANS-FILE-REC-ER-EARNG-9 REDEFINES TRANS-FILE-REC-ER-EARNG
- PIC 9(08)V99.
- 05 FILLER PIC X(54).
- * *****************************************************************
- * * VALIDATION PROOF LIST *
- * *****************************************************************
- 01 WS-PROOF-LIST-HDR1.
- 05 FILLER PIC X(12)
- VALUE 'PROGRAM ID :'.
- 05 FILLER PIC X(01)
- VALUE SPACES.
- 05 FILLER PIC X(08)
- VALUE 'CBLHO2JN'.
- 05 FILLER PIC X(26)
- VALUE SPACES.
- 05 FILLER PIC X(34)
- VALUE 'POINTWEST TECHNOLOGIES CORPORATION'.
- 01 WS-PROOF-LIST-HDR2.
- 05 FILLER PIC X(12)
- VALUE 'RUN DATE :'.
- 05 FILLER PIC X(01)
- VALUE SPACES.
- 05 PROOF-LIST-HDR-MM PIC 9(02)
- VALUE ZERO.
- 05 FILLER PIC X(01)
- VALUE '/'.
- 05 PROOF-LIST-HDR-DD PIC 9(02)
- VALUE ZERO.
- 05 FILLER PIC X(01)
- VALUE '/'.
- 05 PROOF-LIST-HDR-CC PIC 9(02)
- VALUE ZERO.
- 05 PROOF-LIST-HDR-YY PIC 9(02)
- VALUE ZERO.
- 05 FILLER PIC X(23)
- VALUE SPACES.
- 05 FILLER PIC X(35)
- VALUE 'PROVIDENT FUND VALIDATION PROOFLIST'.
- 01 WS-PROOF-LIST-HDR3.
- 05 FILLER PIC X(54)
- VALUE SPACES.
- 05 FILLER PIC X(05)
- VALUE 'AS OF'.
- 05 FILLER PIC X(01)
- VALUE SPACES.
- 05 PROOF-LIST-HDR-MONTH PIC X(09)
- VALUE SPACES.
- 88 PROOF-LIST-HDR-MONTH01 VALUE ' JANUARY'.
- 88 PROOF-LIST-HDR-MONTH02 VALUE ' FEBRUARY'.
- 88 PROOF-LIST-HDR-MONTH03 VALUE ' MARCH'.
- 88 PROOF-LIST-HDR-MONTH04 VALUE ' APRIL'.
- 88 PROOF-LIST-HDR-MONTH05 VALUE ' MAY'.
- 88 PROOF-LIST-HDR-MONTH06 VALUE ' JUNE'.
- 88 PROOF-LIST-HDR-MONTH07 VALUE ' JULY'.
- 88 PROOF-LIST-HDR-MONTH08 VALUE ' AUGUST'.
- 88 PROOF-LIST-HDR-MONTH09 VALUE 'SEPTEMBER'.
- 88 PROOF-LIST-HDR-MONTH10 VALUE ' OCTOBER'.
- 88 PROOF-LIST-HDR-MONTH11 VALUE ' NOVEMBER'.
- 88 PROOF-LIST-HDR-MONTH12 VALUE ' DECEMBER'.
- 05 FILLER PIC X(01)
- VALUE ','.
- 05 PROOF-LIST-HDR-CENTURY PIC 9(02)
- VALUE ZERO.
- 05 PROOF-LIST-HDR-YEAR PIC 9(02)
- VALUE ZERO.
- 01 WS-PROOF-LIST-HDR4.
- 05 FILLER PIC X(04)
- VALUE 'TRAN'.
- 05 FILLER PIC X(02)
- VALUE SPACES.
- 05 FILLER PIC X(08)
- VALUE 'EMPLOYEE'.
- 05 FILLER PIC X(09)
- VALUE SPACES.
- 05 FILLER PIC X(08)
- VALUE 'EMPLOYEE'.
- 05 FILLER PIC X(20)
- VALUE SPACES.
- 05 FILLER PIC X(08)
- VALUE 'EMPLOYER'.
- 05 FILLER PIC X(16)
- VALUE SPACES.
- 05 FILLER PIC X(16)
- VALUE 'TRANSACTION DATE'.
- 05 FILLER PIC X(14)
- VALUE SPACES.
- 05 FILLER PIC X(07)
- VALUE 'REMARKS'.
- 01 WS-PROOF-LIST-HDR5.
- 05 FILLER PIC X(04)
- VALUE 'CODE'.
- 05 FILLER PIC X(03)
- VALUE SPACES.
- 05 FILLER PIC X(06)
- VALUE 'NUMBER'.
- 05 FILLER PIC X(05)
- VALUE SPACES.
- 05 FILLER PIC X(20)
- VALUE '% CONT / CONT / EARN'.
- 05 FILLER PIC X(07)
- VALUE SPACES.
- 05 FILLER PIC X(20)
- VALUE '% CONT / CONT / EARN'.
- 05 FILLER PIC X(13)
- VALUE SPACES.
- 05 FILLER PIC X(06)
- VALUE 'CCYYMM'.
- 01 WS-PROOF-LIST PIC X(133)
- VALUE SPACES.
- 01 WS-PROOF-LIST-DTL REDEFINES WS-PROOF-LIST.
- 05 FILLER PIC X(01).
- 05 PROOF-LIST-DTL-CODE PIC X(01).
- 05 PROOF-LIST-DTL-CODE-STAT PIC X(01).
- 88 PROOF-LIST-DTL-CODE-ERR
- VALUE '*'.
- 05 FILLER PIC X(03).
- 05 PROOF-LIST-DTL-EMPNO PIC X(06).
- 05 PROOF-LIST-DTL-EMPNO-STAT PIC X(01).
- 88 PROOF-LIST-DTL-EMPNO-ERR
- VALUE '*'.
- 05 FILLER PIC X(08).
- 05 PROOF-LIST-DTL-EE PIC X(11).
- 05 PROOF-LIST-DTL-EE-9 REDEFINES PROOF-LIST-DTL-EE
- PIC ZZZZZZZ9.99.
- 05 PROOF-LIST-DTL-EE-STAT PIC X(01).
- 88 PROOF-LIST-DTL-EE-ERR
- VALUE '*'.
- 05 FILLER PIC X(17).
- 05 PROOF-LIST-DTL-ER PIC X(11).
- 05 PROOF-LIST-DTL-ER-9 REDEFINES PROOF-LIST-DTL-ER
- PIC ZZZZZZZ9.99.
- 05 PROOF-LIST-DTL-ER-STAT PIC X(01).
- 88 PROOF-LIST-DTL-ER-ERR
- VALUE '*'.
- 05 FILLER PIC X(16).
- 05 PROOF-LIST-DTL-DATE PIC X(06).
- 05 PROOF-LIST-DTL-DATE-STAT PIC X(01).
- 88 PROOF-LIST-DTL-DATE-ERR
- VALUE '*'.
- 05 FILLER PIC X(13).
- 05 PROOF-LIST-DTL-REMARKS PIC X(29).
- 88 PROOF-LIST-DTL-REMARKS-VAL
- VALUE 'VALID TRANSACTION'.
- 88 PROOF-LIST-DTL-REMARKS-INV
- VALUE 'INVALID TRANSACTION'.
- 01 WS-PROOF-LIST-FTR1.
- 05 FILLER PIC X(21)
- VALUE SPACES.
- 05 FILLER PIC X(30)
- VALUE 'TOTAL NUMBER OF RECORDS READ ='.
- 05 FILLER PIC X(01)
- VALUE SPACES.
- 05 PROOF-LIST-FTR-REC-READ PIC ZZ,ZZ9
- VALUE ZERO.
- 01 WS-PROOF-LIST-FTR2.
- 05 FILLER PIC X(21)
- VALUE SPACES.
- 05 FILLER PIC X(30)
- VALUE 'TOTAL INVALID RECORDS ='.
- 05 FILLER PIC X(01)
- VALUE SPACES.
- 05 PROOF-LIST-FTR-REC-INV PIC ZZ,ZZ9
- VALUE ZERO.
- 01 WS-PROOF-LIST-FTR3.
- 05 FILLER PIC X(21)
- VALUE SPACES.
- 05 FILLER PIC X(30)
- VALUE 'TOTAL VALID RECORDS ='.
- 05 FILLER PIC X(01)
- VALUE SPACES.
- 05 PROOF-LIST-FTR-REC-VAL PIC ZZ,ZZ9
- VALUE ZERO.
- * *****************************************************************
- * * SWITCHES, FLAGS, COUNTERS *
- * *****************************************************************
- 01 WS-FILE-STATE PIC X(01)
- VALUE 'N'.
- 88 WS-NOT-EOF VALUE 'N'.
- 88 WS-EOF VALUE 'Y'.
- 01 WS-CTR-REC-READ PIC 9(05)
- VALUE ZERO.
- 88 WS-BOF VALUE ZERO.
- 77 WS-CTR-REC-VAL PIC 9(05)
- VALUE ZERO.
- 77 WS-CTR-REC-INV PIC 9(05)
- VALUE ZERO.
- ***********************************************************************
- *-----P R O C E D U R E D I V I S I O N-----------------------------*
- ***********************************************************************
- PROCEDURE DIVISION.
- * ********************************************************************
- * * 0XXX - MAIN PROGRAM *
- * ********************************************************************
- 0000-MAIN-PROC.
- MOVE 8 TO TRANS-FILE-HDR-MM.
- MOVE 25 TO TRANS-FILE-HDR-DD.
- MOVE 19 TO TRANS-FILE-HDR-CC.
- MOVE 90 TO TRANS-FILE-HDR-YY.
- PERFORM 9000-PRINT-PROOFLIST THRU 9000-E3XIT.
- STOP RUN.
- 0000-EXIT.
- EXIT.
- * ********************************************************************
- * * 9XXX - PRINT VALIDATION PROOFLIST *
- * ********************************************************************
- 9000-PRINT-PROOFLIST.
- MOVE 199202 TO TRANS-FILE-REC-DATE.
- MOVE 19901225 TO TRANS-FILE-HDR-DATE.
- MOVE 199012 TO TRANS-FILE-REC-EMPNO.
- MOVE 2 TO TRANS-FILE-REC-CODE.
- * MOVE 009.00 TO TRANS-FILE-REC-EE-PRCNT.
- * MOVE 23.60 TO TRANS-FILE-REC-ER-PRCNT.
- * MOVE 23236969.01 TO TRANS-FILE-REC-EE-CONTR.
- * MOVE 2313.67 TO TRANS-FILE-REC-ER-CONTR.
- MOVE 10105660.00 TO TRANS-FILE-REC-EE-EARNG-9.
- MOVE 0052300.67 TO TRANS-FILE-REC-ER-EARNG-9.
- SET PROOF-LIST-DTL-EE-ERR TO TRUE.
- SET PROOF-LIST-DTL-ER-ERR TO TRUE.
- SET PROOF-LIST-DTL-REMARKS-VAL TO TRUE.
- IF WS-BOF THEN
- PERFORM 9000-PRINT-PROOFLIST-HDR THRU 9000-EXIT
- END-IF.
- * IF WS-NOT-EOF THEN
- PERFORM 9100-PRINT-PROOFLIST-DTL THRU 9100-EXIT.
- * ELSE IF WS-NOT-EOF THEN
- PERFORM 9200-PRINT-PROOFLIST-FTR THRU 9200-EXIT.
- * END-IF.
- 9000-E3XIT.
- EXIT.
- 9000-PRINT-PROOFLIST-HDR.
- MOVE TRANS-FILE-HDR-MM TO PROOF-LIST-HDR-MM.
- MOVE TRANS-FILE-HDR-DD TO PROOF-LIST-HDR-DD.
- MOVE TRANS-FILE-HDR-CC TO PROOF-LIST-HDR-CC.
- MOVE TRANS-FILE-HDR-YY TO PROOF-LIST-HDR-YY.
- EVALUATE TRANS-FILE-HDR-MM
- WHEN 01 SET PROOF-LIST-HDR-MONTH01 TO TRUE
- WHEN 02 SET PROOF-LIST-HDR-MONTH02 TO TRUE
- WHEN 03 SET PROOF-LIST-HDR-MONTH03 TO TRUE
- WHEN 04 SET PROOF-LIST-HDR-MONTH04 TO TRUE
- WHEN 05 SET PROOF-LIST-HDR-MONTH05 TO TRUE
- WHEN 06 SET PROOF-LIST-HDR-MONTH06 TO TRUE
- WHEN 07 SET PROOF-LIST-HDR-MONTH07 TO TRUE
- WHEN 08 SET PROOF-LIST-HDR-MONTH08 TO TRUE
- WHEN 09 SET PROOF-LIST-HDR-MONTH09 TO TRUE
- WHEN 10 SET PROOF-LIST-HDR-MONTH10 TO TRUE
- WHEN 11 SET PROOF-LIST-HDR-MONTH11 TO TRUE
- WHEN 12 SET PROOF-LIST-HDR-MONTH12 TO TRUE
- END-EVALUATE.
- MOVE TRANS-FILE-HDR-CC TO PROOF-LIST-HDR-CENTURY.
- MOVE TRANS-FILE-HDR-YY TO PROOF-LIST-HDR-YEAR.
- DISPLAY WS-PROOF-LIST-HDR1.
- DISPLAY WS-PROOF-LIST-HDR2.
- DISPLAY WS-PROOF-LIST-HDR3.
- DISPLAY SPACES.
- DISPLAY SPACES.
- DISPLAY WS-PROOF-LIST-HDR4.
- DISPLAY WS-PROOF-LIST-HDR5.
- DISPLAY SPACES.
- 9000-EXIT.
- EXIT.
- 9100-PRINT-PROOFLIST-DTL.
- MOVE TRANS-FILE-REC-CODE TO PROOF-LIST-DTL-CODE.
- MOVE TRANS-FILE-REC-EMPNO TO PROOF-LIST-DTL-EMPNO.
- MOVE TRANS-FILE-REC-DATE TO PROOF-LIST-DTL-DATE.
- EVALUATE TRANS-FILE-REC-CODE
- WHEN 0
- MOVE TRANS-FILE-REC-EE-PRCNT TO PROOF-LIST-DTL-EE
- MOVE TRANS-FILE-REC-ER-PRCNT TO PROOF-LIST-DTL-ER
- WHEN 1
- MOVE TRANS-FILE-REC-EE-CONTR TO PROOF-LIST-DTL-EE
- MOVE TRANS-FILE-REC-ER-CONTR TO PROOF-LIST-DTL-ER
- WHEN 2
- MOVE TRANS-FILE-REC-EE-EARNG-9 TO PROOF-LIST-DTL-EE-9
- MOVE TRANS-FILE-REC-ER-EARNG-9 TO PROOF-LIST-DTL-ER-9
- END-EVALUATE.
- DISPLAY WS-PROOF-LIST-DTL.
- 9100-EXIT.
- EXIT.
- 9200-PRINT-PROOFLIST-FTR.
- MOVE WS-CTR-REC-READ TO PROOF-LIST-FTR-REC-READ.
- MOVE WS-CTR-REC-VAL TO PROOF-LIST-FTR-REC-VAL.
- MOVE WS-CTR-REC-INV TO PROOF-LIST-FTR-REC-INV.
- DISPLAY SPACES.
- DISPLAY SPACES.
- DISPLAY WS-PROOF-LIST-FTR1.
- DISPLAY WS-PROOF-LIST-FTR2.
- DISPLAY WS-PROOF-LIST-FTR3.
- 9200-EXIT.
- EXIT.
Add Comment
Please, Sign In to add comment