テープからのコピー (CPYFRMTAP)

テープからのコピー(CPYFRMTAP)コマンドは,テープ・ファイルから出力ファイルまたは印刷装置にレコードをコピーします。

取り出しファイルはテープ・ファイルでなければなりませんが,受け入れファイルは物理ファイル,テープ・ファイル,またはプログラム記述印刷装置ファイルとすることができます。テープ取り出しファイル中のレコードの印刷リストを作成する場合, TOファイル (TOFILE)パラメーターに*PRINTを指定できます。

このコマンドは,ファイル・コピー(CPYF)コマンドで使用可能なパラメーターのサブセットをよりテープに限定されたパラメーターと一緒に提供します。

このコマンドで使用できないパラメーターが必要になった場合には,取り出しファイルまたは受け入れファイルに対する一時変更を使用するか,あるいはファイル・コピー(CPYF)コマンドを使用することができます。

このコマンドの1回の呼び出しで,テープ・ファイルを1つだけ(順序番号1つ分)をコピーすることができます。

コマンドの開始時には,受け入れファイルが存在しなければなりません。このコマンドは受け入れファイルを作成しませんが,その受け入れファイルにメンバーがまだ存在しない場合に,既存の物理ファイルにメンバーを追加します。

制約事項:

パラメーター

キーワード 記述 選択項目 ノーツ
FROMFILE テープ・ファイル 修飾オブジェクト名 必須, 定位置 1
修飾子 1: テープ・ファイル 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
TOFILE TOファイル 単一値: *PRINT
その他の値: 修飾オブジェクト名
必須, 定位置 2
修飾子 1: TOファイル 名前
修飾子 2: ライブラリー 名前, *LIBL, *CURLIB
FROMSEQNBR 順序番号 1-16777215, *TAPF, *NEXT オプショナル
FROMLABEL テープ・ラベル 文字値, *TAPF, *NONE オプショナル
TOMBR メンバー 名前, *FROMLABEL, *FIRST オプショナル
FROMDEV 装置 単一値: *TAPF
その他の値 (最大 4 回の繰り返し): 名前
オプショナル
FROMREELS コピー元リール 要素リスト オプショナル
要素 1: ラベル処理タイプ *TAPF, *SL, *NL, *NS, *BLP, *LTM
要素 2: リールの数 1-255, *TAPF
FROMRCDLEN レコード長 整数, *TAPF, *CALC オプショナル
FROMENDOPT テープ終了オプション *TAPF, *REWIND, *UNLOAD, *LEAVE オプショナル
MBROPT レコードの置き換えまたは追加 *NONE, *ADD, *REPLACE オプショナル
OUTFMT 印刷形式 *CHAR, *HEX オプショナル
FROMVOL ボリュームID 単一値: *TAPF, *NONE
その他の値 (最大 50 回の繰り返し): 文字値
オプショナル
FROMBLKLEN ブロックの長さ 1-524288, *TAPF, *CALC オプショナル
FROMRCDBLK レコード・ブロックのタイプ *TAPF, *F, *FB, *V, *VB, *D, *DB, *VS, *VBS, *U オプショナル
NBRRCDS コピーするレコードの数 符号なし整数, *END オプショナル

テープ・ファイル (FROMFILE)

コピーされるレコードが入っているテープ・ファイルを指定します。

これは必須パラメーターです。

修飾子1: テープ・ファイル

名前
テープ装置ファイルの名前を指定してください。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
スレッドの現行ライブラリーが検索されます。スレッドの現行ライブラリーとして指定されているライブラリーがない場合,QGPLライブラリーが検索されます。
名前
検索するライブラリーの名前を指定してください。

TOファイル (TOFILE)

コピーされたレコードを受け取るファイルを指定します。

これは必須パラメーターです。

単一値

*PRINT
出力はジョブのスプール出力で印刷されます。

修飾子1: TOファイル

名前
コピーされるレコードを受け入れる物理ファイルまたは装置ファイルの名前を指定してください。

修飾子2: ライブラリー

*LIBL
最初に一致するものが見つかるまで,現行スレッドのライブラリー・リスト内のすべてのライブラリーが検索されます。
*CURLIB
スレッドの現行ライブラリーが検索されます。スレッドの現行ライブラリーとして指定されているライブラリーがない場合,QGPLライブラリーが検索されます。
名前
検索するライブラリーの名前を指定してください。

順序番号 (FROMSEQNBR)

コピーされたテープ・ファイルの順序番号を指定します。

