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

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

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

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


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

ADAINV の実行中に照合ユーザー出口を使用する場合は、ユーティリティの実行で 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 ディスク  
中間ストレージ DDTEMPR1 ディスク  
ソートエリア DDSORTR1 ディスク  
ソートエリア DDSORTR2 ディスク 大きなファイルを使用する場合、ソートエリアは 2 つのボリュームに分割してください(注を参照)。
リカバリログ(RLOG) DDRLOGR1 ディスク リカバリログオプションの使用時に必要
ADARUN パラメータ DDCARD   オペレーションマニュアル
ADAINV パラメータ SYSDTA/ DDKARTE    
ADARUN メッセージ SYSOUT/ DDPRINT   メッセージおよびコード
ADAINV メッセージ SYSLST/ DDDRUCK   メッセージおよびコード

注意:
大規模なファイルをソートする場合、ソートデータセットが 2 つのボリュームに分割されているとパフォーマンスが向上することがあります。 データセットが 2 つ指定されている場合は、両方が同じデバイスタイプ(SORTDEV パラメータ)である必要があり、また各々 SORTSIZE パラメータで指定した大きさの正確に半分のサイズにする必要があります。

ADAINV JCL の例(BS2000)

カップリングファイル

SDF フォーマットの場合:

/.ADAINV LOGON
 /MODIFY-TEST-OPTIONS DUMP=YES
 /REMARK *
 /REMARK * A D A I N V COUPLE FIELD (REFLECTIVE)
 /REMARK *
 /ASS-SYSLST L.INV.COUP
 /ASS-SYSDTA *SYSCMD
 /SET-FILE-LINK DDLIB,ADAvrs.MOD
 /SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,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=ADAINV,DB=yyyyy,IDTNAME=ADABAS5B
 ADAINV COUPLE FILE=1,3,DESCRIPTOR= AA,AA 
 ADAINV TEMPSIZE=100,SORTSIZE=50
 /LOGOFF SYS-OUTPUT=DEL

ISP フォーマットの場合:

/.ADAINV LOGON
 /OPTION MSG=FH,DUMP=YES
 /REMARK *
 /REMARK * A D A I N V COUPLE FIELD (REFLECTIVE)
 /REMARK *
 /SYSFILE SYSLST=L.INV.COUP
 /FILE ADA.MOD,LINK=DDLIB
 /FILE ADAyyyyy.ASSOR ,LINK=DDASSOR1,SHARUPD=YES
 /FILE ADAyyyyy.TEMP ,LINK=DDTEMPR1
 /FILE ADAyyyyy.SORT ,LINK=DDSORTR1
 /EXEC (ADARUN,ADA.MOD)
 ADARUN PROG=ADAINV,DB=yyyyy,IDTNAME=ADABAS5B
 ADAINV COUPLE FILE=1,3,DESCRIPTOR= AA,AA 
 ADAINV TEMPSIZE=100,SORTSIZE=50
 /LOGOFF NOSPOOL

ファイルのインバート

SDF フォーマットの場合:

/.ADAINV LOGON
 /MODIFY-TEST-OPTIONS DUMP=YES
 /REMARK *
 /REMARK * A D A I N V INVERT FIELD (REFLECTIVE)
 /REMARK *
 /ASS-SYSLST L.INV.INVE
 /ASS-SYSDTA *SYSCMD
 /SET-FILE-LINK DDLIB,ADAvrs.MOD
 /SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,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=ADAINV,DB=yyyyy,IDTNAME=ADABAS5B
 ADAINV INVERT FILE=1
 ADAINV TEMPSIZE=100,SORTSIZE=50
 ADAINV FIELD= AC 
 ADAINV SUPDE= S1,UQ=AA(1,3),AD(2,4) 
 /LOGOFF SYS-OUTPUT=DEL

ISP フォーマットの場合:

