帳票出力機能を利用したアプリケーションの作成について、以下の場合に分けて説明します。
‐アプリケーションの作成手順
‐アプリケーションの記述例
‐アプリケーションソースのコンパイル・実行
Javaインタフェースを利用したアプリケーションを作成する場合は、以下の手順で行います。
運用形態を決めます。
Javaインタフェースを使用する際の運用形態(スタンドアロン型、リモート帳票出力型、Web手元印刷型、コネクタ連携型)を決めます。
入力データの指定方法を決めます。
Javaインタフェースを使用する際の入力データの指定方法により、Formsクラス、FormsFileクラス、FormsStreamクラスのどれを使用するかを決めます。
Formsクラス
データをレコード(行)単位で指定する場合
FormsFileクラス
データファイルを指定する場合
FormsStreamクラス
データをストリームで指定する場合
2.で決定したFormsクラス、FormsFileクラス、またはFormsStreamクラスのインスタンスオブジェクトを生成し、帳票およびデータを指定します。
PrintPropertiesクラスのインスタンスオブジェクトを生成し、運用形態に合わせてプロパティ情報を設定します。
PrintFormクラスのインスタンスオブジェクトを生成し、PrintOutメソッドを呼び出します。
Javaインタフェースを利用したアプリケーションの記述例について、以下の場合に分けて説明します。
‐スタンドアロン型の場合
‐マルチフォーム出力する場合
‐組合せフォーム出力する場合
‐コネクタ連携機能を使用するアプリケーションの場合
●スタンドアロン型の場合
「スタンドアロン型」とは、List Creatorの運用形態の1つで、ユーザアプリケーションを実行するコンピュータと帳票を出力するコンピュータが同一の場合の運用です。
ここでは、スタンドアロン型で、1つの帳票をPDFファイル保存する場合の記述例について記載します。
帳票定義情報は、帳票格納ディレクトリ配下の「URIAGE」を使用します。Formsクラスを利用し、レコード単位で入力データを指定します。帳票の出力先は、「ファイル保存時の格納先ファイル名(フルパス)」で指定されたディレクトリに、指定されたファイル名で出力されます。
以下は、UNIX系OS環境で出力する場合の記述例です。
import com.fujitsu.systemwalker.outputassist.connector.*; : : // Formsオブジェクトを設定します Forms form = new Forms( "URIAGE", "/var/opt/FJSVoast/Assets" ); form.pushRecord( "0020|カラーテレビ|3|120000|1234567890|1.234" ); form.pushRecord( "0022|カラオケセット|1|82000|1234567890|1.234" ); // PrintPropertiesの設定をします PrintProperties prop = new PrintProperties(); prop.setProperty( PrintProperties.ID_KEEPPDF, "/home/user1/PDF/URIAGE.pdf" ); // 帳票を出力します PrintForm pform = new PrintForm(); pform.PrintOut( form, prop );
●マルチフォーム出力する場合
帳票定義情報は、「URIAGE」、および「SYUTTAI」を使用します。FormsFileクラスを利用し、ファイル単位で入力データを指定します。入力データファイルの文字コード系はEUC(U90)です。帳票の出力先は、「ファイル保存時の格納先ファイル名(フルパス)」で指定されたディレクトリに、指定されたファイル名で出力されます。
マルチフォーム用帳票名データ区切り文字に「バーティカルバー(|)」を指定します。
アプリケーションの実行環境の文字コード系はEUC(U90)です。
以下は、UNIX系OS環境で出力する場合の記述例です。
import com.fujitsu.systemwalker.outputassist.connector.*; : : // FormsFileオブジェクトを設定します FormsFile formfile = new FormsFile("/var/opt/FJSVoast/Assets"); formfile.setDataFile("/home/user1/Data/MULTI.dat" ,FormBase.CODE_EUC); formfile.setFileType(FormBase.CODE_EUC_U90); formfile.setGrpOut(FormsFile.GRPOUT_GRP); formfile.setGrpDelimitMode(FormsFile.DELIMIT_ANY); formfile.setGrpDelimit("|"); // PrintPropertiesの設定をします PrintProperties prop = new PrintProperties(); prop.setProperty( PrintProperties.ID_KEEPPDF, "/home/user1/PDF/URIAGE.pdf" ); // 帳票を出力します PrintForm pform = new PrintForm(); pform.PrintOut(formfile, prop);
「MULTI.dat」の記述例を以下に示します。
URIAGE | △△△△電気 | 20040521 | 03101 | 005 | 0020 | カラーテレビ | 3 | 120000 URIAGE | △△△△電気 | 20040521 | 03101 | 005 | 0022 | カラオケセット | 1 | 82000 URIAGE | △△△△電気 | 20040521 | 03101 | 005 | 0100 | 電気掃除機 | 2 | 23000 SYUTTAI | NCS事)第2開発部 SYUTTAI | 385945 | 日本 花子 | 1 | 6 | 830 | 1715 | 8 | 0 | 遠地出張 SYUTTAI | 385945 | 日本 花子 | 1 | 7 | 830 | 1715 | 8 | 0 | 遠地出張 SYUTTAI | 385945 | 日本 花子 | 1 | 11 | 830 | 2130 | 8 | 3.5 | SYUTTAI | 385945 | 日本 花子 | 1 | 17 | 830 | 2130 | 8 | 3.5 | SYUTTAI | 385945 | 日本 花子 | 1 | 20 | 830 | 2130 | 8 | 3.5 | SYUTTAI | 385945 | 日本 花子 | 1 | 25 | 830 | 2130 | 8 | 3.5 | SYUTTAI | 385945 | 日本 花子 | 1 | 28 | 830 | 1715 | 8 | 0 | 遠地出張 SYUTTAI | 385945 | 日本 花子 | 1 | 29 | 830 | 1715 | 8 | 0 | 遠地出張 SYUTTAI | 385945 | 日本 花子 | 1 | 30 | 830 | 1715 | 8 | 0 | 遠地出張 SYUTTAI | 385945 | 日本 花子 | 2 | 2 | 930 | 1715 | 7 | 0 | SYUTTAI | 385945 | 日本 花子 | 2 | 7 | 830 | 1715 | 8 | 0 | SYUTTAI | 385945 | 日本 花子 | 2 | 10 | 830 | 2130 | 8 | 3.5 | SYUTTAI | 385945 | 日本 花子 | 2 | 15 | 830 | 2130 | 8 | 3.5 | SYUTTAI | 385945 | 日本 花子 | 2 | 20 | 830 | 2130 | 8 | 3.5 | SYUTTAI | 385945 | 日本 花子 | 2 | 23 | 830 | 2130 | 8 | 3.5 | SYUTTAI | 385945 | 日本 花子 | 2 | 28 | 830 | 1715 | 0 | 0 |
●組合せフォーム出力する場合
スタンドアロン型(Windows)で組合せフォーム出力し、OWFファイル生成する記述例です。
FormsFileクラスを利用し、ファイル単位で入力データを指定します。
帳票定義情報は、「C:\Assets」配下の「ヘッダA」、および「明細X」を使用します。
データファイルは、「C:\Data」配下の「cbform.dat」を使用します。文字コード系はShift-JISです。
組合せフォーム用帳票名区切り文字は「バーティカルバー(|)」です。
組合せフォーム定義ファイルは、「C:\Assets」配下の「Lccbform.ini」です。
OWFファイルは、「C:\user\OWF」配下の「form1.owf」として生成します。
import com.fujitsu.systemwalker.outputassist.connector.*; : : // FormsFileオブジェクトを設定します FormsFile formfile = new FormsFile("C:\Assets"); formfile.setLcForm("ヘッダA;明細X"); formfile.setDataFile("C:\Data\cbform.dat",FormBase.CODE_SJIS); formfile.setGrpDelimitMode(FormsFile.DELIMIT_ANY); formfile.setGrpDelimit("|"); formfile.setCbForm(true); formfile.setCbFile("C:\Assets\Lccbform.ini"); // PrintPropertiesの設定をします PrintProperties prop = new PrintProperties(); prop.setProperty(PrintProperties.ID_DIRECTMETHOD,"OWF"); prop.setProperty(PrintProperties.ID_KEEPOWF,"C:\user\OWF\form1.owf"); // 帳票を出力します PrintForm pform = new PrintForm(); pform.PrintOut(formfile, prop);
「cbform.dat」の記述例を以下に示します。
組合せフォーム名は、「組合せ1」です。
組合せ1:ヘッダA | 神奈川県川崎市中原区 | 上小田中X-X-X | △△△△電気 | 20110810 組合せ1:明細X | △△△△電気 | 20110810 | 03101 | 005 | 0020 | テレビ | 3 | 120000 組合せ1:明細X | △△△△電気 | 20110810 | 03101 | 005 | 0022 | 電子レンジ | 1 | 82000 組合せ1:明細X | △△△△電気 | 20110810 | 03101 | 005 | 0100 | 掃除機 | 2 | 23000
●コネクタ連携機能を使用するアプリケーションの場合
アプリケーションサーバから帳票とデータファイルを転送し、帳票出力サーバで生成されたPDFファイルをアプリケーションサーバに配置します。
帳票定義情報は、アプリケーションサーバの「/var/opt/FJSVoast/Assets」配下の「SYAIN」を使用します。FormsFileクラスを利用し、ファイル単位で入力データを指定します。帳票の出力先は、「生成するPDFファイル名(フルパス)」で指定されたディレクトリに、指定されたファイル名で出力されます。
以下は、UNIX系OS環境で出力する場合の記述例です。
import com.fujitsu.systemwalker.outputassist.connector.*; : : // FormsFileオブジェクトを設定します FormsFile form =new FormsFile( "/var/opt/FJSVoast/Assets" ); form.setDataFile( "/home/user1/Data/SYAIN.dat" ); form.setScriptFile( "SYAIN" ); // PrintPropertiesの設定をします PrintProperties prop = new PrintProperties(); prop.setProperty(PrintProperties.ID_HOST, "REMOTE" ); prop.setProperty(PrintProperties.ID_RETURNPDFPATH, "/home/user1/PDF/SYAIN.pdf" ); // 帳票を出力します PrintForm pform = new PrintForm(); pform.PrintOut( form, prop );
アプリケーションソースをコンパイル・実行する場合、List Creatorが提供するJarファイルに対してCLASSPATHを設定してコンパイルする必要があります。
格納先と設定が必要なJarファイルについては、以下を参照してください。
⇒“3.2.1 開発環境”
ポイント
List Creatorデザイナでもアプリケーションソースをコンパイルすることができます。
ただし、コンパイルしたアプリケーションソースを実行するには、List Creatorが必要です。