取り出しファイルのテープが標準ラベルをもつ時には,ファイル順序番号は,データ・ファイルの最初の見出しラベルから読み取られます。ラベル迂回処理が取り出しファイルに指定される(すなわち,FROMREELS(*BLP)がこのコマンドに,あるいはテープ・ファイルを記述するために使用されるコマンドに指定される)時,あるいは標準ラベルのテープが使用されていない場合には,システムはこのパラメーターに指定されたテープ・マークおよび値を使用して,コピーされる正しいデータ・ファイルを検出します。

*TAPF
コピーされるファイルを指示するために,テープ・ファイルまたは一時変更に指定された順序番号が使用されます。
*NEXT
テープ上の次のファイルが処理されます。テープが現在最初のファイルより前に位置付けられている場合には,テープ上の最初のファイルが処理されます。
1から16777215
テープ上のコピーされるファイルの順序番号を指定します。ラベル付きテープの場合には,FROMLABELで指定されたラベルがこの順序番号で見つかる必要があります。

テープ・ラベル (FROMLABEL)

テープからコピーするファイルのデータ・ファイルIDを指定します。指定されたファイルIDは,順序番号 (FROMSEQNBR)パラメーターに指定された開始順序番号で検出されなければなりません。

*TAPF
コピーされるテープ・ファイルを識別するために,テープ・ファイル記述または一時変更中のファイルIDが使用されます。
*NONE
ファイルIDを指定しません。どのラベルIDも受け入れられます。
データ・ファイルID
取り出しテープ・ファイルからコピーされるファイル・ラベルの名前を指定してください。ラベルは,最大17文字の長さにすることができます。
総称*データ・ファイルID
テープ取り出しファイルからコピーされるファイル・ラベルの総称名を指定してください。

メンバー (TOMBR)

コピー済みデータ・レコードを受け取る受け入れファイル中のデータベース・ファイル・メンバーまたはテープ・ファイルのラベルを指定します。 TOファイル (TOFILE)パラメーターに*PRINTを指定した場合には,このパラメーターに*FIRSTまたは*FROMLABELのいずれかを指定しなければなりません。

*FROMLABEL
FROMLABELおよびFROMSEQNBRパラメーターによって指定されたファイルは,受け入れファイルの対応するメンバーまたはラベルにコピーされます。

取り出しファイル・テープ・ラベルIDの名前は,物理受け入れファイルまたはテープ受け入れファイルのメンバーまたはラベルIDとして使用されます。受け入れファイルがテープ・ファイルである場合には,取り出しファイルのラベルIDは変更なしで使用されます。

受け入れファイルがデータベース・ファイルである場合には,取り出しファイル・ラベルのすべての連続ブランクの前に現われる最後の10桁が,受け入れファイルのメンバー名として使用されます。すべての連続ブランクの前に現われる最後の10桁が正しくない場合には,最後のピリオド(.)の右側の文字が受け入れファイルのメンバー名に使用されます。

取り出しファイルがラベルなしテープ・ファイルである場合には,テープの取り出しファイルのデータ・ファイルと対応した受け入れファイル・メンバーまたはラベル名がCPYNNNNの形式で作成されます。ここでNNNNはデータ・ファイルのテープ順序番号です。受け入れファイルがテープ装置ファイルである場合には,装置ファイル記述または一時変更のラベルが使用されます。

*FIRST
物理受け入れファイルの最初のメンバーがコピー済みレコードを受け取ります。
名前
コピーされるレコードを受け取る物理受け入れファイルの名前またはテープ受け入れファイルのラベルID名を指定してください。テープ・ラベルIDが10桁より長いか,あるいは特殊文字が入っている場合には,CPYFRMTAPコマンドの開始の前に,CRTTAPF, CHGTAPF,またはOVRTAPFコマンドにこれを指定しなければなりません。

装置 (FROMDEV)

テープ取り出しファイルのコピー元として,最大4つのテープ装置,1つの仮想テープ装置,または1つの媒体ライブラリー装置を指定します。

単一値

*TAPF
使用される装置を指示するために,テープ・ファイルに指定された値が使用されます。

その他の値(最大4個指定可能)

名前
取り出しファイルからのレコードのコピー時に使用する最大4つのテープ装置,または1つの仮想テープ装置,または1つの媒体ライブラリー装置の名前を指定してください。装置名を指定する順序は,装置上のテープが連続して読み取られる順序です。それぞれの装置は,装置記述によって既にシステムに認識されていなければなりません。

コピー元リール (FROMREELS)

取り出しファイルが入っているテープ・リールで使用されるラベル付けのタイプを指定します。このパラメーターに指定されるテープ・リール数の値は標準ラベルのテープの限定値ではありません。標準ラベル・テープの場合,テープのラベルは,処理されるボリュームの数を制限するファイルの終わり条件を指示します。リール数の情報が使用されるのは,指定されたボリュームIDのリストがない場合,および取り出しファイルが*NL, *NSまたは*BLPのいずれかである場合だけです。リール数の値が使用される時には,ラベル付きのテープに取り出しファイルが存在する場合に,その装置に入っているボリューム上のボリュームIDは無視されます。その場合には,操作員はそのリールが装置に入っている順序を検査しなければなりません。

