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 のユーザーによって理解されていない部分が多いようですので機会があれば、ご紹介したいと思います。
IKD様ご返事ありがとうございます。'RPGSEND'をprintf()に記述変更して、DFTACTGRP(*NO)でとりあえず、CRTBNDRPGしてコンパイルは通したのですが、これだけでは全然ダメなのですね。hhtp.confにcgiのディレクトリーをこのAJX002のPGMがある場所を指定したら、一応ブラウザからこのAJX002をAS400上で起動するとこまではできたのですが考慮すべき点がまだ全然足らないということですね。C/400がHTTPとRPGとのやりとりの部分をエンコードも含めて面倒見てくれるのではと思っていたのですが、これは私の勘違いということでしょうか?> このため IBM は (米国では) CGIDEV2 というフリーの *SRVPGM を公開しており英語は苦手ですが、参考に勉強させていただきます。
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