バージョン 8.1.3
 —  ユーティリティ  —

JCL/JCS の必要項目と指定例

ここでは、BS2000、z/OS、z/VM、および VSE システムにおける ADALOD の実行に必要なジョブ制御情報について説明し、各ジョブストリームの例を示します。

注意:
オプションの Recovery Aid(RLOG)で実行している場合は、すべての中間データセットがジョブ制御でもカタログされる必要があります。

このドキュメントでは、次のトピックについて説明します。


ユーザー出口を使用した照合

ADALOD 実行中に照合ユーザー出口を使用する場合は、ユーティリティの実行時に ADARUN CDXnn パラメータを指定する必要があります。

UES(ユニバーサルエンコーディングサポート)と合せて使用する場合の照合ディスクリプタユーザー出口の構文は次のとおりです。

graphics/util_adarun_cdxnn.png

ここでは次の内容を表しています。

nn 照合ディスクリプタ出口の番号。01 から 08 までの 2 桁の 10 進数。
exit-name 照合ディスクリプタ出口で制御を持つユーザールーチン名。最大 8 文字。

照合ディスクリプタ出口に指定できるプログラムは 1 つだけです。 最大 8 個の照合ディスクリプタ出口を任意の順序で指定できます。 詳細は『Adabas DBA リファレンスマニュアル』を参照してください。

Top of page

BS2000

データセット リンク名 ストレージ 追加情報
アソシエータ DDASSORn ディスク  
データストレージ DDDATARn ディスク  
ワーク DDWORKR1
DDWORKR4
ディスク  
一時エリア DDTEMPR1 ディスク  
TEMP オーバーフロー
(任意)
DDFILEA ディスク/テープ 中間データセットが小さすぎる場合にディスクリプタ値を格納
ソートエリア DDSORTR1 ディスク 大規模なファイルの場合は、ソートエリアを 2 つのボリュームに分割 1
ソートエリア DDSORTR2 ディスク
リカバリログ(RLOG) DDRLOGR1 ディスク リカバリログオプションの使用時に必要
圧縮データ DDEBAND ディスク/テープ ADACMP または ADAULD ユーティリティの出力
削除する ISN DDISN ディスク/テープ 削除する ISN 2
削除レコード DDOLD ディスク/テープ 削除レコード(存在する場合) 3
ADARUN パラメータ DDCARD   オペレーションマニュアル
ADALOD パラメータ SYSDTA/ DDKARTE    
ADARUN メッセージ SYSOUT/ DDPRINT   ADALOD レポート(「メッセージおよびコード」参照)
ADALOD メッセージ SYSLST/ DDDRUCK   メッセージおよびコード

注意:

  1. 大規模ファイルをソートする場合、ソートデータセットが 2 つのボリュームを占めているか、2 つのソートデータセットが指定されている場合は、パフォーマンスが向上します。 両方のデータセットが同一のデバイスタイプ上に存在し(SORTDEV パラメータ)、各データセットは SORTSIZE パラメータで指定したサイズの正確に半分の大きさでなければなりません。
  2. ISN ごとに 4 バイト、REC-FORM=VB、BUFF-LEN はシーケンシャルファイルの説明どおり、REC-SIZE の最大値は BUFF-LEN - 4 になります。 (ISP 形式の場合、REC-FORM は RECFM、BUFF-LEN は BLKSIZE、REC-SIZE は LRECL になります)
  3. REC-FORM=VB、BUFF-LEN はシーケンシャルファイルの説明どおり、REC-SIZE の最大値は BUFF-LEN - 4 になります。 (ISP 形式の場合、REC-FORM は RECFM、BUFF-LEN は BLKSIZE、REC-SIZE は LRECL になります)

ADALOD JCL の例(BS2000)

ファイルのロード

SDF フォーマットの場合:

/.ADALOD LOGON
/MODIFY-TEST-OPTIONS DUMP=YES
/REMARK *
/REMARK * A D A L O D LOAD FILE
/REMARK *
/ASS-SYSLST L.LOD.LOAD
/ASS-SYSDTA *SYSCMD
/SET-FILE-LINK DDLIB,ADAvrs.MOD
/SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,SHARE-UPD=YES
/SET-FILE-LINK DDDATAR1,ADAyyyyy.DATA,SHARE-UPD=YES
/SET-FILE-LINK DDWORKR1,ADAyyyyy.WORK,SHARE-UPD=YES
/SET-FILE-LINK DDTEMPR1,ADAyyyyy.TEMP
/SET-FILE-LINK DDSORTR1,ADAyyyyy.SORT
/START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY
ADARUN PROG=ADALOD,DB=yyyyy,IDTNAME=ADABAS5B
ADALOD LOAD FILE=1
ADALOD NAME= TESTFILE-1 
ADALOD MAXISN=10000,DSSIZE=10
ADALOD TEMPSIZE=100,SORTSIZE=50
/LOGOFF SYS-OUTPUT=DEL

