您的位置:首页 > 运维架构

Generate DB2 table definition COPYBOOK

2016-11-11 22:55 246 查看
When accessing DB2 table in a COBOL program, usually we need know the table definition COPYBOOK.

Utility DCLGEN could be used to generate this COPYBOOK file.

For example: when table was defined as:
CREATE TABLE TESTTAB(COLA INT, COLB CHAR(10))

JCL JOB

//GENTBCPY JOB (DSNTEP4),'GENTBCPY',REGION=0M,CLASS=2,MSGCLASS=X,
// NOTIFY=&SYSUID
//*=============================================================
//*========GENERATE COPYBOOK FOR DB2 TABLE USING DCLGEN=========
//*=============================================================
//STEPGEN EXEC PGM=IKJEFT01,DYNAMNBR=20
//STEPLIB DD DSN=DSN910.SDSNEXIT,DISP=SHR
// DD DSN=DSN910.SDSNLOAD,DISP=SHR
// DD DSN=DSN910.RUNLIB.LOAD,DISP=SHR
// DD DSN=<DSN>.SDSNEXIT,DISP=SHR
//SYSTSIN DD *
DSN SYS(<DSN>)
DCLGEN TABLE(TESTTAB) -
LIBRARY('<UID>.<TARGET>.<PDS>.COPY(TESTTAB)') -
ACTION(REPLACE) -
APOST -
LANGUAGE(IBMCOB) -
STRUCTURE(TESTTAB-RECORD)
END
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN DD DUMMY
After job execution finished, you can find the generated COPYBOOK in PDS: <UID>.<TARGET>.<PDS>.COPY

This COPYBOOK can later be used directly in COBOL program through:

    EXEC SQL INCLUDE TESTTAB  END-EXEC.

The content of COPYBOOK TESTTAB may like:

000001 ******************************************************************
000002 * DCLGEN TABLE(TESTTAB) *
000003 * LIBRARY(<UID>.<TARGET>.<PDS>.COPY(TESTTAB)) *
000004 * ACTION(REPLACE) *
000005 * LANGUAGE(COBOL) *
000006 * STRUCTURE(TESTTAB-RECORD) *
000007 * APOST *
000008 * ... IS THE DCLGEN COMMAND THAT MADE THE FOLLOWING STATEMENTS *
000009 ******************************************************************
000010 EXEC SQL DECLARE TESTTAB TABLE
000011 ( COLA INTEGER,
000012 COLB CHAR(10)
000013 ) END-EXEC.
000014 ******************************************************************
000015 * COBOL DECLARATION FOR TABLE TESTTAB *
000016 ******************************************************************
000017 01 TESTTAB-RECORD.
000018 10 COLA PIC S9(9) USAGE COMP.
000019 10 COLB PIC X(10).
000020 ******************************************************************
000021 * THE NUMBER OF COLUMNS DESCRIBED BY THIS DECLARATION IS 2 *
000022 ******************************************************************

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: