納品伝票印刷プログラム(書式オーバレイ)のコーディングから重要な部分を抜粋したものを図11-2から図11-3に示し,ポイントを説明します。
図11-2 ポイントとなる部分のコーディング(書式オーバレイ)(1/2)
![[図データ]](figure/zu11s020.gif)
図11-3 ポイントとなる部分のコーディング(書式オーバレイ)(2/2)
![[図データ]](figure/zu11s030.gif)
- ポイント1 ファイル管理記述項に書式印刷するプリンタを割り当てます
- 書式オーバレイ印刷するプリンタのファイル名を指定し,外部装置に割り当てます。ここでは,ファイル名に「プリンタ」を,外部装置名に環境変数「PRT001」を指定しています。
- FILE STATUS句に,プリンタの入出力状態値が設定されるデータ項目名を指定します。この指定によって,プリンタに対する入出力動作(OPEN文,CLOSE文,WRITE文の実行)の状態を判定して,きめ細かく処理を分岐したり,異常があればプログラムを終了したりできます。この例題プログラムでは,入出力状態値が00(入出力の動作が成功したことを示します)であれば処理を続行し,00以外の場合は何らかの異常が発生したと見なしてプログラムを終了させています。
- ポイント2 入出力管理記述項に書式印刷を指定します
- APPLY FORMS-OVERLAY句で書式印刷を指定します。書式を示すデータ名と,「ポイント1」で割り当てたプリンタファイルを指定します。ここでは,データ名を「書式名」にして,直接指定していません。手続き部でMOVE文を使い,書式データファイル名「JYU1FC6G」を書式名に設定しています。
- ポイント3 行データの編集領域を指定します
- 書式のレイアウトに合わせて,行データのレコード長を決めます。また,レイアウトの異なる行ごとに,編集領域を記述します。各編集領域の長さは,行データの長さと等しくします。
- ポイント4 WRITE文で行データの出力を指定します
- 行データを編集したあと,WRITE文を使って行データの出力を指定します。書式レイアウトを参照しながら,BEFORE ADVANCING指定またはAFTER ADVANCING指定で行送りの数を記述してください。先頭行にポインタを位置づけたい場合や,改行だけをしたい場合などには,行データのレコードに空白を設定して行送りを指定します。
- WRITE文で行送りを指定するとき,BEFORE指定を使用するか,AFTER指定を使用するかをプログラム中で統一しましょう。統一によってわかりやすいコーディングとなります。また,コーディングミスによる重ね打ちを防ぐこともできます。
アプリケーションプログラムの作成について詳しく知りたい方は,マニュアル「XMAP3 プログラミングガイド」を参照してください。