FTP

16. 知らなかった?ここまでできるFTPを初公開!

FTP ではリモート・コマンドで iSeries400 の任意のコマンドやプログラムも実行できることはわかったが、一つずつのファイルのダウンロードしかできないのであろうか?

実はiSeries400のFTPには更に大きな機能が秘められている。IBM も紹介しなかった秘められた大きな使い方を紹介しよう。
それは FTP でも OPNQRYF が有効に働くことである。

複数のファイルを結合して1つのファイルにしてからダウンロードしたい場合に QUERY/400 を使って ライブラリー QTEMP に出力ファイルを作成して、それをダウンロードしたいユーザーは多くいる。リモート・コマンドで RUNQRY を実行してから連続してダウンロードすれば可能かも知れないが ここではもっとスマートな方法として OPNQRYF による方法を挙げる。

FTP 192.168.1.1
(ユーザー)
(パスワード)
quote rcmd OVRDBF FILE(SHOHIN) TOFILE(QTRFIL/SHOHIN) LVLCHK(*NO) OVRSCOPE(*JOB) SHARE(*YES)
quote rcmd OPNQRYF FILE((QTRFIL/SHOHIN) (QTRFIL/HINSHU)) FORMAT(QTRFIL/SHOHIN) 
JFLD((SHOHIN/SHSCOD HINSHU/HNSCOD *EQ)) JDFTVAL(*ONLYDFT) OPNID(SHOHIN)
get QTRFIL/SHOHIN C:\SHOHIN.txt
quote rcmd CLOF(SHOHIN)
quote rcmd DLTOVR FILE(SHOHIN) LVL(*JOB)
【 解説 】

これらを手入力するのは大変なのでバッチファイルなどで実行するとよい。
Chicago Xpress ではこの手法によって、動的に複数のファイルを結合してから FTPで無変換でダウンロードを行っている。