|
1.ソースファイルのあるメンバーに以下のように登録します。
例:
ソースファイル:FTPCMD, ソースメンバー:FTP001
通常のFTPコマンドです。ここでは、SAVFの転送を例にしていますので、binary転送(無変換転送)です。
***************** データの始め **************************************
ユーザー名 パスワード
QUOTE SITE NAMEFMT 1
BINARY
PUT QGPL/AAA.SAVF /QSYS.LIB/KAKEFUDA.LIB/AAA.SAVF
QUIT
***************** データの終り **************************************
※上記のテキストをRPGで作成するようなツールを作れば、便利ですね。転送したいファイル名、ライブラリー名、GETかPUTかなどを渡すと、それを転送するFTPコマンドができると言うわけです。
2.以下のようなCLPを作成します。
***************** データの始め **************************************
PGM
OVRDBF INPUT TOFILE(FTPCMD) MBR(FTP001)
OVRDBF OUTPUT TOFILE(FTPLOG) MBR(FTP001)
FTP RMTSYS('xxx.xxx.xxx.xxx')
DLTOVR ( INPUT OUTPUT )
RETURN
ENDPGM
***************** データの終り **************************************
このCLPをバッチ投入すれば、バッチでFTPが実行できます。実行結果は、FTPLOGの指定メンバーに落ちます。
また、FTPコマンドの中で、
ローカルシステムで実行するコマンドは、SYSCMD
リモートシステムで実行するコマンドは、QUOTE RCMD
です。
***************** データの始め **************************************
ユーザー名 パスワード
SYSCMD DSPLIB KAKEFUDA
QUOTE RCMD DSPLIB KAKEFUDA
QUIT
***************** データの終り **************************************
このFTPコマンドを上記のCLPのINPUTのソースメンバーで指定して、そのCLPをバッチ投入すれば、ローカル、リモートと処理を実行します。
参考:マニュアル
TCP/IP 構成および解説書
7.0 第7章 ファイル転送プロトコル (FTP) クライアント
※マニュアル「TCP/IP 構成および解説書」から「21.5.4
FTP サーバー・ジョブ・ログのコピーの入手」より
FTP サーバーで発生するエラーの詳細説明を得るには、FTP サーバーのジョブ・ログのコピーが必要となる場合があります。FTP クライアントから次のサブコマンドを発行すると、サーバーはそのジョブ・ログのスプール・ファイルを作成します。
QUOTE RCMD DSPJOBLOG |
追記 2000-1-6
OUTPUTで出てくる3桁コードの意味は、FTP サーバーの応答状況メッセージを見てください。
FTP サーバー・サブコマンドも参考にどうぞ。「AS/400 サーバー・サブコマンドには、実際は AS/400 CL コマンドと同等ですが、形の上では短い省略形である、一連の特殊なコマンドがあります。これらの特殊なサーバー・サブコマンドは、FTP のアーキテクチャー限界に合わせて、4 文字にする必要があります。」とのこと。
関連記事:13.10.FTPで遠隔からコマンド実行 2002-2-28
2001-1-1 |