新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
RE:FTP転送処理について 伊集院博 さん [ 10月24日(金) 17時27分 ]

    何故WSID毎にFTP転送記述を持つ必要があるのか
    文面から読取れませんでしたが、
    FTP転送記述の内容を物理ファイルに持って、
    転送記述をメンバーに書出すプログラムを用意して、
    転送の度に毎回作成してあげたらどうでしょうか。
    (上記の場合ですとTESTLB/QFTPIN(FTPCMDXXX)のメンバーを
    物理ファイルを読込んで、作成してからFTP転送を行う感じです。)

    弊社でも定期的にPCサーバへあるファイルをFTP転送していますが
    転送先のファイル名に日付を変えて累積させている為、少々面倒ですが
    記載の様な事を行っております。
    的外れでしたらすみません。

    RE:FTP転送処理について どん さん [ 10月24日(金) 17時57分 ]

      伊集院博 さん
      ご返信ありがとうございます。

      印刷データをFTP転送しているのですが、
      WSID毎の作成する必要性は処理端末毎に印刷プリンタが違う為です。

      >転送記述をメンバーに書出すプログラムを用意して、
      >転送の度に毎回作成してあげたらどうでしょうか。
      >(上記の場合ですとTESTLB/QFTPIN(FTPCMDXXX)のメンバーを
      >物理ファイルを読込んで、作成してからFTP転送を行う感じです。)

      まさに上記のイメージです。
      物理ファイルに転送記述を持たせて、実行WSIDで検索をかけて処理をしたい。

      ただそのイメージを形にする為に調べてみてはしましたが。。。

      IKDさんからも返信をいただいたのですが、
      折角の回答を理解できずで。(まずはAPIというものを学習中)

      宜しくお願い致します。

      API使わなくてもできますよ 伊集院博 さん [ 10月24日(金) 19時20分 ]

        私も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                                90
        C   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行目の転送記述のファイル名に日付を組み込んで
        更新しています。
        もっと簡単な方法があるかも知れませんが、
        私のレベルではこれが精一杯でした。

        RE:API使わなくてもできますよ どん さん [ 10月28日(火) 15時4分 ]

          お世話になっております。
          ご教授いただいた内容でご確認させていただきたいのですが

          > 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                               

          宜しくお願い致します。        

          RE:API使わなくてもできますよ 伊集院博 さん [ 10月28日(火) 16時39分 ]

            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(オブジェクト)になります。

            解決:御礼 どん さん [ 10月31日(金) 13時56分 ]

              伊集院博 さん
              ご教授いただいた内容で解決できました。

              IKD さん
              APIにつきましても、今後学んで行きたいと思います。

              ありがとうございました。

お名前
パスワード
e-mailアドレス
タイトル
ホームページ
アドレス