8.2.13 GENDSP01パターンを使用したダイアログの表示
(1) 処理の概要
受注データ登録画面を一次ウィンドウとして表示します。[F10]を押すと,商品を検索できるダイアログを二次ウィンドウとして表示します。
ダイアログは,受注データ登録画面に重ねて表示されます。ダイアログでは,はじめに「商品分類」のリストで商品の候補を絞り込みます。次に「商品一覧」のリストから商品名を選んで[OK]ボタンをクリックすると,ダイアログが消えて,受注データ入力画面の「商品名」の欄に選んだ商品名が反映されます。
ダイアログを使用した入力補助の概要を次の図に示します。
図8-13 ダイアログを使用した入力補助
![[図データ]](figure/zu071900.gif)
(2) 画面定義上のポイント
作成するGUI画面の基になる定義サンプルを次に示します。
定義サンプルを使用しない場合は,レイアウトパターンの「中汎用ウィンドウ」を使用して定義してください。
複数選択リストボックスを使用した「商品一覧」のダイアログです。画面のサンプルを使用しない場合は,レイアウトパターンの「二次ウィンドウ/二段リストボックス(複数選択)」を使用して定義してください。
一次ウィンドウの作成時には,次の注意が必要です。
- 一次ウィンドウに対する二次ウィンドウの表示位置をあらかじめ指定しておく。
- 一次ウィンドウにダイアログを表示するためのファンクションキー,またはプッシュボタンを割り当てておく。
二次ウィンドウの作成時には,次の注意が必要です。
- サンプルは一次ウィンドウのため,二次ウィンドウとして指定し直す必要がある。
また,二次ウィンドウには次の特長があります。
- [OK]ボタンのプッシュボタンダイアログで「二次ウィンドウを閉じる」の属性が指定してある。
- 二次ウィンドウの結果は固定的に一次ウィンドウに反映される。
(3) AP作成上のポイント
作成するAPの基になるAPパターンを次に示します。
- メインプログラムで使用するAPパターン:GENDSP01
このAPパターンを使用してのAP作成には,次の注意が必要です。
- 一次ウィンドウの再表示ではマッピングオプションを設定する。
- ダイアログを表示する場合と,一次ウィンドウを表示する場合との区別をする。
- ダイアログの再表示ではマッピングオプションを設定する。
- 一次ウィンドウや二次ウィンドウでのデータ入力のチェック処理は含まれていないため,必要があれば追加する。
- ダイアログに表示するデータは,固定となっている。必要があれば,マスタファイルから入力して代入する処理などに変更する。
(4) コーディング例
この例題のソースプログラムを'DAILOG.CBL'として標準提供しています。ソースプログラムからコーディング上のポイントを抜粋して次に示します。
![[図データ]](figure/zu072000.gif)
- マップ名を変更する。
プログラム中の'@@@555'を'GFILD3'に変更します。
- ファンクションキーの判定処理。
- APパターン'GENDSP01'にAP部品'NXTDSP01'を取り込み,'@@@666'を'GLBOX3'に変更する。
- 二次ウィンドウの再表示処理(絞り込み後の選択)。
- 二次ウィンドウの選択結果の一次ウィンドウへの反映。