11.2.1 SEND文による印刷
ここでは,COBOLのSEND文で帳票を印刷する方法について,指定例を使用して説明します。
- 〈この項の構成〉
(1) 通信記述項
帳票の印刷に必要な情報をCOMMUNICATION SECTION中に指定します。
- 例
COMMUNICATION SECTION. * ┌………………………………………………………………… 1. ┌┴┐ CD PRT FOR OUTPUT WS ………………………………… 2. MAP NAME IS 帳票マップ名 ……………………… 3. DATA ABSENCE CODE IS データ有無コード ………………… 4. STATUS KEY IS 帳票-RC ……………………… 5. SYMBOLIC TERMINAL IS 帳票端末名. ……………………… 6.
- 例の説明
-
-
SEND文で使用する名称を定義します。ここでは例として「PRT」を指定します。
-
SEND文で出力する物理マップ名を格納する領域を定義します。格納するマップ名には,ドローで指定したマップ名に,次に示すIDを付けて格納します。このIDをデバイスIDといいます。
定義対象
マップ名が6文字のとき
マップ名が7文字のとき
けい線帳票(カット紙/連続紙)
6A
P
プレプリント帳票(カット紙/連続紙)
6H
L
網掛け帳票
6B
R
グラフィック帳票
6G
G
書式オーバレイ
6G
F
-
データ有無コードを設定するときにデータ有無コードを格納する領域を定義します。データ有無コードは,最初のSEND文の前に必ず格納しておきます。なお,省略すると(1F)16が仮定されます。
-
SEND文のリターンコードを格納する領域を定義します。AP中でSEND文が正常に処理されたかどうかを判定するときに,この領域を参照します。STATUS KEY句のリターンコードを次の表に示します。
表11‒7 STATUS KEY句のリターンコード コード
意味
状態/要因/対処方法
'00000'
正常終了
データの出力が正常に終了しました。
'00008'
論理エラー
COBOLのAPに誤りがあります。APの誤りを調べて修正します。
'10008'
マッピングエラー
帳票データのマッピング中にエラーが発生しました。
STATUS KEY句の指定がない場合,実行を中止します。
STATUS KEY句の指定がある場合,処理を続行します。エラーコードの内容を調査して対処する必要があります※。
'20008'
出力エラー
帳票データの出力中にエラーが発生しました。
STATUS KEY句の指定がない場合,実行を中止します。
STATUS KEY句の指定がある場合,処理を続行します。エラーコードの内容を調査して対処する必要があります※。
-
出力するプリンタを指定したい場合に,プリンタに対応づけてある仮想端末名を格納する領域を定義します。
仮想端末名は,最初のSEND文の前に指定する必要があります。XMAP3実行環境の表示・印刷セットアップ,またはC/Sセットアップで指定します。
仮想端末名について,次に示します。
1台目の標準プリンタ:PRT001
2台目以降のプリンタ:PRT002〜(環境設定が必要)
なお,AP中で仮想端末名を指定していない場合,仮想端末名の先頭1バイト目にスペースを指定している場合,または「SYMBOLIC TERMINAL IS」を省略している場合,環境変数「CBLPRNTID」で指定された仮想端末名が仮定されます。環境変数「CBLPRNTID」も指定されていない場合は,仮想端末として画面を仮定して動作するため,デバイス不一致((1400)16)エラーとなります。
また,環境変数「CBLPRNT_xxx」を指定することで,出力先の仮想端末名を変更することもできます。
CBLPRNTID,CBLPRNT_xxxについては,マニュアル「COBOL2002 ユーザーズガイド」を参照してください。
-