付録C.3 DSPPRT01パターンを使用した画面表示と帳票印刷
一つのAPで画面の表示と帳票の印刷をする業務を想定した例を説明します。
- 〈この項の構成〉
(1) 処理の概要
各帳票を印刷するためのメニュー画面を表示します。メニューから[F2...納品書]のプッシュボタンを選ぶと,納品書の帳票を印刷します。このとき,帳票はシリアルインパクトプリンタへ印刷されます。
メニュー画面の表示と帳票印刷の処理の概要を次の図に示します。
(2) AP作成上のポイント
作成するAPの基になるAPパターンを次に示します。
-
メインプログラムで使用するAPパターン:DSPPRT01
このAPでは,[F2...納品書]ボタンが押されたときの処理だけを記述しています。「納品書」を1ページ印刷すると,プログラムが終了します。
このAP作成時には,次の点に注意してください。
-
[F2...納品書]以外のボタンが押されたときの処理を追加する。
-
印刷データの代入処理を追加する。
-
メニュー画面でのエラーチェックを必要に応じて追加する。
(3) コーディング例
コーディング上のポイントを次に示します。
WORKING-STORAGE SECTION. * 論理マップのCOPY展開 * メニュー画面用 COPY BMENU1O. ………………………… 1. COPY BMENU1I. * ダイアログボックス用 COPY LTABL1O. ………………………… 1. PROCEDURE DIVISION. * マップ名の設定 MOVE 'BMENU1ND' TO 画面マップ名 * 画面の表示と入力 TRANSCEIVE DSP FROM BMENU1O INTO BMENU1I * ボタンの判定と該当処理の呼び出し EVALUATE BMENU1-INCI ……………………… 2. WHEN 'PF02' PERFORM 帳票処理 WHEN 'PF09' MOVE キャンセル TO 画面1-フラグ END-EVALUATE : 帳票処理 SECTION. PERFORM 出力データ代入. ………………………… 3. SEND PRT FORM LTABL1O WITH EMI. 出力データ代入 SECTION. MOVE 'D0012345' TO LTABL1-SHEETNO-O. MOVE '○×A1家電' TO LTABL1-CUSTOMER-O. MOVE 'K0012345' TO LTABL1-USERNO-O. 出力データ代入-END.
-
マップ名を変更する。
プログラム中の'@@@888'をBMENU1に変更し,'\\\222'を'LTABL1'に変更します。
-
ファンクションキーの判定処理。
-
印刷データの代入処理。