付録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'に変更します。
-
ファンクションキーの判定処理。
-
印刷データの代入処理。