ここでのユーザアプリケーションは、以下の条件を想定した例となっています。
List Creatorコネクタ連携型(帳票配信型)で帳票を配信し、帳票出力サーバで印刷する
COBOLアプリケーションのASSIGN句で、ファイル識別名に「PRTFILE」が指定されている
COBOLアプリケーションの実行環境の文字コード系は以下のように設定する
⇒アプリケーションサーバがSolaris/Linuxの場合は、UNICODE(UTF8)
⇒アプリケーションサーバがWindowsの場合は、Shift-JIS
帳票定義情報は、アプリケーションサーバに配置してあるものを使用する
(帳票出力時に、帳票定義情報をアプリケーションサーバから転送する)
指定値
ユーザアプリケーションで指定する値は以下のとおりです。
条件 | 指定方法 | 指定する値 |
---|---|---|
論理あて先 | プリンタ情報ファイルの「PRTNAME」キーワード | 「ld03」 |
COBOLアプリケーション連携機能の利用 | 環境変数LM_ID | 「1」(COBOLアプリケーション連携機能を利用する) |
帳票名 | 環境変数LM_FORMNAME | 「form1」 |
帳票格納ディレクトリ | プリンタ情報ファイルの「MEDDIR」キーワード |
|
プリンタ情報ファイル名を示す環境変数「ファイル識別名」 | COBOLアプリケーションのASSIGN句 | PRTFILE |
プリンタ情報ファイル名 | 環境変数「PRTFILE」 |
|
List Creator Connectorが連携する帳票管理サーバ | 環境変数LM_HOSTNAME | 「lmserver」(帳票管理サーバのホスト名) |
帳票を転送する指定 | 環境変数LM_FORMSENDMODE | 「1」(転送する) |
ライブラリ格納ディレクトリ | 環境変数LD_LIBRARY_PATH |
|
ユーザアプリケーション実行時の文字コード系 | 環境変数LANG |
|
ポイント
出力する帳票の帳票名は、帳票属性の編集コマンド(lmedtformatrコマンド)であらかじめList Managerに定義しておく必要があります。
COBOLアプリケーション連携時は、「帳票配信用」の論理あて先を指定します。
COBOLアプリケーションの記述例
この例では、以下のように記述したCOBOLアプリケーションを使用して配信・出力します。
000010***************************************************** 000020* サンプル * 000030***************************************************** 000040 IDENTIFICATION DIVISION. 000050 PROGRAM-ID. SAMPLE. 000060 000070 ENVIRONMENT DIVISION. 000080 INPUT-OUTPUT SECTION. 000090 FILE-CONTROL. 000100 SELECT PRINT-FILE ASSIGN TO PRTFILE (*1) 000110 ORGANIZATION IS SEQUENTIAL 000120 ACCESS MODE IS SEQUENTIAL 000130 FORMAT IS PRT-FORMAT 000140 GROUP IS PRT-GROUP 000150 FILE STATUS IS PRT-STATUS PRT-STATUS2. 000160 000170 DATA DIVISION. 000180 FILE SECTION. 000190 FD PRINT-FILE. 000200 COPY format1 OF XMDLIB. (*2) 000210 000220 WORKING-STORAGE SECTION. 000230 01 PRT-PARAM. 000240 03 PRT-FORMAT PIC X(08) VALUE "format1". 000250 03 PRT-GROUP PIC X(08) VALUE "GRP001". 000260 03 PRT-STATUS PIC X(02). 000270 03 PRT-STATUS2 PIC X(04). 000280 000290 PROCEDURE DIVISION. 000300**(1)印刷ファイルをオープンします。 000310 OPEN OUTPUT PRINT-FILE 000320 DISPLAY PRT-STATUS2. 000330 000330 MOVE "文字列" TO Mix0001 OF format1. 000340 000350**(2)印刷データを書き込みます。 000360 WRITE format1 AFTER ADVANCING PAGE. 000370 DISPLAY PRT-STATUS2. 000380**(3)印刷ファイルをクローズします。 000390 CLOSE PRINT-FILE. 000400 DISPLAY PRT-STATUS2. 000410 000420 STOP RUN. 000430 000440 END PROGRAM SAMPLE.
*1:
行番号000100の「PRTFILE」が、環境変数「ファイル識別名」の環境変数名になります。
このCOBOLアプリケーションを使用する場合、環境変数PRTFILEでプリンタ情報ファイル名を指定します。
*2:
行番号000200の「format1」は、帳票出力時に使用する帳票定義体(または画面帳票定義体)の定義体名を指定しています。COBOLアプリケーション連携時、定義体名と帳票名は同一でなくても構いません。出力する帳票の帳票名は、帳票属性の編集コマンド(lmedtformatrコマンド)で定義したものを使用します(COBOLアプリケーション実行時の環境変数LM_FORMNAMEで指定します)。
COBOLアプリケーションは、アプリケーションサーバに配置します。
●環境変数の設定例
アプリケーションサーバで、ユーザアプリケーションの実行時に必要な環境変数を設定します。
以下に、Bourneシェルを使用した場合の環境変数の記述例を示します。
LM_ID=1; export LM_ID LM_HOSTNAME=lmserver export LM_HOSTNAME LM_FORMSENDMODE=1; export LM_FORMSENDMODE LM_FORMNAME=form1; export LM_FORMNAME LD_LIBRARY_PATH=/opt/FJSVmeft/lib:/opt/FJSVcbl/lib:/opt/FJSVoast/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH LANG=ja_JP.UTF-8; export LANG (*1) PRTFILE=/home/user1/envfile/prtinfo.prt; export PRTFILE
*1:
COBOLアプリケーションの行番号000100のASSIGN句で「PRTFILE」を指定しているので、環境変数「ファイル識別名」の環境変数名は「PRTFILE」になります。
このため、環境変数PRTFILEでプリンタ情報ファイル名を指定しています。
以下に、Bourneシェルを使用した場合の環境変数の記述例を示します。
LM_ID=1; export LM_ID LM_HOSTNAME=lmserver export LM_HOSTNAME LM_FORMSENDMODE=1; export LM_FORMSENDMODE LM_FORMNAME=form1; export LM_FORMNAME LD_LIBRARY_PATH=/opt/FJSVXmeft/lib:/opt/FJSVcbl64/lib:/opt/FJSVoast/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH LANG=ja_JP.UTF-8; export LANG (*1) PRTFILE=/home/user1/envfile/prtinfo.prt; export PRTFILE
*1:
COBOLアプリケーションの行番号000100のASSIGN句で「PRTFILE」を指定しているので、環境変数「ファイル識別名」の環境変数名は「PRTFILE」になります。
このため、環境変数PRTFILEでプリンタ情報ファイル名を指定しています。
以下に、コマンドプロンプトを使用した場合の環境変数の記述例を示します。
SET LM_ID=1 SET LM_HOSTNAME=lmserver SET LM_FORMSENDMODE=1 (*1) SET LM_FORMNAME=form1 SET PRTFILE=c:\tmp\envfile\prtinfo.prt
*1:
COBOLアプリケーションの行番号000100のASSIGN句で「PRTFILE」を指定しているので、環境変数「ファイル識別名」の環境変数名は「PRTFILE」になります。
このため、環境変数PRTFILEでプリンタ情報ファイル名を指定しています。
●プリンタ情報ファイルの記述例
環境変数PRTFILEで指定したプリンタ情報ファイルで、帳票の出力先として論理あて先「ld03」、アプリケーションサーバの帳票格納ディレクトリを指定します。
以下に、プリンタ情報ファイルの記述例について示します。
PRTNAME ld03 MEDDIR /home/user1/formdir
PRTNAME ld03 MEDDIR C:\Assets