/.ADAINV LOGON
 /OPTION MSG=FH,DUMP=YES
 /REMARK *
 /REMARK * A D A I N V INVERT FIELD (REFLECTIVE)
 /REMARK *
 /SYSFILE SYSLST=L.INV.INVE
 /FILE ADA.MOD,LINK=DDLIB
 /FILE ADAyyyyy.ASSOR ,LINK=DDASSOR1,SHARUPD=YES
 /FILE ADAyyyyy.TEMP ,LINK=DDTEMPR1
 /FILE ADAyyyyy.SORT ,LINK=DDSORTR1
 /EXEC (ADARUN,ADA.MOD)
 ADARUN PROG=ADAINV,DB=yyyyy,IDTNAME=ADABAS5B
 ADAINV INVERT FILE=1
 ADAINV TEMPSIZE=100,SORTSIZE=50
 ADAINV FIELD= AC 
 ADAINV SUPDE= S1,UQ=AA(1,3),AD(2,4) 
 /LOGOFF NOSPOOL

Top of page

z/OS

データセット DD 名 ストレージ 追加情報
アソシエータ DDASSORn ディスク  
中間ストレージ DDTEMPR1 ディスク  
ソートエリア DDSORTR1 ディスク  
ソートエリア DDSORTR2 ディスク 大きなファイルを使用する場合、ソートエリアは 2 つのボリュームに分割してください(注を参照)。
リカバリログ(RLOG) DDRLOGR1 ディスク リカバリログオプションの使用時に必要
ADARUN パラメータ DDCARD リーダー オペレーションマニュアル
ADAINV パラメータ DDKARTE リーダー  
ADARUN メッセージ DDPRINT プリンタ メッセージおよびコード
ADAINV メッセージ DDDRUCK プリンタ メッセージおよびコード

注意:
大規模なファイルをソートする場合、ソートデータセットが 2 つのボリュームに分割されているとパフォーマンスが向上することがありますが、OS ではこの操作は困難です。 代わりに 2 つのソートデータセットを指定できます。 どちらも同じデバイスタイプ(SORTDEV パラメータ)で定義しなければならず、また各々 SORTSIZE パラメータで指定した大きさの正確に半分の大きさでなければなりません。

*

ADAINV JCL の例(OS)

カップリングファイル

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

