ここでは、BS2000、z/OS、z/VM、および VSE システムにおける ADAINV の実行に必要なジョブ制御情報について説明し、各ジョブストリームの例を示します。
このドキュメントでは、次のトピックについて説明します。
ADAINV の実行中に照合ユーザー出口を使用する場合は、ユーティリティの実行で ADARUN CDXnn パラメータを指定する必要があります。
UES(ユニバーサルエンコーディングサポート)と合せて使用する場合の照合ディスクリプタユーザー出口の構文は次のとおりです。
ここでは次の内容を表しています。
nn | 照合ディスクリプタ出口の番号。01 から 08 までの 2 桁の 10 進数。 |
exit-name | 照合ディスクリプタ出口で制御を持つユーザールーチン名。最大 8 文字。 |
照合ディスクリプタ出口に指定できるプログラムは 1 つだけです。 最大 8 個の照合ディスクリプタ出口を任意の順序で指定できます。 詳細は『Adabas DBA リファレンスマニュアル』を参照してください。
データセット | リンク名 | ストレージ | 追加情報 |
---|---|---|---|
アソシエータ | DDASSORn | ディスク | |
中間ストレージ | DDTEMPR1 | ディスク | |
ソートエリア | DDSORTR1 | ディスク | |
ソートエリア | DDSORTR2 | ディスク | 大きなファイルを使用する場合、ソートエリアは 2 つのボリュームに分割してください(注を参照)。 |
リカバリログ(RLOG) | DDRLOGR1 | ディスク | リカバリログオプションの使用時に必要 |
ADARUN パラメータ | DDCARD | オペレーションマニュアル | |
ADAINV パラメータ | SYSDTA/ DDKARTE | ||
ADARUN メッセージ | SYSOUT/ DDPRINT | メッセージおよびコード | |
ADAINV メッセージ | SYSLST/ DDDRUCK | メッセージおよびコード |
注意:
大規模なファイルをソートする場合、ソートデータセットが 2 つのボリュームに分割されているとパフォーマンスが向上することがあります。
データセットが 2 つ指定されている場合は、両方が同じデバイスタイプ(SORTDEV パラメータ)である必要があり、また各々 SORTSIZE
パラメータで指定した大きさの正確に半分のサイズにする必要があります。
/.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
/.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
/.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
/.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
データセット | DD 名 | ストレージ | 追加情報 |
---|---|---|---|
アソシエータ | DDASSORn | ディスク | |
中間ストレージ | DDTEMPR1 | ディスク | |
ソートエリア | DDSORTR1 | ディスク | |
ソートエリア | DDSORTR2 | ディスク | 大きなファイルを使用する場合、ソートエリアは 2 つのボリュームに分割してください(注を参照)。 |
リカバリログ(RLOG) | DDRLOGR1 | ディスク | リカバリログオプションの使用時に必要 |
ADARUN パラメータ | DDCARD | リーダー | オペレーションマニュアル |
ADAINV パラメータ | DDKARTE | リーダー | |
ADARUN メッセージ | DDPRINT | プリンタ | メッセージおよびコード |
ADAINV メッセージ | DDDRUCK | プリンタ | メッセージおよびコード |
注意:
大規模なファイルをソートする場合、ソートデータセットが 2 つのボリュームに分割されているとパフォーマンスが向上することがありますが、OS
ではこの操作は困難です。 代わりに 2 つのソートデータセットを指定できます。 どちらも同じデバイスタイプ(SORTDEV
パラメータ)で定義しなければならず、また各々 SORTSIZE パラメータで指定した大きさの正確に半分の大きさでなければなりません。
*
この例については、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 /*
データセット | DD 名 | ストレージ | 追加情報 |
---|---|---|---|
アソシエータ | DDASSORn | ディスク | |
中間ストレージ | DDTEMPR1 | ディスク | |
ソートエリア | DDSORTR1 | ディスク | |
ソートエリア | DDSORTR2 | ディスク | 大きなファイルを使用する場合は、ソートエリアを 2 つのボリュームに分割してください。* |
リカバリログ(RLOG) | DDRLOGR1 | ディスク | リカバリログオプションの使用時に必要 |
ADARUN パラメータ | DDCARD | ディスク/端末/リーダー | オペレーションマニュアル |
ADAINV パラメータ | DDKARTE | ディスク/端末/リーダー | |
ADARUN メッセージ | DDPRINT | ディスク/端末/プリンタ | メッセージおよびコード |
ADAINV メッセージ | DDDRUCK | ディスク/端末/プリンタ | メッセージおよびコード |
* 大きいファイルをソートする場合、ソートデータセットが 2 つのボリュームに分割されているとパフォーマンスが向上することがありますが、CMS ではこの操作は困難です。 代わりに 2 つのソートデータセットを指定できます。 どちらも同じデバイスタイプ(SORTDEV パラメータ)で定義しなければならず、また各々 SORTSIZE パラメータで指定した大きさの正確に半分の大きさでなければなりません。
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
ADARUN PROG=ADAINV,DEVICE=dddd,DB=yyyyy
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
ADARUN PROG=ADAINV,DEVICE=dddd,DB=yyyyy
ADAINV INVERT FILE=1 ADAINV TEMPSIZE=100,SORTSIZE=50 * ADAINV FIELD='AC' ADAINV SUPDE='S1,UQ=AA(1,3),AD(2,4)'
ファイル | ファイル名 | ストレージ | 論理ユニット | 追加情報 |
---|---|---|---|---|
アソシエータ | ASSORn | ディスク | * | |
中間ストレージ | TEMPR1 | ディスク | * | |
ソートエリア | SORTR1 | ディスク | * | |
リカバリログ(RLOG) | RLOGR1 | ディスク | * | リカバリログ(RLOG)オプションで必要 |
ADARUN パラメータ | - CARD CARD |
リーダー テープ ディスク |
SYSRDR SYS000 * |
|
ADAINV パラメータ | - | リーダー | SYSIPT | |
ADARUN メッセージ | - | プリンタ | SYSLST | メッセージおよびコード |
ADAINV メッセージ | - | プリンタ | SYS009 | メッセージおよびコード |
* あらゆるプログラマ論理ユニットが使用できます。
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