7.6.1 COBOLでの帳票印刷命令
(1) SEND文による印刷
ここでは,OLTPサーバ構成の環境で,日立COBOLのSEND文によって帳票を印刷する方法について説明します。なお,OLTPサーバ構成の環境は,XMAP3/NET,またはXMAP3/Enterprise Editionの場合に構築できます。
SEND文の詳細については,マニュアル「COBOL2002 言語 拡張仕様編」またはマニュアル「COBOL85 言語」を参照してください。
(a) 論理マップの取り込み
(形式)
![[図データ]](figure/hd056600.gif)
(b) 通信記述項
(形式)
![[図データ]](figure/hd056700.gif)
(形式の説明)
- FOR句
OUTPUTを指定します。
- MAP NAME句
表示する論理マップを指定するためのデータ項目を指定します。
- SYMBOLIC TERMINAL句
プリンタに割り当てた論理端末名を指定するためのデータ項目を指定します。
- STATUS KEY句
ステータスコードを受け取る場合に指定します。
(c) 送信命令(SEND文)
(形式)
![[図データ]](figure/hd056800.gif)
(形式の説明)
- 物理マップ名
表示する物理マップ名を指定します。デバイスIDは含みません。
- データ名1
通信記述項のMAP NAME句で指定したデータ名を指定します。
- 論理端末名
プリンタに割り当てた論理端末名を指定します。
- データ名2
通信記述項のSYMBOLIC TERMINAL句で指定したデータ名を指定します。
- 通信記述名
通信記述項で指定した名称を指定します。
- 出力論理マップ名
COPY句で取り込んだ印刷帳票に対応した出力論理マップを指定します。
(2) CALL文による印刷
ここでは,OLTPサーバ構成の環境で,COBOLのCALLインタフェースによって帳票を印刷する方法について説明します。
(a) 論理マップの取り込み
(形式)
![[図データ]](figure/hd056900.gif)
(b) インタフェース領域の作成
OLTPサーバ構成のインタフェース用の領域を作成します。詳細については,マニュアル「OpenTP1プロトコル TP1/NET/XMAP3編」を参照してください。
(形式)
![[図データ]](figure/hd057000.gif)
(c) 送信命令(CALL 'CBLDCMCF')
(形式)
![[図データ]](figure/hd057100.gif)
(形式の説明)
- 'SEND'
送信を命令するために指定します。必ず指定してください。
- データ名1
インタフェース領域(一意名1)に定義した先頭のデータ項目名を指定します。
- 'EMI'
必ず指定してください。
- データ名2
インタフェース領域(一意名1)に定義した9個目のデータ項目名を指定します。
- 論理端末名
プリンタに割り当てた論理端末名を指定します。
- データ名3
インタフェース領域(一意名2)に定義した2個目のデータ項目名を指定します。
- 物理マップ名
表示する物理マップ名を指定します。デバイスIDは含みません。
- データ名4
インタフェース領域(一意名2)に定義した3個目のデータ項目名を指定します。
- 一意名1
インタフェース領域(一意名1)を指定します。
- 一意名2
インタフェース領域(一意名2)を指定します。
- 出力論理マップ名
COPY句で取り込んだ印刷帳票に対応した出力論理マップを指定します。
(3) コンパイル時のポイント
COBOL2002を使用するときはコンパイラオプション'-OpenTP1'を,COBOL85を使用するときはコンパイラオプション'-Ot'を指定してください。