現在、多くの IBM i ユーザーではメニューというと CALL MN01 のように CLP や RPG で
作成したプログラムをメニューとして呼び出して使用している例が多い。
AutoWeb のメニューは IBM i のメニューをツリー・ビューとして表示することができる。
例えば
のメニューは次のようにツリー・ビューとして表示される。
ツリー・ビューにすると
という利点がある。
IBM i の操作にまだ不慣れな新入社員などが IBM i のメニュー構造が理解できないのは
あるメニューから別のメニューを選択して画面が遷移すると元のメニュー画面が
消えてしまうため不安になるのと同時に処理構造を記憶しておいて自分が
今どこにいてるのかを常に把握しておかなければならないストレスがかかるからである。
これをツリー・ビューにしてしまえばそのようなストレスからは解放され
快適な操作を行うことができる。
前置きが長くなってしまったがこのような AutoWeb のツリー・ビューによるメニュー表示
を紹介すると決まって「うちはプログラムによる CALL 呼出しのメニューなんですが?」
との質問が挙がる。
もちろん AutoWeb では CALL 型式のプログラム型式のメニューであっても
ツリー・ビューとして表示できます、というのが回答なのであるが
実はプログラム型式のメニューも簡単に GO MENU 型式のメニュー・オブジェクト
( *MENU )に簡単に変換することができる。
コマンド入力画面において CRTMNU + [ F4キー ] を押すと
メニュー作成 (CRTMNU) 選択項目を入力して,実行キーを押してください。 メニュー . . . . . . . . . . . MN01 名前 ライブラリー . . . . . . . . . . . QTROBJ 名前 , *CURLI メニュー・タイプ . . . . . . . *PGM *DSPF, *PGM, *
のように表示される。
メニュー・オブジェクトを指定してメニュー・タイプに *PGM を指定すると
メニュー・オブジェクト( *MENU )を生成することができて
GO MN01 のようにしてメニューを呼び出すことができる。
参考までに *DSPF とは SDA によって作成されるメニューであり
*UIM とは パネル・グループ( *PNLGRP ) によって作成されるメニューである。
もっとも パネル・グループ( *PNLGRP )の場合はパネル・グループ( *PNLGRP )の
ソースから CRTMNU コマンドによって、直接、メニュー・オブジェクト( *MENU )を
作成することができる。
CLP などでメニューを作成する人が多いが、パネル・グループ( *PNLGRP )による
メニュー作成も試して欲しい。
「13. 超簡単なメニューの作成」に紹介しているのでパネル・グループ( *PNLGRP )を
覚えるとこれほど簡単で品質の高いメニューはないことにきづくはずである。
ちなみに IBM 提供のメニューの 90%以上はパネル・グループ( *PNLGRP )で
作成されているメニューである。