付録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'