//ADAINVCO  JOB
//*
//*    ADAINV:  COUPLE FILES
//*
//INV       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
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADAINV,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADAINV COUPLE FILE=2,3,DESCRIPTOR='BB,BB'
ADAINV        TEMPSIZE=100,SORTSIZE=100
/*

ファイルのインバート

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

//ADAINVDE  JOB
//*
//*     ADAINV:  INVERT A FIELD TO A DE
//*
//INV       EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.Vvrs.LOAD      <=== ADABAS LOAD
//*
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1 <===== ASSO
//DDTEMPR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.TEMPR1 <===== TEMP
//DDSORTR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.SORTR1 <===== SORT
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADAINV,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADAINV INVERT FILE=1
ADAINV FIELD='AC'
ADAINV SUPDE='S1,UQ=AA(1,3),AD(2,4)'
ADAINV TEMPSIZE=100,SORTSIZE=100
/*

Top of page

z/VM

データセット DD 名 ストレージ 追加情報
アソシエータ DDASSORn ディスク  
中間ストレージ DDTEMPR1 ディスク  
ソートエリア DDSORTR1 ディスク  
ソートエリア DDSORTR2 ディスク 大きなファイルを使用する場合は、ソートエリアを 2 つのボリュームに分割してください。*
リカバリログ(RLOG) DDRLOGR1 ディスク リカバリログオプションの使用時に必要
ADARUN パラメータ DDCARD ディスク/端末/リーダー オペレーションマニュアル
ADAINV パラメータ DDKARTE ディスク/端末/リーダー  
ADARUN メッセージ DDPRINT ディスク/端末/プリンタ メッセージおよびコード
ADAINV メッセージ DDDRUCK ディスク/端末/プリンタ メッセージおよびコード

* 大きいファイルをソートする場合、ソートデータセットが 2 つのボリュームに分割されているとパフォーマンスが向上することがありますが、CMS ではこの操作は困難です。 代わりに 2 つのソートデータセットを指定できます。 どちらも同じデバイスタイプ(SORTDEV パラメータ)で定義しなければならず、また各々 SORTSIZE パラメータで指定した大きさの正確に半分の大きさでなければなりません。

ADAINV JCL の例(z/VM)

カップリングファイル

DATADEF DDASSOR1,DSN=ADABASVv.ASSO,VOL=ASSOV1
DATADEF DDTEMPR1,DSN=ADABASVv.TEMP,VOL=TEMPV1
DATADEF DDSORTR1,DSN=ADABASVv.SORT,VOL=SORTV1
DATADEF DDPRINT,DSN=ADAINV.DDPRINT,MODE=A
DATADEF DUMP,DUMMY
DATADEF DDDRUCK,DSN=ADAINV.DDDRUCK,MODE=A
DATADEF DDCARD,DSN=RUNINV.CONTROL,MODE=A
DATADEF DDKARTE,DSN=ADAINV.CONTROL,MODE=A
ADARUN  

RUNINV CONTROL A1 の内容

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

ADAINV CONTROL A1 の内容

ADAINV COUPLE FILE=1,3,DESCRIPTOR='AA,AA'
ADAINV        TEMPSIZE=100,SORTSIZE=50
*

ファイルのインバート

DATADEF DDASSOR1,DSN=ADABASVv.ASSO,VOL=ASSOV1
DATADEF DDTEMPR1,DSN=ADABASVv.TEMP,VOL=TEMPV1
DATADEF DDSORTR1,DSN=ADABASVv.SORT,VOL=SORTV1
DATADEF DDPRINT,DSN=ADAINV.DDPRINT,MODE=A
DATADEF DUMP,DUMMY                                                     
        
DATADEF DDDRUCK,DSN=ADAINV.DDDRUCK,MODE=A
DATADEF DDCARD,DSN=RUNINV.CONTROL,MODE=A
DATADEF DDKARTE,DSN=ADAINV.CONTROL,MODE=A
ADARUN  

RUNINV CONTROL A1 の内容

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

ADAINV CONTROL A1 の内容

ADAINV INVERT FILE=1
ADAINV        TEMPSIZE=100,SORTSIZE=50
*
ADAINV        FIELD='AC'
ADAINV        SUPDE='S1,UQ=AA(1,3),AD(2,4)'

Top of page

VSE

ファイル ファイル名 ストレージ 論理ユニット 追加情報
アソシエータ ASSORn ディスク *  
中間ストレージ TEMPR1 ディスク *  
ソートエリア SORTR1 ディスク *  
リカバリログ(RLOG) RLOGR1 ディスク * リカバリログ(RLOG)オプションで必要
ADARUN パラメータ -
CARD
CARD
リーダー
テープ
ディスク
SYSRDR
SYS000
*
 
ADAINV パラメータ - リーダー SYSIPT  
ADARUN メッセージ - プリンタ SYSLST メッセージおよびコード
ADAINV メッセージ - プリンタ SYS009 メッセージおよびコード

* あらゆるプログラマ論理ユニットが使用できます。

ADAINV JCS の例(VSE)

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

カップリングファイル

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

* $$ JOB JNM=ADAINVCO,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADAINVCO
*       COUPLE FILES
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADAINV,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADAINV COUPLE FILE=2,3,DESCRIPTOR='BB,BB'
ADAINV        TEMPSIZE=100,SORTSIZE=100
/*
/&
* $$ EOJ

ファイルのインバート

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

* $$ JOB JNM=ADAINV,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADAINV
*       INVERT A FIELD TO A DESCRIPTOR
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADAINV,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADAINV INVERT FILE=1
ADAINV FIELD='AC'
ADAINV SUPDE='S1,UQ=AA(1,3),AD(2,4)'
ADAINV TEMPSIZE=100,SORTSIZE=100
/*
/&
* $$ EOJ

Top of page