HTTPサーバーとWeb開発

92. OS Ver7.1 の QTMHCGI はどこへ ?

ILE-RPG や COBOL だけで独力で Web開発していると CGI では標準入出力をサポートするための
API が IBM 提供の QTMHCGI という名前のサービス・プログラム ( *SRVPGM ) として提供されている。
ところが QTMHCGI の居場所がフラフラと移動しているのである。

OSV3R7M0-V5R1M0V5R2M0-Ver6.1Ver7.1
ライブラリーQHTTPQTCPQHTTPSVR

のように目まぐるしく変遷している。
昔、ある Web化ツールを開発販売している会社の掲示板に QTMHCGI が見つからない?
との質問があったことがある。
その会社の回答では「 IBMに聞いてください。」という素っ気ないものであった。
何とその会社は新しいi5/OS での動作検証もしないまま Web 開発ツールとしての製品を
販売しているようでこれには驚いた。

最近では Ver7.1 への移行が多くなってきているが QTMHTTP の居場所がまた変わると
たちまち CGI が動作しなくなる。十分、注意が必要である。

ところで QTMHCGI *SRVPGM の謎というか不思議をひとつ紹介しよう。

QTMHCGI *SRVPGMDSPSRVPGM コマンドで表示してみると、

QTMHCGI

のように表示されるのだが、問題はこのうちの活動化グループである。
QTMHCGI の活動化グループは *DFTACTGRP となっているが、
「 ああ、*DFTACTGRPもあったよね。」と簡単に見逃してはいけない。
活動化グループが *DFTACTGRP と指定できるのは CRTBNDRPG コマンドによって作成された、
しかも RPG プログラムだけである。
CRTSRVPGM コマンドの活動化グループのパラメータ指定は、

   活動化グループ  . . . . . . . .   *CALLER        名前 , *CALLER

となっており *DFTACTGRP を指定することは不可能である。
しかも *DFTACTGRP であれば恐らくは活動化グループは QILE である。
サービス・プログラムを作成するのに *CALLER ではなく、何故 *DFTACTGRP を指定したのかと
いうことも疑問であるが、何より どうやって *DFTACTGRP なるサービス・プログラムを作成したのか
不思議ではないだろうか ?