(57)【特許請求の範囲】
【請求項１】
予め与えられた複数のフィールドを有する帳票フォームデータに、複数のデータ項目を有するテキスト形式の帳票テキストデータを適用して帳票出力データを形成してこれを印刷出力する帳票出力装置であって、
前記帳票フォームデータと前記帳票テキストデータ、前記フィールドのうちの一部である固定値フィールドに頻出する値を集計したデータである中間テンプレートパラメータテーブル、および過去に形成された前記帳票出力データの出力履歴について予め記憶している記憶手段と、
前記出力履歴で過去に出力された前記複数のフィールドの中に出現頻度が予め与えられた基準値以上であるフィールドが存在するか否かを判断し、これが存在すれば該フィールドを前記固定値フィールドであると判断してその旨をフィールド属性テーブルとして前記記憶手段に記憶するフィールド値分析部と、
前記帳票テキストデータを読み込んで該帳票テキストデータ中の前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されているか否かを判断し、登録されていなければこれを当該パラメータテーブルに登録すると共に登録されていれば当該パラメータテーブルに記録されている中間テンプレート番号を処理手順リストとして前記記憶手段に記憶するパス１処理部と、
前記帳票フォームデータ上の前記固定値フィールドに該当する値を前記中間テンプレートパラメータテーブルから読み込んで中間テンプレートを作成して前記記憶手段に記憶する中間処理部と、
前記処理手順リストに前記中間テンプレート番号が記憶されていればこれに対応する前記中間テンプレートを読み込み、前記中間テンプレートに含まれないフィールドの値を前記帳票テキストデータから読み出して適用して前記帳票出力データを形成するパス２処理部と、
前記帳票出力データを印刷出力する印刷手段とを有することを特徴とする帳票出力装置。
【請求項２】
前記フィールド値分析部が、前記固定値フィールドとその他の前記フィールドのうちのいずれか１つからなる組について、前記出力履歴に記録された内容を比較し、これらが全て合致する場合に前記固定値フィールドでない方のフィールドを前記固定値フィールドの関連フィールドとして前記フィールド属性テーブルに含めて記憶する機能を有することを特徴とする、請求項１に記載の帳票出力装置。
【請求項３】
前記記憶手段に、前記中間テンプレートの使用回数を前記中間テンプレート番号に対応して記録するための中間テンプレート使用回数テーブルが予め記憶され、
前記パス１処理部が、前記中間テンプレートの使用回数を記録する機能を有すると共に、
前記中間処理部が、前記使用回数が与えられた基準値に満たない前記中間テンプレートについての記録を前記中間テンプレートパラメータテーブルおよび前記処理手順リストから削除する機能を有することを特徴とする、請求項１に記載の帳票出力装置。
【請求項４】
前記パス１処理部が、前記帳票テキストデータの中での前記帳票出力データ１枚分のデータの開始位置を前記処理手順リスト中に含めて記憶する機能を有することを特徴とする、請求項１に記載の帳票出力装置。
【請求項５】
前記パス２処理部を複数有し、各々の前記パス２処理部が前記処理手順リストの異なる範囲を処理して前記帳票出力データを形成すると共に、
各々の前記パス２処理部が形成した前記帳票出力データを結合して前記印刷手段に出力するデータ結合部を有することを特徴とする、請求項１に記載の帳票出力装置。
【請求項６】
予め与えられた複数のフィールドを有する帳票フォームデータに、複数のデータ項目を有するテキスト形式の帳票テキストデータを適用して帳票出力データを形成してこれを印刷出力する帳票出力装置にあって、
前記フィールドのうちの一部である固定値フィールドに頻出する値について記憶している中間テンプレートパラメータテーブルと過去に形成された前記帳票出力データの出力履歴とが予め備えられた記憶手段に記憶されており、
前記出力履歴で過去に出力された前記複数のフィールドの中に出現頻度が予め与えられた基準値以上であるフィールドが存在するか否かをフィールド値分析部が判断し、
前記出現頻度が基準値以上であるフィールドが存在すれば、該フィールドを前記固定値フィールドであると前記フィールド値分析部が判断してその旨をフィールド属性テーブルとして前記記憶手段に記憶し、
前記帳票テキストデータを読み込んで該帳票テキストデータ中の前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されているか否かをパス１処理部が判断し、
前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されていなければ、前記パス１処理部がこれを前記中間テンプレートパラメータテーブルに登録し、
前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されていれば、前記パス１処理部が該当する前記中間テンプレートパラメータテーブルに記録されている中間テンプレート番号を処理手順リストとして前記記憶手段に記憶し、
前記帳票フォームデータ上の前記固定値フィールドに該当する値を前記中間テンプレートパラメータテーブルから中間処理部がこれを読み込んで中間テンプレートを作成して前記記憶手段に記憶し、
前記処理手順リストに前記中間テンプレート番号が記憶されていればこれに対応する前記中間テンプレートを、パス２処理部が読み込み、
前記中間テンプレートに含まれないフィールドの値を前記パス２処理部が前記帳票テキストデータから読み出して適用して前記帳票出力データを形成し、
前記帳票出力データを印刷手段が印刷出力することを特徴とする帳票出力方法。
【請求項７】
予め与えられた複数のフィールドを有する帳票フォームデータに、複数のデータ項目を有するテキスト形式の帳票テキストデータを適用して帳票出力データを形成してこれを印刷出力する帳票出力装置にあって、
前記帳票出力装置が備えるコンピュータに、
前記フィールドのうちの一部である固定値フィールドに頻出する値について記憶している中間テンプレートパラメータテーブルと過去に形成された前記帳票出力データの出力履歴とを予め記憶する手順、
前記出力履歴で過去に出力された前記複数のフィールドの中に出現頻度が予め与えられた基準値以上であるフィールドが存在するか否かを判断する手順、
前記出現頻度が基準値以上であるフィールドが存在すれば、該フィールドを前記固定値フィールドであると判断してその旨をフィールド属性テーブルとして記憶する手順、
前記帳票テキストデータを読み込んで該帳票テキストデータ中の前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されているか否かを判断する手順、
前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されていなければ、これを前記中間テンプレートパラメータテーブルに登録する手順、
前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されていれば、該当する前記中間テンプレートパラメータテーブルに記録されている中間テンプレート番号を処理手順リストとして前記記憶手段に記憶する手順、
前記帳票フォームデータ上の前記固定値フィールドに該当する値を前記中間テンプレートパラメータテーブルから読み込んで中間テンプレートを作成して記憶する手順、
前記処理手順リストに前記中間テンプレート番号が記憶されていればこれに対応する前記中間テンプレートを読み込む手順、
前記中間テンプレートに含まれないフィールドの値を前記帳票テキストデータから読み出して適用して前記帳票出力データを形成する手順、
および前記帳票出力データを印刷出力させる手順
を実行させることを特徴とする帳票出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票出力装置、帳票出力方法および帳票出力プログラムに関し、特に帳票の印刷にかかる時間を短縮することが可能な帳票出力装置等に関する。
【背景技術】
【０００２】
企業の業務の根幹は、既に大部分がコンピュータ化されているが、商取引の手続き上などで帳票を印刷して使用する機会は非常に多くある。その場合には、業務システムのデータベースに登録されたデータから必要なデータを抽出して、これを予め用意された定型フォームである帳票フォーム上に適用して、印刷して出力する。ここでは、このような処理を行うコンピュータ主体の装置のことを帳票出力装置という。
【０００３】
これに関連する技術文献として、以下の各々がある。その中でも特許文献１には、ドラッグ＆ドロップで定型フォーム上にデータを入力してプレビューできるという帳票作成装置が記載されている。特許文献２には、あるフィールドと関連度の高いフィールドを拡大して表示させるという情報処理装置が記載されている。
【０００４】
特許文献３には、複数の定型フォームから同一視できるフィールドを抽出してデータを挿入するという情報処理装置が記載されている。特許文献４には、あるフィールドについて検索条件に該当するフィールドを動的なデータ項目として関連づけるという帳票出力指示装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−０４４８８９号公報
【特許文献２】特開２００８−１６５４０８号公報
【特許文献３】特開２００８−２１７７７４号公報
【特許文献４】特開２０１０−１１７９１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般的な帳票出力装置では、データベースからテキストファイル（ＣＳＶファイル）として出力された帳票データを、その先頭から順番に帳票フォーム上に予め定義されたデータフィールド（以後単にフィールドという）に適用して印刷するようになっている。その際、この帳票データ上に同じ値（たとえば請求日など）、もしくはあるフィールドの特定の値に対応して他のフィールドの値も自動的に決まるものがあったとしても、それらは特に考慮されることなく処理され、印刷される。
【０００７】
帳票の種類によっては、フォントからのラスタライズや、会社ロゴなどのような埋め込み図形の拡大縮小などの処理が必要な場合もあるので、そのような場合には同一の処理を帳票１枚ごとに繰り返すことになる。特に毎日多くの枚数の帳票をまとめて印刷する業者にとっては、この印刷にかかる時間を可能な限り短縮したいという要望は当然あるので、同一の処理を帳票１枚ごとに繰り返すという無駄な処理は可能な限り避けたい。
【０００８】
しかしながら、一般的に帳票データはＣＳＶファイルなどのような汎用的なファイル形式であり、帳票フォームから独立したものである。そのため、これを帳票として印刷した場合のページ区切り位置などについて、帳票データから判断することはできない。そのため、帳票出力装置は帳票データの先頭から順番に処理して印刷する以外になく、上記のような無駄な処理を避けることはできない。
【０００９】
上記の問題を解決しうる構成は、前述の特許文献１〜４には記載されていない。これらの特許文献１〜４は、帳票印刷に関する「（データ入力などのような）人間の手による操作」を能率化することを目的としたものであり、帳票印刷そのもの（機械による処理）にかかる負荷の軽減もしくは時間の短縮を目的としたものではない。またそのようなことを可能とする構成も記載されていない。
【００１０】
本発明の目的は、帳票印刷にかかる負荷を軽減し、帳票データを帳票フォームに適用して印刷する処理を短時間に完了することを可能とする帳票出力装置、帳票出力方法および帳票出力プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明に係る帳票出力装置は、予め与えられた複数のフィールドを有する帳票フォームデータに、複数のデータ項目を有するテキスト形式の帳票テキストデータを適用して帳票出力データを形成してこれを印刷出力する帳票出力装置であって、帳票フォームデータと帳票テキストデータ、フィールドのうちの一部である固定値フィールドに頻出する値を集計したデータである中間テンプレートパラメータテーブル、および過去に形成された帳票出力データの出力履歴について予め記憶している記憶手段と、出力履歴で過去に出力された複数のフィールドの中に出現頻度が予め与えられた基準値以上であるフィールドが存在するか否かを判断し、これが存在すれば該フィールドを固定値フィールドであると判断してその旨をフィールド属性テーブルとして記憶手段に記憶するフィールド値分析部と、帳票テキストデータを読み込んで該帳票テキストデータ中の固定値フィールドの値が中間テンプレートパラメータテーブルに登録されているか否かを判断し、登録されていなければこれを当該パラメータテーブルに登録すると共に登録されていれば当該パラメータテーブルに記録されている中間テンプレート番号を処理手順リストとして記憶手段に記憶するパス１処理部と、帳票フォームデータ上の固定値フィールドに該当する値を中間テンプレートパラメータテーブルから読み込んで中間テンプレートを作成して記憶手段に記憶する中間処理部と、処理手順リストに中間テンプレート番号が記憶されていればこれに対応する中間テンプレートを読み込み、中間テンプレートに含まれないフィールドの値を帳票テキストデータから読み出して適用して帳票出力データを形成するパス２処理部と、帳票出力データを印刷出力する印刷手段とを有することを特徴とする。
【００１２】
上記目的を達成するため、本発明に係る帳票出力方法は、予め与えられた複数のフィールドを有する帳票フォームデータに、複数のデータ項目を有するテキスト形式の帳票テキストデータを適用して帳票出力データを形成してこれを印刷出力する帳票出力装置にあって、フィールドのうちの一部である固定値フィールドに頻出する値について記憶している中間テンプレートパラメータテーブルと過去に形成された帳票出力データの出力履歴とが予め備えられた記憶手段に記憶されており、出力履歴で過去に出力された複数のフィールドの中に出現頻度が予め与えられた基準値以上であるフィールドが存在するか否かをフィールド値分析部が判断し、出現頻度が基準値以上であるフィールドが存在すれば、該フィールドを固定値フィールドであるとフィールド値分析部が判断してその旨をフィールド属性テーブルとして記憶手段に記憶し、帳票テキストデータを読み込んで該帳票テキストデータ中の固定値フィールドの値が中間テンプレートパラメータテーブルに登録されているか否かをパス１処理部が判断し、固定値フィールドの値が中間テンプレートパラメータテーブルに登録されていなければ、パス１処理部がこれを中間テンプレートパラメータテーブルに登録し、固定値フィールドの値が中間テンプレートパラメータテーブルに登録されていれば、パス１処理部が該当する中間テンプレートパラメータテーブルに記録されている中間テンプレート番号を処理手順リストとして記憶手段に記憶し、帳票フォームデータ上の固定値フィールドに該当する値を中間テンプレートパラメータテーブルから中間処理部がこれを読み込んで中間テンプレートを作成して記憶手段に記憶し、処理手順リストに中間テンプレート番号が記憶されていればこれに対応する中間テンプレートを、パス２処理部が読み込み、中間テンプレートに含まれないフィールドの値をパス２処理部が帳票テキストデータから読み出して適用して帳票出力データを形成し、帳票出力データを印刷手段が印刷出力することを特徴とする。
【００１３】
上記目的を達成するため、本発明に係る帳票出力プログラムは、予め与えられた複数のフィールドを有する帳票フォームデータに、複数のデータ項目を有するテキスト形式の帳票テキストデータを適用して帳票出力データを形成してこれを印刷出力する帳票出力装置にあって、帳票出力装置が備えるコンピュータに、フィールドのうちの一部である固定値フィールドに頻出する値について記憶している中間テンプレートパラメータテーブルと過去に形成された帳票出力データの出力履歴とを予め記憶する手順、出力履歴で過去に出力された複数のフィールドの中に出現頻度が予め与えられた基準値以上であるフィールドが存在するか否かを判断する手順、出現頻度が基準値以上であるフィールドが存在すれば、該フィールドを固定値フィールドであると判断してその旨をフィールド属性テーブルとして記憶する手順、帳票テキストデータを読み込んで該帳票テキストデータ中の固定値フィールドの値が中間テンプレートパラメータテーブルに登録されているか否かを判断する手順、固定値フィールドの値が中間テンプレートパラメータテーブルに登録されていなければ、これを中間テンプレートパラメータテーブルに登録する手順、固定値フィールドの値が中間テンプレートパラメータテーブルに登録されていれば、該当する中間テンプレートパラメータテーブルに記録されている中間テンプレート番号を処理手順リストとして記憶手段に記憶する手順、帳票フォームデータ上の固定値フィールドに該当する値を中間テンプレートパラメータテーブルから読み込んで中間テンプレートを作成して記憶する手順、処理手順リストに中間テンプレート番号が記憶されていればこれに対応する中間テンプレートを読み込む手順、中間テンプレートに含まれないフィールドの値を帳票テキストデータから読み出して適用して帳票出力データを形成する手順、および帳票出力データを印刷出力させる手順を実行させることを特徴とする。
【発明の効果】
【００１４】
本発明は、上述したようにカバー比率ａが基準値以上のフィールドを固定値フィールドとし、この固定値フィールドに頻出する値について中間テンプレートを作成して記憶するように構成したので、頻出する値についての処理を少なくすることができる。さらに、中間テンプレートを利用して、印刷処理を複数のパスに分けて実行するので、この処理にかかる時間を削減できる。
【００１５】
これによって、帳票印刷にかかる負荷を軽減し、帳票データを帳票フォームに適用して印刷する処理を短時間に完了することが可能であるという、優れた特徴を持つ帳票出力装置、帳票出力方法および帳票出力プログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る帳票出力装置の構成について示す説明図である。
【図２】図１で示した帳票出力装置の処理の流れを観念的に示す説明図である。
【図３】図１で示した帳票テキストデータの例を示す説明図である。
【図４】図１で示したフィールド属性テーブルに記憶されるデータの例を示す説明図である。
【図５】図１で示した中間テンプレートパラメータテーブルに記憶されるデータの例を示す説明図である。
【図６】図１で示した中間テンプレート使用回数テーブルに記憶されるデータの例を示す説明図である。
【図７】図１で示したパス２処理手順リストに記憶されるデータの例を示す説明図である。
【図８】図１で示した帳票フォームデータの例を示す説明図である。
【図９】図１に示したフィールド値分析部が行う処理について示すフローチャートである。
【図１０】図１に示したパス１処理部が行う処理について示すフローチャートである。
【図１１】図１に示した中間処理部が行う処理について示すフローチャートである。
【図１２】図１に示したパス２処理部が行う処理について示すフローチャートである。
【図１３】本発明の第２の実施形態に係る帳票出力装置の構成について示す説明図である。
【図１４】図１３で示した帳票出力装置の処理の流れを観念的に示す説明図である。
【発明を実施するための形態】
【００１７】
（第１の実施形態）
以下、本発明の第１の実施形態の構成について添付図１〜３に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る帳票出力装置１０は、予め与えられた複数のフィールドを有する帳票フォームデータ１１１に、複数のデータ項目を有するテキスト形式の帳票テキストデータ１１２を適用して帳票出力データを形成してこれを印刷出力する帳票出力装置である。この帳票出力装置１０は、帳票フォームデータ１１１と帳票テキストデータ１１２、フィールドのうちの一部である固定値フィールドに頻出する値を集計したデータである中間テンプレートパラメータテーブル１２１、および過去に形成された帳票出力データの出力履歴１１４について予め記憶している記憶手段１２と、出力履歴で過去に出力された複数のフィールドの中に出現頻度が予め与えられた基準値以上であるフィールドが存在するか否かを判断し、これが存在すれば該フィールドを固定値フィールドであると判断してその旨をフィールド属性テーブルとして記憶手段に記憶するフィールド値分析部１０４と、帳票テキストデータを読み込んで該帳票テキストデータ中の固定値フィールドの値が中間テンプレートパラメータテーブルに登録されているか否かを判断し、登録されていなければこれを当該パラメータテーブルに登録すると共に登録されていれば当該パラメータテーブルに記録されている中間テンプレート番号を処理手順リストとして記憶手段に記憶するパス１処理部１０１と、帳票フォームデータ上の固定値フィールドに該当する値を中間テンプレートパラメータテーブルから読み込んで中間テンプレート１２４を作成して記憶手段に記憶する中間処理部１０２と、処理手順リストに中間テンプレート番号が記憶されていればこれに対応する中間テンプレートを読み込み、中間テンプレートに含まれないフィールドの値を帳票テキストデータから読み出して適用して帳票出力データ１１３を形成するパス２処理部１０３と、帳票出力データを印刷出力する印刷手段１４とを有する。
【００１８】
ここで、フィールド値分析部１０４が、固定値フィールドとその他のフィールドのうちのいずれか１つからなる組について、出力履歴１１４に記録された値を比較し、これらが全て合致する場合に固定値フィールドでない方のフィールドを固定値フィールドの関連フィールドとしてフィールド属性テーブルに含めて記憶する機能を有する。
【００１９】
そして記憶手段に、中間テンプレートの使用回数を中間テンプレート番号に対応して記録するための中間テンプレート使用回数テーブル１２２が予め記憶され、パス１処理部１０１が、中間テンプレートの使用回数を記録する機能を有すると共に、中間処理部１０２が、使用回数が与えられた基準値に満たない中間テンプレートについての記録を中間テンプレートパラメータテーブルおよび処理手順リストから削除する。
【００２０】
さらに、パス１処理部１０１が、帳票テキストデータ１１２の中での帳票出力データ１枚分のデータの開始位置を処理手順リスト中に含めて記憶する。
【００２１】
この構成を備えることにより、帳票出力装置１０は帳票データを帳票フォームに適用して印刷する処理を短時間かつ少ない処理負荷で完了することが可能となる。
以下、これをより詳細に説明する。
【００２２】
図１は、本発明の第１の実施形態に係る帳票出力装置１０の構成について示す説明図である。また、図２は、図１で示した帳票出力装置１０の処理の流れを観念的に示す説明図である。
帳票出力装置１０は、一般的なコンピュータ装置に印刷装置（プリンタ）が接続されることによって構成される。即ち、帳票出力装置１０は、コンピュータプログラムを実行する主体となる主演算制御手段（ＣＰＵ: Central Processing Unit）１１と、データを記憶する記憶手段１２と、ユーザからの操作を受け付ける入力手段１３と、最終的な帳票を印刷する印刷装置（プリンタ）である印刷手段１４とを備える。
【００２３】
主演算制御手段１１で行われる処理を、ここでは「パス１処理」「パス２前処理」「パス２処理」「フィールド値分析」の４段階に分けて説明する。即ち、主演算制御手段１１では、パス１処理部１０１、中間処理部１０２、パス２処理部１０３、フィールド値分析部１０４が、各々コンピュータプログラムとして後述するそれぞれの機能を実行されるように構成されている。
【００２４】
また、記憶手段１２には、帳票フォームデータ１１１、帳票テキストデータ１１２、フィールド属性テーブル１２０、中間テンプレート使用回数テーブル１２２、中間テンプレートパラメータテーブル１２１、パス２処理手順リスト１２３といった各データが初期データとして予め記憶されている。そして、出力履歴１１４、中間テンプレート１２４も記憶域として記憶手段１２に確保されている。
【００２５】
パス１処理部１０１は、帳票出力装置１０による第１段階の処理を行う。中間処理部１０２は、パス１処理部１０１からの出力に対してパス２処理部１０３による処理のための下準備を行うと共に、この出力データを中間テンプレート１２４として保存する。パス２処理部１０３は、中間処理部１０２によって下準備されたデータに対して第２段階の処理を行い、プリンタ出力用の言語で記述された帳票出力データ１１３を印刷手段１４に対して出力する。
【００２６】
帳票フォームデータ１１１は、最終的に出力される帳票の設計図にあたる初期データである。帳票テキストデータ１１２は、帳票フォームデータ１１１上に適用されて出力されるテキスト（ＣＳＶ）形式のデータである。出力履歴１１４は、過去に出力された帳票出力データ１１３を一定期間蓄積する記憶域である。フィールド値分析部１０４は、出力履歴１１４に蓄積された過去の帳票出力データ１１３から、帳票フォームデータ１１１上に設けられた各フィールドの値の分散状況を分析し、その結果をフィールド属性テーブル１２０に出力する。
【００２７】
フィールド属性テーブル１２０は、フィールド値分析部１０４による分析結果、より具体的には帳票フォームデータ１１１上の各フィールドの中で、ほぼ毎回同じ値（固定値）が適用されているフィールド、また一つのフィールドの値に対応する値が適用されるフィールドについての情報が記憶される。
【００２８】
中間テンプレートパラメータテーブル１２１は、フィールド属性テーブル１２０で固定値であると示されるフィールドの値のバリエーションについて記憶している。中間テンプレート使用回数テーブル１２２は、このバリエーションが実際に使用された回数について記憶している。パス２処理手順リスト１２３は、帳票テキストデータ１１２のファイル内オフセット値と出力帳票でのページ番号、およびこの帳票テキストデータ１１２が中間テンプレートパラメータテーブル１２１中のいずれのバリエーションに該当するか（あるいはしないのか）について記憶している。
【００２９】
中間テンプレート１２４は、パス１処理部１０１が出力する中間データであり、中間テンプレートパラメータテーブル１２１の各レコードを帳票フォームデータ１１１に当てはめ、帳票出力データ１１３の途中までを生成した中間データである。
【００３０】
（各動作部の動作について）
次に、主演算制御手段１１で動作するパス１処理部１０１、中間処理部１０２、パス２処理部１０３、フィールド値分析部１０４の各動作部の動作について説明する。以後に示す本実施形態による動作は、本実施形態によらない通常の動作、即ち帳票フォームデータ１１１に帳票テキストデータ１１２の各レコードを順番に適用し、これによって得られた帳票出力データ１１３が出力履歴１１４にある程度蓄積されていることが前提となる。
【００３１】
フィールド値分析部１０４は、出力履歴１１４を参照して、１回の帳票データの出力について、各フィールドの値のバリエーションを調べ、既定個のバリエーションで既定の率以上出現するものについては、これを固定値フィールドであると判断して、その旨をフィールド属性テーブル１２０に出力する。また、検出された固定値フィールドと他のフィールドとの間で組を作って値を比較し、それらの間で値が相互に対応関係であるフィールドがあれば、片方をもう片方の関連フィールドであると判断して、その旨をフィールド属性テーブル１２０に出力する。
【００３２】
パス１処理部１０１は、帳票テキストデータ１１２の各レコードを参照して、当該レコードの開始ファイルオフセットをパス２処理手順リスト１２３に新たなページ番号に相当するレコードとして出力する。
【００３３】
またパス１処理部１０１は、フィールド属性テーブル１２０を参照して、その固定値フィールドを中間テンプレートパラメータテーブル１２１と比較して新たなバリエーションが出現したか否かを判断する。新たなバリエーションが出現していれば、その値のセットを中間テンプレートパラメータテーブル１２１に出力する。新たなバリエーションが出現していなければ、フィールド値のセットに該当する中間テンプレート番号に応じた中間テンプレート使用回数テーブル１２２内のレコードに＋１を加算し、パス２処理手順リスト１２３に中間テンプレート番号を出力して当該ページ番号のレコードを終了する。
【００３４】
中間処理部１０２は、中間テンプレート使用回数テーブル１２２を参照して、既定回数以下のものは中間テンプレートを作成する方が処理のオーバヘッドは大きいと判断して、中間テンプレート使用回数テーブル１２２および中間テンプレートパラメータテーブル１２１から当該レコードを削除し、パス２処理手順リスト１２３から当該中間テンプレートが使用されているレコードを中間テンプレート「なし」に変更する。その後に、残った中間テンプレートパラメータテーブル１２１の各レコードを帳票フォーム１１０に当てはめて、各レコードに応じたプリンタあるいは画面出力用言語で中間テンプレート１２４を作成する。
【００３５】
パス２処理部１０３は、パス２処理手順リスト１２３を先頭から読み込んで各々の処理手順について中間テンプレート１２４の有無を判断する。そして中間テンプレート１２４のあるものについては、該中間テンプレート１２４を使用し、固定値以外のフィールドに対して帳票テキストデータ１１２の値を適用して、帳票出力データ１１３を生成する。中間テンプレート１２４のないものについては、既存の帳票出力方法と同様にして、帳票フォームデータ１１１の全てのフィールドに対して帳票テキストデータ１１２の値を適用して、帳票出力データ１１３を生成する。
【００３６】
（データの例について）
図３は、図１で示した帳票テキストデータ１１２の例を示す説明図である。図４は、図１で示したフィールド属性テーブル１２０に記憶されるデータの例を示す説明図である。図５は、図１で示した中間テンプレートパラメータテーブル１２１に記憶されるデータの例を示す説明図である。図６は、図１で示した中間テンプレート使用回数テーブル１２２に記憶されるデータの例を示す説明図である。図７は、図１で示したパス２処理手順リスト１２３に記憶されるデータの例を示す説明図である。そして図８は、図１で示した帳票フォームデータ１１１の例を示す説明図である。
【００３７】
図８に示した帳票フォームデータ１１１上には、各々のデータが適用されるフィールドが定義されている。このフィールド上に、図３に示した帳票テキストデータ１１２に記憶されている各データが適用されることによって、帳票の帳票出力データ１１３となる。より具体的には、帳票テキストデータ１１２には発行日１１２ａ、宛先ＡおよびＢ１１２ｂ〜ｃ、宛名１１２ｄ、明細行１品目１１２ｅといった各データが記憶されている。これらが、帳票フォームデータ１１１上で対応するフィールド１１１ａ〜ｅに適用される。
【００３８】
ここで、帳票フォームデータ１１１上の各フィールドのデータ名称も帳票テキストデータ１１２と同一とする。即ち、帳票フォームデータ１１１上には発行日１１１ａ、宛先ＡおよびＢ１１１ｂ〜ｃ、宛名１１１ｄ、明細行１品目１１１ｅといった各フィールドが定義されており、その各々に帳票テキストデータ１１２上の同名の項目の各データが適用される。
【００３９】
ここで、帳票の全てのページにわたって、発行日１１１ａには同じ文字列が入る。また、宛先ＡおよびＢ１１１ｂ〜ｃにはこの帳票の送付先住所が入るが、住所の表記方法上、宛先Ａ１１１ｂが住所の大区分（市区町村名まで）、宛先Ｂ１１１ｃが小区分となるので、宛先Ａ１１１ｂに適用されうる文字列はある程度限定される。従って、発行日１１１ａと宛先Ａ１１１ｂとを、ここでは「固定値フィールド」であると定義する。また宛先Ａ１１１ｂが決まれば、明細行１品目１１１ｅに適用される文字列も決まるので、明細行１品目１１１ｅを「宛先Ａ１１１ｂに関連する関連フィールド」であると定義する。
【００４０】
図４に示したフィールド属性テーブル１２０には、各々のフィールド１１１ａ〜ｅ（１１２ａ〜ｅ）の名称１２０ａとデータ属性１２０ｂとが記憶されている。データ属性１２０ｂには、発行日１１１ａと宛先Ａ１１１ｂとが「固定値フィールド」であること、および明細行１品目１１１ｅが「宛先Ａ１１１ｂに関連する関連フィールド」である旨を示す内容が記憶される。これらの内容は、後述の図９のフローチャートの動作によってフィールド値分析部１０４が記憶する。
【００４１】
図５に示した中間テンプレートパラメータテーブル１２１には、作成された中間テンプレートの番号である中間テンプレート番号１２１ａと、これに対応する（フィールド属性テーブル１２０で定義された）固定値フィールド名称１２１ｂ、そしてそれに対応する値１２１ｃが記憶される。１つの中間テンプレートに複数の固定値が含まれる場合、固定値フィールド名称１２１ｂと値１２１ｃの組もそれに応じて複数組記憶される。
【００４２】
図６に示した中間テンプレート使用回数テーブル１２２には、図５の中間テンプレートパラメータテーブル１２１で示された中間テンプレート番号１２１ａと、その中間テンプレートが使用された回数である使用回数１２２ａが記憶される。
【００４３】
図７に示したパス２処理手順リスト１２３には、ページ番号１２３ａとデータ読み込み位置１２３ｂと、これに対応する中間テンプレート番号１２３ｃが記憶される。
【００４４】
（フローチャートについて）
図９は、図１に示したフィールド値分析部１０４が行う処理について示すフローチャートである。フィールド値分析部１０４は、出力履歴１１４からまず過去において出力された帳票出力データ１１３を抽出して（ステップ２０１）、各フィールドに代入された値から、それらの値の出現頻度について集計する（ステップ２０２）。より具体的には、各々の値についてその値の出現した回数を算出して、その出現頻度順にその値を並べ替えた場合に「出現頻度上位ｎ個で全体のａ％をカバーする」カバー比率ａを算出する。
【００４５】
そして、フィールド値分析部１０４は算出されたカバー比率ａについて、予め与えられた基準値と比較し（ステップＳ２０３）、この基準値以上であれば該フィールドが「固定値フィールド」であると判断する（ステップＳ２０４）。
【００４６】
次にステップＳ２０３で「固定値フィールド」であると判断されたフィールドと他のいずれか１つのフィールドとの組み合わせについて、各々の値を出力された全ての帳票について比較する（ステップＳ２０５）。全ての帳票についてその値の組み合わせが合致していた場合、ステップＳ２０３で「固定値フィールド」と判断された方でないフィールドを「関連フィールド」であると判断する（ステップＳ２０６）。
【００４７】
以後、ステップＳ２０４〜２０５の処理を、ステップＳ２０３で「固定値フィールド」であると判断された一つのフィールドとそれ以外のフィールドの全てについてくり返し、さらにステップ２０２〜２０５の処理を、全てのフィールドについてくり返す。そして、得られた判断結果をフィールド属性テーブル１２０に保存して（ステップＳ２０６）、処理を終了する。
【００４８】
図１０は、図１に示したパス１処理部１０１が行う処理について示すフローチャートである。パス１処理部１０１はまず、帳票テキストデータ１１２を読み込んで、ページ番号１２３ａとデータ読み込み位置１２３ｂを一時記憶して（ステップＳ２５１）、そこから１レコード分のデータを読み込む（ステップＳ２５２）。
【００４９】
そしてパス１処理部１０１は、フィールド属性テーブル１２０を参照して、帳票テキストデータ１１２から読み込んだデータでデータ属性１２０ｂが「固定値フィールド」となっているフィールドの値をチェックし、そのフィールドの値が中間テンプレートパラメータテーブル１２１に記憶されている組に該当するか否かを判断する（ステップＳ２５３）。
【００５０】
ステップＳ２５３で、「固定値フィールド」となっているフィールドの値が中間テンプレートパラメータテーブル１２１に記憶されている組に該当しなければ、この中間テンプレートパラメータテーブル１２１にレコードを追加して、新たに取得した中間テンプレート番号１２１ａと現在の固定値フィールド名称１２１ｂおよび値１２１ｃの組を記録する（ステップＳ２５４）。さらに中間テンプレート使用回数テーブル１２２にも新たなレコードを追加して、ステップＳ２５４で取得した中間テンプレート番号１２１ａに使用回数１２２ａ＝「１」を記録して（ステップＳ２５５）、後述のステップＳ２５７に進む。
【００５１】
ステップＳ２５３で、「固定値フィールド」となっているフィールドの値が中間テンプレートパラメータテーブル１２１に記憶されている組に該当すれば、中間テンプレート使用回数テーブル１２２でこれに該当する中間テンプレート番号に対応する使用回数を＋１増加させて（ステップＳ２５６）、ステップＳ２５７に進む。
【００５２】
そしてパス１処理部１０１は、ステップＳ２５１で一時記憶したページ番号１２３ａとデータ読み込み位置１２３ｂと、ステップＳ２５５または２５６で使用回数を記憶した中間テンプレート番号１２３ｃとを、パス２処理手順リスト１２３に記憶する（ステップＳ２５７）。以上ステップＳ２５３〜２５７の処理を、帳票テキストデータ１１２の全てのレコードに対して繰り返す（ステップＳ２５８）。
【００５３】
図１１は、図１に示した中間処理部１０２が行う処理について示すフローチャートである。中間処理部１０２はまず、中間テンプレート使用回数テーブル１２２から１レコード分のデータを読み込み（ステップＳ３０１）。読み込んだデータの使用回数１２２ａが予め与えられた基準値以下であるか否かについて判断する（ステップＳ３０２）。
【００５４】
使用回数が基準値以下であれば、中間処理部１０２は中間テンプレート使用回数テーブル１２２から中間テンプレート番号１２１ａのレコードを削除し（ステップＳ３０３）、また中間テンプレートパラメータテーブル１２１からも、中間テンプレート番号１２１ａのレコードを削除する（ステップＳ３０４）。さらにパス２処理手順リスト１２３についても、その中間テンプレート番号１２１ａを使用している全てのページについて、中間テンプレート名フィールドの値を「無し」に変更して（ステップＳ３０５）、ステップＳ３０８の処理に進む。
【００５５】
ステップＳ３０２で、データの使用回数が予め与えられた基準値以下でない場合には、中間テンプレートパラメータテーブル１２１からその中間テンプレート番号１２１ａに該当するレコードを読み込み、その固定値フィールド名称１２１ｂおよび値１２１ｃを取得する（ステップＳ３０６）。さらに、取得した固定値フィールド名称１２１ｂに対応する帳票フォームデータ１１１上のフィールドに値１２１ｃを適用して中間テンプレート１２４を生成して保存し（ステップＳ３０７）、ステップＳ３０８の処理に進む。
【００５６】
中間処理部１０２は、ステップＳ３０１〜３０７に示した処理を中間テンプレート使用回数テーブル１２２の全てのレコードについて繰り返す（ステップＳ３０８）。
【００５７】
図１２は、図１に示したパス２処理部１０３が行う処理について示すフローチャートである。パス２処理部１０３はまず、パス２処理手順リスト１２３から１レコード分のデータを読み込み（ステップＳ３５１）、さらに帳票テキストデータ１１２でページ番号１２３ａとデータ読み込み位置１２３ｂに該当するファイル位置から１レコード分のデータを読み込む（ステップＳ３５２）。
【００５８】
パス２処理部１０３は、ここでステップＳ３５１で読み込んだ中間テンプレート名１２３ｃが「無し」であるか否かについて判断し（ステップＳ３５３）、「無し」である場合には、パス２処理部１０３はステップＳ３５２で読み込んだ各データをそのまま帳票フォームデータ１１１の各フィールドに適用して帳票出力データ１１３を生成して（ステップＳ３５４）、ステップＳ３５７の処理に進む。
【００５９】
ステップＳ３５３で中間テンプレート名１２３ｃが「無し」でない、即ち中間テンプレートが存在する場合には、パス２処理部１０３はこの中間テンプレート名１２３ｃに該当する中間テンプレート１２４を読み出し（ステップＳ３５５）、ここで既に値が適用されている以外のフィールドについてステップＳ３５２で読み込んだ各データを帳票フォームデータ１１１の各フィールドに適用して、帳票出力データ１１３を生成して（ステップＳ３５６）、ステップＳ３５７の処理に進む。
【００６０】
パス２処理部１０３は、ステップＳ３５１〜３５６に示した処理をパス２処理手順リスト１２３の全てのレコードについて繰り返す（ステップＳ３５７）。
【００６１】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。本実施形態に係る帳票出力方法は、予め与えられた複数のフィールドを有する帳票フォームデータ１１１に、複数のデータ項目を有するテキスト形式の帳票テキストデータ１１２を適用して帳票出力データを生成してこれを印刷出力する帳票出力装置１０にあって、フィールドのうちの一部である固定値フィールドに頻出する値について記憶している中間テンプレートパラメータテーブルと過去に形成された帳票出力データの出力履歴とが予め備えられた記憶手段に記憶されており、出力履歴で過去に出力された複数のフィールドの中に出現頻度が予め与えられた基準値以上であるフィールドが存在するか否かをフィールド値分析部が判断し（図９・ステップＳ２０１〜２０３）、出現頻度が基準値以上であるフィールドが存在すれば、該フィールドを固定値フィールドであるとフィールド値分析部が判断してその旨をフィールド属性テーブルとして記憶手段に記憶し（図９・ステップＳ２０４）、帳票テキストデータを読み込んで該帳票テキストデータ中の固定値フィールドの値が中間テンプレートパラメータテーブルに登録されているか否かをパス１処理部が判断し（図１０・ステップＳ２５１〜２５３）、固定値フィールドの値が中間テンプレートパラメータテーブルに登録されていなければパス１処理部がこれを中間テンプレートパラメータテーブルに登録し（図１０・ステップＳ２５４）、固定値フィールドの値が中間テンプレートパラメータテーブルに登録されていればパス１処理部が該当する中間テンプレートパラメータテーブルに記録されている中間テンプレート番号を処理手順リストとして記憶手段に記憶し（図１０・ステップＳ２５６〜２５７）、帳票フォームデータ上の固定値フィールドに該当する値を中間テンプレートパラメータテーブルから中間処理部が読み込んで中間テンプレートを作成して記憶手段に記憶し（図１１・ステップＳ３０６〜３０７）、処理手順リストに中間テンプレート番号が記憶されていればこれに対応する中間テンプレートをパス２処理部が読み込み（図１２・ステップＳ３５５）、中間テンプレートに含まれないフィールドの値をパス２処理部が帳票テキストデータから読み出して適用して帳票出力データを生成し（図１２・ステップＳ３５６）、帳票出力データを印刷手段が印刷出力する。
【００６２】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するコンピュータである帳票出力装置１０に実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、ＤＶＤ、ＣＤ、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
【００６３】
本実施形態によれば、各フィールドに頻繁に登場する値を中間テンプレート１２４として保存してくり返し使用することができるので、帳票出力データの生成にかかる処理自体を軽減することができる。また、帳票出力データの生成にかかる処理をパス１処理部１０１、中間処理部１０２、およびパス２処理部１０３という複数の部分に分けて並行して処理させることができるので、この点も帳票出力データの生成処理に係る負荷の軽減と時間の短縮につながる。
【００６４】
特に、帳票テキストデータ１１２のどこからパス２の処理を開始するかをパス２処理手順リスト１２３に記憶しているので、帳票テキストデータ１１２の最初からシーケンシャルに処理を行う必要がなくなり、この帳票テキストデータ１１２の途中から別のプロセスによる処理を開始することが可能となる。従って、能率的に帳票出力データの生成処理を行うことが可能となる。
【００６５】
（第２の実施形態）
本発明の第２の実施形態に係る帳票出力装置４１０は、前述した第１の実施形態の構成に加えて、パス２処理部４０３ａおよび４０３ｂを複数有し、各々のパス２処理部が処理手順リストの異なる範囲を処理して帳票出力データを生成すると共に、各々のパス２処理部が生成した帳票出力データを結合して印刷手段に出力するデータ結合部４０５を備える構成とした。
【００６６】
この構成によっても前述の第１の実施形態で説明した効果が得られるのに加えて、さらに複数のパス２処理部が並行して処理を行うことにより、これによる処理の所要時間をさらに短縮できるという効果がある。
以下、これをより詳細に説明する。
【００６７】
図１３は、本発明の第２の実施形態に係る帳票出力装置４１０の構成について示す説明図である。また、図１４は、図１３で示した帳票出力装置４１０の処理の流れを観念的に示す説明図である。帳票出力装置４１０は、前述した第１の実施形態に係る帳票出力装置１０とハードウェア的には全く同一、ソフトウェア的にも一部が異なるのみでほぼ同一の構成を有するので、ここではその相違点のみを説明する。
【００６８】
帳票出力装置４１０の主演算制御手段１１で動作するソフトウェアは、パス２処理部４０３ａおよび４０３ｂが２プロセス並行して動作し、またデータ結合部４０５が加わっている以外は、第１の実施形態に係る帳票出力装置１０と同一である。この点を除いては、帳票出力装置４１０は帳票出力装置１０と同一の構成であるので、図１３では帳票出力装置１０と構成部については同一の名称および参照番号で示している。
【００６９】
パス２処理部４０３ａおよび４０３ｂは、行う動作は図１２のフローチャートに示したパス２処理部１０３の動作と同一であるが、パス２処理手順リスト１２３の前半をパス２処理部４０３ａ、パス２処理手順リスト１２３の後半をパス２処理部４０３ｂのそれぞれで並行して処理を行い、各々で帳票出力データ４１３ａおよび４１３ｂを出力する。そして、並行して出力された帳票出力データをデータ結合部４０５で結合して、最終的な帳票出力データ１１３を得て、これを印刷手段１４に対して出力する。
【００７０】
この構成によっても、前述の第１の実施形態で説明した効果が得られるのに加えて、さらにパス２処理部による処理の所要時間を半減できるので、第１の実施形態よりもさらに帳票の印刷にかかる所要時間を短縮できるという効果が得られる。
【００７１】
もちろん、パス２処理部４０３ａおよび４０３ｂが分担する範囲は、パス２処理手順リスト１２３の前半および後半という分け方でなくても、両者が処理する範囲が重複しなければどのような分け方でもよい。また、３つ以上のパス２処理部によって、パス２処理手順リスト１２３の各々異なる範囲を分担して並行処理させることも可能である。
【００７２】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【００７３】
上述した各々の実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【００７４】
（付記１）  予め与えられた複数のフィールドを有する帳票フォームデータに、複数のデータ項目を有するテキスト形式の帳票テキストデータを適用して帳票出力データを形成してこれを印刷出力する帳票出力装置であって、
前記帳票フォームデータと前記帳票テキストデータ、前記フィールドのうちの一部である固定値フィールドに頻出する値を集計したデータである中間テンプレートパラメータテーブル、および過去に形成された前記帳票出力データの出力履歴について予め記憶している記憶手段と、
前記出力履歴で過去に出力された前記複数のフィールドの中に出現頻度が予め与えられた基準値以上であるフィールドが存在するか否かを判断し、これが存在すれば該フィールドを前記固定値フィールドであると判断してその旨をフィールド属性テーブルとして前記記憶手段に記憶するフィールド値分析部と、
前記帳票テキストデータを読み込んで該帳票テキストデータ中の前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されているか否かを判断し、登録されていなければこれを当該パラメータテーブルに登録すると共に登録されていれば当該パラメータテーブルに記録されている中間テンプレート番号を処理手順リストとして前記記憶手段に記憶するパス１処理部と、
前記帳票フォームデータ上の前記固定値フィールドに該当する値を前記中間テンプレートパラメータテーブルから読み込んで中間テンプレートを作成して前記記憶手段に記憶する中間処理部と、
前記処理手順リストに前記中間テンプレート番号が記憶されていればこれに対応する前記中間テンプレートを読み込み、前記中間テンプレートに含まれないフィールドの値を前記帳票テキストデータから読み出して適用して前記帳票出力データを形成するパス２処理部と、
前記帳票出力データを印刷出力する印刷手段とを有することを特徴とする帳票出力装置。
【００７５】
（付記２）  前記フィールド値分析部が、前記固定値フィールドとその他の前記フィールドのうちのいずれか１つからなる組について、前記出力履歴に記録された内容を比較し、これらが全て合致する場合に前記固定値フィールドでない方のフィールドを前記固定値フィールドの関連フィールドとして前記フィールド属性テーブルに含めて記憶する機能を有することを特徴とする、付記１に記載の帳票出力装置。
【００７６】
（付記３）  前記記憶手段に、前記中間テンプレートの使用回数を前記中間テンプレート番号に対応して記録するための中間テンプレート使用回数テーブルが予め記憶され、
前記パス１処理部が、前記中間テンプレートの使用回数を記録する機能を有すると共に、
前記中間処理部が、前記使用回数が与えられた基準値に満たない前記中間テンプレートについての記録を前記中間テンプレートパラメータテーブルおよび前記処理手順リストから削除する機能を有することを特徴とする、付記１に記載の帳票出力装置。
【００７７】
（付記４）  前記パス１処理部が、前記帳票テキストデータの中での前記帳票出力データ１枚分のデータの開始位置を前記処理手順リスト中に含めて記憶する機能を有することを特徴とする、付記１に記載の帳票出力装置。
【００７８】
（付記５）  前記パス２処理部を複数有し、各々の前記パス２処理部が前記処理手順リストの異なる範囲を処理して前記帳票出力データを生成すると共に、
各々の前記パス２処理部が生成した前記帳票出力データを結合して前記印刷手段に出力するデータ結合部を有することを特徴とする、付記１に記載の帳票出力装置。
【００７９】
（付記６）  予め与えられた複数のフィールドを有する帳票フォームデータに、複数のデータ項目を有するテキスト形式の帳票テキストデータを適用して帳票出力データを形成してこれを印刷出力する帳票出力装置にあって、
前記フィールドのうちの一部である固定値フィールドに頻出する値について記憶している中間テンプレートパラメータテーブルと過去に形成された前記帳票出力データの出力履歴とが予め備えられた記憶手段に記憶されており、
前記出力履歴で過去に出力された前記複数のフィールドの中に出現頻度が予め与えられた基準値以上であるフィールドが存在するか否かをフィールド値分析部が判断し、
前記出現頻度が基準値以上であるフィールドが存在すれば、該フィールドを前記固定値フィールドであると前記フィールド値分析部が判断してその旨をフィールド属性テーブルとして前記記憶手段に記憶し、
前記帳票テキストデータを読み込んで該帳票テキストデータ中の前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されているか否かをパス１処理部が判断し、
前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されていなければ、前記パス１処理部がこれを前記中間テンプレートパラメータテーブルに登録し、
前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されていれば、前記パス１処理部が該当する前記中間テンプレートパラメータテーブルに記録されている中間テンプレート番号を処理手順リストとして前記記憶手段に記憶し、
前記帳票フォームデータ上の前記固定値フィールドに該当する値を前記中間テンプレートパラメータテーブルから中間処理部がこれを読み込んで中間テンプレートを作成して前記記憶手段に記憶し、
前記処理手順リストに前記中間テンプレート番号が記憶されていればこれに対応する前記中間テンプレートを、パス２処理部が読み込み、
前記中間テンプレートに含まれないフィールドの値を前記パス２処理部が前記帳票テキストデータから読み出して適用して前記帳票出力データを形成し、
前記帳票出力データを印刷手段が印刷出力することを特徴とする帳票出力方法。
【００８０】
（付記７）  予め与えられた複数のフィールドを有する帳票フォームデータに、複数のデータ項目を有するテキスト形式の帳票テキストデータを適用して帳票出力データを形成してこれを印刷出力する帳票出力装置にあって、
前記帳票出力装置が備えるコンピュータに、
前記フィールドのうちの一部である固定値フィールドに頻出する値について記憶している中間テンプレートパラメータテーブルと過去に形成された前記帳票出力データの出力履歴とを予め記憶する手順、
前記出力履歴で過去に出力された前記複数のフィールドの中に出現頻度が予め与えられた基準値以上であるフィールドが存在するか否かを判断する手順、
前記出現頻度が基準値以上であるフィールドが存在すれば、該フィールドを前記固定値フィールドであると判断してその旨をフィールド属性テーブルとして記憶する手順、
前記帳票テキストデータを読み込んで該帳票テキストデータ中の前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されているか否かを判断する手順、
前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されていなければ、これを前記中間テンプレートパラメータテーブルに登録する手順、
前記固定値フィールドの値が前記中間テンプレートパラメータテーブルに登録されていれば、該当する前記中間テンプレートパラメータテーブルに記録されている中間テンプレート番号を処理手順リストとして前記記憶手段に記憶する手順、
前記帳票フォームデータ上の前記固定値フィールドに該当する値を前記中間テンプレートパラメータテーブルから読み込んで中間テンプレートを作成して記憶する手順、
前記処理手順リストに前記中間テンプレート番号が記憶されていればこれに対応する前記中間テンプレートを読み込む手順、
前記中間テンプレートに含まれないフィールドの値を前記帳票テキストデータから読み出して適用して前記帳票出力データを形成する手順、
および前記帳票出力データを印刷出力させる手順
を実行させることを特徴とする帳票出力プログラム。
【産業上の利用可能性】
【００８１】
本発明は、帳票出力装置において利用することができる。
【符号の説明】
【００８２】
１０、４１０  帳票出力装置
１１  主演算制御手段
１２  記憶手段
１３  入力手段
１４  印刷手段
１０１  パス１処理部
１０２  中間処理部
１０３、４０３ａ、４０３ｂ  パス２処理部
１０４  フィールド値分析部
１１１  帳票フォームデータ
１１１ａ、１１２ａ  発行日
１１１ｂ、１１２ｂ  宛先Ａ
１１１ｃ、１１２ｃ  宛先Ｂ
１１１ｄ、１１２ｄ  宛名
１１１ｅ、１１２ｅ  明細行１品目
１１２  帳票テキストデータ
１１３  帳票出力データ
１１４  出力履歴
１２０  フィールド属性テーブル
１２０ａ  名称
１２０ｂ  データ属性
１２１  中間テンプレートパラメータテーブル
１２１ａ、１２３ｃ  中間テンプレート番号
１２１ｂ  固定値フィールド名称
１２１ｃ  値
１２２  中間テンプレート使用回数テーブル
１２２ａ  使用回数
１２３  パス２処理手順リスト
１２３ａ  ページ番号
１２３ｂ  データ読み込み位置
１２４  中間テンプレート
４０５  データ結合部
【図１】
0005648559.tif 000002
【図２】
0005648559.tif 000003
【図３】
0005648559.tif 000004
【図４】
0005648559.tif 000005
【図５】
0005648559.tif 000006
【図６】
0005648559.tif 000007
【図７】
0005648559.tif 000008
【図８】
0005648559.tif 000009
【図９】
0005648559.tif 000010
【図１０】
0005648559.tif 000011
【図１１】
0005648559.tif 000012
【図１２】
0005648559.tif 000013
【図１３】
0005648559.tif 000014
【図１４】
0005648559.tif 000015