You are on page 1of 4

IDENTIFICATION DIVISION.

00010000
PROGRAM-ID. T1BK2065. 00020000
00030000
ENVIRONMENT DIVISION. 00040000
CONFIGURATION SECTION. 00050000
INPUT-OUTPUT SECTION. 00060000
FILE-CONTROL. 00070000
00080000
SELECT TI01-ACCT-FILE ASSIGN TO ACCTFILE 00090000
ORGANIZATION IS SEQUENTIAL 00100000
ACCESS MODE IS SEQUENTIAL 00110000
FILE STATUS IS WS-ACCT-STATUS. 00120000
00130000
DATA DIVISION. 00140000
00150000
FILE SECTION. 00160000
00170000
FD TI01-ACCT-FILE 00180000
RECORD CONTAINS 99 CHARACTERS 00190000
RECORDING MODE IS F. 00200000
00210000
01 TI01-ACCT-RECORD. 00220000
05 EF-FIRSTNME PIC X(15). 00230000
05 ET-LASTNAME. 00240000
10 EF-ADDRESS PIC A(30). 00250000
10 EF-CITY PIC A(15). 00260000
10 EF-ZIPCODE PIC X(05). 00270000
05 EF-ACCTTYPE PIC X(01). 00280000
05 EF-ACCTBAL PIC 9(10).99 00290000
00380000
WORKING-STORAGE SECTION. 00390000
00400000
01 WS-FILE-STATUS. 00410000
05 WS-ACCT-STATUS PIC X(02). 00420000
88 ACCT-IO-STATUS VALUE '00'. 00430000
88 ACCT-EOF VALUE '10'. 00440000
00450000
01 WS-COUNTERS. 00460000
05 WS-READ-CTR PIC 9(04) VALUE ZEROS. 00470000
05 WS-INS-CTR PIC 9(04) VALUE ZEROS. 00480000
00490000
*********************************************************** 00500000
* DB2 SECTION BEGINS HERE 00510000
*********************************************************** 00520000
00530000
01 WS-DB2-DATE-VARIABLES. 00531000
05 WS-TIMESTAMP PIC X(26). 00532000
00533000
01 WS-SQL-CODES. 00540000
05 WS-SQLCODE PIC S9(03) SIGN LEADING 00550000
SEPARATE. 00560000
88 SQL-SUCCESS VALUE 000. 00570000
88 SQL-DUPROW VALUE -803. 00580000
00590000
00600000
EXEC SQL INCLUDE TSTMPDCL END-EXEC. 00610000
00620000
EXEC SQL INCLUDE SQLCA END-EXEC. 00630000
00640000
00650000
PROCEDURE DIVISION. 00660000
0000-MAIN-LINE SECTION. 00670000
00680000
PERFORM 1000-INITIALIZE. 00690000
00700000
PERFORM 2000-PROCESS. 00710000
00720000
PERFORM 9000-TERMINATE. 00730000
00740000
1000-INITIALIZE SECTION. 00750000
00760000
DISPLAY '---------------------------------------' 00770000
DISPLAY 'T1BK1063 IS INITIALIZED................' 00780000
DISPLAY '---------------------------------------' 00790000
. 00800000
00810000
2000-PROCESS SECTION. 00820000
00830000
PERFORM 2100-OPEN-FILES. 00840000
00850000
PERFORM 2200-READ-ACCT-FILE UNTIL EMPL-EOF. 00860000
00870000
2100-OPEN-FILES SECTION. 00880000
00890000
OPEN INPUT TI01-ACCT-FILE 00900000
EVALUATE TRUE 00910000
WHEN ACCT-IO-STATUS 00920000
DISPLAY '---------------------------------------' 00930000
DISPLAY 'ACCT FILE IS OPENED ..................+' 00940000
DISPLAY '---------------------------------------' 00950000
WHEN OTHER 00960000
DISPLAY '---------------------------------------' 00970000
DISPLAY 'ERROR OPENING EMPL FILE ..............+' 00980000
DISPLAY 'FILE STATUS IS', ' ', WS-ACCT-STATUS 00990000
DISPLAY '---------------------------------------' 01000000
STOP RUN 01010000
END-EVALUATE. 01020000
01030000
2200-READ-ACCT-FILE SECTION. 01040000
01050000
READ TI01-ACCT-FILE 01060000
EVALUATE TRUE 01070000
WHEN ACCT-IO-STATUS 01080000
ADD 1 TO WS-READ-CTR 01090000
PERFORM 2300-INSERT-ACCT-RECORD 01100000
WHEN EMPL-EOF 01110000
DISPLAY '---------------------------------------' 01120000
DISPLAY 'NO MORE RECORDS IN ACCT FILE .........+' 01130000
DISPLAY '---------------------------------------' 01140000
WHEN OTHER 01150000
DISPLAY '---------------------------------------' 01160000
DISPLAY 'ERROR READING ACCT FILE ..............+' 01170000
DISPLAY 'FILE STATUS IS', ' ', WS-ACCT-STATUS 01180000
DISPLAY '---------------------------------------' 01190000
STOP RUN 01200000
END-EVALUATE. 01210000
01220000
2300-INSERT-EMPL-RECORD SECTION. 01230000
01240000
MOVE EF-FIRSTNME TO ET-ACCTNO 01250000
MOVE 12 TO ET-FIRSTNME-LEN 01260000
MOVE EF-FIRSTNME TO ET-FIRSTNME-TEXT 01270000
MOVE EF-LASTNAME TO ET-LASTNAME-TEXT 01300000
MOVE EF-CITY TO ET-CITY 01380000
MOVE EF-ZIPCODE TO ET-ZIPCODE 01390000
MOVE EF-DOB TO ET-DOB 01400000
MOVE EF-ACCTTYPE TO ET-ACCTTYPE 01400100
MOVE EF-ACCTBAL TO ET-ACCTBAL 01400200
PERFORM 2400-OBTAIN-TIMESTAMP 01400300
MOVE WS-TIMESTAMP TO ET-UPDT-TIMESTAMP 01401000
MOVE 'TECN065' TO ET-USERID 01402000
01410000
EXEC SQL INSERT INTO TSTMPTBL VALUES ( 01420000
: ET-FIRSTNME, 01440000
: ET-LASTNAME, 01460000
: ET-ADDRESS, 01470000
: ET-CITY, 01480000
: ET-ZIPCODE, 01490000
: ET-DOB, 01500000
: ET-ACCTTYPE, 01510000
: ET-ACCTBAL 01520000
: ET-UPDT-TIMESTAMP, 01561000
: ET-USERID ) 01562000
END-EXEC. 01570000
MOVE SQLCODE TO WS-SQLCODE 01580000
EVALUATE TRUE 01590000
WHEN SQL-SUCCESS 01600000
ADD 1 TO WS-INS-CTR 01610000
DISPLAY '---------------------------------------' 01620000
DISPLAY 'ACCT REC INSERTED', ' ', EF-ACCT-NO, 01630000
DISPLAY '---------------------------------------' 01640000
WHEN SQL-DUPROW 01650000
DISPLAY '---------------------------------------' 01660000
DISPLAY 'REC EXISTS FOR ', ' ', EF-ACCT-NO 01670000
DISPLAY '---------------------------------------' 01680000
WHEN OTHER 01690000
DISPLAY '---------------------------------------' 01700000
DISPLAY 'ERROR INSERTIN REC', ' ', WS-SQLCODE 01710000
DISPLAY '---------------------------------------' 01720000
CALL 'DSNTIAR' USING SQLCA 01730000
PERFORM 9000-TERMINATE 01740000
END-EVALUATE. 01750000
01760000
2400-OBTAIN-TIMESTAMP SECTION. 01761000
01762000
EXEC SQL SELECT CURRENT_TIMESTAMP 01762100
INTO :WS-TIMESTAMP 01762200
FROM SYSIBM.SYSDUMMY1 01762300
END-EXEC. 01762400
01762500
DISPLAY '---------------------------------------' 01762600
DISPLAY 'CURRENT TIMESTMP IS', ' ', WS-TIMESTAMP 01762700
DISPLAY '---------------------------------------' 01762800
. 01763000
9000-TERMINATE SECTION. 01770000
01780000
DISPLAY '---------------------------------------' 01790000
DISPLAY '# OF RECORDS READ', ' ', WS-READ-CTR 01800000
DISPLAY '# OF RECORDS INS ', ' ', WS-INS-CTR 01810000
DISPLAY '---------------------------------------' 01820000
01830000
CLOSE TI01-ACCT-FILE 01840000
EVALUATE TRUE 01850000
WHEN ACCT-IO-STATUS 01860000
DISPLAY '---------------------------------------' 01870000
DISPLAY 'ACCT FILE IS CLOSED ..................+' 01880000
DISPLAY '---------------------------------------' 01890000
WHEN OTHER 01900000
DISPLAY '---------------------------------------' 01910000
DISPLAY 'ERROR CLOSING ACCT FILE ..............+' 01920000
DISPLAY 'FILE STATUS IS', ' ', WS-ACCT-STATUS 01930000
DISPLAY '---------------------------------------' 01940000
STOP RUN 01950000
END-EVALUATE. 01960000
GOBACK. 01970000

You might also like