要素1: ラベル処理タイプ

*TAPF
取り出しファイル用にテープ・ファイルまたは一時変更に指定された値がラベル・タイプ値に使用されます。
*SL
各テープ・ボリュームに標準ラベルが付いています。
*NL
どのテープ・ボリュームにもラベルはありません。テープ上の各データ・ファイルの終わりを示すためにテープ・マークが使用されます。
*NS
各テープ・ボリュームに標準外ラベルが付いています。標準外テープ・リール(ボリューム)には,1つのデータ・ファイルしか存在することはできません。
*BLP
取り出しファイルのボリュームのコピーの際に,標準ラベル処理は省略されます。
*LTM
取り出しファイルのボリュームにはラベルがありませんが,テープの最初のファイルの前に,1つの先行テープ・マークがあります。

要素2: リールの数

*TAPF
使用されるリール数の値は,取り出しファイル用にテープ・ファイルまたは一時変更に指定された値です。
1から255
使用されるリールの最大数を指定してください。テープの終わりに達した時に次のリールが装置にない場合には,装置に次のテープを取り付けるように要求するメッセージが操作員に送られます。

レコード長 (FROMRCDLEN)

テープの取り出しファイルに入っているレコードの長さ(バイト数)を指定します。*NS, *NL, *BLP,または*LTMテープの場合,またはHDR2ラベルなしテープの場合には,このコマンドまたはテープ・ファイル・コマンドにこのパラメーターを指定しなければなりません。*SLテープの場合には,レコード長はそのラベル自身から取り出されます。

*TAPF
テープ・ファイルまたは一時変更で定義されたレコード長が使用されます。
*CALC
システムは使用する値を計算します。
1から32767
テープ取り出しファイルのレコード長として使用される値を指定してください。レコード長は,ブロックの長さおよびレコードのブロック形式パラメーター値と矛盾しないものでなければなりません。

テープ終了オプション (FROMENDOPT)

テープ・ファイルがクローズされる時に取り出しファイル・テープの最後のボリュームに対して自動的に実行される位置指定操作を指定します。マルチボリューム・テープの取り出しファイルの場合には,このパラメーターは最後のリール(ボリューム)にだけ適用されます。中間にあるボリュームはすべて位置指定属性として*UNLOADでコピーされます。

*TAPF
テープの位置設定は,装置ファイルまたは一時変更で指定された値にしたがって行われます。
*REWIND
テープは巻き戻されますが,アンロードされません。
*UNLOAD
テープは,操作の終了後に自動的に巻き戻されてアンロードされます。
*LEAVE
テープは,操作の終了後に巻き戻しまたはアンロードされません。テープ装置の現在の位置に留まります。

レコードの置き換えまたは追加 (MBROPT)

新しいレコードで置き換えるか,または既存のレコードに追加するかどうかを指定します。

*NONE
パラメーターはこのコピー操作には適用されません。受け入れファイルが既存の物理ファイルである場合には*NONEは使用できません。
*ADD
システムは,既存のレコードの終わりに新しいレコードを追加します。
*REPLACE
システムは,既存のメンバーを消去し,新しいレコードを追加します。

印刷形式 (OUTFMT)

レコードを文字形式で印刷するか,あるいは文字および16進数形式の両方で印刷するかどうかを指定します。このパラメーターは, TOファイル (TOFILE)パラメーターに*PRINTが指定されている時にだけ使用されます。

*CHAR
レコードは文字形式で印刷されます。
*HEX
レコードは,文字形式および16進数形式の両方で印刷されます。

ボリュームID (FROMVOL)

(テープ)取り出しファイルからレコードをコピーする際に使用するテープのボリュームID (1つ以上)を指定します。これらのボリュームは,IDが指定されたのと同じ順序(および装置名がFROMDEVパラメーターに指定されたのと同じ順序)で装置に入れなければなりません。

単一値

*TAPF
テープ・ファイルまたは一時変更に指定された値が使用されます。
*NONE
このファイルにはテープ・ボリュームIDは指定されません。正しいラベル・タイプのボリュームがテープ装置に入れられたことを検査する以外のボリュームのチェックは実行されません。

その他の値(最大50個指定可能)

文字値
テープ・ファイルのコピー元となる最大50個のボリュームIDを指定してください。ボリュームのIDは,装置にある順序と同じ順序で入力しなければなりません。

ブロックの長さ (FROMBLKLEN)

