新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
Ajax AJX002にあるRPGSEND Okamo さん [ 3月19日(水) 20時3分 ]

    はじめまして。Okamoと申します。
    最近AS400のWeb化を考えており、こちらのサイトには有益な情報が掲載されており、
    勉強させていただいてます。

    iMagazineの「Ajaxが変える」を拝見し、こちらで公開されているAJX002を写経してCRTBNDRPGして
    みたのですが、
    「'RPGSEND' の定義が見つからない 」というエラーでコンパイルが通りません。
    ろくにRPGもわかってなくお恥ずかしいのですが、これはコンパイル時にQC2LE以外にもインクルー
    ドが必要なディレクトリーとかがあるのでしょうか?

    また DFTACTGRP(*YES)のままコンパイルしようとすると
    「DFTACTGRP(*YES) の時にパラメーター BNDDIR を使用することはできない」
    となってしまうため、 DFTACTGRP(*NO)でコンパイルしています。

    RE:Ajax AJX002にあるRPGSEND IKD さん [ 3月22日(土) 12時13分 ]

      iMagagine をご覧頂きましてありがとうございます。

      AJX002 は EnterpriseServer の RPGエンジン(RPGENGINE5) というサービス・プログラム(*SRVPGM) を
      バインドしているサンプルです。
      これは読者に実行原理をよりシンプルにわかりやすくするためです。
      一般に CGI をコンパイルするときは CRTBNDRPG ではなく
      CRTRPGMOD + CRTPGM でサービス・プログラム(*SRVPGM) をバインドします。
      RPGSEND は RPGエンジン内に定義されているプロシージャーです。
      また CRTPGM では ACTGRP(*NEW) でコンパイルしなければなりません。
      サービス・プログラムとは Windows の DLL に相当するもので
      RPGエンジンではなく System i のみで CGI を開発するのであれば
      QHTTPSVR/QTMHCGI という *SRVPGM をバインドする必要がありますが
      QTMHCGI では HTML からの変数を読み取るためのデコードやパースといった機能は
      ありませんので、独力で CGI を開発するとなると、特に漢字の入力等には
      莫大な労力を必要とします。
      このため IBM は (米国では) CGIDEV2 というフリーの *SRVPGM を公開しており
      多くのユーザーがこれを利用しています。
      原理を学習だけであれば QTMHCGI を利用して非常に簡単なサンプル CGI を開発することが
      できると思います。
      Ajax は CGI や Web開発のさらにその先にある技術です。
      簡単に言えば Ajax とは 対話式の HTMLインターフェースを実装する技術です。
      Ajax の登場によってC/S型の製品は不要となってしまうでしょう。
      Web開発の基礎はまだまだ System i のユーザーによって理解されていない部分が
      多いようですので機会があれば、ご紹介したいと思います。

      RE:Ajax AJX002にあるRPGSEND Okamo さん [ 3月25日(火) 19時33分 ]

        IKD様

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

        'RPGSEND'をprintf()に記述変更して、DFTACTGRP(*NO)でとりあえず、CRTBNDRPGしてコンパイルは
        通したのですが、これだけでは全然ダメなのですね。
        hhtp.confにcgiのディレクトリーをこのAJX002のPGMがある場所を指定したら、
        一応ブラウザからこのAJX002をAS400上で起動するとこまではできたのですが考慮すべき点がまだ全
        然足らないということですね。

        C/400がHTTPとRPGとのやりとりの部分をエンコードも含めて面倒見てくれるのではと思っていたの
        ですが、これは私の勘違いということでしょうか?

        > このため IBM は (米国では) CGIDEV2 というフリーの *SRVPGM を公開しており

        英語は苦手ですが、参考に勉強させていただきます。

        RE:Ajax AJX002にあるRPGSEND IKD さん [ 3月26日(水) 9時29分 ]

          C/400 は単なる開発言語ですので C/400 が HTMLとのインターフェースを
          とってくれるわけではありません。
          デコードやパースやユーザー自身の手で行うことが基本で
          OS400 提供の *SRVPGM として QHTTPSVR/QTMHCGI があります。
          下記は資料としては古いのですが CGI開発の基本がわかりやすくまとめられて
          いますのでご参考になさってください。

           [ AS/400 V3 TCP/IP機能とインターネット ]

          http://www-06.ibm.com/jp/servers/eserver/iseries/techinfo/cgiprog/doc.htm

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