DSNTEP2
DSNTEP2 is a sample DB2 program that allows you to dynamically execute SQL statements in batch.
JCL to Execute DSNTEP2
//STEP01 EXEC PGM=IKJEFT01
//STEPLIB DD DSN=D0977.DB2.DBT1.DSNLOAD,DISP=SHR
//DBRMLIB DD DISP=SHR,DSN=D0977.DSN610.SDSNSAMP
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DBT1)
RUN PROGRAM(DSNTEP2) PLAN(DSNTEP61) -
LIB('D0977.DB2.DBT1.RUNLIB')
END
//*
//SYSIN DD *
SELECT CUST_NBR, CR_GRP
FROM DBAADMIN.TCO88002
WHERE A_BAL > 1000.00;
SELECT AVG(BAL_AMOUNT) FROM DBAADMIN.TCO88002;
Sample Output
PAGE 1
***INPUT STATEMENT:
SELECT CUST_NBR, CR_GRP
FROM DBAADMIN.TCO88002
WHERE BAL_AMOUNT > 1000.00;
+-------------------+
| CUST_NBR | CR_GRP |
+-------------------+
1_| 1030856 | 79 |
2_| 1076111 | 79 |
3_| 1255482 | 79 |
4_| 1397113 | 79 |
5_| 1401952 | 79 |
6_| 1425506 | 79 |
7_| 1458644 | 79 |
8_| 1469497 | 43 |
9_| 1495795 | 79 |
10_| 1522938 | 46 |
11_| 1734854 | 79 |
12_| 1851676 | 46 |
PAGE 1
***INPUT STATEMENT:
SELECT AVG(BAL_AMOUNT) FROM DBAADMIN.TCO88002;
+--------------------+
| |
+--------------------+
1_| 4504.25495335 |
+--------------------+
SUCCESSFUL RETRIEVAL OF 1 ROW(S)
Note:
You may change the terminator to something other that then semi-colon (see other control
Statements below)
If report spans more that 133 characters, it will place a column that does not fit onto a second page.
Examples:
--Average Balance Report
--SELECT AVG(BAL_AMOUNT) FROM DBAADMIN.TCO88002;
Other Control Statements
--#SET TERMINATOR value
example: --#SET TERMINATOR +
SELECT CUST_NBR, CR_GRP FROM DBAADMIN.TCO88002+
--#SET ROWS_FETCH nn
example: --#SET ROWS_FETCH 10
SELECT CUST_NBR, CR_GRP FROM DBAADMIN.TCO88002;
--#SET ROWS_OUT nn
example: --#SET ROWS_OUT 05
SELECT CUST_NBR, CR_GRP FROM DBAADMIN.TCO88002;
Example of Output
PAGE 1
--#SET TERMINATOR +
--#SET ROWS_FETCH 10
--#SET ROWS_OUT 05
***INPUT STATEMENT:
SELECT CUST_NBR, CR_GRP
FROM DBAADMIN.TCO88002
WHERE BAL_AMOUNT > 1000.00+
+-------------------+
| CUST_NBR | CR_GRP |
+-------------------+
1_| 1030856 | 79 |
2_| 1076111 | 79 |
3_| 1255482 | 79 |
4_| 1397113 | 79 |
5_| 1401952 | 79 |
+-------------------+
SUCCESSFUL RETRIEVAL OF 10 ROW(S)
PAGE 1
Note:
10 rows were retrieved.