テープ取り出しファイルから転送されるデータ・ブロックの長さ(バイト数)を指定します。標準外またはラベルなしテープの場合,ラベル処理が迂回されたテープの場合,あるいはHDR2ラベルなしテープの場合には,このパラメーターを指定しなければなりません。標準ラベルのテープの場合には,ブロックの長さはそのラベル自身から取り出されて,このパラメーターは無視されます。

*TAPF
テープ・ファイルまたは一時変更からのブロック長の値が使用されます。
*CALC
システムは使用する値を計算します。
18-524288
テープの取り出しファイルの各ブロックの長さを指定します。ブロックの長さは,レコードの長さおよびレコードのブロック形式の値と矛盾するものであってはいけません。

レコード・ブロックのタイプ (FROMRCDBLK)

取り出しテープ・ファイルの中のレコード・ブロック形式およびレコードの属性が使用されます。

*TAPF
テープ・ファイルまたは一時変更からのレコード・ブロック形式の値が使用されます。
*F
EBCDIC形式またはASCII形式の固定長非ブロック化レコードが使用されます。
*FB
EBCDIC形式またはASCII形式の固定長ブロック化レコードが使用されます。
*V
EBCDIC形式の可変長非ブロック化レコードが使用されます。
*VB
EBCDIC形式の可変長ブロック化レコードが使用されます。
*D
ASCIIタイプD形式の可変長非ブロック化レコードが使用されます。
*DB
ASCIIタイプD形式の可変長ブロック化レコードが使用されます。
*VS
可変長スパン・レコードが使用されます。
*VBS
可変長スパン・ブロック化レコードが使用されます。
*U
未定義の形式のレコードが使用されます。

コピーするレコードの数 (NBRRCDS)

受け入れファイルにコピーされるレコード数を指定します。

*END
レコードは,ファイルの終わり条件が示されるまでコピーされます。
1から4294967288
コピーするレコード数を指定してください。指定されたレコード数がコピーされる前にファイルの終わり条件が起こった場合には,コピーされるレコード数が少なくなります。

1: コピーされたレコードの既存レコードへの追加

CPYFRMTAP   FROMFILE(QTAPE)  TOFILE(DEPT/YTDSALES)
            FROMSEQNBR(3)  FROMLABEL(DAILY)
            FROMDEV(QTAPE1)  MBROPT(*ADD)

このコマンドは,磁気テープ装置ファイルQTAPEを使用して磁気テープからレコードをコピーします。装置QTAPE1でDAILYのラベルをもつ順序番号3のデータ・ファイルがコピーされます。レコード長やレコード・ブロック形式などのデータ・ファイルの特定の属性は,そのテープ上のラベルからシステムによって判別されます。レコードはメンバーDAILY中の既存のレコードに追加され,これは,ファイルYTDSALES中の,パラメーターの省略時の値(TOMBR(*FROMLABEL)によって暗示され,これはライブラリーDEPT中にあります。

2: 既存レコードの置き換え

CPYFRMTAP   FROMFILE(QTAPE)  TOFILE(MYLIB/KEN)  FROMSEQNBR(2)
            FROMDEV(QTAPE1)  FROMREELS(*NL 1)  FROMRCDLEN(100)
            FROMBLKLEN(1000)  FROMRCDBLK(*FB)  TOMBR(*FIRST)
            MBROPT(*REPLACE)

このコマンドは,磁気テープ装置ファイルQTAPEを使用して磁気テープからレコードをコピーします。1000バイト(または10レコード)を1ブロックにブロック化する固定長レコードの,磁気テープ装置QTAPE1上でラベルのない磁気テープ・ファイルの順序実行2のデータ・ファイル中のレコードがコピーされて,ライブラリーMYLIB中にあるファイルKENの最初のメンバー中の既存のレコードを置き換えます。

エラー・メッセージ

*ESCAPE メッセージ

CPF2816
エラーのために,&2のファイル&1はコピーされなかった。
CPF2817
エラーのために,コピー・コマンドが終了した。
CPF2818
TOMBRパラメーターに*FROMMBR値を使用することはできない。
CPF2858
印刷出力のファイル属性が正しくない。
CPF2859
共用オープン・データ・パスを使用することはできない。
CPF2875
正しくないファイル・メンバーまたはラベルがオープンされた。
CPF2888
エラーのためにメンバー&3はファイルに追加されなかった。
CPF2909
&2のファイル&1のメンバー&3の消去中にエラー。
CPF2949
&2のファイル&1のメンバー&3のクローズ中にエラー。
CPF2952
ライブラリー&2のファイル&1のオープン中にエラー。
CPF2971
ファイル&1のメンバー&3の読み取り中にエラー。
CPF2972
ファイル&1のメンバー&3への書き出し中にエラー。
CPF9212
&3のDDMファイル&2をロードまたはアンロードすることができない。