付録C.2 BTMENU01パターンを使用したメニュー画面の表示例
- 〈この項の構成〉
(1) 処理の概要
ユーザIDとパスワードを入力するためのユーザ登録確認画面を表示します。ユーザIDとパスワードを照合して登録があれば,次にメニュー画面を表示します。このメニュー画面で,プッシュボタンまたはファンクションキーを使用して次の処理を選ぶと,選ばれたメニューに対応した使用ごとのAPを起動します。
メニュー画面の表示処理の概要を次の図に示します。
|
|
(2) 画面定義上のポイント
ユーザ登録の確認画面には次の要素を定義することを推奨します。
-
パスワードを入力する項目の使用目的を「パスワード」と指定すると,パスワード入力時は入力データを「*」や「空白」で隠せる。
-
ユーザIDまたはパスワードに誤りがあった場合に利用できるエラーメッセージ用の項目を用意している。
(3) AP作成上のポイント
作成するAPの基になるAPパターンを次に示します。
-
メインプログラムで使用するAPパターン名:BTMENU01
メインプログラムには,次の特長があります。
-
対応しないファンクションキーや[Enter]が押されたときの処理が用意されている。
-
メニュー画面からは,[F1...見積書]ボタンまたは[F1]を選んだときの業務のAPをCALL文で呼び出す仕様となっている。
-
メニュー画面から業務ごとのAPを呼び出すとき,メニュー画面をDISABLE文でクローズしている。
なお,このAPパターンを使用してのメインプログラム作成時には次の注意が必要です。
-
ユーザIDおよびパスワードの照合処理は含まれていないため,ユーザ独自のコーディングが必要となる。
(4) コーディング例
コーディング上のポイントを次に示します。
WORKING-STORAGE SECTION.
* 論理マップのCOPY展開
* ユーザ登録確認画面用
COPY GPASW1O. ……………… 1.
COPY GPASW1I.
*メニュー画面用
COPY BMENU1O. ……………… 1.
COPY BMENU1I.
COPY X3MODTBL.
01 EXEC-NAME1.
02 FILLER PIC X(12) ……………… 2.
VALUE 'DSPCLEAR.exe'
PROCEDURE DIVISION.
* マップ名の設定
MOVE 'GPASW1ND' TO 画面マップ名
* ユーザ登録確認画面の表示
TRANSCEIVE DSP FROM GPASW1O INTO GPASW1I.
:
* メニュー画面の表示
* マップ名の設定
MOVE 'BMENU1ND' TO 画面マップ名.
* 画面の表示と入力
TRANSCEIVE DSP FROM BMENU1O INTO BMENU1I.
* ボタン・ファンクションキーのチェックと該当プログラムの呼び出し
EVALUATE BMENU1-INCI
WHEN 'PF01'
DISABLE DSP
MOVE '0' TO PROC-IND
CALL 'CBLEXEC' USING EXEC-NAME-LEN……… 3.
EXEC-NAME1 EXEC-PARM
END-EVALUATE.-
マップ名を変更する。
プログラム中の'@@@111'を'GPASW1'に,'@@@444'を'BMENU1'に変更します。
-
実行ファイル名を変更する。
プログラム中の'###EXE01.exe'を'DSPCLEAR.exe'に変更します。
-
CALL文を使用してAPを呼び出す。
CALL 'DSPCLEAR.exe'