Anda di halaman 1dari 5

000100 IDENTIFICATION DIVISION.

000200 PROGRAM-ID.
PDF91P1.
000300 AUTHOR.
NITISH KUMAR.
000400 DATE-WRITTEN. JULY 05,2013.
000500 DATE-COMPILED. JULY 05,2013.
000600*---------------------------------------------------------------000700 ENVIRONMENT DIVISION.
000800*---------------------------------------------------------------000900 INPUT-OUTPUT SECTION.
001000 FILE-CONTROL.
001100
SELECT BI001-EMPFILE1 ASSIGN TO EMPDDI
001200
ORGANIZATION IS SEQUENTIAL
001300
ACCESS MODE IS SEQUENTIAL
001400
FILE STATUS IS WS-FS1.
001500
001600
SELECT BO001-EMPFILE2 ASSIGN TO EMPDDO
001700
ORGANIZATION IS SEQUENTIAL
001800
ACCESS MODE IS SEQUENTIAL
001900
FILE STATUS IS WS-FS2.
002000
002100*---------------------------------------------------------------002200 DATA DIVISION.
002300*---------------------------------------------------------------002400 FILE SECTION.
002500 FD BI001-EMPFILE1.
002600 01 BI001-EMPREC1.
002700
02 BI001-EMPNO
PIC 9(6).
002800
02 BI001-EMPNAME
PIC X(10).
002900
02 BI001-EMPADD
PIC X(25).
003000
02 BI001-EMPSTCD
PIC A(2).
003100
02 BI001-EMPPHNO
PIC 9(10).
003110
003200 FD BO001-EMPFILE2.
003300 01 BO001-EMPREC2.
003400
02 BO001-CUSTID
PIC 9(6).
003410
02 FILLER
PIC X(1).
003500
02 BO001-COVREG
PIC X(6).
003510
02 FILLER
PIC X(1).
003600
02 BO001-STCD
PIC A(2).
003610
02 FILLER
PIC X(1).
003700
02 BO001-BONUS
PIC 9(4).
003900
02 FILLER
PIC X(59).
004000
004100 WORKING-STORAGE SECTION.
004200 01 WS-FS1
PIC 9(2).
004300
88 CS-FS1-SUCC
VALUE 00.
004400
88 CS-FS1-EOF
VALUE 10.
004500
88 CS-FS1-SIZEERR
VALUE 39.
004600
88 CS-FS1-ALREADYOPEN
VALUE 41.
004700
88 CS-FS1-NOTOPEN
VALUE 42.
004800
88 CS-FS1-WRONGMD
VALUE 48.
004810
004900 01 WS-FS2
PIC 9(2).
005000
88 CS-FS2-SUCC
VALUE 00.
005100
88 CS-FS2-SIZEERR
VALUE 39.
005300
88 CS-FS2-ALREADYOPEN
VALUE 41.
005400
88 CS-FS2-NOTOPEN
VALUE 42.
005500
88 CS-FS2-WRONGMD
VALUE 48.
005600
005610 01 WS-CR
PIC X(2).

00010000
00020000
00030000
00040000
00050000
00060000
00070000
00080000
00090000
00100000
00110000
00120000
00130000
00140000
00150000
00160000
00170000
00180000
00190001
00200000
00210000
00220000
00230000
00240000
00250000
00260000
00270000
00280000
00290000
00300000
00310000
00311000
00320000
00330000
00340001
00341002
00350001
00351002
00360001
00361002
00370001
00390002
00400000
00410000
00420000
00430000
00440000
00450001
00460000
00470000
00480000
00481000
00490000
00500000
00510001
00530000
00540000
00550000
00560000
00561001

005620
88 CS-CR1-TNKN
VALUE 'TN' 'KN'.
005630
88 CS-CR2-KLMA
VALUE 'KL' 'MA'.
005640
88 CS-CR3-HAPN
VALUE 'HA' 'PN'.
005650 01 WS-BONUS
PIC 9(4).
005660 01 WS-COVREG
PIC X(6).
005670 01 WS-OTHERS
PIC X(6) VALUE 'OTHERS'.
005700*---------------------------------------------------------------005800 PROCEDURE DIVISION.
005900*---------------------------------------------------------------006000 0000-MAIN-PARA.
006100
PERFORM 1000-INITIALIZATION-PARA
006200
THRU 1000-INITIALIZATION-PARA-EXIT
006300
006400
PERFORM 2000-PROCESS-PARA
006500
THRU 2000-PROCESS-PARA-EXIT
006600
006700
PERFORM 9000-TERMINATION-PARA
006800
THRU 9000-TERMINATION-PARA-EXIT
006900
.
007000 0000-MAIN-PARA-EXIT.
007100
EXIT
007200
.
007300 1000-INITIALIZATION-PARA.
007400
INITIALIZE WS-FS1
007500
WS-FS2
007510
WS-CR
007520
WS-BONUS
007530
WS-COVREG
007600
.
007700 1000-INITIALIZATION-PARA-EXIT.
007800
EXIT
007900
.
008000 2000-PROCESS-PARA.
008100
PERFORM 2100-OPEN-PARA
008200
THRU 2100-OPEN-PARA-EXIT
008300
008400
PERFORM 2200-READ-PARA
008500
THRU 2200-READ-PARA-EXIT UNTIL CS-FS1-EOF
008600
008700
PERFORM 2300-CLOSE-PARA
008800
THRU 2300-CLOSE-PARA-EXIT
008900
.
009000 2000-PROCESS-PARA-EXIT.
009100
EXIT
009200
.
009300 2100-OPEN-PARA.
009400
OPEN INPUT BI001-EMPFILE1.
009500
009600
EVALUATE TRUE
009700
WHEN CS-FS1-SUCC
009800
DISPLAY 'INPUT PS FILE IS OPENED SUCCESSFULLY'
009900
010000
WHEN CS-FS1-SIZEERR
010100
DISPLAY 'ATTRIBUTES MISMATCH'
010200
PERFORM 9000-TERMINATION-PARA
010300
THRU 9000-TERMINATION-PARA-EXIT
010400
010500
WHEN OTHER
010600
DISPLAY 'ERROR CODE :' WS-FS1
010700
PERFORM 9000-TERMINATION-PARA

