AutoWeb

12. GUI 化入門

Web化の目的のひとつは GUIコントロール化、つまり GUI化であることは間違いない。
実は IBM も将来の GUI化の必要性はよく承知していて
かなり古いOSのリリース( V3 )の時代からDDS に GUIコントロールを用意している。

IBM は WebFacingTool の前身として WSG (=Workstation Gateway) というツールを提供していた。
これはまさしく無料で使用可能な Webフェーシング・ツールであった。

しかし残念なことにパフォーマンスや見てくれが悪く
5250画面をただ HTMLで表現しただけのものであって
実験用の参考品というイメージが否めなかった。
今では STRTCPSVR に SERVER(*WEBFACING) というオプションがあるので試すのもいいだろう。

WSG は消滅してしまったがその後、HATS や Web …. とか出ては消えの繰り返しで
今では HATS も実用的に使っているユーザーは少ないというかないに近い。
しかし今でも HATS の販売は継続されているようである。

それはともかく WSG は大いなる遺産を残してくれた。
IBM が WSG のため(?)にいくつかの GUIコントロールの機能を DDSの仕様として残してくれたことである。
ただし IBM DDS解説書には GUIコントロールの名前が
チェック・ボックスやラジオ・ボタンというような私達が普段知っている名称を使っていないので
多くのユーザーにはそれが GUIコントロールであると気づかないのかも知れない。
IBM は意地でも Microsoft が作った名称を認めたくないらしいが、そのようなところで勝負しなくても
機能面で勝負してはいかがか? と思ってしまう。

GUI コントロール DDSキー・ワード IBMの名称
チェック・ボックス MLTCHCFLD 複数選択可能フィールド
ラジオ・ボタン SNGCHCFLD 単一選択フィールド
押しボタン PSHBTNFLD 押しボタンフィールド
スクロール・バー SFLEND(*SCRBAR) サブ・ファイル終了
HTML HTML(‘ …. ‘) ハイパー・テキスト・マークアップ言語
メニュー・バー MNUBAR メニュー・バー

お馴染みのコンボボックスは DDSの仕様にはない。
コンボボックスのことを「プル・ダウンメニュー」とか言うことは絶対ない。
プル・ダウン・メニューというのはメニュー・バーの機能の一部のことであり、
しかし GUI化でメニュー・バーを使うことはまずない。

知ったかぶりでプル・ダウン・メニューとか言うと恥をかく。
同じように JavaScript のことを略して「Java」と呼ぶことも絶対ない。
これも知ったかぶりで「Java」という人が IBM i の業界にはいるので注意したい。

上記の GUIコントロールだけでは当然、不足なので AutoWeb ではさらに
次の GUIコントロールが提供されている。

GUI コントロール DDSキー・ワード
静的コンボボックス VALUES + TEXT
動的コンボボックス TEXT(*COMBO *KEY/*DATA) + REFFLD
POPUP検索 REFFLD + TEXT(*POPUP ….)
カレンダー・コントロール EDTCDE(W)
郵便番号による住所検索 TEXT(‘*ZIPCODE, *ADDR1, *ADDR2)
SFLチェック・ボックス TEXT(*SFLCHK ‘)
タブ・コントロール PSHBTNFLD + TEXT(‘*TAB’)

動的コンボボックス

データ・ベースを読んでデータを候補に表示するコンボボックスであり
*SQL, *PGM, *QUERY のストアド・プロシージャーによって高速で検索することができる。
一般的には *SQLで記述しておくだけで特別な開発は必要ない。

POPUP検索

コード検索用のPOPUPを *SQL, *PGM, *QUERY のストアド・プロシージャーによって
定義することができる。つまり今後は コード検索用のPOPUPプログラムの開発は必要なくなる。

カレンダー・コントロール

8桁数字(8Y0)に編集コード W を指定するだけで
カレンダー・コントロールを表示して日付を検索することができる。

郵便番号による住所検索

郵便番号を入力するだけで該当する住所名が表示される機能である。

SFLチェック・ボックス

実は DDS仕様書のチェック・ボックス(MLTCHCFLD)は SFLレコード上では定義することができない。
しかし SFLレコードの選択は Webでは チエック・ボックスで選択することが一般的であるので
AutoWeb では SFLレコード用のチエック・ボックスを用意した。

タブ・コントロール

機能キーによる画面遷移をタブ・コントロールによる選択に変えることができる大変すばらしい機能である。
複雑な画面構成もタブでまとめてしまえば非常に見やすくわかりやすくなる。