(57)【要約】【課題】複数種類の帳票を効率的に作成すること。【解決手段】帳票レイアウト定義に従って帳票を作成する帳票出力装置２０であって、帳票データを帳票構成ブロック上に配置する規則を示すデータクラス定義、および、帳票構成ブロックの帳票上における出力座標を規定する帳票レイアウト定義を記憶する帳票定義記憶部と、帳票データの入力を受け付けるインタフェース部２８と、データクラス定義に従って帳票データから帳票構成ブロックを作成し、帳票レイアウト定義に従って帳票構成ブロックから帳票を作成し、作成した帳票を出力する帳票編集部２６と、を有し、帳票レイアウト定義が、１つの帳票構成ブロックを、１つ以上の帳票に利用されるように対応づけることを特徴とする。【選択図】図６
2008165661.tif 000002
【特許請求の範囲】
【請求項１】
帳票レイアウト定義に従って帳票を作成する帳票出力装置であって、
帳票データを帳票構成ブロック上に配置する規則を示すデータクラス定義、および、前記帳票構成ブロックの帳票上における出力座標を規定する前記帳票レイアウト定義を記憶する帳票定義記憶部と、
前記帳票データの入力を受け付けるインタフェース部と、
前記データクラス定義に従って前記帳票データから前記帳票構成ブロックを作成し、前記帳票レイアウト定義に従って前記帳票構成ブロックから帳票を作成し、作成した帳票を出力する帳票編集部と、を有し、
前記帳票レイアウト定義は、１つの前記帳票構成ブロックを、１つ以上の帳票に利用されるように対応づけることを特徴とする
帳票出力装置。
【請求項２】
前記帳票編集部は、大きさが可変長である前記帳票構成ブロックを帳票上に配置することによって、他の前記帳票構成ブロックと重なるときに、互いに重ならないように前記帳票構成ブロックを帳票上に再配置することを特徴とする
請求項１に記載の帳票出力装置。
【請求項３】
請求項１または請求項２に記載の帳票出力装置に前記帳票データを出力する業務処理装置であって、
前記帳票データのデータクラスを記憶する帳票データ記憶部と、
前記帳票データ記憶部から前記データクラス定義に従って前記帳票構成ブロックに使用されるデータクラスを前記帳票データとして抽出するデータ抽出部と、
抽出された前記帳票データを前記インタフェース部に送信する帳票データ出力部と、を有することを特徴とする
業務処理装置。
【請求項４】
前記帳票データ出力部の前記帳票データへのアクセサと、前記インタフェース部の前記帳票データへのアクセサとは、同じ形式で通信可能とすることを特徴とする
請求項３に記載の業務処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票出力装置、および、業務処理装置に関する。
【背景技術】
【０００２】
帳票は、業務処理に使用されるデータを所定のフォーマットで紙面に配置したものである。この帳票に配置されるデータを業務処理装置から抽出するために、ＳＱＬ（Structured Query Language）クエリ定義形式の抽出要求を業務処理装置のデータベースに対して行う方式が、提案されている（特許文献１参照）。
【特許文献１】特開２００５−４４１７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来技術は、複数種類の帳票を作成するときに、帳票ごとにその帳票に使用されるデータを、ＳＱＬクエリなどにより取得していた。そのため、帳票の作成に時間がかかり、また、帳票に使用されるデータの変更に対して、充分に対応し切れていなかった。
【０００４】
帳票の作成に時間がかかる要因としては、例えば、ＳＱＬクエリの応答結果であるデータを、帳票の所定の位置に配置するレイアウト決定の作業時間がかかることが、挙げられる。
【０００５】
帳票に使用されるデータの変更については、例えば、同じデータが複数の帳票で共用されているときに、複数の帳票それぞれに直接書き込まれているデータを変更することは、すでに発行された帳票が古くなるにつれ、困難な作業となる。
【０００６】
そこで本発明は、複数種類の帳票を効率的に作成することを、主な目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するため、本発明は、帳票レイアウト定義に従って帳票を作成する帳票出力装置であって、帳票データを帳票構成ブロック上に配置する規則を示すデータクラス定義、および、前記帳票構成ブロックの帳票上における出力座標を規定する前記帳票レイアウト定義を記憶する帳票定義記憶部と、前記帳票データの入力を受け付けるインタフェース部と、前記データクラス定義に従って前記帳票データから前記帳票構成ブロックを作成し、前記帳票レイアウト定義に従って前記帳票構成ブロックから帳票を作成し、作成した帳票を出力する帳票編集部と、を有し、前記帳票レイアウト定義が、１つの前記帳票構成ブロックを、１つ以上の帳票に利用されるように対応づけることを特徴とする。その他の手段は、後記する。
【発明の効果】
【０００８】
本発明によれば、複数種類の帳票を効率的に作成することができる。
【発明を実施するための最良の形態】
【０００９】
以下に本発明の一実施形態を、図面を参照して詳細に説明する。
【００１０】
図１は、帳票構成ブロックを示す説明図である。
【００１１】
帳票構成ブロック１は、帳票の構成要素であり、複数の帳票で共用される可能性がある帳票データである。帳票構成ブロック１は、帳票構成ブロック１ａの販売員の一覧表など、１つの表として構成される。なお、帳票構成ブロック１の粒度（大きさ）は、利用者によって自由に設定される。
【００１２】
帳票構成ブロック１の大きさは、帳票構成ブロック１を構成するデータ件数に依存することもある。例えば、帳票構成ブロック１のうち、帳票構成ブロック１ａは、固定フォーマットであり、データ件数は、１件と定まっている。
【００１３】
一方、帳票構成ブロック１ｂは、データ件数が帳票の出力実行ごとに変動し、縦方向に繰り返し出力する可変長ブロックである。例えば、帳票構成ブロック１ｂでは、３件の顧客名それぞれに対して、全社販売実績評価が記されている。そして、４件目の顧客が新たに追加されたときには、その追加された顧客のレコードが、３件目の下（縦方向）に追加される。
【００１４】
帳票構成ブロック１ｃ、および、帳票構成ブロック１ｄは、データ件数によって大きさが変動する可変長のブロックである。例えば、帳票構成ブロック１ｃでは、４件の製品名それぞれに対して、３ヶ月分（４，５，６月）の販売実績が記されている。そして、５件目の製品名が新たに追加されたときには、その追加された製品名のレコードが、４件目の下（縦方向）に追加される。さらに、新しく７月分の販売実績が追加されたときには、６月分の右（横方向）に追加される。
【００１５】
図２は、帳票構成ブロックを元に作成される帳票を示す説明図である。
【００１６】
帳票２ａは、帳票構成ブロック１ａ、帳票構成ブロック１ｂ、および、帳票構成ブロック１ｃが配置される帳票である。帳票２ｂは、帳票構成ブロック１ａ、および、帳票構成ブロック１ｄが配置される帳票である。帳票レイアウトは、各帳票に使用される各帳票構成ブロックおよびその出力位置３を規定する。例えば、帳票レイアウトＡは、帳票構成ブロック１ａを帳票２ａの出力位置３ａを左上点として配置するように規定する。
【００１７】
なお、帳票構成ブロック１が可変長ブロックであるときには、帳票上に配置することによって、他の帳票構成ブロックと重なる場合がある。帳票構成ブロック１ｂのデータ件数が増えたときには、帳票構成ブロック１ｃと重なってしまう。このようなときには、互いに重ならないように帳票構成ブロック１を帳票上に再配置するような配置の補正を行うことにより、帳票を作成する。例えば、帳票構成ブロック１ｃを下方向にずらすことで、帳票構成ブロック１ｂとは重ならないようにする。
【００１８】
図３は、帳票構成ブロックと帳票レイアウトとの関係を示す説明図である。
【００１９】
１つの帳票レイアウトは、１つの帳票分の定義情報である。帳票レイアウトは、各帳票構成ブロックの出力座標を規定する。そして、１つの帳票構成ブロックは、複数の帳票レイアウトに共用（再利用）される可能性がある。例えば、帳票構成ブロック（販売員）は、２つの帳票レイアウトＡ，Ｂで共用されているが、その出力位置３は、それぞれの帳票レイアウトで異なる。
【００２０】
このように、帳票と帳票構成ブロックとが帳票レイアウトを介して互いに独立したデータ構造となっているため、帳票内でのレイアウト変更、および、データ抽出定義がＳＱＬクエリ定義であることによるＳＱＬクエリ定義の変更に対して、変更作業を低減することができる。さらに、帳票構成ブロックを構成する帳票データがＣＳＶ（Comma Separated Values）ファイルであるときには発生していた、項目の並び順変更作業は発生しない。また、帳票が帳票構成ブロックのデータを直接保持しないことにより、帳票構成ブロックのデータ変更が、帳票構成ブロックを利用する複数の帳票に反映される。
【００２１】
図４は、帳票構成ブロックの作成方法を示す説明図である。
【００２２】
業務処理装置１０内に格納されている各データクラスから、データ抽出定義によって、帳票データが抽出される。抽出された帳票データは、フォーマット定義に従って所定の場所に配置されることで、帳票構成ブロック１が作成される。このように、あらかじめデータ抽出定義およびフォーマット定義を用意しておくことで、業務処理装置１０の内部処理により、帳票構成ブロック１を作成することができる。換言すると、業務処理装置１０が出力するデータが、そのまま帳票の作成に転用できる。
【００２３】
なお、業務処理装置１０にＳＱＬクエリなどで問い合わせてデータクラスをＣＳＶファイルなどでエクスポート（出力）し、そのデータクラスを手作業で編集して帳票構成ブロックを作成する方式も考えられる。しかし、手作業で編集すると、時間がかかり、常時変更するデータクラスの最新のデータを用いることが困難となってしまう。よって、図４に示したように、データクラスを扱う業務処理装置１０の内部でデータ抽出処理を行う方式が、望ましい。
【００２４】
図５は、帳票構成定義のデータ構造を示す説明図である。
【００２５】
「帳票レイアウト定義」５０１は、帳票の種類ごとに作成される。１つの「帳票レイアウト定義」５０１は、１つ以上の「帳票構成ブロック定義の指定」５０２と対応づけられる。１つの「帳票構成ブロック定義の指定」５０２は、１つ以上の「帳票レイアウト定義」５０１と対応づけられる。つまり、「帳票構成ブロック定義の指定」５０２は、複数の「帳票レイアウト定義」５０１から共通化されて使用される。
【００２６】
１つの「帳票構成ブロック定義の指定」５０２は、１つの「利用する帳票構成ブロック定義名の指定」５０３、帳票構成ブロックを帳票上のどこに配置するかを定義した１つの「帳票構成ブロックの配置座標定義」５０４、および、帳票構成ブロックの出力座標を補正するために隣接関係にある０または１つの「出力座標が依存する帳票構成ブロック定義名の指定」５０５と対応づけられる。
【００２７】
「帳票構成ブロック定義」５０６は、「利用する帳票構成ブロック定義名の指定」５０３により特定される。１つの「帳票構成ブロック定義」５０６は、１つの「利用するフォーマット定義名の指定」５０７、および、０以上の「データ抽出定義」５０８と対応づけられる。
【００２８】
１つの「データ抽出定義」５０８は、データ件数が出力実行毎に可変となるかの定義をその出力の繰り返し方法（縦、横）を定義することにより表現する０または１つの「可変長定義」５０９、データ保持形態がどのようなプラットフォームに依存するのかを示す１つの「抽出インタフェース定義」５１０、および、１つの「データクラス定義」５１１と対応づけられる。
【００２９】
１つの「データクラス定義」５１１は、１つの「データクラス名定義」５１２、および、出力対象項目となるデータクラス内の変数項目情報を定義する１つ以上の「データ項目定義」５１３と対応づけられる。１つの「データ項目定義」５１３は、１つの「データクラス変数名定義」５１４、および、その「データクラス変数名定義」５１４の配置先を示す１つの「帳票構成ブロック内での配置座標定義」５１５と対応づけられる。
【００３０】
「フォーマット定義」５１６は、「利用するフォーマット定義名の指定」５０７により特定される。１つの「フォーマット定義」５１６は、そのフォーマットがどの外部ファイルで定義されているかを示す１つの「フォーマット定義ファイルの指定」５１７、および、そのフォーマットファイル内のどの区画がフォーマットとして利用するかの座標情報を定義する１つの「有効なフォーマット区画座標定義」５１８と対応づけられる。また、外部ファイルは、帳票の枠線や背景色などを定義する。
【００３１】
以上説明したように、帳票出力定義は、各定義情報が構造化されている。「帳票レイアウト定義」５０１、「帳票構成ブロック定義」５０６、および、「フォーマット定義」５１６を互いに独立した関係とすることで、各定義の変更に対して柔軟に対応できる。
【００３２】
図６は、帳票出力システムを示す構成図である。
【００３３】
業務処理装置１０は、帳票データ記憶部１８、データ抽出部１２、出力確認部１４、および、帳票データ出力部１６を有する。帳票データ記憶部１８は、出力対象の帳票データを保持している。データ抽出部１２は、帳票データ記憶部１８からデータ抽出定義（図４参照）に従って、帳票データを抽出する。なお、データ抽出定義は、帳票出力装置２０の帳票出力定義２４に記憶されている。
【００３４】
出力確認部１４は、データ抽出部１２で抽出されたデータを、帳票出力システムの利用者に表示して確認させる。帳票データ出力部１６は、出力確認部１４で確認された帳票データを、帳票出力装置２０のインタフェース部２８に対して出力し、帳票出力要求を行う。
【００３５】
帳票出力装置２０は、帳票出力定義作成部２２、帳票出力定義２４、帳票編集部２６、および、インタフェース部２８により構成される。帳票出力定義作成部２２は、出力する帳票の種類ごとに、帳票出力定義２４を作成する。インタフェース部２８は、様々なデータ保持形態に対応して帳票データを抽出し、帳票編集部２６に出力する。
【００３６】
帳票編集部２６は、帳票出力定義２４に従って、出力する帳票を編集する。帳票出力定義２４は、図５の帳票レイアウト定義５０１、および、その帳票レイアウト定義５０１に対応づけられている図５の各情報である。
【００３７】
なお、業務処理装置１０、および、帳票出力装置２０は、それぞれ演算処理を行う際に用いられる記憶手段としてのメモリと、前記演算処理を行う演算処理装置とを少なくとも備えるコンピュータとして構成される。なお、メモリは、ＲＡＭ（Random Access Memory）などにより構成される。演算処理は、ＣＰＵ（Central Processing Unit）によって構成される演算処理装置が、メモリ上のプログラムを実行することで、実現される。
【００３８】
図７は、帳票出力システムのインタフェース部２８を示す構成図である。
【００３９】
インタフェース部２８は、業務処理装置１０でのアクセサに応じたアクセサ群と、アクセサで取得したデータを帳票編集部２６で処理できる統一した形式に変換するための変換部２８ｂで構成される。アクセサ群は、例えば、Ｊａｖａ（登録商標）、ＥＪＢ、ＣＯＭ、Ｗｅｂサービス、および、ＣＯＲＢＡがある。
【００４０】
図５の抽出インタフェース定義５１０は、インタフェース部２８のアクセサの種別を指定する。例えば、データ保持形式がＪａｖａ（登録商標）で保持されている業務処理装置１０ａの場合には、「Ｊａｖａ（登録商標）」と抽出インタフェース定義５１０に記述すると、インタフェース部２８の「Ｊａｖａ（登録商標）」アクセサが利用される。
【００４１】
同様に、データ保持形式がＷｅｂサービスで保持されている業務処理装置１０ｂの場合には「Ｗｅｂサービス」と抽出インタフェース定義５１０に記述すると、インタフェース部２８の「Ｗｅｂサービス」アクセサが利用される。このように、業務処理装置１０（帳票データ出力部１６）の帳票データへのアクセサと、インタフェース部２８の帳票データへのアクセサとは、同じ形式で通信可能とする。
【００４２】
このように、インタフェース部２８を複数のアクセサごとに設けることにより、プラットフォーム非依存な帳票ソリューションを提供することができる。プラットフォームとは、例えば、業務処理装置１０のデータ保持の実装形態、さらにはそれを扱うサービスの実装形態である。
【００４３】
また、プラットフォームの依存性を吸収するインタフェース部２８により、ＳＯＡ（Service Oriented Architecture）を元にしたＷｅｂサービスの組合せで構成されている業務処理に適用することができる。Ｗｅｂサービスの組合せ変更によって新たな業務を構築され、新たな帳票出力のニーズが発生した場合にも、新たな業務に対応する帳票構成ブロックを帳票レイアウト定義を組み入れることで、柔軟に帳票出力処理を実現することが可能になる。
【００４４】
図８は、帳票データの確認画面を示す画面図である。利用者は、データ抽出定義（図４参照）に従って、帳票データが正しく抽出されているか否かを確認することができる。図８の画面図は、図１の帳票構成ブロック１ａ、および、帳票構成ブロック１ｂに使用される帳票データを、利用者に確認させている。
【００４５】
図９は、業務処理装置内の処理を示すフローチャートである。
【００４６】
データ抽出部１２は、帳票データ記憶部１８から帳票データを抽出する（Ｓ１０１）。出力確認部１４は、抽出された帳票データを利用者に確認させる（Ｓ１０２）。出力確認部１４は、利用者から目的の帳票データである旨の確認が取れたか否かを判定し（Ｓ１０３）、取れないときには（Ｓ１０３，Ｎｏ）、処理をＳ１０１に戻す。Ｓ１０３でＹｅｓなら、帳票データ出力部１６は、帳票データを帳票出力装置２０に出力し、帳票の出力を指示する（Ｓ１０４）。
【００４７】
図１０は、帳票出力定義２４の取得処理を示すフローチャートである。このフローチャートは、図１１と端子で連結されている。図１０および図１１の動作主体は、帳票編集部２６である。
【００４８】
まず、「帳票構成ブロック定義の指定」を取得する（Ｓ２０１）。次に、取得した帳票構成ブロック定義の「出力座標が依存する帳票構成ブロック定義名の指定」が存在するか否かを判定する（Ｓ２０２）。以下、出力座標が依存する帳票構成ブロック定義を、依存ブロックとする。
【００４９】
Ｓ２０２でＮｏなら、処理をＳ２０５に進める。Ｓ２０２でＹｅｓなら、依存ブロックは未処理か否かを判定する（Ｓ２０３）。Ｓ２０３でＹｅｓなら、依存ブロックの帳票構成ブロック定義を取得するため、処理をＳ２０１に戻す。Ｓ２０３でＮｏなら、依存ブロックの座標補正値を、現処理対象の帳票構成ブロックの配置座標に反映する（Ｓ２０４）。なお、依存ブロックの座標補正値の具体的な計算方法は、Ｓ２１３にて説明する。
【００５０】
そして、取得した帳票構成ブロック定義の「利用する帳票構成ブロック定義名の指定」により「帳票構成ブロック定義」を取得する（Ｓ２０５）。以下、本フローチャートの終了まで、取得した帳票構成ブロック定義単位での処理を行う。
【００５１】
さらに、「利用するフォーマット定義名の指定」から「フォーマット定義」を取得する（Ｓ２０６）。「抽出インタフェース定義」および「データクラス名定義」を取得する（Ｓ２０７）。これらは、業務処理装置１０からのデータ抽出に必要となる。そして、業務処理装置１０からインタフェース部２８を経由して、帳票データを取得する（Ｓ２０８）。
【００５２】
図１１は、帳票の作成処理を示すフローチャートである。
【００５３】
「データクラス変数名定義」で定義された未配置の帳票データを、「フォーマット定義」で規定された帳票構成ブロックフォーマット上の「帳票構成ブロック内での配置座標定義」で定義された位置に配置する（Ｓ２１１）。なお、「可変長定義」により縦または横方向のデータの配置数が可変であるときには、定義される繰り返し出力方向を取得し、その方向に従って配置を繰り返す。
【００５４】
未配置の帳票データが存在するか否かを判定する（Ｓ２１２）。Ｓ２１２でＹｅｓなら、「可変長定義」を取得し（Ｓ２１４）、処理をＳ２１１に戻す。Ｓ２１２でＮｏなら、帳票データのデータ件数と「有効なフォーマット区画座標定義」とを元に座標補正値を算出する（Ｓ２１３）。未処理の「データクラス定義」が存在するか否かを判定する（Ｓ２１５）。Ｓ２１５でＹｅｓなら、処理をＳ２０７に戻す。
【００５５】
Ｓ２１５でＮｏなら、「帳票構成ブロックの配置座標定義」に従い、帳票上に帳票構成ブロックの処理結果を配置する（Ｓ２１６）。依存ブロックがある場合には補正処理を施して配置する。そして、未処理の「帳票構成ブロック定義の指定」が存在するか否かを判定する（Ｓ２１７）。Ｓ２１７でＹｅｓなら、処理をＳ２０１に戻す。Ｓ２１７でＮｏなら、帳票を出力して、処理を終了する。
【００５６】
以上説明した本実施形態によれば、帳票と帳票構成ブロックとが別々のデータ構造として関連づけられている。これにより、帳票の変更、および、帳票構成ブロックの変更を独立して行うことができるので、変更に強いデータ構造となる。また、帳票レイアウト定義は、１つの帳票構成ブロックを、１つ以上の帳票に利用されるように対応づけるので、帳票構成ブロックが複数の帳票で共用（再利用）される。よって、帳票ごとに直接帳票データを記載していた比較例と比較して、複数種類の帳票を効率的に作成することができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施形態に関する帳票構成ブロックを示す説明図である。
【図２】本発明の一実施形態に関する帳票構成ブロックを元に作成される帳票を示す説明図である。
【図３】本発明の一実施形態に関する帳票構成ブロックと帳票レイアウトとの関係を示す説明図である。
【図４】本発明の一実施形態に関する帳票構成ブロックの作成方法を示す説明図である。
【図５】本発明の一実施形態に関する帳票構成定義のデータ構造を示す説明図である。
【図６】本発明の一実施形態に関する帳票出力システムを示す構成図である。
【図７】本発明の一実施形態に関する帳票出力システムのインタフェース部を示す構成図である。
【図８】本発明の一実施形態に関する帳票データの確認画面を示す画面図である。
【図９】本発明の一実施形態に関する業務処理装置内の処理を示すフローチャートである。
【図１０】本発明の一実施形態に関する帳票出力定義の取得処理を示すフローチャートである。
【図１１】本発明の一実施形態に関する帳票の作成処理を示すフローチャートである。
【符号の説明】
【００５８】
１      帳票構成ブロック
２      帳票
３      出力座標
１０    業務処理装置
１２    データ抽出部
１４    出力確認部
１６    帳票データ出力部
１８    帳票データ記憶部
２０    帳票出力装置
２２    帳票出力定義作成部
２４    帳票出力定義
２６    帳票編集部
２８    インタフェース部
【図１】
2008165661.tif 000003
【図２】
2008165661.tif 000004
【図３】
2008165661.tif 000005
【図４】
2008165661.tif 000006
【図５】
2008165661.tif 000007
【図６】
2008165661.tif 000008
【図７】
2008165661.tif 000009
【図８】
2008165661.tif 000010
【図９】
2008165661.tif 000011
【図１０】
2008165661.tif 000012
【図１１】
2008165661.tif 000013