00562001
00563001
00564001
00565001
00566001
00567002
00570000
00580000
00590000
00600000
00610000
00620000
00630000
00640000
00650000
00660000
00670000
00680000
00690000
00700000
00710000
00720000
00730000
00740000
00750000
00751001
00752002
00753002
00760000
00770000
00780000
00790000
00800001
00810001
00820001
00830001
00840001
00850001
00860001
00870001
00880001
00890001
00900001
00910001
00920001
00930001
00940001
00950001
00960001
00970001
00980001
00990001
01000001
01010001
01020001
01030001
01040001
01050001
01060001
01070001

010800
010900
011000
011100
011200
011300
011400
011500
011600
011700
011800
011900
012000
012100
012200
012300
012400
012500
012600
012700
012800
012900
013000
013100
013200
013300
013600
013700
013800
013900
013910
013920
013930
013940
013950
013960
014000
014100
014200
014300
014400
014500
014600
014700
014800
014900
015000
015100
015200
015300
015400
015500
015510
015600
015700
015800
015900
015901
015902
015903

THRU 9000-TERMINATION-PARA-EXIT

01080001
01090001
01100001
OPEN OUTPUT BO001-EMPFILE2.
01110001
01120001
EVALUATE TRUE
01130001
WHEN CS-FS2-SUCC
01140001
DISPLAY 'OUTPUT PS FILE IS OPENED SUCCESSFULLY'
01150001
01160001
WHEN CS-FS2-SIZEERR
01170001
DISPLAY 'ATTRIBUTES MISMATCH'
01180001
PERFORM 9000-TERMINATION-PARA
01190001
THRU 9000-TERMINATION-PARA-EXIT
01200001
01210001
WHEN OTHER
01220001
DISPLAY 'ERROR CODE :' WS-FS2
01230001
PERFORM 9000-TERMINATION-PARA
01240001
THRU 9000-TERMINATION-PARA-EXIT
01250001
END-EVALUATE
01260001
.
01270001
2100-OPEN-PARA-EXIT.
01280001
EXIT
01290001
.
01300001
2200-READ-PARA.
01310001
READ BI001-EMPFILE1
01320001
01330001
EVALUATE TRUE
01360001
WHEN CS-FS1-SUCC
01370001
DISPLAY 'INPUT PS FILE RECORD ARE READ SUCCESSFULLY'01380001
PERFORM 2210-COMPUTE-WRITE-PARA
01390001
THRU 2210-COMPUTE-WRITE-PARA-EXIT
01391001
01392001
WHEN CS-FS1-EOF
01393002
DISPLAY ' END OF FILE REACHED'
01394002
CONTINUE
01395002
01396002
WHEN CS-FS1-WRONGMD
01400001
DISPLAY 'INPUT PS FILE IS OPENED IN WRONG MODE'
01410001
PERFORM 9000-TERMINATION-PARA
01420001
THRU 9000-TERMINATION-PARA-EXIT
01430001
01440001
WHEN OTHER
01450001
DISPLAY 'ERROR CODE :' WS-FS1
01460001
PERFORM 9000-TERMINATION-PARA
01470001
THRU 9000-TERMINATION-PARA-EXIT
01480001
END-EVALUATE
01490001
.
01500001
2200-READ-PARA-EXIT.
01510001
EXIT
01520001
.
01530001
2210-COMPUTE-WRITE-PARA.
01540001
MOVE BI001-EMPSTCD
TO WS-CR
01550001
01551001
EVALUATE TRUE
01560001
WHEN CS-CR1-TNKN
01570001
COMPUTE WS-BONUS = ( .50 * 10000)
01580001
MOVE 0001
TO WS-COVREG
01590001
PERFORM 2211-WRITE-PARA
01590101
THRU 2211-WRITE-PARA-EXIT
01590201
01590301
END-EVALUATE

