COBOL2002 使用の手引 手引編


12.1.4 プリンタに対する帳票出力

〈この項の構成〉

(1) 帳票の定義

通信節による帳票出力機能を使用する場合,帳票はXMAP3のドロー(パネル定義)機能を利用して定義します。ドロー(パネル定義)機能については,次に示すマニュアルを参照してください。

XMAP3 Version 4の場合
  • マニュアル「画面・帳票サポートシステム XMAP3 プログラミングガイド 帳票編」

  • マニュアル「画面・帳票サポートシステム XMAP3 開発・実行ガイド」

XMAP3 Version 5の場合
  • マニュアル「XMAP3 Version 5 画面・帳票サポートシステム XMAP3 開発ガイド」

  • マニュアル「XMAP3 Version 5 画面・帳票サポートシステム XMAP3 プログラミングガイド」

  • マニュアル「XMAP3 Version 5 画面・帳票サポートシステム XMAP3 実行ガイド」

(2) 使用する文

帳票データをプリンタへ送信したり,プリンタを閉じたりするには,原始プログラム中のデータ部通信記述項のFOR句で"OUTPUT WS"を指定し,次に示す文を使用します。

表12‒3 帳票データの送信で使用する文

使用する文

処理

SEND文

帳票データをプリンタへ送信する。

DISABLE文

プリンタを閉じる(閉じるプリンタは,DISABLE文を実行した時点で指定されているプリンタである)。

(3) 実行状態を示すコード

続行できない異常な状態が通信文で発生すると,エラーメッセージが出力されます。通信記述項にSTATUS KEY句の指定があれば,通信文の実行状態を示す5けたのコードがこの句で指定したデータ名に設定され,処理が続行されます。

STATUS KEY句がないときに続行できないエラーが発生すると,プログラムは異常終了します。

STATUS KEY句のデータ名に設定されるコードについては,マニュアル「COBOL2002 言語 拡張仕様編」 「11.1.1 通信記述項(CD)(通信節による画面機能)」を参照してください。

(4) 送信先の設定方法

帳票出力機能では,送受信先を指定することで,ネットワーク上に接続されたプリンタに帳票データを送信できます。送信先の指定方法について,次に示します。

(a) 送信先の決定のしかた

帳票データの送信先は,通信記述項でのSYMBOLIC TERMINAL句の指定の有無と,環境変数の指定の有無によって次に示すように決定されます。

表12‒4 帳票データの送信先

条件

SYMBOLIC TERMINAL句でのデータ名の指定

あり

なし

環境変数の指定

あり

環境変数CBLPRNT_xxxで指定したプリンタ

ただし,データ名に設定した内容の先頭1バイトが空白文字(X'20')の場合は,環境変数CBLPRNTIDで指定したプリンタ

環境変数CBLPRNTIDで指定したプリンタ

なし

データ名で指定した仮想端末

ただし,データ名に設定した内容の先頭1バイトが空白文字(X'20')の場合は,XMAP3のセットアップの値(仮定値)

XMAP3のセットアップの値(仮定値)

注※

マニュアル「画面・帳票サポートシステム XMAP3 Server」を参照してください。

(b) 環境変数による送信先の設定

送信先を設定するための環境変数には次の2種類があります。

仮想端末名を指定する環境変数

次の環境変数で仮想端末名を指定します。ここで指定した仮想端末名は,SYMBOLIC TERMINAL句のデータ名に"xxx"で示す名称を指定したときに有効となります。

形式
CBLPRNT_xxx=プリンタの仮想端末名
規則

xxxおよび仮想端末名は8文字以内の文字列で指定します。

仮想端末名の仮定値を指定する環境変数

SYMBOLIC TERMINAL句の指定を省略したときに仮定される仮想端末の名称を次の環境変数で指定します。

形式
CBLPRNTID=プリンタの仮想端末名
規則

仮想端末名は8文字以内の文字列で指定します。

(c) SYMBOLIC TERMINAL句の指定

通信記述項のSYMBOLIC TERMINAL句のデータ名に環境変数名または仮想端末名を指定することで,帳票データの送信先を指定できます。

環境変数名による指定方法

データ名に環境変数CBLPRNT_xxxの"xxx"の名称を指定します。環境変数で指定した仮想端末名が送受信先として設定されます。

仮想端末名による指定方法

環境変数が指定されていないときは,データ名に仮想端末名を指定することで送信先を指定できます。

(5) 送受信間の物理マップ

プリンタに対して帳票データを送受信する場合,SEND文(NO REPLY指定なし)の前に通信記述項のMAP NAME句のデータ名に物理マップ名を指定し,帳票データを送信します。