何故WSID毎にFTP転送記述を持つ必要があるのか文面から読取れませんでしたが、FTP転送記述の内容を物理ファイルに持って、転送記述をメンバーに書出すプログラムを用意して、転送の度に毎回作成してあげたらどうでしょうか。(上記の場合ですとTESTLB/QFTPIN(FTPCMDXXX)のメンバーを物理ファイルを読込んで、作成してからFTP転送を行う感じです。)弊社でも定期的にPCサーバへあるファイルをFTP転送していますが転送先のファイル名に日付を変えて累積させている為、少々面倒ですが記載の様な事を行っております。的外れでしたらすみません。
伊集院博 さんご返信ありがとうございます。印刷データをFTP転送しているのですが、WSID毎の作成する必要性は処理端末毎に印刷プリンタが違う為です。>転送記述をメンバーに書出すプログラムを用意して、>転送の度に毎回作成してあげたらどうでしょうか。>(上記の場合ですとTESTLB/QFTPIN(FTPCMDXXX)のメンバーを>物理ファイルを読込んで、作成してからFTP転送を行う感じです。)まさに上記のイメージです。物理ファイルに転送記述を持たせて、実行WSIDで検索をかけて処理をしたい。ただそのイメージを形にする為に調べてみてはしましたが。。。IKDさんからも返信をいただいたのですが、折角の回答を理解できずで。(まずはAPIというものを学習中)宜しくお願い致します。
私もAPIのやり方は良く分かりません。弊社の場合、転送先のファイル名の一部を置換えるだけなのでFTP転送記述のメンバーの一部をRPGにて書き換えて更新しています。何をやっているか解り難いかも知れませんが、弊社のソースを掲載します。参考になれば...AS/400の監査ログを定期的にPCサーバにFTP転送する為の転送記述です。H DATEDIT(*YMD/) *==============================================================* * ファイル仕様 * *==============================================================* * FTP転送記述テンプレート FAUDFTP UF E DISK EXTFILE('MYLIB/QTXTSRC') F EXTMBR('AUDFTP') F RENAME(QTXTSRC:AUDFTPR) DSRCDTA DS D @REC 1 108A D DATE1 17 22A D DATE2 33 38A *==============================================================* *# メ イ ン 処 理 * *==============================================================* * C MOVE *DATE W@DATE 6 0 C DO *HIVAL I 2 0 C READ AUDFTPR 90C 90 LEAVE C SELECT C WHEN I >= 2 AND I <= 15 C MOVE W@DATE DATE1 C UPDATE AUDFTPR C WHEN I >= 17 AND I <= 28 C MOVE W@DATE DATE2 C UPDATE AUDFTPR C ENDSL C ENDDO * C SETON LR C RETURN (説明)MYLIB/QTXTSRC(AUDFTP)のFTP転送記述のテンプレートとなるものを予め用意しています。メンバーを1レコードずつ読込み、2行目〜15行目と17行目〜28行目の転送記述のファイル名に日付を組み込んで更新しています。もっと簡単な方法があるかも知れませんが、私のレベルではこれが精一杯でした。
お世話になっております。ご教授いただいた内容でご確認させていただきたいのですが> FAUDFTP UF E DISK EXTFILE('MYLIB/QTXTSRC')> F EXTMBR('AUDFTP') > F RENAME(QTXTSRC:AUDFTPR)→MYLIB/QTXTSRC(AUDFTP)は転送記述のTEXTソースで、OBJを指定しているものではない。という理解で宜しいでしょうか?以下の様なレコードを持っていて、このRPGで修正するという事でしょうか?XXXXXXXX XXXXXXXX CD XXXX CD XXXX/XXXX LTYPE C 932 PUT QTEMP/TESTPF TESTPF.CSV QUIT 宜しくお願い致します。
OKです。認識は間違っていないと思います。> FAUDFTP UF E DISK EXTFILE('MYLIB/QTXTSRC')> F EXTMBR('AUDFTP') > F RENAME(QTXTSRC:AUDFTPR)上記は、TEXTソースで存在しているメンバー(ソース)を読込み、更新します。このRPGの上位にCLを用意してOVRDBF FILE(AUDFTP) TOFILE(MYLIB/QTXTSRC) MBR(AUDFTP)とするのと同じ意味です。ちなみに、ソースメンバーもAS/400の世界ではOBJ(オブジェクト)になります。
伊集院博 さんご教授いただいた内容で解決できました。IKD さんAPIにつきましても、今後学んで行きたいと思います。ありがとうございました。