ISP フォーマットの場合:

/.ADALOD LOGON
/OPTION MSG=FH,DUMP=YES
/REMARK *
/REMARK * A D A L O D LOAD FILE
/REMARK *
/SYSFILE SYSLST=L.LOD.LOAD
/FILE ADA.MOD,LINK=DDLIB
/FILE ADAyyyyy.ASSO ,LINK=DDASSOR1,SHARUPD=YES
/FILE ADAyyyyy.DATA ,LINK=DDDATAR1,SHARUPD=YES
/FILE ADAyyyyy.WORK ,LINK=DDWORKR1,SHARUPD=YES
/FILE ADAyyyyy.TEMP ,LINK=DDTEMPR1
/FILE ADAyyyyy.SORT ,LINK=DDSORTR1
/FILE CMP.AUS,LINK=DDEBAND

/EXEC (ADARUN,ADA.MOD)
ADARUN PROG=ADALOD,DB=yyyyy,IDTNAME=ADABAS5B
ADALOD LOAD FILE=1
ADALOD NAME= TESTFILE-1 
ADALOD MAXISN=10000,DSSIZE=10
ADALOD TEMPSIZE=100,SORTSIZE=50
/LOGOFF NOSPOOL

更新

SDF フォーマットの場合:

/.ADALOD LOGON
/MODIFY-TEST-OPTIONS DUMP=YES
/REMARK *
/REMARK * A D A L O D LOAD FILE
/REMARK *
/DELETE-FILE LOD.ISN    
/SET-JOB-STEP
/CREATE-FILE LOD.ISN,PUB(SPACE=(48,48))
/SET-JOB-STEP
/DELETE-FILE LOD.OLD    
/SET-JOB-STEP
/CREATE-FILE LOD.OLD,PUB(SPACE=(480,48))
/SET-JOB-STEP
/ASS-SYSLST L.LOD.LOAD
/ASS-SYSDTA *SYSCMD
/SET-FILE-LINK DDLIB,ADAvrs.MOD
/SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,SHARE-UPD=YES
/SET-FILE-LINK DDDATAR1,ADAyyyyy.DATA,SHARE-UPD=YES
/SET-FILE-LINK DDWORKR1,ADAyyyyy.WORK,SHARE-UPD=YES
/SET-FILE-LINK DDTEMPR1,ADAyyyyy.TEMP
/SET-FILE-LINK DDSORTR1,ADAyyyyy.SORT
/SET-FILE-LINK DDEBAND,CMP.AUS
/SET-FILE-LINK DDISN,LOD.ISN
/SET-FILE-LINK DDOLD,LOD.OLD
/START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY
ADARUN PROG=ADALOD,DB=yyyyy,IDTNAME=ADABAS5B
ADALOD UPDATE FILE=1,DDISN,SAVEDREC
ADALOD TEMPSIZE=100,SORTSIZE=50
ADALOD DELISN=100 199,230,301 399
/LOGOFF SYS-OUTPUT=DEL

ISP フォーマットの場合:

/.ADALOD LOGON
/OPTION MSG=FH,DUMP=YES
/REMARK *
/REMARK * A D A L O D MASS UPDATE
/REMARK *
/SYSFILE SYSLST=L.LOD.UPDA
/FILE ADA.MOD,LINK=DDLIB
/FILE ADAyyyyy.ASSO ,LINK=DDASSOR1,SHARUPD=YES
/FILE ADAyyyyy.DATA ,LINK=DDDATAR1,SHARUPD=YES
/FILE ADAyyyyy.WORK ,LINK=DDWORKR1,SHARUPD=YES
/FILE ADAyyyyy.TEMP ,LINK=DDTEMPR1
/FILE ADAyyyyy.SORT ,LINK=DDSORTR1
/FILE CMP.AUS,LINK=DDEBAND
/FILE LOD.ISN,LINK=DDISN ,SPACE=(48,48)
/FILE LOD.OLD,LINK=DDOLD ,SPACE=(480,48)
/EXEC (ADARUN,ADA.MOD)
ADARUN PROG=ADALOD,DB=yyyyy,IDTNAME=ADABAS5B
ADALOD UPDATE FILE=1,DDISN,SAVEDREC
ADALOD TEMPSIZE=100,SORTSIZE=50
ADALOD DELISN=100 199,230,301 399
/LOGOFF NOSPOOL

