Skip to content

Commit 72977e3

Browse files
authored
Merge pull request #225 from tanto259/add-db2-labs
Add Db2 Labs files from the environment to GitHub
2 parents 3671a94 + 5a3a44f commit 72977e3

File tree

18 files changed

+653
-0
lines changed

18 files changed

+653
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
COBOL labs
2+
4 folders
3+
4+
1. **cbl** – COBOL source code
5+
2. **jcl** – JCL to compile, link, and execute COBOL source code
6+
3. **jclproc** – JCL PROCEDUREs used for labs in JCL folder
7+
8+
Note:
9+
**cbl** folder
10+
- copy cobol source members into student id.CBL partitioned data set name
11+
12+
**jcl** folder
13+
- copy jcl members into student id.JCL partitioned data set name
14+
- jcl members reference student id.CBL and student id.LOAD partitioned data set names
15+
- jcl setup for DB2 assume Course 1 data are available
16+
17+
**jclproc** folder
18+
- members need to be copied into z/OS JES procedure library
19+
20+
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
IDENTIFICATION DIVISION. 00010000
2+
*----------------------- 00020000
3+
PROGRAM-ID. CBLDB21 00021000
4+
AUTHOR. Otto B. Relational 00022000
5+
00040000
6+
ENVIRONMENT DIVISION. 01290000
7+
*-------------------- 01300000
8+
CONFIGURATION SECTION. 01310000
9+
INPUT-OUTPUT SECTION. 01330000
10+
FILE-CONTROL. 01340000
11+
SELECT REPOUT 01370000
12+
ASSIGN TO UT-S-REPORT. 01380000
13+
01390000
14+
DATA DIVISION. 01400000
15+
*------------- 01410000
16+
FILE SECTION. 01420000
17+
FD REPOUT 01490000
18+
RECORD CONTAINS 120 CHARACTERS 01500000
19+
LABEL RECORDS ARE OMITTED 01510000
20+
DATA RECORD IS REPREC. 01520000
21+
01521000
22+
01 REPREC. 01530000
23+
05 ACCT-NO-O PIC X(8). 01541000
24+
05 ACCT-LIMIT-O PIC $$,$$$,$$9.99. 01542000
25+
05 ACCT-BALANCE-O PIC $$,$$$,$$9.99. 01543000
26+
05 ACCT-LASTN-O PIC X(20). 01544000
27+
05 ACCT-FIRSTN-O PIC X(15). 01545000
28+
05 ACCT-COMMENT-O PIC X(50). 01546000
29+
01547000
30+
WORKING-STORAGE SECTION. 01550000
31+
***************************************************** 02531000
32+
* SQL INCLUDE FOR SQLCA * 02532000
33+
***************************************************** 02533000
34+
EXEC SQL INCLUDE SQLCA END-EXEC. 02534000
35+
***************************************************** 02535000
36+
* SQL DECLARATION FOR VIEW ACCOUNTS * 02536000
37+
***************************************************** 02537000
38+
EXEC SQL DECLARE Z#####T TABLE 02538000
39+
(ACCTNO CHAR(8) NOT NULL, 02539000
40+
LIMIT DECIMAL(9,2) , 02539100
41+
BALANCE DECIMAL(9,2) , 02539200
42+
SURNAME CHAR(20) NOT NULL, 02539300
43+
FIRSTN CHAR(15) NOT NULL, 02539400
44+
ADDRESS1 CHAR(25) NOT NULL, 02539500
45+
ADDRESS2 CHAR(20) NOT NULL, 02539600
46+
ADDRESS3 CHAR(15) NOT NULL, 02539700
47+
RESERVED CHAR(7) NOT NULL, 02539800
48+
COMMENTS CHAR(50) NOT NULL) 02539900
49+
END-EXEC. 02540100
50+
***************************************************** 02540200
51+
* SQL CURSORS * 02540300
52+
***************************************************** 02540400
53+
EXEC SQL DECLARE CUR1 CURSOR FOR 02540700
54+
SELECT * FROM Z#####T 02540900
55+
END-EXEC. 02541000
56+
***************************************************** 02542000
57+
* STRUCTURE FOR CUSTOMER RECORD * 02543000
58+
***************************************************** 02544000
59+
01 CUSTOMER-RECORD. 02545000
60+
02 ACCT-NO PIC X(8). 02546000
61+
02 ACCT-LIMIT PIC S9(7)V99 COMP-3. 02547000
62+
02 ACCT-BALANCE PIC S9(7)V99 COMP-3. 02548000
63+
02 ACCT-LASTN PIC X(20). 02549000
64+
02 ACCT-FIRSTN PIC X(15). 02550000
65+
02 ACCT-ADDR1 PIC X(25). 02560000
66+
02 ACCT-ADDR2 PIC X(20). 02570000
67+
02 ACCT-ADDR3 PIC X(15). 02580000
68+
02 ACCT-RSRVD PIC X(7). 02590000
69+
02 ACCT-COMMENT PIC X(50). 02600000
70+
03280000
71+
PROCEDURE DIVISION. 03290000
72+
*------------------ 03300000
73+
03310000
74+
***************************************************** 03390000
75+
* MAIN PROGRAM ROUTINE * 03400000
76+
***************************************************** 03410000
77+
PROG-START. 03420000
78+
OPEN OUTPUT REPOUT. 03450000
79+
PERFORM LIST-ALL. 03520000
80+
PROG-END. 03540000
81+
CLOSE REPOUT. 03570000
82+
GOBACK. 03580006
83+
***************************************************** 04270000
84+
* LIST ALL CLIENTS * 04280000
85+
***************************************************** 04290000
86+
LIST-ALL. 04300000
87+
EXEC SQL OPEN CUR1 END-EXEC. 04320000
88+
EXEC SQL FETCH CUR1 INTO :CUSTOMER-RECORD END-EXEC. 04350000
89+
PERFORM PRINT-AND-GET1 04470000
90+
UNTIL SQLCODE IS NOT EQUAL TO ZERO. 04480000
91+
EXEC SQL CLOSE CUR1 END-EXEC. 04510000
92+
PRINT-AND-GET1. 04530000
93+
PERFORM PRINT-A-LINE. 04540000
94+
EXEC SQL FETCH CUR1 INTO :CUSTOMER-RECORD END-EXEC. 04560000
95+
PRINT-A-LINE. 05200000
96+
MOVE ACCT-NO TO ACCT-NO-O. 05220000
97+
MOVE ACCT-LIMIT TO ACCT-LIMIT-O. 05230000
98+
MOVE ACCT-BALANCE TO ACCT-BALANCE-O. 05240000
99+
MOVE ACCT-LASTN TO ACCT-LASTN-O. 05250000
100+
MOVE ACCT-FIRSTN TO ACCT-FIRSTN-O. 05260000
101+
MOVE ACCT-COMMENT TO ACCT-COMMENT-O. 05270000
102+
WRITE REPREC AFTER ADVANCING 2 LINES. 05310000

0 commit comments

Comments
 (0)