015910
015920
015930
015931
015932
015935
015940
015950
015960
015970
015980
016000
016100
016200
016300
016400
016500
016510
016600
016610
016620
016700
016800
016900
017000
017100
017110
017111
017120
017130
017140
017150
017160
017161
017170
017180
017190
017191
017192
017193
017194
017195
017196
017197
017198
017199
017200
017201
017202
017203
017204
017205
017210
017300
017400
017500
017600
017700
017800
017900

WHEN CS-CR2-KLMA
COMPUTE WS-BONUS = ( .25 * 10000)
MOVE 0002
TO WS-COVREG
PERFORM 2211-WRITE-PARA
THRU 2211-WRITE-PARA-EXIT
WHEN CS-CR3-HAPN
COMPUTE WS-BONUS = ( .25 * 10000)
MOVE 0003
TO WS-COVREG
PERFORM 2211-WRITE-PARA
THRU 2211-WRITE-PARA-EXIT
WHEN OTHER
MOVE BI001-EMPNO
TO BO001-CUSTID
MOVE WS-OTHERS
TO BO001-COVREG
MOVE BI001-EMPSTCD
TO BO001-STCD
MOVE 0000
TO BO001-BONUS
DISPLAY '****************************'
DISPLAY BO001-EMPREC2
DISPLAY '****************************'
DISPLAY 'INPUT RECORD DISPLAYED IN SPOOL'
END-EVALUATE
.
2210-COMPUTE-WRITE-PARA-EXIT.
EXIT
.
2211-WRITE-PARA.
MOVE SPACES
TO BO001-EMPREC2
MOVE BI001-EMPNO
TO BO001-CUSTID
MOVE WS-COVREG
TO BO001-COVREG
MOVE BI001-EMPSTCD
TO BO001-STCD
MOVE WS-BONUS
TO BO001-BONUS
WRITE BO001-EMPREC2
EVALUATE TRUE
WHEN CS-FS2-SUCC
DISPLAY 'OUTPUT PS FILE IS WRITTEN SUCCESSFULLY'
WHEN CS-FS2-WRONGMD
DISPLAY 'OUTPUT PS FILE IS OPEN IS WRONG MODE'
PERFORM 9000-TERMINATION-PARA
THRU 9000-TERMINATION-PARA-EXIT
WHEN OTHER
DISPLAY 'ERROR CODE :' WS-FS2
PERFORM 9000-TERMINATION-PARA
THRU 9000-TERMINATION-PARA-EXIT
END-EVALUATE
.
2211-WRITE-PARA-EXIT.
EXIT
.
2300-CLOSE-PARA.
CLOSE BI001-EMPFILE1
EVALUATE TRUE
WHEN CS-FS1-SUCC
DISPLAY 'INPUT PS FILE IS CLOSED SUCCESSFULLY'
WHEN CS-FS1-NOTOPEN

01591001
01592001
01593001
01593101
01593201
01593501
01594001
01595001
01596001
01597001
01598001
01600001
01610001
01620001
01630002
01640001
01650001
01651002
01660001
01661002
01662002
01670001
01680001
01690001
01700001
01710001
01711001
01711101
01712001
01713001
01714001
01715001
01716001
01716101
01717001
01718001
01719001
01719101
01719201
01719301
01719401
01719501
01719601
01719701
01719801
01719901
01720001
01720101
01720201
01720301
01720401
01720501
01721001
01730001
01740001
01750001
01760001
01770001
01780001
01790001

018000
DISPLAY 'THE FILE IS NOT OPEN'
018100
PERFORM 9000-TERMINATION-PARA
018200
THRU 9000-TERMINATION-PARA-EXIT
018300
018400
WHEN OTHER
018500
DISPLAY 'ERROR CODE :' WS-FS1
018600
PERFORM 9000-TERMINATION-PARA
018700
THRU 9000-TERMINATION-PARA-EXIT
018800
END-EVALUATE
018900
018910
CLOSE BO001-EMPFILE2
019000
EVALUATE TRUE
019100
WHEN CS-FS2-SUCC
019200
DISPLAY 'OUTPUT PS FILE IS CLOSED SUCCESSFULLY'
019300
019400
WHEN CS-FS2-NOTOPEN
019500
DISPLAY 'THE FILE IS NOT OPEN'
019600
PERFORM 9000-TERMINATION-PARA
019700
THRU 9000-TERMINATION-PARA-EXIT
019800
019900
WHEN OTHER
020000
DISPLAY 'ERROR CODE :' WS-FS2
020100
PERFORM 9000-TERMINATION-PARA
020200
THRU 9000-TERMINATION-PARA-EXIT
020300
END-EVALUATE
020400
.
020500 2300-CLOSE-PARA-EXIT.
020600
EXIT
020700
.
020800 9000-TERMINATION-PARA.
020900
STOP RUN
021000
.
021100 9000-TERMINATION-PARA-EXIT.
021200
EXIT
021300
.

01800001
01810001
01820001
01830001
01840001
01850001
01860001
01870001
01880001
01890001
01891001
01900001
01910001
01920001
01930001
01940001
01950001
01960001
01970001
01980001
01990001
02000001
02010001
02020001
02030001
02040001
02050001
02060001
02070001
02080001
02090001
02100001
02110001
02120001
02130001

Anda mungkin juga menyukai