新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
RE:CLプログラムでのデータ転送 IKD さん [ 12月17日(月) 10時24分 ]

    ユーザー名をメンバーとするファイルであっても
    OVRDBF すれば可能ですが、それよりも
    CLP でデータ転送とありますが CLP で
    ダウンロードするという意味でしょうか ?
    それとも別のSystem i に転送するということでしょうか ?

    RE:CLプログラムでのデータ転送 kazu さん [ 12月17日(月) 12時58分 ]

      > ユーザー名をメンバーとするファイルであっても
      > OVRDBF すれば可能ですが、それよりも
      > CLP でデータ転送とありますが CLP で
      > ダウンロードするという意味でしょうか ?
      > それとも別のSystem i に転送するということでしょうか ?

      説明不足で申し訳ありません。
      下記の通りにデータ転送(AS→PC)を行いますが、
      転送前にTTOファイルの内容(転送元ファイルのメンバー)を
      変更することは出来ないのでしょうか?


      PGM
        STRPCO
        MONMSG MSGID(IWS4010)
       
        STRPCCMD   PCCMD('PCSFT5.EXE "C:\PROGRAM FILES\PERSONAL +
                          COMMUNICATIONS\PRIVATE\ABCD.TTO"') +
                          PAUSE(*NO)
      ENDPGM

      RE:CLプログラムでのデータ転送 IKD さん [ 12月17日(月) 15時11分 ]

        直接的にはできません。

        このプログラムはSystem i サーバー側で実行され、
        ABCD.TTO は PCクライアント側にあるわけですから
        このプログラム(CLP)で ABCD.TTO を変更することはできません。
        やるとすれば、ABCD.TTO 自体を System i 側でユーザーー名を
        含んだ形のものを自動生成してから ABCD.TTO をダウンロードして
        から ABCD.TTO を指定したダウンロードを行うことになります。

        しかし、この方法はかなり面倒なので
        System i 側でメンバー別のファイルを別の QTEMP上のファイルに
        コピーしてからダウンロードするようにすれば
        ABCD.TTO には依存する必要がなりなりますので
        ご希望の機能を簡単に実現することができます。
        例えば このCLP内で、

          CPYF MYLIB/MYFILE TOFILE(QTEMP/MYFILE) FROMMBR(USER) MBROPT(*REPLACE) CRTFILE(*YES)

        とすれば、QTEMP 上にメンバーが異なっても同じファイル QTEMP/MYFILE が
        生成されます。
        この QTEMP/MYFILE をダウンロードする .TTO を指定するようにすればよいでしょう。

        RE:CLプログラムでのデータ転送 kazu さん [ 12月17日(月) 15時33分 ]

          > 直接的にはできません。
          > 
          > このプログラムはSystem i サーバー側で実行され、
          > ABCD.TTO は PCクライアント側にあるわけですから
          > このプログラム(CLP)で ABCD.TTO を変更することはできません。
          > やるとすれば、ABCD.TTO 自体を System i 側でユーザーー名を
          > 含んだ形のものを自動生成してから ABCD.TTO をダウンロードして
          > から ABCD.TTO を指定したダウンロードを行うことになります。
          > 
          > しかし、この方法はかなり面倒なので
          > System i 側でメンバー別のファイルを別の QTEMP上のファイルに
          > コピーしてからダウンロードするようにすれば
          > ABCD.TTO には依存する必要がなりなりますので
          > ご希望の機能を簡単に実現することができます。
          > 例えば このCLP内で、
          > 
          >   CPYF MYLIB/MYFILE TOFILE(QTEMP/MYFILE) FROMMBR(USER) MBROPT(*REPLACE) CRTFILE
          (*YES)
          > 
          > とすれば、QTEMP 上にメンバーが異なっても同じファイル QTEMP/MYFILE が
          > 生成されます。
          > この QTEMP/MYFILE をダウンロードする .TTO を指定するようにすればよいでしょう。
          > 

          ご返答ありがとうございます。

          QTEMPのファイルがデータ転送出来ない事と、
          転送先のファイル(.xls)を変更後にAS/400へ取り込む時もメンバー指定出来れば
          排他制御を考えなくていい事が理由で、前述の通りの処理を試みています。

          ABCD.TTOの中身を別のアプリケーションで変更するしかないでしょうかね。

          RE:CLプログラムでのデータ転送 IKD さん [ 12月17日(月) 17時15分 ]

            QGPL や QGPLTEMP を使って、ただし複数のほかのユーザーと
            バッティングしないように ALCOBJ *EXCLUDE で他のユーザーからの
            使用を一時的に排他制御してはどうでしょうか ?。

      TTO を 作成 FG さん [ 12月17日(月) 22時35分 ]

        動的ダウロードと呼ばれてる。
        TTO を PC側で作る。
        その為に必要な情報は、ASが提示する。
        ライブラリー名 ファイル名 メンバー名。

        EXEは必要です。
        PC側のプログラムができないと無理です。

        RE:TTO を 作成 kazu さん [ 12月18日(火) 23時5分 ]

          > 動的ダウロードと呼ばれてる。
          > TTO を PC側で作る。
          > その為に必要な情報は、ASが提示する。
          > ライブラリー名 ファイル名 メンバー名。
          > 
          > EXEは必要です。
          > PC側のプログラムができないと無理です。
          > 

          ご返信ありがとうございます。

          データ転送(PCSFT5)で.TTOを作成後、
          .TTOの内容を変更する.BATを作成し、
          CLで.BATを実行する時に変数(&USER)を渡して処理する事にしました。

          RE:TTO を 作成 FG さん [ 12月20日(木) 13時46分 ]

            DELPHI での 例。
             OUTLABEL := DriveName + ':' + DirName + '\XXXX00.TTO'  ;
                     ASSIGNFILE(OUTPUT ,OUTLABEL ) ;
                     REWRITE (OUTPUT) ;
                     WRITELN (OUTPUT , '[Profile]' ) ;
                     WRITELN (OUTPUT , 'TRTOPC' ) ;
                     WRITELN (OUTPUT , 'Description=' ) ;
                     WRITELN (OUTPUT , 'FROM        ' + PARAM01 + '/'  + PARAM02 ) ;
                     WRITELN (OUTPUT , 'SELECT      *' ) ;
                     WRITELN (OUTPUT , 'WHERE' ) ;
                     WRITELN (OUTPUT , 'ORDER BY' ) ; 

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