Skip to content

Commit e267736

Browse files
Merge pull request aws-samples#27 from muraria/main
Sample Code for JCL2StepFunctions blog post
2 parents 07da451 + 12924f5 commit e267736

File tree

30 files changed

+1669
-0
lines changed

30 files changed

+1669
-0
lines changed

cdk/jcl2stepfunctionsblog/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.idea
2+
.vscode
3+
*.iml

cdk/jcl2stepfunctionsblog/Mainframe/.gitkeep

Whitespace-only changes.
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
000100 IDENTIFICATION DIVISION. 00010000
2+
000200 PROGRAM-ID. COBDB21. 00020001
3+
000210******************************************** 00021001
4+
000220*COBOL PROGRAM TO ACCOMPANY JCL TO STEP * 00022001
5+
000230*FUNCTION DEMO * 00023001
6+
000220*OVERLY SIMPLIFIED PROGRAM TO FETCH FROM * 00022001
7+
000230*A DB2 EMPLOYEE DATABASE USING CURSOR * 00023001
8+
000240******************************************** 00024001
9+
000250 ENVIRONMENT DIVISION. 00025000
10+
000260 DATA DIVISION. 00026000
11+
000270 WORKING-STORAGE SECTION. 00027000
12+
000271***************************************************** 00027101
13+
000272* WORKAREAS * 00027201
14+
000273***************************************************** 00027301
15+
000274 77 NOT-FOUND PIC S9(9) COMP VALUE +100. 00027401
16+
000275 77 INPUT-SWITCH PIC X VALUE 'Y'. 00027501
17+
000276 88 NOMORE-INPUT VALUE 'N'. 00027601
18+
000280******************************************** 00028003
19+
000287* SQL COMMUNICATION AREA * 00028701
20+
000288******************************************** 00028801
21+
000289 EXEC SQL 00028903
22+
000290 INCLUDE SQLCA 00029003
23+
000291 END-EXEC. 00029103
24+
000292******************************************** 00029201
25+
000293* DCLS * 00029302
26+
000294******************************************** 00029401
27+
000295 EXEC SQL 00029503
28+
000296 INCLUDE EMP 00029603
29+
000297 END-EXEC. 00029703
30+
000298******************************************** 00029801
31+
000299* DCLGENS 00029901
32+
000300******************************************** 00030001
33+
000301 EXEC SQL 00030103
34+
000302 DECLARE CR1 CURSOR FOR 00030203
35+
000303 SELECT EMPNO,FIRSTNME,MIDINIT,LASTNAME 00030308
36+
000310 FROM EMP 00031001
37+
000400 END-EXEC. 00040003
38+
000600 PROCEDURE DIVISION. 00060001
39+
000700 MAIN-PARA. 00070001
40+
000800* DISPLAY " SIMPLE COBOL DB2 CURSOR PROGRAM : " 00080009
41+
000900* OPENING CURSOR 00090001
42+
001000 EXEC SQL 00100003
43+
001100 OPEN CR1 00110003
44+
001200 END-EXEC. 00120003
45+
001300 IF SQLCODE = 0 00130003
46+
001400* DISPLAY " EMP CURSOR OPEN : " 00140009
47+
001401 DISPLAY "*********************************************" 00140110
48+
001402 DISPLAY "EMPNO ,FIRST NAME , LAST NAME " 00140211
49+
001403 DISPLAY "*********************************************" 00140310
50+
001500 ELSE 00150003
51+
001600 DISPLAY ' OPEN FAILED WITH SQLCODE : ' SQLCODE 00160003
52+
001700 END-IF. 00170003
53+
001800 PERFORM FETCH-PARA 00180003
54+
001900 UNTIL SQLCODE NOT EQUAL 0 00190009
55+
001910 EXEC SQL 00191003
56+
001920 CLOSE CR1 00192003
57+
001930 END-EXEC 00193009
58+
001931 DISPLAY " " 00193109
59+
001932 DISPLAY "*********************************************" 00193210
60+
001934 DISPLAY " END OF REPORT " 00193409
61+
001935 DISPLAY "*********************************************" 00193510
62+
001940 STOP RUN. 00194005
63+
002100 FETCH-PARA. 00210001
64+
002110 INITIALIZE DCLEMP 00211009
65+
002200 EXEC SQL 00220001
66+
002300 FETCH CR1 00230003
67+
002310 INTO :DCL-EMPNO, 00231003
68+
002320 :DCL-FIRSTNME, 00232003
69+
002330 :DCL-MIDINIT, 00233007
70+
002340 :DCL-LASTNAME 00234003
71+
002400 END-EXEC 00240009
72+
002500 IF SQLCODE = 0 00250003
73+
002510 DISPLAY DCL-EMPNO, "," 00251003
74+
002520 DCL-FIRSTNME-TEXT , ", " 00252009
75+
002540 DCL-LASTNAME-TEXT 00254008
76+
002550 ELSE 00255003
77+
002560 IF SQLCODE = 100 00256003
78+
002570 CONTINUE 00257003
79+
002580 ELSE 00258003
80+
002590 DISPLAY 'DB2 ERROR' 00259003
81+
002591 END-IF 00259103
82+
002600 END-IF. 00260004
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
******************************************************************
2+
* DCLGEN TABLE(DSN81210.EMP) *
3+
* LIBRARY(AWSCODR.AWS.DCL(EMP)) *
4+
* ACTION(REPLACE) *
5+
* LANGUAGE(COBOL) *
6+
* NAMES(DCL-) *
7+
* QUOTE *
8+
* LABEL(YES) *
9+
* COLSUFFIX(YES) *
10+
* ... IS THE DCLGEN COMMAND THAT MADE THE FOLLOWING STATEMENTS *
11+
******************************************************************
12+
EXEC SQL DECLARE DSN81210.EMP TABLE
13+
( EMPNO CHAR(6) NOT NULL,
14+
FIRSTNME VARCHAR(12) NOT NULL,
15+
MIDINIT CHAR(1) NOT NULL,
16+
LASTNAME VARCHAR(15) NOT NULL,
17+
WORKDEPT CHAR(3),
18+
PHONENO CHAR(4),
19+
HIREDATE DATE,
20+
JOB CHAR(8),
21+
EDLEVEL SMALLINT,
22+
SEX CHAR(1),
23+
BIRTHDATE DATE,
24+
SALARY DECIMAL(9, 2),
25+
BONUS DECIMAL(9, 2),
26+
COMM DECIMAL(9, 2)
27+
) END-EXEC.
28+
******************************************************************
29+
* COBOL DECLARATION FOR TABLE DSN81210.EMP *
30+
******************************************************************
31+
01 DCLEMP.
32+
* *************************************************************
33+
* EMPNO
34+
10 DCL-EMPNO PIC X(6).
35+
* *************************************************************
36+
10 DCL-FIRSTNME.
37+
* FIRSTNME LENGTH
38+
49 DCL-FIRSTNME-LEN
39+
PIC S9(4) USAGE COMP.
40+
* FIRSTNME
41+
49 DCL-FIRSTNME-TEXT
42+
PIC X(12).
43+
* *************************************************************
44+
* MIDINIT
45+
10 DCL-MIDINIT PIC X(1).
46+
* *************************************************************
47+
10 DCL-LASTNAME.
48+
* LASTNAME LENGTH
49+
49 DCL-LASTNAME-LEN
50+
PIC S9(4) USAGE COMP.
51+
* LASTNAME
52+
49 DCL-LASTNAME-TEXT
53+
PIC X(15).
54+
* *************************************************************
55+
* WORKDEPT
56+
10 DCL-WORKDEPT PIC X(3).
57+
* *************************************************************
58+
* PHONENO
59+
10 DCL-PHONENO PIC X(4).
60+
* *************************************************************
61+
* HIREDATE
62+
10 DCL-HIREDATE PIC X(10).
63+
* *************************************************************
64+
* JOB
65+
10 DCL-JOB PIC X(8).
66+
* *************************************************************
67+
* EDLEVEL
68+
10 DCL-EDLEVEL PIC S9(4) USAGE COMP.
69+
* *************************************************************
70+
* SEX
71+
10 DCL-SEX PIC X(1).
72+
* *************************************************************
73+
* BIRTHDATE
74+
10 DCL-BIRTHDATE PIC X(10).
75+
* *************************************************************
76+
* SALARY
77+
10 DCL-SALARY PIC S9(7)V9(2) USAGE COMP-3.
78+
* *************************************************************
79+
* BONUS
80+
10 DCL-BONUS PIC S9(7)V9(2) USAGE COMP-3.
81+
* *************************************************************
82+
* COMM
83+
10 DCL-COMM PIC S9(7)V9(2) USAGE COMP-3.
84+
******************************************************************
85+
* THE NUMBER OF COLUMNS DESCRIBED BY THIS DECLARATION IS 14 *
86+
******************************************************************
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
******************************************************************
2+
* DCLGEN TABLE(DSN81210.EMP) *
3+
* LIBRARY(AWSCODR.AWS.DCL(DCLEMP)) *
4+
* ACTION(REPLACE) *
5+
* LANGUAGE(COBOL) *
6+
* QUOTE *
7+
* LABEL(YES) *
8+
* ... IS THE DCLGEN COMMAND THAT MADE THE FOLLOWING STATEMENTS *
9+
******************************************************************
10+
EXEC SQL DECLARE DSN81210.EMP TABLE
11+
( EMPNO CHAR(6) NOT NULL,
12+
FIRSTNME VARCHAR(12) NOT NULL,
13+
MIDINIT CHAR(1) NOT NULL,
14+
LASTNAME VARCHAR(15) NOT NULL,
15+
WORKDEPT CHAR(3),
16+
PHONENO CHAR(4),
17+
HIREDATE DATE,
18+
JOB CHAR(8),
19+
EDLEVEL SMALLINT,
20+
SEX CHAR(1),
21+
BIRTHDATE DATE,
22+
SALARY DECIMAL(9, 2),
23+
BONUS DECIMAL(9, 2),
24+
COMM DECIMAL(9, 2)
25+
) END-EXEC.
26+
******************************************************************
27+
* COBOL DECLARATION FOR TABLE DSN81210.EMP *
28+
******************************************************************
29+
01 DCLEMP.
30+
* *************************************************************
31+
10 EMPNO PIC X(6).
32+
* *************************************************************
33+
10 FIRSTNME.
34+
49 FIRSTNME-LEN PIC S9(4) USAGE COMP.
35+
49 FIRSTNME-TEXT PIC X(12).
36+
* *************************************************************
37+
10 MIDINIT PIC X(1).
38+
* *************************************************************
39+
10 LASTNAME.
40+
49 LASTNAME-LEN PIC S9(4) USAGE COMP.
41+
49 LASTNAME-TEXT PIC X(15).
42+
* *************************************************************
43+
10 WORKDEPT PIC X(3).
44+
* *************************************************************
45+
10 PHONENO PIC X(4).
46+
* *************************************************************
47+
10 HIREDATE PIC X(10).
48+
* *************************************************************
49+
10 JOB PIC X(8).
50+
* *************************************************************
51+
10 EDLEVEL PIC S9(4) USAGE COMP.
52+
* *************************************************************
53+
10 SEX PIC X(1).
54+
* *************************************************************
55+
10 BIRTHDATE PIC X(10).
56+
* *************************************************************
57+
10 SALARY PIC S9(7)V9(2) USAGE COMP-3.
58+
* *************************************************************
59+
10 BONUS PIC S9(7)V9(2) USAGE COMP-3.
60+
* *************************************************************
61+
10 COMM PIC S9(7)V9(2) USAGE COMP-3.
62+
******************************************************************
63+
* THE NUMBER OF COLUMNS DESCRIBED BY THIS DECLARATION IS 14 *
64+
******************************************************************

0 commit comments

Comments
 (0)