Top of page

z/OS

データセット DD 名 ストレージ 追加情報
アソシエータ DDASSORn ディスク  
データストレージ DDDATARn ディスク  
ワーク DDWORKR1
DDWORKR4
ディスク Adabas ニュークリアスがアクティブでない場合にのみ必要
一時エリア DDTEMPR1 ディスク  
TEMP オーバーフロー
(任意)
DDFILEA ディスク/テープ 中間データセットが小さすぎる場合にディスクリプタ値を格納
ソートエリア DDSORTR1 ディスク  
ソートエリア DDSORTR2 ディスク 大規模なファイルを使用している場合は、ソートエリアを 2 つのボリュームに分割 1
リカバリログ(RLOG) DDRLOGR1 ディスク リカバリログオプションの使用時に必要
圧縮データ DDEBAND ディスク/テープ ADACMP または ADAULD ユーティリティの出力
削除する ISN DDISN ディスク/テープ 削除する ISN 2
削除レコード DDOLD ディスク/テープ 削除レコード(存在する場合) 3
ADARUN パラメータ DDCARD リーダー オペレーションマニュアル
ADALOD パラメータ DDKARTE リーダー  
ADARUN メッセージ DDPRINT プリンタ ADALOD レポート(「メッセージおよびコード」参照)
ADALOD メッセージ DDDRUCK プリンタ メッセージおよびコード

注意:

  1. 大規模ファイルをソートする場合、ソートデータセットが 2 つのボリュームを占めているか、2 つのソートデータセットが指定されている場合は、パフォーマンスが向上します。 2 つのボリュームを使用する場合、各ボリュームは、SORTSIZE パラメータで指定した大きさの正確に半分の大きさでなければなりません。 2 つのデータセットを使用する場合、どちらも同じデバイスタイプ(SORTDEV パラメータ)で定義しなければなりません。
  2. ISN 当たり 4 バイト、RECFM=VB、BLKSIZE はシーケンシャルファイルの説明のとおり、LRECL の最大値は BLKSIZE - 4 に等しくなります。
  3. RECFM=VB、BLKSIZE はシーケンシャルファイルの説明のとおり、LRECL の最大値は BLKSIZE - 4 に等しくなります。

ADALOD JCL の例(z/OS)

ADAM ファイルまたは Adabas デモファイルをロードする他の ADALOD 例については、MVSJOBS データセットの ADALODE、ADALODA、ADALODM、および ADALODV も参照してください。

ファイルのロード

この例については、MVSJOBS データセットの ADALOD を参照してください。

