このドキュメントでは、次のトピックについて説明します。
このセクションでは、Adabas ユーティリティが使用するシーケンシャルファイルをまとめます。 表の見出しと内容については、表の後の説明を参照してください。
ユーティリティ | ファイル名 | VSE テープ SYS |
出力 | 入力 | デバイス別 BLKSIZE |
連結 |
---|---|---|---|---|---|---|
ADACDC | DD/SIIN | 10 | x | ○ | ||
ADACMP | DD/AUSBA DD/EBAND DD/FEHL |
12 10 14 |
x x |
x | ○ | |
ADACNV | DD/FILEA | 10 | x | |||
ADALOD | DD/EBAND DD/FILEA DD/ISN DD/OLD |
10 12 16 14 |
x x |
x x x |
○ | ○ ○ |
ADAMER | DD/EBAND | 10 | x | |||
ADAORD | DD/FILEA | 10 | x | x | ○ | |
ADAPLP | DD/PLOG | 14 | x | ○ | ||
ADARAI | DD/OUT | 10 | x | |||
ADAREP | DD/SAVE DD/PLOG |
10 11 |
x x |
○ ○ |
||
ADARES | DD/BACK DD/SIAUS1 DD/SIAUS2 DD/SIIN |
20 21 22 20 |
x x |
x x |
○ ○ |
|
ADASAV | DD/DEL1 DD/DEL2 DD/DEL3 DD/DEL4 |
31 32 33 34 |
x x x x |
○ ○ ○ ○ |
||
DD/DEL5 DD/DEL6 DD/DEL7 DD/DEL8 |
35 36 37 38 |
x x x x |
○ ○ ○ ○ |
|||
DD/DUAL1 DD/DUAL2 DD/DUAL3 DD/DUAL4 |
21 22 23 24 |
x x x x |
||||
DD/DUAL5 DD/DUAL6 DD/DUAL7 DD/DUAL8 |
25 26 27 28 |
x x x x |
||||
DD/FULL DD/PLOG |
30 10 |
x x |
○ ○ |
|||
DD/REST1 DD/REST2 DD/REST3 DD/REST4 |
11 12 13 14 |
x x x x |
○ | |||
DD/REST5 DD/REST6 DD/REST7 DD/REST8 |
15 16 17 18 |
x x x x |
||||
DD/SAVE1 DD/SAVE2 DD/SAVE3 DD/SAVE4 |
11 12 13 14 |
x x x x |
||||
DD/SAVE5 DD/SAVE6 DD/SAVE7 DD/SAVE8 |
15 16 17 18 |
x x x x |
||||
ADASEL | DD/EXPA1 DD/EXPA2 DD/EXPA3 DD/EXPA4 |
11 12 13 14 |
x x x x |
|||
DD/EXPA5 DD/EXPA6 DD/EXPA7 DD/EXPA8 |
15 16 17 18 |
x x x x |
||||
DD/EXPA9 DD/EXPA10 DD/EXPA11 DD/EXPA12 |
19 20 21 22 |
x x x x |
||||
DD/EXPA13 DD/EXPA14 DD/EXPA15 DD/EXPA16 |
23 24 25 26 |
x x x x |
||||
DD/EXPA17 DD/EXPA18 DD/EXPA19 DD/EXPA20 |
27 28 29 30 |
x x x x |
||||
DD/SIIN | 10 | x | ○ | |||
ADAULD | DD/OUT1 DD/OUT2 DD/ISN DD/SAVE DD/PLOG DD/FULL DD/DEL1-8 |
10 11 12 13 14 30 31~38 |
x x x |
x x x x |
○ ○ ○ |
○ ○ ○ ○ |
ADAVAL | DD/FEHL | 14 | x | ○ |
出力と入力の両方がマークされているファイルは、指定されたプログラムによって書かれた後に読まれるものです。 BS2000、z/VM、z/OS、および OS 互換のファイルの名前は "DD" で始まります(DDSIIN、DDFEHL など)。VSE ファイルの名前には "DD" は付けません。
次のセクションでは、オペレーティングシステム別のファイルとデバイス定義の特性について説明します。
注意:
この解説では SPF フォーマットを使用します。 ISP フォーマットでは次のようになります。
SPF フォーマット | ISP フォーマット |
---|---|
BUFF-LEN | BLKSIZE=(STD,16) で定義される BLKSIZE |
REC-FORM | RECFM |
REC-SIZE | RECSIZE |
SET-FILE-LINK | FILE |
ファイルの参照に使用される LINK 名は次のように決定されます。
LINK 名を構成するため、ファイル名に接頭辞 DD が付けられます。
"連結" 列に "○" と示されている複数のファイルがテープにある場合、これらのファイルを連結することができます。連結を指定した場合は、指定されたリンク名を使用して最初のファイルが読み込まれ、最初のエンドオブファイル時に LINK 名に 01 が付けられ、その リンク名に /SET-FILE-LINK(ISP フォーマットの場合は /FILE)ステートメントがなくなるまで読み取りが継続するという処理が行われます。
その後のエンドオブファイルごとに LINK 名に 1 が追加され、その LINK 名の /SET-FILE-LINK(ISP フォーマットでは /FILE)ステートメントが存在する限り、最大で 99 まで読み取りが継続されます。 LINK 名が 6 文字より長い場合、超過した分の文字はファイルの連番で上書きされます(例えば DDEBAND は DDEBAN01 になります)。
BS2000 では、マルチボリュームファイルの逆順読み取りはサポートされていないため、ADARES DDBACK ファイルのすべてのボリュームは、LINK 名 DDBACK、DDBACK01、DDBACK02 などを使用して /SET-FILE-LINK(ISP フォーマットでは /FILE)ステートメントに書かれた順序と逆順に指定する必要があります。
シーケンシャルファイルの BUFF-LEN は次のように決定されます。
BUFF-LEN は /SET-FILE-LINK ステートメントまたはデータセットのカタログエントリから取得されます(存在する場合)。
BUFF-LEN を /SET-FILE-LINK ステートメントまたはカタログから取得できなかった場合、ADARUN QBLKSIZE パラメータの値が使用されます(指定されている場合)。
この方法でも取得できなかった場合、BUFF-LEN はデバイスタイプに依存し、次のようになります。
テープ: | 32760 |
ディスク: | 32768(BUFF-LEN=(STD,16)) |
REC-SIZE と REC-FORM は次のようになります。
テープ: | REC-SIZE = BUFF-LEN - 4; REC-FORM = V; |
ディスク: | REC-SIZE = BUFF-LEN - 20; RECFORM = V; |
入力: | /SET-FILE-LINK ステートメントまたはデータセットのカタログエントリから取得されます。 |
注意:
TAPE データセットの HDR2 に REC-FORM、REC-SIZE、または BUFF-LEN が一切含まれていない場合を除いて
REC-FORM、REC-SIZE、BUFF-LEN を入力データセットに指定しないでください。
プライマリおよびセカンダリ割り当ての SPACE パラメータには、BUFF-LEN パラメータに指定した PAM ブロック数の 3 倍の数を指定します。 それ以外の値では I/O エラーが発生します。 デフォルトでは /CREATE-FILE ...,PUB(SPACE(48,48)) および /SET-FILE-LINK ...,BUFF-LEN=STD(16)(ISP フォーマットの場合は BLKSIZE=(STD,16)、SPACE=(48,48))が有効な最小値です。
DDDRUCK および DDPRINT データセットのうちディスクに書き込み済みの部分は、通常のニュークリアスまたはユーティリティの読み取りセッションでアクセス可能です。 これには次の BS2000 読み取りアクセスが含まれます。
SHOW-FILE
@READ データセット
/COPY-FILE(ISP フォーマットの場合は /COPY)
複数のデータセットを ADABAS ユーティリティへの入力媒体として使用するときに、一部のオペレーティングシステム(z/OS など)では連結機能を使用できます。
BS2000 では、次のように、元の LINK 名と 2 桁の連番(01~99)から作成した LINK 名を指定した /SET-FILE-LINK(ISP フォーマットの場合は /FILE)ステートメントを追加することで、同様の機能を実行できます。
/SET-FILE-LINK DDTEST,firstfile /SET-FILE-LINK DDTEST01,secondfile /SET-FILE-LINK DDTEST02,thirdfile ... /SET-FILE-LINK DDTEST99,lastfile
ISP フォーマットでは次のようになります。
/FILE firstfile ,LINK=DDTEST /FILE secondfile,LINK=DDTEST01 /FILE thirdfile ,LINK=DDTEST02 ... /FILE lastfile ,LINK=DDTEST99
元の LINK 名の長さが 7 文字または 8 文字の場合、7~8 番目の位置は連番で上書きされます。 例としては、次のようなものがあります。
/SET-FILE-LINK DDEBAND,firstfile /SET-FILE-LINK DDEBAND01,lastfile
ISP フォーマットでは次のようになります。
/FILE firstfile ,LINK=DDEBAND /FILE secondfile,LINK=DDEBAN01
連結オプションのある入力ファイルを処理する場合、1 つの入力ファイルのエンドオブファイルで、次のデータセットに対する /SET-FILE-LINK(ISP フォーマットの場合は /FILE)ステートメントが存在するかどうかのチェックが行われます。 存在しない場合、シーケンシャル GET コールは EOF を返します。存在すれば、現在オープンしているデータセットがクローズされて次のファイルに対してオープンが試みられます。
このようにして連結するファイルは、ファイル特性(ブロックサイズ、レコードフォーマット、およびレコードサイズ)が同じである必要があります。
この連結の仕様は、逆順処理されるファイルに対しても適用されます。 LINK 名の順序は作成順序の逆になります。 例えば、ADARES で DDBACK を行う場合、次のようになります。
/SET-FILE-LINK DDBACK,lastfile /SET-FILE-LINK DDBACK01,filebeforelast /... /SET-FILE-LINK DDBACKnn,firstfile
ISP フォーマットでは次のようになります。
/FILE lastfile ,LINK=DDBACK /FILE filebeforelast,LINK=DDBACK01 /.... /FILE firstfile ,LINK=DDBACKnn
各ボリュームを別々の /SET-FILE-LINK(ISP フォーマットの場合は /FILE)ステートメントで指定すれば、この機能を用いてマルチボリュームファイルを逆順に処理できます。
次のリストは、連結オプションを使用する場合の LINK 名とユーティリティの一覧です。
DDDELn (n = 1~8) |
ADASAV |
DDEBAND | ADACMP ADALOD ADAMER |
DDFULL | ADASAV |
DDISN | ADALOD |
DDPLOG | ADAPLP ADASAV |
DDBACK | ADARES |
DDSIIN | ADARES ADASEL |
DDREST1 | ADASAV (使用する LINK 名は DDREST1、DDREST01、DDREST02 など) |
ニュークリアスセッションにおいて、F1、F2、F3 という 3 つのプロテクションログファイルが ADARES PLCOPY で作成されています。
セッションを特定のポイントにバックアウトする際は、ADARES BACKOUT 機能に次の /SET-FILE-LINK(ISP フォーマットの場合は /FILE)ステートメントを使用します。
/SET-FILE-LINK DDBACK,F3 /SET-FILE-LINK DDBACK01,F2 /SET-FILE-LINK DDBACK02,F1
ISP フォーマットでは次のようになります。
/FILE F3,LINK=DDBACK /FILE F2,LINK=DDBACK01 /FILE F1,LINK=DDBACK02
セッション中に作成されたプロテクションログからデータベースを再生成するには、ADARES REGENERATE 機能に次の /SET-FILE-LINK(ISP フォーマットの場合は /FILE)ステートメントを使用します。
/SET-FILE-LINK DDSIIN,F1 /SET-FILE-LINK DDSIIN01,F2 /SET-FILE-LINK DDSIIN02,F3
ISP フォーマットでは次のようになります。
/FILE F1,LINK=DDSIIN /FILE F2,LINK=DDSIIN01 /FILE F3,LINK=DDSIIN02
BS2000 バージョン 11.2(OSD 2.0)では、SYSIPT システムファイルが利用できなくなりました。 バージョン 5.3.3 以降、Adabas ではすべてのコントロールステートメントを SYSDTA システムファイルから読み込むことができます。
BS2000 バージョン 10.0 または 11.0 で実行している場合、SYSIPT 割り当ては従来どおり使用できますが、Software AG では、BS2000 バージョン 11.2(OSD 2.0)に移行する前に、すべての Adabas ユーティリティおよび Entire Net-Work ジョブコントロールで SYSDTA システムファイルを指定するよう変更することをお勧めします。
ADARUN パラメータ TAPEREL は、テープ上のファイルにアクセスするテープ処理制御を実行するのに必要です。 詳細は『ADABAS オペレーションマニュアル』を参照してください。
DDNAME はファイル名の先頭に文字 DD を付けて指定します。
ユーティリティがクローズ後にデータセット情報にアクセスできるようにするには、ユーティリティで使用するシーケンシャルデータセットの DD ステートメントに FREE=CLOSE が含まれないようにする必要があります。
シーケンシャルファイルの BLKSIZE は次のように決定します。
ファイルの "デバイス別 BLKSIZE" 列に "○" と示されている場合、デフォルトの BLKSIZE はデバイスタイプに応じて次のようになります。
テープ: | 32760 |
3330 ディスク: | 13030 |
3340 ディスク: | 8368 |
3350 ディスク: | 19069 |
3375 ディスク: | 17600 |
3380 ディスク: | 23476 |
3390 ディスク: | 27998 |
ファイルの "デバイス別 BLKSIZE" 列で "○" が指定されていない場合、そのファイルの BLKSIZE は DD ステートメントまたはデータセットラベルから取得されます(存在する場合)。 これはすべての入力ファイルで存在するはずです。
ファイルの "デバイス別 BLKSIZE" 列で "○" が指定されておらず、かつ DD ステートメントまたはデータセットラベルから BLKSIZE を取得できない場合、ADARUN QBLKSIZE パラメータの値が使用されます(指定されている場合)。
ADACMP EBAND 以外のすべてのシーケンシャルファイルの RECFM および LRECL は、それぞれ VB および BLKSIZE-4 です。 ADACMP EBAND については、RECFM および LRECL が DD ステートメントとデータセットラベルのいずれか、または両方から得られるようにしなければなりません。
DD ステートメントで DCB BUFNO パラメータの指定がない場合、オペレーティングシステムのデフォルトが使用されます。
DATADEF 名はファイル名の先頭に文字 DD を付けて指定します。
シーケンシャルファイルの BLKSIZE は次のように決定します。
ファイルの "デバイス別 BLKSIZE" 列に "○" と示されている場合、BLKSIZE はデバイスタイプに応じて次のようになります。
テープ: | 32760 |
FBA ディスク: | 32760 |
3330 ディスク: | 13030 |
3340 ディスク: | 8368 |
3350 ディスク: | 19069 |
3375 ディスク: | 17600 |
3380 ディスク: | 23476 |
3390 ディスク: | 27998 |
ファイルの "デバイス別 BLKSIZE" 列で "○" が指定されていない場合、そのファイルの BLKSIZE は DD ステートメントまたはデータセットラベルから取得されます(存在する場合)。 これはすべての入力ファイルで存在するはずです。
ファイルの "デバイス別 BLKSIZE" 列で "○" が指定されておらず、かつ DD ステートメントまたはデータセットラベルから BLKSIZE を取得できない場合、ADARUN QBLKSIZE パラメータの値が使用されます(指定されている場合)。
ADACMP EBAND を除くすべてのシーケンシャルファイルで、RECFM は VB、LRECL は BLKSIZE - 4 になります。 ADACMP EBAND については、RECFM および LRECL が DATADEF ステートメントとデータセットラベルのいずれか、または両方から得られるようにしなければなりません。
次の項目は、VSE 配下で実行されているユーティリティによって、ファイルがどのように参照されるかを決定します。
ファイル名は、DLBL または TLBL ステートメントのファイル名として使用されます。
"連結" 列に "○" と示されているファイルがテープに複数ある場合、これらのファイルを次のように連結することができます。
ファイルは指示されたファイル名で最初に読み込まれます。
最初のエンドオブファイル時にファイル名に "01" が付けられ、またそのファイル名に対して TLBL ステートメントが存在する場合、引き続き読み込みが行われます。
以降の各エンドオブファイル時にファイル名に 1 が加算されていき、そのファイル名に対する TLBL ステートメントがある限り最大 99 になるまで読み込みは継続されます。
VSE では複数ボリュームのテープファイルの逆順読み込みをサポートしないので、ADARES BACK ファイルの各ボリュームは、ファイル名 BACK、BACK01、BACK02 のように TLBL ステートメントに書かれた順序とは逆の順序に指定しなければなりません。
ディスク上のシーケンシャルファイルには、すべてのプログラマ論理ユニットを使用できます。 テープ上のシーケンシャルファイルには、VSE テープの SYS 番号を用いなければなりません。またこれらの番号はすべて『Adabas インストールマニュアル』に定義された手順を用いて変更できます。
シーケンシャルファイルの BLKSIZE は次のように決定します。
ファイルの "デバイス別 BLKSIZE" 列に "○" と示されている場合、BLKSIZE はデバイスタイプに応じて次のようになります。
テープ: | 32760 |
FBA ディスク: | 32760 |
3330 ディスク: | 13030 |
3340 ディスク: | 8368 |
3350 ディスク: | 19069 |
3375 ディスク: | 17600 |
3380 ディスク: | 23476 |
3390 ディスク: | 27998 |
ファイルの "デバイス別 BLKSIZE" 列に "○" と示されていない場合は、ADARUN QBLKSIZE パラメータの値が指定されていればその値が使用されます。
ADACMP EBAND については、BLKSIZE は下記のように ADACMP コントロールカードに指定された RECFM および LRECL パラメータに応じて、チェックされた後に実際の BLKSIZE に変更されることがあります。
RECFM の値 | 実際の BLKSIZE |
---|---|
F | LRECL。 |
FB | BLKSIZE / LRECL * LRECL で、除算の余りは乗算の前に切り捨てられます。 |
U | LRECL。この値は BLKSIZE より大きくてはなりません。 |
V | LRECL+4。この値は、BLKSIZE より大きくてはなりません。 |
VB | BLKSIZE。この値は、LRECL+4 より小さくてはなりません。 |
ADACMP EBAND を除くすべてのシーケンシャルファイルの RECFORM は VARBLK です。 ADACMP EBAND については、コントロールステートメントの RECFM パラメータで与えられます。
VSE メッセージ 4140D が、複数ボリュームのテープファイルの最初のボリュームを参照しているのか、それとも以降のボリュームなのかを見分けるために、テープファイルのオープン時にオペレータに対してメッセージ ADAI31 が出力されますが、ボリューム終了時には出力されません。
Adabas ユーティリティに対して複数データセットを入力媒体として使用したい場合、いくつかの OS(z/OS など)では連結機能を使用できます。
VSE ではこの機能に類似したものとして、元の LINK 名に 2 桁の連番(01~99)を加えた LINK 名を指定した FILE ステートメントを加えることができます。
// DLBL TEST ,'firstfile' // EXTENT ... // DLBL TEST01,'secondfile' // EXTENT ... ... // DLBL TEST99,'lastfile' // EXTENT ...
連結オプションのある入力ファイルを処理する場合、1 つの入力ファイルのエンドオブファイルで、次のデータセットに対する FILE ステートメントが存在するかどうかのチェックが行われます。 存在しない場合、シーケンシャル GET コールは EOF を返します。存在すれば、現在オープンしているデータセットがクローズされて次のファイルに対してオープンが試みられます。
このようにして連結するファイルは、ファイル特性(ブロックサイズ、レコードフォーマット、およびレコードサイズ)が同じである必要があります。
この連結の仕様は、逆順処理されるファイルに対しても適用されます。 LINK 名の順番は作成時と逆の順番になります。例えば、ADARES で BACK を使用する場合は次のようになります。
// DLBL BACK ,'lastfile' // EXTENT ... // DLBL BACK01,'filebeforelast' // EXTENT ... ... // DLBL BACKnn,'firstfile' // EXTENT ...
各ボリュームを別々の FILE ステートメントで指定すれば、この機能を用いて複数ボリュームファイルの逆処理もできることにご注目ください。
以下は、連結オプションを使用する場合の LINK 名とユーティリティの一覧です。
DELn (n=1~8) |
ADASAV |
EBAND | ADACMP ADALOD ADAMER |
FULL | ADASAV |
ISN | ADALOD |
PLOG | ADAPLP ADASAV |
BACK | ADARES |
SIIN | ADARES ADASEL |
REST1 | ADASAV (使用する LINK 名は REST1、REST101、REST102 など) |
ニュークリアスセッションにおいて、F1、F2、F3 という 3 つのプロテクションログファイルが ADARES PLCOPY で作成されています。
セッションをある時点までバックアウトしたい場合、ADARES BACKOUT 機能に次のような FILE ステートメントを使用します。
// DLBL BACK ,'F3' // EXTENT ... // DLBL BACK01,'F2' // EXTENT ... // DLBL BACK02,'F1' // EXTENT ...
セッション中に作成したプロテクションログからデータベースを再生成するには、次のような FILE ステートメントを ADARES REGENERATE 機能に使用します。
// DLBL SIIN ,'F1' // EXTENT ... // DLBL SIIN01,'F2' // EXTENT ... // DLBL SIIN02,'F3' // EXTENT ...