新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
RE:IFS上のファイルの読み込み IKD さん [ 5月29日(木) 9時49分 ]

    ご指摘のとおりです。
    従来の CGI の実行が遅いと評価されるのは
    CGI での EBCDIC/ASCII 変換に大量のオーバー・ヘツドを
    生じているからです。

     ・HTML ソースを RPG の中で記述している。
      ・HTML ソースを ソース・ファイルやデータ・ペースとして記述している。

    ... このような場合は、実行時間の 80 〜 90 % は、EBCDIC/ASCII に変換に
      時間を取られてしまいます。

    これに対して、ご提案のように HTML を ASCII コードで IFS に保存しておいて
    データ部分のみを EBCDIC/ASCII 変換して HTMLに埋め込んで送出するようにすれば
    最小のオーバー・ヘッドで済み、パフォーマンスを劇的に改善させることができます。
    Web は、パフォーマンスこそ命ですので、是非とも IFS に HTML を保存することを
    お勧め致します。(EnterpriseServer も当然、この手法です。)

    ご質問の趣旨であるRPG による IFS ストリーム・ファイルの処理の方法にさきましては
    このサイトの下記の記事がご参考になります。
     
    http://www.as400-net.com/rpg.html

    136. RPG でストリーム・ファイルを読み取るには

    RE:IFS上のファイルの読み込み ks さん [ 6月3日(火) 9時36分 ]

      現在はRPG-CGIでRPG内にHTMLを記述しています。それをIFSにhtmlだけをおいて
      入出力させようとするとまず、RPGでそのIFS上にあるhtmlを読み込んで出力する必要があるのです
      が、読み込んだ地点でEBCDIC/ASCII変換することになると思っています

      その辺の入出力の知恵をお借りできませんか

      RE:IFS上のファイルの読み込み IKD さん [ 6月3日(火) 10時17分 ]

        RPG の演算用に ASCIIで保管されている IFSストリームを
        ASCIIから EBCDIC に変換したのでは折角、ASCII で IFS に保管した意味が
        なくなります。
        IBM HTTPサーバーや Apache は 省略時は EBCDIC->ASCII 変換ですが
        設定によって 無変換、つまり ASCII->ASCII で出力することができますので
        設定をお調べください。
        CGI が最も処理時間を要するのはコード変換ですのでコード変換は
        極力少なくするようにしなければなりません。
        ASCII で読み込んだ IFS ストリームに対して文字列の検索等が必要になるかと
        思いますが検索する文字列のほうを EBCDIC->ASCII に変換して ASCII のままで
        処理するようにしてください。
        ANSI-C (C言語) であれば 

        #pragma convert(850)
            :
           (ここで記述したソースの定数はすべてASCII と見なされる)
            :
        #pragma convert(0)

        という便利な ASCII 記述の方法があるのですが RPG では、このような機能は
        ありません。唯一使えそうなのが %GRAPH ですが。

      RE:IFS上のファイルの読み込み 伊集院博 さん [ 6月3日(火) 10時55分 ]

        htmlをRPG内に読込むのならIFSに置くのではなく
        htmlだけ切り出してソースメンバーに登録したらいかがでしょうか。
        例えば、CGILIB/QHTMLSRC(HTML1)で作成し、
        このファイルをOVRDBFしてREADで読込む様にする。
        おそらくHTMLはPCで作成するかと思いますが、
        IFSにコピーするにはFTPか何かでUPすると思いますので
        UPする手間は同じだと思います。
        (IFSをドライブに割り当てていたら別ですが...)
        逆にEBCDIC/ASCII変換の回数が減って良いのではないでしょうか。

        RE:IFS上のファイルの読み込み ks さん [ 6月3日(火) 11時6分 ]

          > htmlをRPG内に読込むのならIFSに置くのではなく
          > htmlだけ切り出してソースメンバーに登録したらいかがでしょうか。
          > 例えば、CGILIB/QHTMLSRC(HTML1)で作成し、
          > このファイルをOVRDBFしてREADで読込む様にする。
          > おそらくHTMLはPCで作成するかと思いますが、
          > IFSにコピーするにはFTPか何かでUPすると思いますので
          > UPする手間は同じだと思います。
          > (IFSをドライブに割り当てていたら別ですが...)
          > 逆にEBCDIC/ASCII変換の回数が減って良いのではないでしょうか。

          要は画面ファイルのようにCGILIB/QDSPSRCにDSPファイルを置くのと同じ要領ということですかね?
          そのときにそのファイルを読み込むやり方がわからないのですが、OVRDBFでどのように
          記述したらいいのでしょうか?そうなるとCLPGMがでてきますよね

          RPG-CGI、CLの呼び出し手順はどうなるのでしょうか




          RE:IFS上のファイルの読み込み 伊集院博 さん [ 6月3日(火) 12時37分 ]

            そうです。DSPFやPRTFの様に定義を外出しする。
            方法として幾つかあると思います。
            @ファイルをUSROPN指定して
            QCMDEXCでOVRDBFしてからファイルをOPENする。
            AEXtFILE、EXTMBRキーワードを指定するです。 

        RE:IFS上のファイルの読み込み ks さん [ 6月3日(火) 11時44分 ]

          > htmlをRPG内に読込むのならIFSに置くのではなく
          > htmlだけ切り出してソースメンバーに登録したらいかがでしょうか。
          > 例えば、CGILIB/QHTMLSRC(HTML1)で作成し、
          > このファイルをOVRDBFしてREADで読込む様にする。
          > おそらくHTMLはPCで作成するかと思いますが、
          > IFSにコピーするにはFTPか何かでUPすると思いますので
          > UPする手間は同じだと思います。
          > (IFSをドライブに割り当てていたら別ですが...)
          > 逆にEBCDIC/ASCII変換の回数が減って良いのではないでしょうか。

          要は画面ファイルのようにCGILIB/QDSPSRCにDSPファイルを置くのと同じ要領ということですかね?
          そのときにそのファイルを読み込むやり方がわからないのですが、OVRDBFでどのように
          記述したらいいのでしょうか?そうなるとCLPGMがでてきますよね

          RPG-CGI、CLの呼び出し手順はどうなるのでしょうか




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