//ADALOD    JOB
//*
//*    ADALOD: LOAD FILE
//*
//LOD      EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.Vvrs.LOAD      <=== ADABAS LOAD
//*
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1 <=== ASSO
//DDDATAR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1 <=== DATA
//DDWORKR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.WORKR1 <=== WORK
//DDTEMPR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.TEMPR1 <=== TEMP
//DDSORTR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.SORTR1 <=== SORT
//DDEBAND   DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.DDEBAND <=== INPUT
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADALOD,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADALOD LOAD FILE=1
ADALOD NAME='TESTFILE-1'
ADALOD MAXISN=10000,DSSIZE=10
ADALOD TEMPSIZE=100,SORTSIZE=100
/*

更新

この例については、MVSJOBS データセットの ADALODMU を参照してください。

//ADALODMU  JOB
//*
//*      ADALOD: MASS UPDATE
//*
//LOD       EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.Vvrs.LOAD               <=== ADABAS LOAD
//*                                                          
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1         <=== ASSO
//DDDATAR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1         <=== DATA
//DDTEMPR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.TEMPR1         <=== TEMP
//DDSORTR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.SORTR1         <=== SORT
//DDEBAND   DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.DDEBAND        <=== INPUT
//DDISN     DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.DDISN          <=== ISNS TO DEL
//DDOLD     DD   DISP=(NEW,CATLG),DSN=EXAMPLE.DByyyyy.DDOLD, <=== DEL REC
//            SPACE=(TRK,(100,20),RLSE),UNIT=DISK,VOL=SER=VOLvvv
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADALOD,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADALOD UPDATE FILE=1,LWP=400K,SAVEDREC
ADALOD TEMPSIZE=100,SORTSIZE=100
ADALOD DELISN=100-199,230,301-399
/*

Top of page

z/VM

データセット DD 名 ストレージ 追加情報
アソシエータ DDASSORn ディスク  
データストレージ DDATARn ディスク  
ワーク DDWORKR1
DDWORKR4
ディスク  
一時エリア DDTEMPR1 ディスク  
TEMP オーバーフロー
(任意)
DDFILEA ディスク/テープ 中間データセットが小さすぎる場合にディスクリプタ値を格納
ソートエリア DDSORTR1 ディスク 大きなファイルを使用する場合、ソートエリアは 2 つのボリュームに分割 1
ソートエリア DDSORTR2 ディスク
リカバリログ(RLOG) DRLOGR1 ディスク リカバリログオプションの使用時に必要
圧縮データ DDEBAND ディスク/テープ ADACMP または ADAULD ユーティリティの出力
削除する ISN DDISN ディスク/テープ 削除する ISN 2
削除レコード DDOLD ディスク/テープ 削除レコード(存在する場合) 3
ADARUN パラメータ DDCARD ディスク/端末/リーダー オペレーションマニュアル
ADALOD パラメータ DDKARTE ディスク/端末/リーダー  
ADARUN メッセージ DDPRINT ディスク/端末/プリンタ ADALOD レポート(「メッセージおよびコード」を参照)
ADALOD メッセージ DDDRUCK ディスク/端末/プリンタ メッセージおよびコード

注意:

  1. 大規模ファイルをソートする場合、ソートデータセットが 2 つのボリュームを占めているか、2 つのソートデータセットが指定されている場合は、パフォーマンスが向上します。 両方のデータセットが同一のデバイスタイプ上に存在し(SORTDEV パラメータ)、各データセットは SORTSIZE パラメータで指定したサイズの正確に半分の大きさでなければなりません。
  2. ISN 当たり 4 バイト、RECFM=VB、BLKSIZE はシーケンシャルファイルの説明のとおり、LRECL の最大値は BLKSIZE - 4 に等しくなります。
  3. RECFM=VB、BLKSIZE はシーケンシャルファイルの説明のとおり、LRECL の最大値は BLKSIZE - 4 に等しくなります。

ADALOD JCL の例(z/VM)

ファイルのロード

DATADEF DDASSOR1,DSN=ADABASVv.ASSO,VOL=ASSOV1
DATADEF DDDATAR1,DSN=ADABASVv.DATA,VOL=DATAV1
DATADEF DDWORKR1,DSN=ADABASVv.WORK,VOL=WORKV1
DATADEF DDTEMPR1,DSN=ADABASVv.TEMP,VOL=TEMPV1
DATADEF DDSORTR1,DSN=ADABASVv.SORT,VOL=SORTV1
DATADEF DDEBAND,DSN=FILE001.LODD001,MODE=A
DATADEF DDPRINT,DSN=ADALOD.DDPRINT,MODE=A
DATADEF DUMP,DUMMY
DATADEF DDDRUCK,DSN=ADALOD.DDDRUCK,MODE=A
DATADEF DDCARD,DSN=RUNLOD.CONTROL,MODE=A
DATADEF DDKARTE,DSN=FILE001.LODC001,MODE=A
ADARUN

RUNLOD CONTROL A1 の内容

ADARUN PROG=ADALOD,DEVICE=dddd,DB=yyyyy

FILE015 LODC001 A1 の内容

ADALOD LOAD FILE=1
ADALOD      NAME='TESTFILE-1'
ADALOD      MAXISN=50000,DSSIZE=10
ADALOD      TEMPSIZE=100,SORTSIZE=50

更新

DATADEF DDASSOR1,DSN=ADABASVv.ASSO,VOL=ASSOV1
DATADEF DDDATAR1,DSN=ADABASVv.DATA,VOL=DATAV1
DATADEF DDWORKR1,DSN=ADABASVv.WORK,VOL=WORKV1
DATADEF DDTEMPR1,DSN=ADABASVv.TEMP,VOL=TEMPV1
DATADEF DDSORTR1,DSN=ADABASVv.SORT,VOL=SORTV1
DATADEF DDEBAND,DSN=ADALOD.LODD015,MODE=A
DATADEF DDISN,DSN=ADALOD.ISN,MODE=A
DATADEF DDOLD,DSN=ADABASVv.OLDISN,MODE=A
DATADEF DDPRINT,DSN=ADALOD.DDPRINT,MODE=A
DATADEF DUMP,DUMMY
DATADEF DDDRUCK,DSN=ADALOD.DDDRUCK,MODE=A
DATADEF DDCARD,DSN=RUNLOD.CONTROL,MODE=A
DATADEF DDKARTE,DSN=UPDATE.CONTROL,MODE=A
ADARUN                     

RUNLOD CONTROL A1 の内容

ADARUN PROG=ADALOD,DEVICE=dddd,DB=yyyyy

UPDATE CONTROL A1 の内容

ADALOD UPDATE FILE=1,DDISN,SAVEDREC

ADALOD        TEMPSIZE=100,SORTSIZE=50
ADALOD        DELISN=100-199,230,301-399

Top of page

VSE

データセット 記号 ストレージ 論理ユニット 追加情報
アソシエータ ASSORn ディスク   1
データストレージ DATARn ディスク   1
ワーク WORKR1 ディスク 1 ニュークリアスがアクティブでない場合に必要
圧縮データ EBAND テープ
ディスク
SYS010
1
 
リカバリログ(RLOG) RLOGR1 ディスク   リカバリログオプションの使用時に必要
一時エリア TEMPR1 ディスク 1  
TEMP オーバーフロー
(任意)
FILEA テープ
ディスク
SYS012
1
中間データセットが小さすぎる場合にディスクリプタ値を格納
ソートエリア SORTR1 ディスク   大きなファイルを使用する場合、ソートエリアは 2 つのボリュームに分割 2
削除する ISN ISN テープ
ディスク
SYS016
1
削除する ISN
削除レコード OLD テープ
ディスク
SYS014
1
削除済み ISN
ADALOD メッセージ -- プリンタ SYS009 ADALOD レポート(「メッセージおよびコード」参照)
ADARUN メッセージ -- プリンタ SYSLST メッセージおよびコード
ADARUN パラメータ -
CARD
CARD
リーダー
テープ
ディスク
SYSRDR SYS000
1
 
ADALOD パラメータ - リーダー SYSIPT  

注意:

  1. すべてのプログラマ論理ユニットを使用できます。
  2. 大規模ファイルをソートする場合、ソートデータセットが 2 つのボリュームに分割されているとパフォーマンスが向上することがあります。 2 つのボリュームを使用する場合、各ボリュームは、SORTSIZE パラメータで指定した大きさの正確に半分の大きさでなければなりません。 2 つのデータセットを使用する場合、どちらも同じデバイスタイプ(SORTDEV パラメータ)で定義しなければなりません。

ADALOD JCS の例(VSE)

VSE プロシージャ(PROC)の内容については、「VSE 用のライブラリおよびファイルプロシージャの例」を参照してください。

ファイルのロード

この例については、メンバ ADALOD.X を参照してください。

* $$ JOB JNM=ADALOD,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADALOD
*       SAMPLE FILE LOAD
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// ASSGN SYSTEN,TAPE
// PAUSE MOUNT LOAD INPUT FILE ON TAPE cuu
// TLBL EBAND,'DEMO.FILE'
// MTC REW,SYS010
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADALOD,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADALOD LOAD FILE=1
ADALOD NAME='TESTFILE-1'
ADALOD MAXISN=10000,DSSIZE=10
ADALOD TEMPSIZE=100,SORTSIZE=100
/*
/&
* $$ EOJ

更新

この例については、メンバ ADALODMU.X を参照してください。

* $$ JOB JNM=ADALODMU,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADALODMU
*       MASS UPDATE
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// ASSGN SYS010,DISK,VOL=DISK01,SHR
// ASSGN SYS014,DISK,VOL=DISK02,SHR
// ASSGN SYS016,DISK,VOL=DISK03,SHR
// DLBL EBAND,'FILE.INPUT',,SD
// EXTENT SYS010,DISK01,1,0,sssss,nnnnn
// DLBL OLD,'FILE.OLD',,SD
// EXTENT SYS014,DISK02,1,0,sssss,nnnnn
// DLBL ISN,'FILE.ISN',,SD
// EXTENT SYS016,DISK03,1,0,sssss,nnnnn
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADALOD,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADALOD UPDATE FILE=1,LWP=400K,SAVEDREC
ADALOD TEMPSIZE=100,SORTSIZE=100
ADALOD DELISN=100-199,230,301-399
/*
/&
* $$ EOJ

Top of page