Windowsからz/OS(別名MVSまたはOS / 390)へのソースファイルのアップロードを自動化するためのperlスクリプト(以下)を作成しようとしています。put()メソッドは、z / OS上のリモートデータセット(ファイル)名の前に、ログオンしたユーザーID( "JCARTER")を付けているようです。アップロードしたいリモートデータセット名は「FSI.V121P01.INSTALL」で、Partitioned Data Set(PDS)です。この宛先データセット名のプレフィックスに「JCARTER」を付けると、データセットが見つからず、put()が失敗します。宛先ファイル名を引用するさまざまな方法を試しましたが、ファイル名の前にユーザーIDが追加されています。また、quote('SITE'、'QUOTESOVERRIDE')とquote('SITE'、'DATASETMODE')を使用して、cwd()を使用してcwdを設定しようとしましたが、それでも成功しません。
スクリプトは次のとおりです。
use strict;
use Net::FTP;
my $HostIP="xxx.xxx.xxx.xxx";
my $ftp;
$ftp = Net::FTP -> new ($HostIP) or die "Cannot connect to zOS: $@";
$ftp->login("userid","pw") or die "Cannot login.", $ftp->message;
$ftp->ascii();
#$ftp->cwd();
#$ftp->quot('SITE', 'QUO');
#$ftp->quot('SITE', 'DATAS');
print $ftp->message;
$ftp->pwd();
print $ftp->message;
$ftp->put('J:\REL122\RPS100\A2WBLIB\C\a2wversn.c', 'FSI.V121P01.INSTALL(A2WVERSN)');
print $ftp->message;
$ftp->quit;
上記のプログラムを実行すると、以下のメッセージが表示されます。
表現タイプはAsciiNonPrintです。「'JCARTER。'」は作業ディレクトリです。JCARTER.FSI.V121P01.INSTALL(A2WVERSN)は、存在しないパーティションデータセットを要求します。MKDコマンドを使用して作成します。
cwd( "")を追加して、現在の作業ディレクトリを削除しようとすると、次のようになります。
表現タイプはAsciiNonPrintです。「'JCARTER。'」は作業ディレクトリです。「/」はHFS作業ディレクトリです。データ・セット/FSI.V121P01.INSTALL(A2WVERSN)の保管/FSI.V121P01.INSTALL(A2WVERSN)のオープンに失敗しました。
私はかなり近いようです。助言がありますか ?ありがとう-ジョン