(57)【特許請求の範囲】
【請求項１】
帳票に出力される帳票データが予め作成され格納されたデータトランスファオブジェクト、
上記帳票に使用される様式を有する帳票テンプレートを複数格納した帳票テンプレートファイル、
帳票構造定義識別子によって特定される帳票ごとにその構造を予め定義するとともに、上記帳票ごとに上記データトランスファオブジェクト及び上記帳票テンプレートを紐付けした帳票構造定義情報、
上記帳票構造定義識別子が入力され、当該帳票構造定義識別子によって特定される上記帳票構造定義情報を用いて、上記データトランスファオブジェクトから帳票データを取得する帳票データ取得処理手段、
上記入力された帳票構造定義識別子によって特定される上記帳票構造定義情報を用いて、上記帳票テンプレートファイルから該当する上記帳票テンプレートを取得する帳票テンプレート取得処理手段、
上記帳票データ取得処理手段によって取得された上記帳票データを、上記帳票構造定義識別子に対応する上記帳票テンプレート上に配置することにより電子帳票を作成する帳票データ配置処理手段、
この帳票データ配置処理手段によって上記帳票データが配置された上記電子帳票を出力する帳票データ出力処理手段を備えたことを特徴とする帳票入出力装置。
【請求項２】
帳票データがすでに格納された電子帳票が入力され、上記帳票構造定義識別子によって特定される上記帳票構造定義情報を用いて、上記電子帳票から帳票データを抽出し、データトランスファオブジェクトに格納して出力する入力帳票データ取得処理手段を備えたことを特徴とする請求項１記載の帳票入出力装置。
【請求項３】
帳票データがすでに格納された電子帳票が入力され、この入力された電子帳票を上記入力帳票データ取得処理手段が解釈可能なデータ形式に変換する帳票入力処理手段を備えたことを特徴とする請求項２記載の帳票入出力装置。
【請求項４】
上記入力帳票データ取得処理手段は、上記帳票が行追加形式の場合には、上記帳票構造定義情報によって定義された１ページあたりの出力行数上限値に基づき、自動的に改ページを挿入することを特徴とする請求項２または請求項３記載の帳票入出力装置。
【請求項５】
上記電子帳票は、複数の帳票シートに渡って帳票データが格納されている場合には、各帳票シートに連番が付与されており、
上記入力帳票データ取得処理手段は、上記帳票構造定義情報によって定義された１シートあたりの出力行数上限値と、帳票シートに付与された連番に基づき、上記帳票データを抽出することを特徴とする請求項２〜請求項４のいずれか一項に記載の帳票入出力装置。
【請求項６】
上記帳票構造定義情報は、上記帳票構造定義識別子によって識別される帳票ごとに、対応する帳票テンプレート、データトランスファオブジェクト、及び帳票データの帳票上での配置位置の情報を含むことを特徴とする請求項１〜請求項５のいずれか一項に記載の帳票入出力装置。
【請求項７】
上記帳票構造定義情報に基づき、上記帳票構造定義識別子に対応する帳票テンプレートを取得し、上記帳票データ配置処理手段が解釈可能なデータ形式に変換する帳票テンプレート取得処理手段を備えたことを特徴とする請求項１〜請求項６のいずれか一項に記載の帳票入出力装置。
【請求項８】
帳票ごとに出力すべき帳票データが予め作成され格納されたデータトランスファオブジェクト、
帳票データがすでに格納された電子帳票、
帳票構造定義識別子によって特定される帳票ごとにその構造を予め定義するとともに、上記帳票ごとに上記データトランスファオブジェクト及び上記電子帳票を紐付けした帳票構造定義情報、
上記帳票構造定義識別子が入力され、当該帳票構造定義識別子によって特定される上記帳票構造定義情報を用いて、上記データトランスファオブジェクトから帳票データを取得する帳票データ取得処理手段、
この帳票データ取得処理手段によって取得された上記帳票データを上記入力された帳票構造定義識別子に対応する上記電子帳票上に上書きするように配置する帳票データ配置処理手段、
この帳票データ配置処理手段によって上記帳票データが配置された上記電子帳票を出力する帳票データ出力処理手段を備えたことを特徴とする帳票入出力装置。
【請求項９】
上記帳票構造定義情報が入力され、この入力された上記帳票構造定義情報を、帳票入出力装置を構成する各手段が解釈可能なデータ形式に変換する帳票構造定義情報処理手段を備えたことを特徴とする請求項１〜請求項８のいずれか一項に記載の帳票入出力装置。
【請求項１０】
上記帳票データ出力処理手段は、上記電子帳票を上記帳票入出力装置が動作するコンピュータ上の主記憶を含む記録媒体に出力することを特徴とする請求項１〜請求項９のいずれか一項に記載の帳票入出力装置。
【請求項１１】
上記帳票データ出力処理手段は、上記電子帳票を上記帳票入出力装置が動作するコンピュータ以外の主記憶を含む記録媒体に出力することを特徴とする請求項１〜請求項９のいずれか一項に記載の帳票入出力装置。
【請求項１２】
上記帳票入出力装置は、ソフトウェアにより構成され、上記ソフトウェアはプログラムライブラリとして、他コンピュータプログラムから再利用可能にされていることを特徴とする請求項１〜請求項１１のいずれか一項に記載の帳票入出力装置。
【請求項１３】
上記帳票データ出力処理手段は、帳票データ出力インターフェースを介して、上記帳票データ配置処理手段に接続されていることを特徴とする請求項１〜請求項１２のいずれか一項に記載の帳票入出力装置。
【請求項１４】
上記帳票データ配置処理手段は、上記帳票が行追加形式の場合には、上記帳票構造定義情報によって定義された１ページあたりの出力行数上限値に基づき、自動的に改ページを挿入することを特徴とする請求項１〜請求項１３のいずれか一項に記載の帳票入出力装置。
【請求項１５】
上記帳票データ配置処理手段は、上記帳票構造定義情報によって定義された１ページあたりの出力行数上限値を超えて出力する場合、帳票シートのコピーを行い、このコピーされた帳票シートにデータ出力を継続することを特徴とする請求項１〜請求項１４のいずれか一項に記載の帳票入出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、帳票データから電子帳票を出力するとともに、入力される電子帳票内のデータを取得する帳票入出力装置に関するものである。
【背景技術】
【０００２】
従来の帳票生成装置においては、出力先に応じた出力形式を予め設定した形式情報を記憶し、指定された出力先に対応した形式情報を用いて、指定された出力先に適合した形式の帳票を生成、出力するようになっていた。（例えば、特許文献１参照）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２４９７７５号公報（第３〜５頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の帳票生成装置では、表見出しと出力する元データを紐付けることで、表見出しの下に出力する行数が不定な、一覧表形式の非定型帳票出力を得ることが可能であったが、次のように多様な出力形式に対応できないという問題があった。
すなわち、１頁あたりの最大出力行数が定まった帳票の場合に、テンプレートとなるスプレッドシートをコピーして、同一様式での複数スプレッドシートを出力することが考慮されておらず、また、改ページを挿入しての出力や、出力するデータの出力位置が固定の定型帳票および出力位置が固定のデータを、繰り返し出力データが混在した帳票の出力ができないという問題があった。
さらに、出力済み帳票の一部を再出力して更新することもできなかった。
帳票入力においては、最近ではデータ出力された帳票内の値を利用者が更新し、当該帳票の内容を読み込むことで、システムに格納されているデータの更新を実施したり、帳票フォーマットをデータ入力インターフェースとして使用したいという要望があるが、これに対応できていないという問題もあった。
また、従来の帳票生成装置では、帳票上に表示する項目、見出し、文字への装飾、帳票データを出力するカラム幅、カラム高などの属性情報を外部パラメータ化した定義情報のみで設定していたため、出力される帳票の仕上がりを確認しながら帳票レイアウトをデザインするのが困難であった。
【０００５】
この発明は、上述のような課題を解決するためになされたものであり、多様な出力様式に対応した帳票出力を可能にするとともに、多様な帳票様式からのデータ取得を行うようにした帳票入出力装置を得ることを目的としている。
【課題を解決するための手段】
【０００６】
この発明に係わる帳票入出力装置においては、帳票に出力される帳票データが予め作成され格納されたデータトランスファオブジェクト、帳票に使用される様式を有する帳票テンプレートを複数格納した帳票テンプレートファイル、帳票構造定義識別子によって特定される帳票ごとにその構造を予め定義するとともに、帳票ごとにデータトランスファオブジェクト及び帳票テンプレートを紐付けした帳票構造定義情報、帳票構造定義識別子が入力され、当該帳票構造定義識別子によって特定される帳票構造定義情報を用いて、データトランスファオブジェクトから帳票データを取得する帳票データ取得処理手段、入力された帳票構造定義識別子によって特定される帳票構造定義情報を用いて、帳票テンプレートファイルから該当する帳票テンプレートを取得する帳票テンプレート取得処理手段、帳票データ取得処理手段によって取得された帳票データを、帳票構造定義識別子に対応する帳票テンプレート上に配置することにより電子帳票を作成する帳票データ配置処理手段、この帳票データ配置処理手段によって帳票データが配置された電子帳票を出力する帳票データ出力処理手段を備えたものである。
【発明の効果】
【０００７】
この発明は、以上説明したように、帳票に出力される帳票データが予め作成され格納されたデータトランスファオブジェクト、帳票に使用される様式を有する帳票テンプレートを複数格納した帳票テンプレートファイル、帳票構造定義識別子によって特定される帳票ごとにその構造を予め定義するとともに、帳票ごとにデータトランスファオブジェクト及び帳票テンプレートを紐付けした帳票構造定義情報、帳票構造定義識別子が入力され、当該帳票構造定義識別子によって特定される帳票構造定義情報を用いて、データトランスファオブジェクトから帳票データを取得する帳票データ取得処理手段、入力された帳票構造定義識別子によって特定される帳票構造定義情報を用いて、帳票テンプレートファイルから該当する帳票テンプレートを取得する帳票テンプレート取得処理手段、帳票データ取得処理手段によって取得された帳票データを、帳票構造定義識別子に対応する帳票テンプレート上に配置することにより電子帳票を作成する帳票データ配置処理手段、この帳票データ配置処理手段によって帳票データが配置された電子帳票を出力する帳票データ出力処理手段を備えたので、帳票レイアウトと出力データを分離して扱うことができ、この内の一方が変更される場合でも、他方を変更する必要がない。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１〜実施の形態３による帳票入出力装置のソフトウェア構成を示す図である。
【図２】この発明の実施の形態１による帳票入出力装置の帳票出力動作を示すフローチャート図である。
【図３】この発明の実施の形態１による帳票入出力装置の帳票入力動作を示すフローチャート図である。
【図４】この発明の実施の形態２による帳票入出力装置の帳票出力動作を示すフローチャート図である。
【図５】この発明の実施の形態３による帳票入出力装置の帳票出力動作を示すプローチャート図である。
【図６】この発明の実施の形態３による帳票入出力装置で使用する帳票テンプレートの例を示す図である。
【図７】この発明の実施の形態３による帳票入出力装置の図６の帳票テンプレートに対応する帳票出力例を示す図である。
【図８】この発明の実施の形態４による帳票入出力装置のソフトウェア構成を示す図である。
【図９】この発明の実施の形態５による帳票入出力装置のソフトウェア構成を示す図である。
【図１０】この発明の実施の形態６による帳票入出力装置の利用形態を示すシステム構成図である。
【図１１】この発明の実施の形態６による帳票入出力装置の利用形態を示すシステム構成図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
以下、この発明の実施の形態１を図に基づいて説明する。
図１は、この発明の実施の形態１による帳票入出力装置のソフトウェア構成を示す図である。
図１において、帳票入出力装置１は、帳票出力時には、帳票構造定義情報９、帳票テンプレート１０および帳票出力データＤＴＯ（Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｏｂｊｅｃｔ）１３が入力され、帳票データ出力処理装置６（帳票データ出力処理手段）によって帳票データ１４を出力し、この出力された帳票データ１４は、スプレッドシートソフトウェア１５に備わる表示装置１６によって、画面表示装置１７に表示されるように構成されている。
また、帳票入力時には、帳票構造定義情報９、電子帳票１１、帳票構造定義識別子１８が入力され、入力帳票データ取得処理装置８（入力帳票データ取得処理手段）によって入力帳票データＤＴＯ１２を生成するように構成されている。
【００１０】
以下、帳票入出力装置１を構成する各装置について説明する。
帳票構造定義処理装置２（帳票構造定義処理手段）は、帳票構造定義情報９を読み込み、帳票テンプレート取得処理装置３、帳票データ取得処理装置４、帳票データ配置処理装置５が解釈可能な形式に変換する。
帳票テンプレート取得処理装置３（帳票テンプレート取得処理手段）は、帳票構造定義処理装置２によって変換された帳票構造定義情報に基づき、帳票データ配置処理装置５で使用する帳票テンプレート１０の格納先パス情報から帳票テンプレート１０を取得し、帳票データ配置処理装置５が解釈可能なデータ形式に変換する。
帳票データ取得処理装置４（帳票データ取得処理手段）は、帳票構造定義処理装置２によって変換された帳票構造定義情報に基づき、帳票出力データＤＴＯ１３を取得し、帳票データ配置処理装置５が解釈可能なデータ形式に変換する。
帳票データ配置処理装置５（帳票データ配置処理手段）は、帳票構造定義処理装置２、帳票テンプレート取得処理装置３、帳票データ取得処理装置４がそれぞれ変換したデータに基づき、帳票テンプレート１０上の指定された出力位置に、指定されたデータを指定された形式で配置する。
【００１１】
帳票データ出力インターフェース６０に接続された帳票データ出力処理装置６は、帳票データ配置処理装置５から出力されたデータに対し、スプレッドシートソフトウェア１５が解釈可能なデータ形式に変換し、帳票データ１４として出力する。スプレッドシートソフトウェア１５は、スプレッドシートソフトウェア１５内の表示装置１６によって、画面表示装置１７に表示し、帳票表示を行う。
【００１２】
次に、帳票入力について説明する。
帳票入力においては、帳票構造定義処理装置２が、帳票構造定義情報９を読み込み、入力帳票データ取得処理装置８が解釈可能なデータ形式に変換する。帳票入力処理装置７（帳票入力処理手段）は、電子帳票１１を読み取り、入力帳票データ取得処理装置８が解釈可能なデータ形式に変換する。入力帳票データ取得処理装置８は、帳票構造定義処理装置２、帳票入力処理装置７が変換した帳票構造定義情報、電子帳票データを基に、電子帳票データ内から帳票構造定義情報で定義されたデータ項目名称を取得し、入力帳票データＤＴＯ１２を生成する。
【００１３】
帳票構造定義情報９は、１または複数の帳票の構造を定義したものであり、構造化文書形式で帳票構造が構成され、例えばＸＭＬ文書で帳票構造が定義されている。
定義内容として、入出力しようとする帳票を特定する識別子ごとに、それに使用される帳票テンプレートの格納先パス、帳票テンプレートを識別するテンプレートＩＤおよびテンプレート名、帳票様式、帳票を出力するスプレッドシートのシート名、出力様式、シート番号、総ページ数、帳票への入出力データを格納するＤＴＯクラス名、入出力データ項目名、帳票データ項目（帳票データ）の帳票上での配置位置、データ形式の情報などが含まれる。
つまり、帳票構造定義情報９は、帳票テンプレート１０および帳票出力データＤＴＯ１３並びに入力帳票データＤＴＯ１２を、帳票に紐付けしている。
なお、１つの帳票は、１または複数のスプレッドシートからなるものである。
また、帳票出力データＤＴＯ１３及び入力帳票データＤＴＯ１２では、１つのＤＴＯは帳票内の１入出力単位に対応するデータを有し、ここで１入出力単位は、日付や顧客名などの固定的なデータや、一覧表などで繰り返されるレコードを、１つのまとまりとして扱うようにするためである。すなわち、１つの帳票は、１または複数のＤＴＯに対応する。
また、１つの帳票テンプレートは、１または複数の帳票に対応する様式を有し、１または複数の帳票から参照されるようになっている。
【００１４】
帳票テンプレート１０、電子帳票１１は、スプレッドシートソフトウェア１５で作成されたスプレッドシートファイルである。帳票テンプレート１０は帳票データを格納していない、様式を特定するためのファイルであり、電子帳票１１は、帳票テンプレート１０上に帳票データを配置したファイルである。
入力帳票データＤＴＯ１２には、電子帳票１１から取得したデータが格納され、帳票出力データＤＴＯ１３には、出力しようとする帳票へ配置するデータが格納されている。
帳票出力時に使用される帳票テンプレート１０、帳票構造定義情報９、帳票出力データＤＴＯ１３、帳票構造定義識別子１８は、帳票入出力装置１に対する入力時に予め設定しておくものとする。
また、帳票入力時に使用する帳票構造定義情報９、電子帳票１１は、帳票入出力装置１に対する入力時に予め設定しておくものとする。
【００１５】
図２は、この発明の実施の形態１による帳票入出力装置の帳票出力動作を示すフローチャート図である。
図３は、この発明の実施の形態１による帳票入出力装置の帳票入力動作を示すフローチャート図である。
【００１６】
次に、動作について説明する。ここでは帳票構造定義情報９、帳票出力データＤＴＯ１３、帳票テンプレート１０から帳票データ１４を生成、出力する動作について、図２を用いて説明する。
図２において、帳票構造定義処理装置２によって、帳票構造定義情報９が読み込まれると（ステップＳ１１）、帳票構造定義処理装置２において、帳票構造定義情報９内に定義された帳票テンプレート格納先パス情報、帳票テンプレートを構成するスプレッドシート名称、スプレッドシートに出力するデータを格納しているＤＴＯクラス名称、出力するデータ項目名称、データ配置セル位置およびデータ形式を取得し、帳票テンプレート取得処理装置３、帳票データ取得処理装置４、帳票データ配置処理装置５が解釈可能な形式に変換する（ステップＳ１２）。
【００１７】
帳票入出力装置１に入力された帳票構造定義識別子１８と帳票出力データＤＴＯ１３は、帳票データ取得処理装置４によって読み込まれる。
入力された帳票構造定義識別子１８に基づき、ステップＳ１２にて取得した帳票テンプレート格納先パス情報をもとに、帳票テンプレート取得処理装置３が帳票テンプレート１０を取得し、帳票データ配置処理装置５が解釈可能な形式に変換する（ステップＳ１３）。
次いで、帳票構造定義識別子１８に対応する、ステップＳ１２で取得した帳票構造定義情報９内の出力データ項目名称と一致する帳票出力データＤＴＯ１３のフィールドに格納されている帳票出力データを取得する手段を、帳票出力データＤＴＯ１３の中から自動的に検索し、この検索された手段により帳票出力データＤＴＯのフィールドに格納された出力対象データを取得する（ステップＳ１４）。
【００１８】
帳票データ配置処理装置５は、ステップＳ１３によって取得された帳票テンプレートを用い、ステップＳ１２で取得したスプレッドシート名称に一致するスプレッドシート上に、ステップＳ１２で取得したデータ配置セル位置が示すセルに、ステップＳ１４で取得した出力対象データを、ステップＳ１２で取得したデータ形式で配置する（ステップＳ１５）。
【００１９】
ステップＳ１２にて取得した帳票構造定義情報９内に定義された帳票構造定義識別子１８に対応する出力データの全項目に対して、ステップＳ１４およびステップＳ１５を実行する（ステップＳ１６→ＹＥＳ）。ステップＳ１４およびステップＳ１５の実行により、出力対象データの全項目に対する出力が完了したとき（ステップＳ１６→ＮＯ）、出力対象データ項目が配置された帳票データを、帳票データ出力インターフェース６０を介し、帳票データ出力処理装置６にてスプレッドシートソフトウェア１５が解釈可能なデータ形式に変換し、帳票データ１４として出力する（ステップＳ１７）。
出力された帳票データ１４は、スプレッドシートソフトウェア１５内の表示装置１６によって、画面表示装置１７に表示される。
【００２０】
次に、帳票入力の動作について説明する。ここでは帳票構造定義情報９、電子帳票１１から入力帳票データＤＴＯ１２を取得する動作について、図３を用いて説明する。
図３において、帳票構造定義処理装置２により帳票構造定義情報９が読み込まれると（ステップＳ５１）、帳票構造定義処理装置２において、帳票構造定義情報９内で定義された、電子帳票を構成するスプレッドシート名、取得したデータの格納先となるＤＴＯ、取得対象のデータ項目、データ配置位置を取得し、入力帳票データ取得処理装置８が解釈可能な形式に変換する（ステップＳ５２）。
【００２１】
ステップＳ５２の完了後、取得対象データが格納された電子帳票１１が帳票構造定義識別子１８と共に帳票入力処理装置７によって読み込まれ、電子帳票１１は、入力帳票データ取得処理装置８が解釈可能なデータ形式に変換される（ステップＳ５３）。
ステップＳ５２において、帳票構造定義情報９内から、ステップＳ５３で取得した、帳票構造定義識別子１８に対応する帳票構造定義を検索し、検索結果として得られた帳票構造定義内のＤＴＯクラス名称に基づき、入力帳票データＤＴＯ１２のインスタンスを自動的に生成する（ステップＳ５４）。
【００２２】
入力帳票データ取得処理装置８は、ステップＳ５４で得られた帳票構造定義内の取得対象のデータ項目名称およびデータ配置セル位置を元に、ステップＳ５３で読み込まれた電子帳票１１から取得対象のデータを取得する（ステップＳ５５）。
入力帳票データ取得処理装置８は、次いで、ステップＳ５４で生成した入力帳票データＤＴＯ１２のフィールドに、ステップＳ５５にて取得した取得対象データを格納する（ステップＳ５６）。なお、取得したデータの格納先フィールド名は、電子帳票１１からのデータ取得時に参照した帳票構造定義情報９内の取得対象のデータ項目名称に対応する。
【００２３】
ステップＳ５２にて取得した帳票構造定義情報９内に定義された、帳票構造定義識別子１８に対応するデータ項目の全項目に対して、ステップＳ５５およびステップＳ５６を実行する（ステップＳ５７→ＹＥＳ）。ステップＳ５５およびステップＳ５６の実行によって取得対象データの全項目に対する入力が完了したとき（ステップＳ５７→ＮＯ）、取得対象データが格納された入力帳票データＤＴＯ１２のインスタンスを入力帳票データ取得処理装置８から出力する（ステップＳ５８）。
【００２４】
実施の形態１によれば、帳票出力時において、帳票データ１４は、帳票構造定義情報９、帳票テンプレート１０および帳票出力データＤＴＯ１３から作成されることになり、帳票レイアウトと出力データを分離して扱うことができる。つまり、表示位置の変更やデータの非表示など帳票レイアウトが変更された場合でも、帳票構造定義情報９のデータ配置位置のみを変更することで、帳票出力データＤＴＯ１３の内容を修正することなく、変更された帳票レイアウトでの帳票を容易に出力することが可能となる。
【００２５】
また、帳票入力時においても、帳票出力時と同様に、帳票レイアウトの変更によるデータ取得位置の変更や、データ取得項目の削除が、入力帳票データを格納する入力帳票データＤＴＯの変更なしに、帳票構造定義情報９のデータ配置セル位置を変更するだけで、変更された帳票レイアウトでの帳票入力を容易に行うことが可能となる。
したがって、帳票レイアウトに変更が生じた場合であっても、帳票構造定義情報９、入力帳票データＤＴＯ１２、帳票出力データＤＴＯ１３、入力帳票データＤＴＯ１２を再構築する機会、コストを削減し、生産性を向上することができる。
【００２６】
実施の形態２．
実施の形態１では、帳票出力時に帳票出力データＤＴＯ１３と帳票構造定義情報９の出力データが１対１で対応する場合、および電子帳票１１から取得するデータ項目と帳票構造定義情報で定義されたデータ項目が１対１に対応する場合、すなわち、帳票上のデータ項目の配置位置が固定されている定型帳票の入出力について述べた。
実施の形態２では、帳票内に帳票構造定義情報９内で定義したデータ項目が複数出現する場合、すなわち、繰り返しデータが存在する場合についてのものである。
【００２７】
図４は、この発明の実施の形態２による帳票入出力装置の帳票出力動作を示すフローチャート図である。  
図４において、ステップＳ２０１、ステップＳ２０２およびステップＳ２０３は、図２におけるステップＳ１１、ステップＳ１２、ステップＳ１３と同一の処理であり、その説明を省略する。
図４で、帳票データ取得処理装置４は、出力対象である繰り返しデータ、すなわち帳票データ１４に出力する帳票出力データＤＴＯ１３のインスタンスのリストを取得する（ステップＳ２０４）。なお、該リスト内の帳票出力データＤＴＯ１３は、帳票データ１４に出力する順序で格納されている。
次いで、帳票データ取得処理装置４は、ステップＳ２０４で取得された帳票出力データＤＴＯ１３のリストから１要素（インスタンス）を取得し（ステップＳ２０５）、ステップＳ２０２で取得した、帳票構造定義情報９内の帳票構造定義識別子１８に対応するデータ項目名から、データ項目名称と一致する帳票出力データＤＴＯ１３のフィールドに格納されている帳票出力データを取得する手段を帳票出力データＤＴＯ１３の中から自動的に検索し、検索された手段により帳票出力データＤＴＯ１３のフィールドに格納された出力対象データを取得する（ステップＳ２０６）。
なお、上述の帳票出力データＤＴＯ１３のリストは、複数の要素（インスタンス）からなり、各要素（インスタンス）は、複数の出力データ項目の各データを含んでいる。
【００２８】
帳票データ配置処理装置５は、ステップＳ２０２で取得した帳票構造定義情報９内のデータ配置セル位置を参照し、ステップＳ２０６で取得したデータを帳票上に配置する（ステップＳ２０７）。この際、帳票構造定義情報９内に定義されたデータ配置セル位置に該当する帳票テンプレート１０内のセルに設定された文字表示位置、文字サイズ、文字フォント、セル背景色、罫線等のセル書式情報をデータ配置位置に適用する。
【００２９】
帳票データ配置処理装置５は、ステップＳ２０４で取得された帳票出力データＤＴＯ１３のリストの１要素に含まれる出力データの全項目に対して、ステップＳ２０６及びステップＳ２０７を実行する（ステップＳ２０８→ＮＯ）。全出力データ項目の配置がすべて完了した場合、すなわち帳票出力データＤＴＯ１３のインスタンスで構成されるリストの１インスタンスについて、データ項目の配置が完了したとき（ステップＳ２０８→ＹＥＳ）、データ配置先の位置を、帳票構造定義情報９内の帳票出力データＤＴＯ１３に関連する定義である、出力オフセットの分だけ移動させ、新たなデータ配置先とする（ステップＳ２０９）。これによって、次に配置されるインスタンスを、ステップＳ２０８で配置したセル位置から出力オフセット分移動した位置に配置することが可能となる。
【００３０】
ステップＳ２０９終了後、帳票データ配置処理装置５は、ステップＳ２０４で取得した帳票出力データＤＴＯ１３のリストに残りの要素（インスタンス）がある場合（ステップＳ２１０→ＹＥＳ）、改ページ実施判定（ステップＳ２１１）を実施する。改ページの実施判定は、帳票に配置済みの帳票出力データＤＴＯ１３のインスタンス数によって判定する。ステップＳ２１１実行時点で配置した帳票出力データＤＴＯ１３のインスタンス数が、帳票構造定義情報９で定義された、帳票１ページあたりの出力行数上限値で割り切られる場合（ステップＳ２１１→ＹＥＳ）、改シート制御コードを挿入して、改ページを実施（ステップＳ２１２）し、帳票データリストの出力を継続する。帳票出力データＤＴＯ１３のインスタンス数が、帳票１ページあたりの出力行数上限値で割り切られない場合（ステップＳ２１１→ＮＯ）は、改ページを実施することなく、帳票データリストの出力を継続する。
出力対象データＤＴＯリストの内容をすべて出力した場合（ステップＳ２１０→ＮＯ）、出力対象データを配置した帳票は、帳票データ出力インターフェース６０を介して、帳票データ出力処理装置６から帳票データ１４として出力される。
【００３１】
実施の形態２によれば、帳票出力データＤＴＯ１３をリスト化し、データ配置セル位置を出力オフセット分ずつずらすことによって、出力行が表の最下部に追加される一覧表形式、言い換えれば行追加形式の帳票を出力することが可能となる。１ページに出力可能な帳票出力データＤＴＯ１３のリストの要素数、すなわち帳票１ページあたりの出力行数上限値を定めることによって、帳票印刷時に上限を超えたレコードは、次ページ以降に出力することが可能となる。
【００３２】
また、ステップＳ２０７において、データ配置時にデータ配置先のセル書式情報を設定することで、出力行数が不定の行追加形式であっても、すべてのレコードに対して同じ装飾を施すことが可能となり、帳票テンプレート１０で該当するスプレッドシート上の１レコード目を出力するセル位置のみに書式情報を設定すれば良いので、帳票データ１４を出力後、スプレッドシートソフトウェア１５上で手動による書式設定を行う手間をなくすことができることに加え、レコード数を気にした帳票テンプレートを作成する必要が無くなり、帳票テンプレートの生産性が向上する。
【００３３】
また、行追加形式で作成された電子帳票１１の入力については、言及していないが、この場合においても、入力帳票データ取得処理装置８で帳票構造定義識別子１８と帳票構造定義情報９内に記載されたデータ配置セル位置を元に、出力オフセット分ずつデータ取得位置を変更し、行追加形式の電子帳票１１からデータを取得し、取得したデータを入力帳票データＤＴＯ１２のインスタンスに格納、リスト化することで、行追加形式の帳票から帳票入出力装置１によって、入力帳票データＤＴＯ１２を取得することが可能となる。
【００３４】
したがって、一覧表形式のような行追加形式の帳票であっても、帳票構造定義情報９と帳票テンプレート１０、帳票構造定義識別子１８によって、入出力する帳票によらず同一の帳票入出力装置１で帳票入出力を実施することができるため、帳票入出力装置を気にすることなく、帳票構造定義情報９、帳票テンプレート１０、入力帳票データＤＴＯ１２、帳票出力データＤＴＯ１３を作成することができるようになり、これらの情報、データの生産性を向上させる効果を得ることができる。
【００３５】
実施の形態３．
図５は、この発明の実施の形態３による帳票入出力装置の帳票出力動作を示すプローチャート図である。
図５において、ステップＳ３０１〜ステップＳ３１１は、図４のステップＳ２０１〜ステップＳ２１１と、ステップＳ３１５は図４のステップＳ２１３と、それぞれ同一のものである。
【００３６】
図６は、この発明の実施の形態３による帳票入出力装置で使用する帳票テンプレートの例を示す図である。
図６において、帳票テンプレート１０内にスプレッドシート名が「納品伝票」で作成されたテンプレート１０００が示され、このテンプレート１０００へ出力が行われる。
【００３７】
図７は、図６の帳票テンプレートに対応する帳票出力例を示す図である。
図７（ａ）は、納品伝票＿１への出力例を示す図、図７（ｂ）は、納品伝票＿２への出力例を示す図である。図７（ａ）では、１０件の出力、図７（ｂ）では、図７（ａ）に続く５件の出力が行われている。
【００３８】
実施の形態１および実施の形態２では、定型帳票に対する帳票入出力および行追加形式の帳票入出力について述べた。
実施の形態３は、繰り返しデータ項目が存在し、帳票１シートあたりの出力行数上限値を超えて出力するときに、出力項目データを配置するスプレッドシートをコピーし、コピーされたスプレッドシートにデータ出力を継続する場合、およびスプレッドシート群で構成された電子帳票を入力する場合についてのものである。
【００３９】
次に、図５を用いて、帳票入出力装置の帳票出力動作について説明する。
図５では、図４のステップＳ２１２に替えて、ステップＳ３１２〜Ｓ３１４を挿入している。
【００４０】
図５のステップＳ３１１の判定にて、配置した帳票出力データＤＴＯ１３のインスタンス数が１シートあたりの出力行数上限値で割り切れる場合（ステップＳ３１１→ＹＥＳ）、帳票テンプレート１０内の対応するスプレッドシート、すなわち帳票構造定義識別子１８で識別されるスプレッドシートをコピー（ステップＳ３１２）する。次いで、出力データ項目の配置位置を帳票構造定義情報９で定義された配置位置に変更し（ステップＳ３１３）、出力データ項目を出力するスプレッドシートを、ステップＳ３１２でコピーしたスプレッドシートに変更する（ステップＳ３１４）ことで、同一の帳票様式で繰り返しデータを複数のスプレッドシートにわたって出力することが可能となる。すなわちシートコピー形式による出力が可能となる。
【００４１】
例えば、図６に示すように、帳票テンプレート１０内にスプレッドシート名が「納品伝票」で作成されたテンプレート１０００に、１ページあたり１０レコードまで出力できる場合であって、データ配置セル位置が「Ｂ２」と定義され、かつ帳票テンプレート１０に１５件分の繰り返しデータを出力する場合、図７（ａ）に示す「納品伝票＿１」シートのＢ２〜Ｂ１１および、図７（ｂ）の「納品伝票＿２」シートのＢ２〜Ｂ６にレコードが出力される。
図５のステップＳ３１２で行われるシートコピーは、帳票テンプレート１０内のスプレッドシートからコピーされるため、コピーされた「納品伝票＿２」シートのＢ７〜Ｂ１１セルにはデータは入っていないが、セルに設定した枠線が出力される。
なお、シートコピー形式で出力した帳票のスプレッドシートは、「スプレッドシート名＿Ｘ」（Ｘは１から始まる連番）で必ず作成される。これは、スプレッドシートが１枚であっても適用される。なお、Ｘはスプレッドシート単位で割り振られる。
【００４２】
上述では、シートコピー形式における帳票入力については、述べていないが、帳票構造定義情報９で定義されたスプレッドシート名から定まる出力シート名、つまりスプレッドシート名と「＿Ｘ」（Ｘは１から始まる連番）を検索条件とし、電子帳票１１内のスプレッドシート群から検索し、検索条件に一致したスプレッドシートを対象に帳票構造定義情報９で定義された配置位置から順に出力オフセット分ずつ、１シートあたりの出力行数上限値分まで取得位置をずらしていくことで、シートコピー形式のデータを取得することが可能となる。
【００４３】
実施の形態３によれば、帳票出力データＤＴＯ１３をリスト化し、データ配置セル位置をオフセット分ずつずらすことによって、出力行が表の最下部に追加され、出力行数が帳票構造定義情報９で定義した１シートあたりの出力行数上限値を越えた場合は、帳票テンプレート１０からスプレッドシートをコピーし、コピー先のスプレッドシートにデータ配置を継続することができるようになる。
これによって、出力領域が固定されたスプレッドシートに収まらないデータを出力する場合でも、１シートに収まるように帳票出力データＤＴＯ１３のリストを分割し、複数回に分けて帳票出力する必要がないため、帳票出力データＤＴＯ１３のリストを分割する手間を省く効果を得る。
また、これにより出力も複数の帳票データ１４に分割されることもないため、出力後にスプレッドシートソフトウェア上で手作業による集約作業を省くことができ、帳票の生産性を向上させるという効果を得ることができる。
【００４４】
実施の形態４．
図８は、この発明の実施の形態４による帳票入出力装置のソフトウェア構成を示す図である。
図８において、１〜９、１〜１４、１８、６０は図１におけるものと同一のものである。図８では、図１の帳票テンプレート１０に替えて、帳票入出力装置によってすでに出力済みの電子帳票１００が入力され、この電子帳票１００を上書きするようにデータを出力する。
【００４５】
実施の形態１〜実施の形態３では、帳票テンプレートを予めスプレッドシートソフトウェアで作成したものを使用する場合について述べたが、実施の形態４は、すでに出力済みである電子帳票１００に直接、帳票データを出力するようにしたものである。
帳票構造定義情報９内のデータ配置位置で定義された以外の帳票上のデータは、帳票入出力装置１の操作対象ではない。このため、帳票構造定義情報９及び帳票出力データＤＴＯ１３を用いれば、すでに出力された電子帳票の一部またはすべてを上書きし、帳票データを出力することが可能となる。
【００４６】
実施の形態４によれば、予め作成しておいた帳票テンプレートだけでなく、すでに出力された電子帳票に直接データを配置することができるようになり、帳票の一部、または全体を上書きして出力することが可能となる。
これによって、例えば出力済みの帳票の一部を修正し、帳票を再出力するといったことが可能になり、すでに出力した帳票出力データＤＴＯの全データを用意しなくとも、修正したい箇所に対応する帳票出力データＤＴＯを用意するだけで、帳票の修正が可能となり、利用者の利便性が向上する。
【００４７】
実施の形態５．
図９は、この発明の実施の形態５による帳票入出力装置のソフトウェア構成を示す図である。
図９において、１〜１４、１８、６０は図１におけるものと同一のものである。図９では、帳票データ１４は、帳票入出力装置１が動作するコンピュータの主記憶上に出力されるようになっている。
【００４８】
実施の形態１〜実施の形態４では、帳票データ配置処理装置５で生成された帳票データ１４は、帳票データ６０を介して帳票データ出力処理装置６から帳票データ１４のファイルとして出力する場合について述べたが、実施の形態５は、図９に示すように、帳票データ配置処理装置６で生成した帳票データ１４を、帳票入出力装置１が動作するコンピュータの主記憶上に出力するようにしている。
帳票データ１４を帳票入出力装置１が動作するコンピュータの主記憶上に出力することにより、他システムとの連携時にファイルシステムを介することなく、帳票データの受け渡しが可能になるため、連携先のシステムにおいて、帳票データ１４を取得するためのディスクアクセス処理を実装するコストが不要になり、他プログラムの生産性を高める効果を得ることができる。
【００４９】
また、帳票データ出力処理装置６は、帳票データ出力インターフェース６０を介して、帳票データ配置処理装置５と接続されている。したがって、帳票データ出力インターフェース６０に、帳票データ出力処理装置６以外の帳票データ出力処理装置を接続することが可能となる。
例えば、帳票入出力装置１を使用するシステムの要件に応じて、一方のシステムには帳票データ出力処理装置Ａを使用し、もう一方のシステムには帳票データ出力処理装置Ｂを使用するというように帳票データ出力処理装置を切り替えて帳票データを出力することが可能となり、帳票データ出力処理装置１の利便性を高める効果を得ることができる。
【００５０】
実施の形態５によれば、帳票データ出力処理装置６によって、帳票入出力装置１が動作するコンピュータおよび帳票データ出力処理装置６が読み書き可能な他コンピュータのディスク装置およびその他記憶媒体への出力だけでなく、帳票入出力装置１が動作するコンピュータの主記憶上にも帳票データ１４を出力することが可能になる。
また、帳票入出力装置１を使用するシステムの要件によって多様な帳票データ出力処理装置を選択することができるようになるなど、帳票入出力装置１の利便性を高める効果が得られる。
【００５１】
実施の形態６．
図１０は、この発明の実施の形態６による帳票入出力装置の利用形態を示すシステム構成図である。
図１０において、１、９、１０、１３は図１におけるものと同一のものである。図１０では、帳票入出力装置１は、ＷＥＢシステム７１０のアプリケーションサーバ７１１上で動作し、アプリケーションサーバ７１１のリクエスト処理部７１２により、クライアント７２０からのリクエストを受付け、生成した帳票データを、アプリケーションサーバ７１１のレスポンス処理部７１３を介して、クライアント７２０に出力するようになっている。
【００５２】
図１１は、この発明の実施の形態６による帳票入出力装置の利用形態を示すシステム構成図である。
図１１において、１、９、１０は図１におけるものと同一のものである。図１１では、帳票入出力装置１は、レポート生成アプリケーション８１０上で動作し、レポート生成アプリケーション８１０は、センサー８１１からデータを収集するデータ収集部８１３を有するデータ収集装置８１２を備えている。帳票入出力装置１は、このデータ収集部８１３によってセンサー８１１から収集したデータを格納したセンサー収集データ８０３を使用して、レポート帳票８２０を作成して、出力するようになっている。
【００５３】
実施の形態６では、帳票入出力装置１を、他コンピュータプログラムから再利用可能なライブラリとして提供するようにしている。
これにより、例えば、図１０に示すＷＥＢシステムのようなサーバサイドアプリケーションと組み合わせて使用することや、図１１に示すバッチアプリケーションのようなローカル環境で動作するアプリケーションと組み合わせて使用することができる。
【００５４】
実施の形態６によれば、サーバサイドアプリケーションと組み合わせることによって、例えばクライアントのＷＥＢブラウザ上から帳票生成要求をリクエストし、そのレスポンスとして帳票データを取得することが可能になる。
また、ローカルアプリケーションと組み合わせることによって、ローカルアプリケーションで生成されたデータを帳票として出力することや、帳票データを取得し、ローカルアプリケーションで活用することが容易に行える。
したがって、本発明の帳票入出力装置の適用範囲を広げることができ、本発明の帳票入出力装置の有用性を向上させる効果を得ることができる。
【符号の説明】
【００５５】
１  帳票入出力装置
２  帳票構造定義処理装置
３  帳票テンプレート取得処理装置
４  帳票データ取得処理装置
５  帳票データ配置処理装置
６  帳票データ出力処理装置
７  帳票入力処理装置
８  入力帳票データ取得処理装置
９  帳票構造定義情報
１０  帳票テンプレート
１１  電子帳票
１２  入力帳票データＤＴＯ
１３  帳票出力データＤＴＯ
１４  帳票データ
１５  スプレッドシートソフトウェア
１６  表示装置
１７  画面表示装置
１８  帳票構造定義識別子
６０  帳票データ出力インターフェース
１００  電子帳票
７１０  ＷＥＢシステム
７１１  アプリケーションサーバ
７１２  リクエスト処理部
７１３  レスポンス処理部
７２０  クライアント
８０３  センサー収集データ
８１０  レポート生成アプリケーション
８１１  センサー
８１２  データ収集装置
８１３  データ収集部
８２０  レポート帳票
【図１】
0005388881.tif 000002
【図２】
0005388881.tif 000003
【図３】
0005388881.tif 000004
【図４】
0005388881.tif 000005
【図５】
0005388881.tif 000006
【図６】
0005388881.tif 000007
【図７】
0005388881.tif 000008
【図８】
0005388881.tif 000009
【図９】
0005388881.tif 000010
【図１０】
0005388881.tif 000011
【図１１】
0005388881.tif 000012