DB2ロード処理(AsIs)¶
バッチ処理のDB2ロードは、DELETE・INSERTの処理となる。¶
バッチ処理でのDB2ロード処理 例¶
//*****************************************************************
//** WORK DATA SET SCRATCH **
//*****************************************************************
//STEP0 EXEC PGM=IEHPROGM
//SYSPRINT DD SYSOUT=*
//DASD80 DD DISP=SHR,UNIT=SYSDA,VOL=SER=DASD80
//SYSIN DD *
SCRATCH DSNAME=TEMP.DB2ECDL.DISCARD,VOL=SYSDA=DASD80,PURGE
/*
//*****************************************************************
//** L O A D M A E S O R T **
//*****************************************************************
//******************************************************** ***
//* DB2ロード スタート ***
//******************************************************** ***
//LOAD EXEC DSNUPROC,PARM='DSNH,DAIMNT3J'
//SYSREC DD DSN=SEAD.ND53500J.WORK0010,DISP=SHR,
// VOL=SER=DASD36,UNIT=SYSDA
//SYSDISC DD DSN=TEMP.DB2ECDL.DISCARD,
// DISP=(NEW,KEEP,DELETE),SPACE=(CYL,(10,5),RLSE),
// VOL=SER=DASD80,UNIT=SYSDA
//SORTWK01 DD UNIT=SYSDA,SPACE=(40000,(2000,2000),,,ROUND)
//SORTWK02 DD UNIT=SYSDA,SPACE=(40000,(2000,2000),,,ROUND)
//SORTWK03 DD UNIT=SYSDA,SPACE=(40000,(2000,2000),,,ROUND)
//SORTWK04 DD UNIT=SYSDA,SPACE=(40000,(2000,2000),,,ROUND)
//SORTOUT DD UNIT=SYSDA,SPACE=(40000,(2000,2000),,,ROUND)
//SYSUT1 DD UNIT=SYSDA,SPACE=(40000,(500,500),,,ROUND)
//SYSERR DD UNIT=SYSDA,SPACE=(40000,(500,500),,,ROUND)
//SYSMAP DD UNIT=SYSDA,SPACE=(40000,(500,500),,,ROUND)
//SYSIN DD DSN=ADG.DB2TBL.SRC(RDECDLLD),DISP=SHR
//*
//DSNTIAS EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(9,LT)
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DSNH)
-DIS DB(RECDLDB)
-STA DB(RECDLDB) SPACENAM(RECDLTS) ACC(FORCE)
-DIS DB(RECDLDB)
/*
//******************************************************** ***
//* RUNSTATSU ***
//******************************************************** ***
//RUNST EXEC DSNUPROC,PARM='DSNH,DAIMNT3J'
//DSNTRACE DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(4000,(50,50),,,ROUND)
//SYSREC DD UNIT=SYSDA,SPACE=(4000,(200,200),,,ROUND)
//SYSIN DD *
RUNSTATS TABLESPACE RECDLDB.RECDLTS
INDEX (ALL)
REPORT YES
UPDATE ALL
各項目¶
INSERTするデータ
//SYSREC DD DSN=SEAD.ND53500J.WORK0010,DISP=SHR,
// VOL=SER=DASD36,UNIT=SYSDA
INSERTに失敗したデータが入るファイル
//SYSDISC DD DSN=TEMP.DB2ECDL.DISCARD,
// DISP=(NEW,KEEP,DELETE),SPACE=(CYL,(10,5),RLSE),
// VOL=SER=DASD80,UNIT=SYSDA
更新するテーブル名
//SYSIN DD DSN=ADG.DB2TBL.SRC(RDECDLLD),DISP=SHR
「RDECDLLD」の最後のLDを外し、「RDECDL」と判断する。