PUt サブコマンド - リモート・ホストへのデータ・セットのコピー

目的

PUt サブコマンドは、データ・セットをローカル・ホストからリモート・ホストにコピーするために使用します。

フォーマット

構文図を読む構文図をスキップする
>>-PUt--local_file--+--------------+---------------------------><
                    '-foreign_file-'   

パラメーター

local_file
リモート・ホストに送信するローカル・ホストのファイルの名前を指定します。
foreign_file
リモート・ホストに送達されるデータ・セットに与えられる名前を指定します。foreign_file 名を指定しないと、foreign_file 名は local_file 名と同じになります。
制限: FTP が区分データ・セットでのディレクトリー内容転送をサポートしない場合は、ロード・モジュールを FTP できません。
結果:
  • FTP は、クライアントとサーバーの間で転送されるデータ・セットの属性を維持します。ただし、PUt サブコマンドを使用すると、以下のいずれかが起きた場合に FTP がデータ・レコードを切り捨て、データが失われる可能性があります。
    • サーバーで新規ファイルを作成していて、かつ STAtus サブコマンドによって示されている LRecl の値が送信データ・セットの LRecl より小さく、SENDSite サブコマンドが OFF に設定されている場合は、FTP が送信データ・セットを切り捨てます。
    • データ・セット名が既に受信サイトに存在しており、受信サイトにおけるデータ・セットの論理レコード長 (LRecl) が送信データ・セットの LRecl より小さい場合は、FTP は送信データ・セットを切り捨てます。
  • PUt を発行すると、FTP は、ファイルまたはデータ・セットに関するレコード・フォーマット情報が含まれている SIte サブコマンドを自動的に送信します。これをオフに切り替えるには、まず、SENDSite サブコマンドを発行しなければなりません。詳細については、SENDSite サブコマンド - サイト情報の送信の切り替えを参照してください。
  • foreign_file で指定した名前を持つファイルが既にリモート・ホストに存在している場合、リモート・ホストは既存のファイルを上書きします。foreign_file で指定した名前を持つファイルがリモート・ホストにない場合、リモート・ホストは新規のファイルを作成します。
  • PDS または PDSE のメンバーが伝送される際、次の条件が当てはまる場合、PDS メンバーに関連したユーザー・データもターゲット・ホストのディレクトリーに転送されます。
    • データがブロックまたは圧縮データ転送モードである
    • データの表現タイプが EBCDIC である
    • ある MVS™ ディレクトリーから別の MVS ディレクトリーへの転送である
    メンバーがヌル (空) の場合は、PDS ディレクトリー情報は全く転送されません。
  • リモート FTP サーバーが V1R8 以降の z/OS® FTP サーバーであり、UNIXFILETYPE=FIFO がリモート・ホストで構成され、かつ外部ファイル・ディレクトリーが z/OS UNIX ファイル・システムに存在している場合は、以下が適用されます。
    • 該当する名前を持つファイルがまだ存在していない場合は、リモート・ホストが新しい名前付きパイプを作成します。
    • 外部ファイルが名前付きパイプとして存在している場合、リモート・ホストはローカル・ファイルを外部ファイルの後に追加します。
    • 外部ファイルが z/OS UNIX の通常のファイルとして存在している場合、リモート・ホストは転送をリジェクトします。
    • 保管方式が固有保管である場合、リモート・ホストは転送をリジェクトします。保管方式を変更するには、SUnique サブコマンドを使用します。
    z/OS UNIX 名前付きパイプの使用の詳細については、z/OS UNIX システム・サービスの名前付きパイプの使用を参照してください。
  • ローカル・ファイルが z/OS UNIX 名前付きパイプである場合は、以下が適用されます。
    • 名前付きパイプからデータを送信するために UNIXFILETYPE FIFO を構成する必要があります。
    • 名前付きパイプを送信すると、名前付きパイプからデータが完全に削除されます。
    • クライアント・ホスト上の別プロセスが書き込みのために名前付きパイプを開くまで、FTP は名前付きパイプから読み取りを行うことができません。z/OS FTP クライアントは、別のプロセスが名前付きパイプを開くのを FIFOOPENTIME 値で指定されている秒数を最長として待機します。プロセスが名前付きパイプを開かない場合は、クライアントはファイル転送に失敗します。
    • FTP は、名前付きパイプからの読み取りが完了するのを、読み取りごとに FIFOIOTIME 値で指定されている秒数を最長として待機します。FIFOIOTIME 値で指定されている秒数の間、クライアントが名前付きパイプからデータをまったく読み取れなかった場合、ファイル転送は失敗します。
要件:
  • 固有のファイル名でリモート・ホストにファイルを置くには、PUt コマンドを発行する前に固有のストレージを設定しておかなければなりません。保管方式を変更するには、SUnique サブコマンドを使用します。
  • データ・セットをリモート・ホストに送信するには、リモート・ホストに定義済みの作業ディレクトリーを持ち、しかも、その作業ディレクトリーのファイルに対する書き込み特権を持っていなければなりません。

    UPDATE 権限は、書き込みアクセスに必要な最小権限です。データ・セットが割り振られオープンされる前に、新しく作成したデータ・セットに確実に書き込みを行えるように、FTP はユーザー ID に少なくとも UPDATE 権限があることを検査します。検査が失敗すると、FTP は、障害を知らせる応答をクライアントに発行することができます。オープンを継続することが許可されたものの、権限の不足により失敗した場合、応答は決定的なものにはなりません。

関連トピック: