??xml version="1.0" encoding="utf-8" standalone="yes"?>
会看到如下内?
... DISP=SHR, DSN=**.**.RKANPARU(**)
q就是需要查到的DSN
2.查看需要确定IP地址的LPAR的DS的KDSENV
可以看到以下内容:
KDEB_INTERFACELIST=**, **即ؓIP地址
Aspect | Compiler Option |
Source Language | APOST, CMPR2, CURRENCY, DBCS, LIB, NUMBER, QUOTE, SEQUENCE, WORD |
Date Processing | DATEPROC, INTDATE, YEARWINDOW |
Maps and Listing | LANGUAGE, LINECOUNT, LIST, MAP, OFFSET, SOURCE, SPACE, TERMINAL, VBREF, XREF |
Object Deck generation | COMPILE, DECK, NAME, OBJECT, PGMNAME |
Object Code Control | ADV, AWO, DLL, EXPORTALL, FASTSRT, OPTIMIZE, NUMPROC, OUTDD, TRUNC, ZWB |
Debugging | DUMP, FLAG, FLAGMIG, FLAGSTD, SSRANGE, TYPECHK |
Other | ADATA, ANALYZE, EXIT, IDLGEN |
PSQ顺序数据集Q数据集的一U,它相当于一个文本文Ӟ但在物理存储上完全按照数据存入的先后序存储的?/p>
PDS(PO)Q分区数据集Q相当于一个文件夹QPDS内包含若q个序的memberQ每个member都是一个数据集。但物理存储上,每个PDS包含两部分:Directory(目录)和members(数据集成?。Directory中存有每个member的名字和地址。PDS的缺hmember被删除后Q该member所占用的空间没有释放,无法立即使用Q需要对该分区数据集压羃之后才会被释放?/p>
PDSE(Library)Q扩展分区数据集Q与分区数据集的区别是,PDSE的目录可Ҏ存储member的增加而扩大,member被删除后Q其占用的空间会被立即释放。主ZPDSE又称Library?/p>
VSAMQVSAM数据集(Virtual Storage Access Method)是在虚拟存储器和树型数据l构的基上,Z满数据量大、存N度快和l护方便的要求发展v来的一U文件Ş式?/p>
HFSQ全U叫做Hierarchical file systemQ层ơ型文gpȝ。在Z/OS上定义一个HFS数据集,q个HFS数据集就是一个完整的层次型文件系l。文件系l里所看到的所有数据其实都存储在这个数据集里。从外面来看Q这是一个普通的数据集,到这个数据集里面看,里面是与其他数据集不一Ll构Q它的内部是树Şl构。从根开始,有一些节点,Q节点上再连着节点。目录和文g挂在这些节点上Q?00% UNIX风格。UNIX文gpȝ是q样的结构。可以理解ؓQHFS是在数据集里创徏了一个UNIX特别行政区,UNIX SERVICE可以在这个区域里q行UNIX方式的操作。值得注意的是Q支持HFS的数据集只能在DASD的卷上。HFS的数据集属性中的DSNTYPEQ数据集名属性)?#8220;HFS”?br />
停止cics /c cicsa
启动数据?-db9g start db2
停止数据?-db9g stop db2
然后再次输入/D A,L命oQ这Ӟ出现了DB2与CICS条目Q说明启动成功?/p>
pȝ关闭
L?/p>
s shutdown
$pjes2
setrrs shutdown
A load library contains programs ready to be executed.
一个加载库存里面包含着那些准备被调用的E序?/p>
System library pȝ?/strong>
假如你没有在~码的时候指明一个私有库Q?pȝ默认在系l库里面Lq个E序q行调用?/span>//stepname EXEC PGM=program-name
The system looks in the libraries for a member with a name or alias that is the same as the specified program-name. The most-used system library is SYS1.LINKLIB, which contains executable programs that have been processed by the linkage editor.
pȝ会根据你提供的程序的名字或者是别名L所需要的E序Q而最常用的系l库是SYS1.LINKLIB,他包含了那些已经被连接和~译的程序?br />
Private library U有?/strong>
//stepname EXEC PGM=program-name
When you code JOBLIB or STEPLIB, the system searches for the program to be executed in the library defined by the JOBLIB or STEPLIB DD statement before searching in the system libraries.
当你~写了JOBLIB 或?nbsp;STEPLIBQ那么系l就会优先搜索那些定义在JOBLIB或者STEPLIB的DD语句的库的同名程序进行调用,假如找不刎ͼpȝ׃在系l库里面L
假如用DD语句在JOB的之前的定义了一个私有库Q那么就可以用下面的q种方式调用之前定义了的库的E序?br />
//stepname EXEC PGM=*.stepname.ddname
Private libraries are particularly useful for programs used too seldom to be needed in a system library. For example, programs that prepare quarterly sales tax reports are good candidates for a private library.
U有库在实际使用上是非常有用的,而系l库是很被使用Q例如,用于季度销售税报告的程序就是一个很好的例子?/p>
Temporary library 临时?/strong>
Temporary libraries are partitioned data sets created to store a program until it is used in a later step of the same job. A temporary library is created and deleted within a job.
临时库是一个用于存储程序的分区数据集,q个数据集直到同名作业完成后被销毁,一个时库是由一个作业来创徏或者被删除?br />
When testing a newly written program, a temporary library is particularly useful for storing the load module from the linkage editor until it is executed by a later job step. Because the module will not be needed by other jobs until it is fully tested, it should not be stored in a private library or a system library.
//GO EXEC PGM=*.LKED.SYSLMOD,....
//USUAL JOB A2317P,'COMPLGO' //ASM EXEC PGM=IEV90,REGION=256K, EXECUTES ASSEMBLER // PARM=(OBJECT,NODECK,'LINECOUNT=50') //SYSPRINT DD SYSOUT=*,DCB=BLKSIZE=3509 PRINT THE ASSEMBLY LISTING //SYSPUNCH DD SYSOUT=B PUNCH THE ASSEMBLY LISTING //SYSLIB DD DSNAME=SYS1.MACLIB,DISP=SHR THE MACRO LIBRARY //SYSUT1 DD DSNAME=&&SYSUT1,UNIT=SYSDA, A WORK DATA SET // SPACE=(CYL,(10,1)) //SYSLIN DD DSNAME=&&OBJECT,UNIT=SYSDA, THE OUTPUT OBJECT DECK // SPACE=(TRK,(10,2)),DCB=BLKSIZE=3120,DISP=(,PASS) //SYSIN DD * inline SOURCE CODE . . code . /* //LKED EXEC PGM=HEWL, EXECUTES LINKAGE EDITOR // PARM='XREF,LIST,LET',COND=(8,LE,ASM) //SYSPRINT DD SYSOUT=* LINKEDIT MAP PRINTOUT //SYSLIN DD DSNAME=&&OBJECT,DISP=(OLD,DELETE) INPUT OBJECT DECK //SYSUT1 DD DSNAME=&&SYSUT1,UNIT=SYSDA, A WORK DATA SET // SPACE=(CYL,(10,1)) //SYSLMOD DD DSNAME=&&LOADMOD,UNIT=SYSDA, THE OUTPUT LOAD MODULE // DISP=(MOD,PASS),SPACE=(1024,(50,20,1)) //GO EXEC PGM=*.LKED.SYSLMOD,TIME=(,30), EXECUTES THE PROGRAM // COND=((8,LE,ASM),(8,LE,LKED)) //SYSUDUMP DD SYSOUT=* IF FAILS, DUMP LISTING //SYSPRINT DD SYSOUT=*, OUTPUT LISTING // DCB=(RECFM=FBA,LRECL=121) //OUTPUT DD SYSOUT=A, PROGRAM DATA OUTPUT // DCB=(LRECL=100,BLKSIZE=3000,RECFM=FBA) //INPUT DD * PROGRAM DATA INPUT . . data . /* //
1) IKJEFT01 can be used to extract data from db2 tables. as shown below. JCL to extract data from db2 tables using IKJEFT01 Utility.2) Using IKJEFT01 utility for DB2 BIND Sample JCL to DB2 BIND
//STEP002 EXEC PGM=IKJEFT01, // DYNAMNBR=20,COND=(0,NE) //STEPLIB DD DISP=SHR, // DSN=SYS.DB2.XXX.RUNXX.LOAD // DD DISP=SHR, // DSN=SYS.DB2.XXX.SDSNEXIT // DD DISP=SHR, // DSN=SYS.DB2.XXX.SDSNLOAD //SYSIN DD * SELECT * FROM EMP_TABLE WITH UR; //* //SYSTSIN DD * DSN SYSTEM(XXX) RETRY(20) RUN PROGRAM(DSNTIAUL) PLAN(DSNTIAUL) PARMS('SQL') - LIB ('SYS.DB2.XXX.RUNXX.LOAD') END /* //***UNLOAD FILE //SYSREC00 DD DISP=(NEW,CATLG,DELETE), // DSN=DEV.UNLOAD.FILE, // UNIT=SYSDA,SPACE=(CYL,(50,50),RLSE) //* //***TABLE STRUCTURE //SYSPUNCH DD DUMMY //* //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=*(1) & (2) - specify the location of DBRM.
//* DB2 BIND JCL //* //BIND EXEC PGM=IKJEFT01, // COND=(4,LT), // REGION=4096K //STEPLIB DD DISP=SHR, // DSN=XXX4.DB2.XXXX.XXXXLOAD //DBRMLIB DD DISP=SHR, // DSN=DEV.SURESH.DBRM(DB2PROG) <--------------- (1) //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM (DEVDB ) BIND MEMBER (DB2PROG) - PACKAGE (PACKG11) - LIBRARY ('DEV.SURESH.DBRM') - <---------------- (2) ACTION (REP) - ISOLATION (CS) - VALIDATE (BIND)- RELEASE (COMMIT) - OWNER (SURESH) - QUALIFIER (DEVQUALI) END /*
It is a part of cobol db2 compile jcl.. Refer below
***************************************
//DB2COMP (XXX,XXX),'COMPILE JCL',
// CLASS=A,MSGCLASS=A,NOTIFY=&SYSUID
//********************************************************************
//* COMPILATION, LINK EDIT AND THE BIND STEP FOR A COBOL DB2 PROGRAM *
//* WILL BE DONE BY SUBMITTING THIS JOB. *
//* THE DB2 REGIONS AND CORRESPONDING PARAMETERS NEEDS TO BE CHANGED *
//* WITH RESPECT TO THE PROGRAM *
//********************************************************************
//* PRECOMPILE DB2 PROGRAM *
//*-------------- LOCATION OF DBRM LIBRARY -------------------------*
//********************************************************************
//PC EXEC PGM=DSNHPC,
// PARM='HOST(COB2),APOST,SOURCE',
// REGION=4096K
//DBRMLIB DD DISP=SHR,
// DSN=DEV.SURESH.DBRM(DB2PROG) <------------------------ (1)
//STEPLIB DD DISP=SHR,
// DSN=SYSX.DB2.XXX.XXXXX
//********************************************************************
//*SYSIN -----------INPUT COBOL DB2 PROGRAM LOCATION-----------------*
//********************************************************************
//SYSIN DD DISP=SHR,
// DSN=DEV.SURESH.SRC(DB2PROG) <---------------------- (2)
//SYSCIN DD DISP=(MOD,PASS),
// DSN=&&TEMP,
// SPACE=(800,(500,500)),
// UNIT=SYSDA
//********************************************************************
//* DCLGEN MEMBER LOCATION *
//*SYSLIB-----------------INPUT SOURCE LIBRARY FOR SQL---------------*
//********************************************************************
//SYSLIB DD DISP=SHR,
// DSN=DEV.SURESH.DCL <---------------------- (3)
// DD DISP=SHR,
// DSN=DEV.SURESH.CPY
//SYSPRINT DD SYSOUT=T
//SYSTERM DD SYSOUT=T
//SYSUDUMP DD SYSOUT=*
//SYSUT1 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT2 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//*
//********************************************************************
//* COMPILATION *
//********************************************************************
//*
//COB EXEC PGM=IGYCRCTL,
// COND=(4,LT,PC),
// PARM=('SIZE(4000K),BUFSIZE(32760),LIST,LIB,MAP,OBJECT',
// 'DATA(31),XREF,RENT'),
// REGION=4M
//STEPLIB DD DISP=SHR,
// DSN=XXXX.XXXXXX
//SYSIN DD DISP=(OLD,DELETE),
// DSN=&&TEMP
//SYSLIN DD DISP=(MOD,PASS),
// DSN=&&LOADTMP,
// SPACE=(800,(500,500)),
// UNIT=SYSDA
//********************************************************************
//*--------------SOURCE LIBRARIES FOR COBOL DB2 CODE (COPY LIBRARIES)*
//********************************************************************
//SYSLIB DD DISP=SHR,
// DSN=DEV.SURESH.DCL <----------------- (4)
// DD DSN=DEV.SURESH.CPY,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSUT1 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT2 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT3 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT4 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT5 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT6 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//SYSUT7 DD SPACE=(800,(500,500),,,ROUND),
// UNIT=SYSDA
//*
//*
//********************************************************************
//* LINK EDIT *
//********************************************************************
//*
//LKED EXEC PGM=IEWL,
// COND=((4,LT,COB),(4,LT,PC)),
// PARM='XREF'
//SYSLIB DD DISP=SHR,
// DSN=SXXX.SXXXXXXX
// DD DISP=SHR,
// DSN=XXXX.DB2.XXX.XXXXLOAD
// DD DISP=SHR,
// DSN=SYS1.VSCLLIB
//SYSLIN DD DISP=(OLD,DELETE),
// DSN=&&LOADTMP
//* DD DDNAME=SYSIN
//********************************************************************
//*----------------LOCATION OF LOAD LIBRARY--------------------------*//SYSLMOD DD DISP=SHR,
// DSN=DEV.SURESH.LOADLIB(DB2PROG) <------------ (5)
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSUT1 DD SPACE=(1024,(50,50)),
// UNIT=SYSDA
//*
//********************************************************************
//* BIND - BIND THE DB2 PACKAGE *
//********************************************************************
//BIND EXEC PGM=IKJEFT01,
// COND=(4,LT),
// REGION=4096K
//STEPLIB DD DISP=SHR,
// DSN=XXX4.DB2.XXXX.XXXXLOAD
//DBRMLIB DD DISP=SHR,
// DSN=DEV.SURESH.DBRM(DB2PROG) <--------------- (6)
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM (DEVDB )
BIND MEMBER (DB2PROG) -
PACKAGE (PACKG11) -
LIBRARY ('DEV.SURESH.DBRM') - <---------------- (7)
ACTION (REP) -
ISOLATION (CS) -
VALIDATE (BIND)-
RELEASE (COMMIT) -
OWNER (SURESH) -
QUALIFIER (DEVQUALI)
END
/*
**************************** Bottom of Data ****************************
(1) - When we precompiled, precompiler will create the DBRM, it will
be placed in the pds specified here.(2) - Location of COBOL-DB2 program
(3) - Needs to speficiy DCLGEN member locations
(4) - Needs to specify DCLGEN and COPYBOOK locations here
(5) - Load module location, load module will be created here. this
location needs to be given in run jcl.(5) & (6) - specify the location of DBRM, ( same location used in step1 ).
***************************************
3) Using IKJEFT01 utility for executing cobol db2 program. Sample JCL to execute IKJEFT01 utility to run COBOL DB2 program.
//** COBOL DB2 RUN JCL //STEP01 EXEC PGM=IKJEFT01, // DYNAMNBR=20 //* //STEPLIB DD DISP=SHR, // DSN=SYSL.DB2.DEV.XXXXLOAD // DD DISP=SHR, // DSN=SYSL.DB2.DEV.XXXXYYYY //* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * DSN SYSTEM(DEVDB) RUN PROGRAM(DB2PROG) - PLAN(PLAN11111) - LIBRARY('DEV.SURESH.LOADLIB') END /* //SYSOUT DD SYSOUT=* //SYSIN DD * //* //* COBOL DB2 RUN JCL ENDS