ILE-RPG や COBOL だけで独力で Web開発していると CGI では標準入出力をサポートするための
API が IBM 提供の QTMHCGI という名前のサービス・プログラム ( *SRVPGM ) として提供されている。
ところが QTMHCGI の居場所がフラフラと移動しているのである。
| OS | V3R7M0-V5R1M0 | V5R2M0-Ver6.1 | Ver7.1 |
|---|---|---|---|
| ライブラリー | QHTTP | QTCP | QHTTPSVR |
のように目まぐるしく変遷している。
昔、ある Web化ツールを開発販売している会社の掲示板に QTMHCGI が見つからない?
との質問があったことがある。
その会社の回答では「 IBMに聞いてください。」という素っ気ないものであった。
何とその会社は新しいi5/OS での動作検証もしないまま Web 開発ツールとしての製品を
販売しているようでこれには驚いた。
最近では Ver7.1 への移行が多くなってきているが QTMHTTP の居場所がまた変わると
たちまち CGI が動作しなくなる。十分、注意が必要である。
ところで QTMHCGI *SRVPGM の謎というか不思議をひとつ紹介しよう。
QTMHCGI *SRVPGM は DSPSRVPGM コマンドで表示してみると、
のように表示されるのだが、問題はこのうちの活動化グループである。
QTMHCGI の活動化グループは *DFTACTGRP となっているが、
「 ああ、*DFTACTGRPもあったよね。」と簡単に見逃してはいけない。
活動化グループが *DFTACTGRP と指定できるのは CRTBNDRPG コマンドによって作成された、
しかも RPG プログラムだけである。
CRTSRVPGM コマンドの活動化グループのパラメータ指定は、
活動化グループ . . . . . . . . *CALLER 名前 , *CALLER
となっており *DFTACTGRP を指定することは不可能である。
しかも *DFTACTGRP であれば恐らくは活動化グループは QILE である。
サービス・プログラムを作成するのに *CALLER ではなく、何故 *DFTACTGRP を指定したのかと
いうことも疑問であるが、何より どうやって *DFTACTGRP なるサービス・プログラムを作成したのか が
不思議ではないだろうか ?