(57)【要約】【課題】  設定情報に基づき、複数の部品を動的に配置した帳票を容易に出力する仕組みを提供する。【解決手段】  複数の部品を含む帳票を出力する情報処理装置であって、設定情報を取得する。帳票を出力する用紙に係るサイズを取得する。帳票に配置する部品の識別情報を取得する。部品に係るサイズを取得する。部品の出力に用いる情報を取得する。部品の識別情報に係る順序に基づいて、当該部品の出力に用いる情報を用いて、当該部品を前記用紙に配置する。用紙に複数の部品が配置された帳票を出力する情報処理装置。【選択図】  図７
2019097072.tif 000002
【特許請求の範囲】
【請求項１】
複数の部品を含む帳票を出力する情報処理装置であって、
設定情報を取得する設定情報取得手段と、
前記設定情報取得手段により取得された設定情報に基づいて、前記帳票を出力する用紙に係るサイズを取得する用紙サイズ取得手段と、
前記設定情報取得手段により取得された設定情報に基づいて、前記帳票に配置する部品の識別情報を取得する部品識別情報取得手段と、
前記部品識別情報取得手段により取得された部品の識別情報に基づいて、当該部品に係るサイズを取得する部品サイズ取得手段と、
前記部品識別情報取得手段により取得された部品の識別情報に基づいて、当該部品の出力に用いる情報を取得する部品出力情報取得手段と、
前記部品識別情報取得手段により取得された部品の識別情報に係る順序に基づいて、前記部品出力情報取得手段により取得された当該部品の出力に用いる情報を用いて、当該部品を前記用紙に配置する部品配置手段と、
前記部品配置手段により前記用紙に前記複数の部品が配置された帳票を出力する帳票出力手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記部品配置手段により前記用紙に前記複数の部品が配置された帳票を出力するための第２設定情報を生成する第２設定情報生成手段
を更に備え、
前記帳票出力手段は、
前記第２設定情報生成手段により生成された第２設定情報に基づき、前記用紙に前記複数の部品が配置された帳票を出力すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定情報はコメントを含み、
前記用紙サイズ取得手段による用紙に係るサイズの取得、前記部品識別情報取得手段による部品の識別情報の取得、前記部品サイズ取得手段による部品に係るサイズの取得、前記部品出力情報取得手段による部品の出力に用いる情報の取得、前記部品配置手段による部品の用紙への配置及び前記帳票出力手段による帳票の出力、のうち少なくとも１つは前記コメントに基づいて行うこと
を特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記部品配置手段は、
前記用紙サイズ取得手段により取得された用紙に係るサイズ及び前記部品サイズ取得手段により取得された部品に係るサイズに基づいて、当該部品が当該用紙に配置できないと判定した場合は当該用紙の次ページに当該部品を配置すること
を特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記部品配置手段は、
前記設定情報取得手段により取得された設定情報に改ページの指定があると判定した場合は、当該用紙の次ページに当該部品を配置すること
を特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記部品配置手段は、
前記設定情報取得手段により取得された設定情報の余白の指定があると判定した場合は、当該指定に基づく余白を空けて当該部品を配置すること
を特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記用紙には、
前記設定情報取得手段により取得された設定情報にて指定された用紙を用いること
を特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記部品配置手段は、
前記設定情報取得手段により取得された設定情報にヘッダ及び／又はフッタの指定があると判定した場合は、当該指定に基づいて、前記用紙にヘッダ及び／又はフッタを配置すること
を特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項９】
複数の部品を含む帳票を出力する情報処理装置における処理方法であって、
前記情報処理装置が、
設定情報を取得する設定情報取得ステップと、
前記設定情報取得ステップにより取得された設定情報に基づいて、前記帳票を出力する用紙に係るサイズを取得する用紙サイズ取得ステップと、
前記設定情報取得ステップにより取得された設定情報に基づいて、前記帳票に配置する部品の識別情報を取得する部品識別情報取得ステップと、
前記部品識別情報取得ステップにより取得された部品の識別情報に基づいて、当該部品に係るサイズを取得する部品サイズ取得ステップと、
前記部品識別情報取得ステップにより取得された部品の識別情報に基づいて、当該部品の出力に用いる情報を取得する部品出力情報取得ステップと、
前記部品識別情報取得ステップにより取得された部品の識別情報に係る順序に基づいて、前記部品出力情報取得ステップにより取得された当該部品の出力に用いる情報を用いて、当該部品を前記用紙に配置する部品配置ステップと、
前記部品配置ステップにより前記用紙に前記複数の部品が配置された帳票を出力する帳票出力ステップと
を実行することを特徴とする処理方法。
【請求項１０】
複数の部品を含む帳票を出力する情報処理装置で実行可能なプログラムであって、
前記情報処理装置を、
設定情報を取得する設定情報取得手段と、
前記設定情報取得手段により取得された設定情報に基づいて、前記帳票を出力する用紙に係るサイズを取得する用紙サイズ取得手段と、
前記設定情報取得手段により取得された設定情報に基づいて、前記帳票に配置する部品の識別情報を取得する部品識別情報取得手段と、
前記部品識別情報取得手段により取得された部品の識別情報に基づいて、当該部品に係るサイズを取得する部品サイズ取得手段と、
前記部品識別情報取得手段により取得された部品の識別情報に基づいて、当該部品の出力に用いる情報を取得する部品出力情報取得手段と、
前記部品識別情報取得手段により取得された部品の識別情報に係る順序に基づいて、前記部品出力情報取得手段により取得された当該部品の出力に用いる情報を用いて、当該部品を前記用紙に配置する部品配置手段と、
前記部品配置手段により前記用紙に前記複数の部品が配置された帳票を出力する帳票出力手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の部品を配置した帳票を出力する情報処理装置、帳票システム、その処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来より、予め用意した部品を用紙に配置し、帳票を生成する帳票生成方法がある。
【０００３】
例えば、生命保険などの金融商品の説明書や契約書等といった帳票では、契約者が加入した金融商品の種類や家族人数等によって、帳票に配置する部品の種類や数が変わることになる。
【０００４】
特許文献１では、パーツと呼ばれる部品を用紙に配置することにより、帳票を生成する帳票方法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−０１１８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１では、予め設定された設定情報に従って部品を用紙に配置することは記載されているが、部品を用紙に配置するための設定情報の記述内容については記載されていない。つまり、複数の部品を配置した帳票を容易に出力するためには、設定情報をどのような構成にすればよいかがわからない。
【０００７】
一方、帳票生成ツールにおいては、部品を用紙に配置する場合、配置する座標を指定しなければならず、複数の部品を順番に配置しつつ、用紙の残りスペースを考慮して改頁する等、動的に部品を配置することができないという問題があった。
【０００８】
そこで、本発明の目的は、設定情報に基づき、複数の部品を動的に配置した帳票を容易に出力する仕組みを提供することである。
【課題を解決するための手段】
【０００９】
複数の部品を含む帳票を出力する情報処理装置であって、設定情報を取得する設定情報取得手段と、前記設定情報取得手段により取得された設定情報に基づいて、前記帳票を出力する用紙に係るサイズを取得する用紙サイズ取得手段と、前記設定情報取得手段により取得された設定情報に基づいて、前記帳票に配置する部品の識別情報を取得する部品識別情報取得手段と、前記部品識別情報取得手段により取得された部品の識別情報に基づいて、当該部品に係るサイズを取得する部品サイズ取得手段と、前記部品識別情報取得手段により取得された部品の識別情報に基づいて、当該部品の出力に用いる情報を取得する部品出力情報取得手段と、前記部品識別情報取得手段により取得された部品の識別情報に係る順序に基づいて、前記部品出力情報取得手段により取得された当該部品の出力に用いる情報を用いて、当該部品を前記用紙に配置する部品配置手段と、前記部品配置手段により前記用紙に前記複数の部品が配置された帳票を出力する帳票出力手段とを備えることを特徴とする情報処理装置。
【発明の効果】
【００１０】
本発明によれば、設定情報に基づき、複数の部品を動的に配置した帳票を容易に出力する仕組みを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の帳票システム１００の構成の一例を示す図
【図２】情報処理装置１０１のハードウエア構成の一例を示す図
【図３】情報処理装置１０１の機能構成の一例を示すブロック図
【図４】帳票システム１００が帳票を出力する流れの概要の一例を示す図
【図５】情報処理装置１０１における帳票生成処理の一例を示すフローチャート
【図６】情報処理装置１０１における部分フォーム配置処理の一例を示すフローチャート
【図７】編集前フィールドデータファイルの一例を示す図
【図８】ベースフォーム及び部品フォームの一例を示す図
【図９】ベースフォームによる用紙作成の一例を示す図
【図１０】ヘッダ／フッタフォーム配置の一例を示す図
【図１１】部品フォーム配置の一例を示す図
【図１２】部品フォーム配置（余白指定）の一例を示す図
【図１３】部品フォーム配置（改ページしない）の一例を示す図
【図１４】部品フォーム配置（改ページする）の一例を示す図
【図１５】部品フォーム配置（改ページ指定）の一例を示す図
【図１６】編集後フィールドデータファイルの一例を示す図
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１３】
図１は、本発明の帳票システム１００の構成の一例を示す図である。
【００１４】
図１に示すように、帳票システム１００は、情報処理装置１０１およびアプリケーションサーバ１０２が、ネットワーク１０４により通信可能に接続された構成をとる。情報処理装置１０１は、サーバ、デスクトップＰＣ、携帯電話、スマートフォン、タブレット端末、ノートＰＣ、およびＰＤＡ端末などの情報処理装置であって、帳票生成ツールがインストールされており、当該帳票生成ツールを用いて帳票を生成する。情報処理装置１０１は、ネットワーク１０４を介して、アプリケーションサーバ１０２及びデータベース１０３と通信可能である。
【００１５】
なお、本実施形態においては、情報処理装置１０１と通信可能に接続されたサーバをアプリケーションサーバ１０２としたが、これに限定するものではなく、情報処理装置１０１に対して帳票生成要求する装置であれば、非同期サーバやバッチサーバ等であってもよい。
【００１６】
以下、図２を用いて、図１に示した情報処理装置１０１のハードウエア構成の一例を示す図について説明する。
【００１７】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な各種プログラム等が記憶されている。
【００１８】
２０２はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０３あるいは外部メモリ２１１からＲＡＭ２０２にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００１９】
また、２０５は入力コントローラで、入力装置２０９等からの入力を制御する。２０６はビデオコントローラで、液晶ディスプレイ等のディスプレイ装置２１０への表示を制御する。なお、ディスプレイ装置は、液晶ディスプレイに限られず、ＣＲＴディスプレイなどであっても良い。これらは必要に応じてクライアントが使用するものである。
【００２０】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２１】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク１０４を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２２】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２３】
ハードウエア上で動作する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００２４】
なお、全ての装置がこれらの構成を備えているわけではなく、必要なものを夫々備えていればよい。
【００２５】
図３は、情報処理装置１０１の機能構成の一例を示すブロック図である。
【００２６】
設定情報を取得する設定情報取得部３０１は、機能部である。
【００２７】
用紙サイズ取得部３０２は、設定情報取得部３０１により取得された設定情報に基づいて、帳票を出力する用紙に係るサイズを取得する機能部である。
【００２８】
部品識別情報取得部３０３は、設定情報取得部３０１により取得された設定情報に基づいて、帳票に配置する部品の識別情報を取得する機能部である。
【００２９】
部品サイズ取得部３０４は、部品識別情報取得部３０３により取得された部品の識別情報に基づいて、当該部品に係るサイズを取得する機能部である。
【００３０】
部品出力情報取得部３０５は、部品識別情報取得部３０３により取得された部品の識別情報に基づいて、当該部品の出力に用いる情報を取得する機能部である。
【００３１】
部品配置部３０６は、部品識別情報取得部３０３により取得された部品の識別情報に係る順序に基づいて、部品出力情報取得部３０５により取得された当該部品の出力に用いる情報を用いて、当該部品を用紙に配置する機能部である。
【００３２】
帳票出力部３０７は、部品配置部３０６により用紙に複数の部品が配置された帳票を出力する機能部である。
【００３３】
第２設定情報生成部３０８は、部品配置部３０６により用紙に複数の部品が配置された帳票を出力するための第２設定情報を生成する機能部である。
を更に備え、
帳票出力部３０７は、第２設定情報生成部３０８により生成された第２設定情報に基づき、用紙に複数の部品が配置された帳票を出力する機能部である。
【００３４】
用紙サイズ取得部３０２による用紙に係るサイズの取得、部品識別情報取得部３０３による部品の識別情報の取得、部品サイズ取得部３０４による部品に係るサイズの取得、部品出力情報取得部３０５による部品の出力に用いる情報の取得、部品配置部３０６による部品の用紙への配置及び帳票出力部３０７による帳票の出力、のうち少なくとも１つはコメントに基づいて行う機能部である。
【００３５】
部品配置部３０６は、用紙サイズ取得部３０２により取得された用紙に係るサイズ及び部品サイズ取得部３０４により取得された部品に係るサイズに基づいて、当該部品が当該用紙に配置できないと判定した場合は当該用紙の次ページに当該部品を配置する機能部である。
【００３６】
部品配置部３０６は、設定情報取得部３０１により取得された設定情報に改ページの指定があると判定した場合は、当該用紙の次ページに当該部品を配置する機能部である。
【００３７】
部品配置部３０６は、設定情報取得部３０１により取得された設定情報の余白の指定があると判定した場合は、当該指定に基づく余白を空けて当該部品を配置する機能部である。
【００３８】
部品配置部３０６は、設定情報取得部３０１により取得された設定情報にヘッダ及び／又はフッタの指定があると判定した場合は、当該指定に基づいて、用紙にヘッダ及び／又はフッタを配置する機能部である。
【００３９】
図４は、帳票システム１００が帳票を出力する流れの概要の一例を示す図である。
【００４０】
４０１において、アプリケーションサーバ１０２のＣＰＵ２０１は、フィールドデータファイル（図７）及びパラメータ群（帳票タイプ、フォームファイル名等）を情報処理装置１０１に対してＲＥＳＴ  ＡＰＩ等により送信し、帳票の生成を要求する。なお、本実施形態においては、帳票生成の要求はＲＥＳＴ形式で行うとしたが、これに限定するものではなく、ＨＴＴＰ等その他の通信方式による要求、バッチによる実行要求、ユーザが行う帳票生成指示等であってもよい。
【００４１】
４０２において、情報処理装置１０１のＣＰＵ２０１は、フィールドデータファイル、パラメータ群及び帳票生成要求を受信し、フォームサイズ取得部を用いてフィールドデータファイル内に指定されたフォーム（ベースフォーム及び部品フォーム）のサイズ情報を取得し、取得したサイズ情報及び動的帳票生成部を用いてフィールドデータファイルの記述を帳票生成部が理解できる形式に編集する（つまり、フィールドデータファイルの記述を書き換える）。
【００４２】
４０３において、情報処理装置１０１のＣＰＵ２０１は、帳票生成部は４０２にて編集されたフィールドデータファイルに基づき、フォーム管理部を用いて部品フォームファイルから部品フォームを取得し、取得した部品フォームを用紙に配置して、帳票ファイルを生成する。４０２及び４０３の処理については、図５及び図６にて詳細を説明する。
【００４３】
４０４において、情報処理装置１０１のＣＰＵ２０１は、共有ディレクトリアクセス部を介して、４０３にて生成した帳票ファイルをデータベース１０３に保存する。
【００４４】
４０５において、情報処理装置１０１のＣＰＵ２０１は、データベース１０３から戻り値として、保存した帳票ファイルを一意に識別する「スプールＩＤ」を受信する。
【００４５】
４０６において、情報処理装置１０１のＣＰＵ２０１は、アプリケーションサーバ１０２に対して「スプールＩＤ」を送信する。アプリケーションサーバ１０２は、受信した「スプールＩＤ」を用いてデータベース１０３から帳票ファイルを取得し、帳票を要求したクライアント端末に対して帳票ファイルを送信する。
【００４６】
なお、本実施形態においては、アプリケーションサーバ１０２が「スプールＩＤ」を用いてデータベース１０３から帳票ファイルを取得するとしたが、この方法に限定するものではなく、情報処理装置１０１が「スプールＩＤ」を用いてデータベース１０３から帳票ファイルを取得し、帳票を印刷したり、アプリケーションサーバ１０２に帳票ファイルを送信したりするとしてもよい。
【００４７】
また、「スプールＩＤ」を受信したアプリケーションサーバ１０２が帳票を要求したクライアント端末に対して「スプールＩＤ」を送信し、クライアント端末が「スプールＩＤ」を用いてデータベース１０３から帳票ファイルを取得する方法であってもよい。
【００４８】
以上で、図４の説明を終了する。
【００４９】
図５は、情報処理装置１０１における帳票出力処理の一例を示すフローチャートの一例を示す図である。
【００５０】
ステップＳ５０１において、情報処理装置１０１のＣＰＵ２０１は、帳票生成指示を受け付ける。指示の受け付けは、図４の４０１の説明で記したように、アプリケーションサーバ１０２等からの信号受信、ユーザからの指示受付等により帳票生成指示を受け付ける。
【００５１】
ステップＳ５０２において、情報処理装置１０１のＣＰＵ２０１は、編集前フィールドデータファイル７００（図７）を取得する。すなわち、ステップＳ５０２は、設定情報を取得する処理の一例を示すステップである。編集前フィールドデータファイル７００は、図４の４０２の説明で記したように、アプリケーションサーバ１０２等からの帳票生成指示やユーザからの指示等と共に受信したり、情報処理装置１０１が記憶装置に記憶されている編集前フィールドデータファイル７００を取得したりしてもよい。
【００５２】
ステップＳ５０３において、情報処理装置１０１のＣＰＵ２０１は、編集前フィールドデータファイル７００の行数だけ、ステップＳ５０４〜ステップＳ５１１を繰り返す
ステップＳ５０４において、情報処理装置１０１のＣＰＵ２０１は、フィールドデータを上から１行取得する。以下、この取得した１行をコマンドと呼ぶ。すなわち、ステップＳ５０４は、取得された設定情報に基づいて、帳票に配置する部品の識別情報を取得する処理の一例を示すステップである。
【００５３】
ステップＳ５０５において、情報処理装置１０１のＣＰＵ２０１は、ステップＳ５０４にて取得したコマンドが動的帳票コマンドか否かを判定し、動的帳票コマンドの場合はステップＳ５０６に進み、動的帳票コマンドでない場合はステップＳ５１２に進む。動的帳票コマンドとは、先頭が“；＠”で始まるコマンドである。
【００５４】
なお、この帳票生成ツールは、先頭が“；”で始まるコマンドはコメント文とみなし、当該処理を行わない仕様であるが、今回の発明により、先頭が“；＠”で始まるコマンドは動的帳票コマンドとして捉え、ステップＳ５０６〜ステップＳ５１１の処理により帳票生成ツールが処理できるコマンドに書き換えて、編集後フィールドデータファイル１６００（図１６）を生成し、帳票生成ツールは編集後フィールドデータファイル１６００に基づき、帳票を生成する。
【００５５】
すなわち、ステップＳ５０５は、用紙に係るサイズの取得、部品の識別情報の取得、部品に係るサイズの取得、部品の出力に用いる情報の取得、部品の用紙への配置及び帳票の出力、のうち少なくとも１つはコメントに基づいて行う処理の一例を示すステップである。
【００５６】
これにより、部品を用紙に配置する場合、配置する座標を指定しなければならず、複数の部品を順番に配置しつつ、用紙の残りスペースを考慮して改頁する等、動的に部品を配置することができない帳票生成ツールであっても、設定情報に基づき、複数の部品を動的に配置した帳票を容易に出力することができるようになる。
【００５７】
なお、コメント文を動的帳票コマンドとして用いることにより、フィールドデータファイルのフォーマットは変わらないため、これまでフィールドデータファイルの生成に用いていたツールやプログラムをこの発明においても使い続けることができる。また、帳票生成ツールはこれまでと変わらないフォーマットのフィールドデータファイルを処理すればよいため、帳票生成ツールに何ら変更を加える必要はなく、編集前フィールドデータファイル７００を編集後フィールドデータファイル１６００に変換するだけで本発明の目的は果たせるため、システム全体に及ぼす本発明による影響を極小化することができる。
【００５８】
なお、動的帳票コマンドでないコマンド（例：図７の７０３、７０５、７０７、７０９〜７１１）は、例えば、部品フォームの変数にあてはめて表示する文字列等を表したコマンドであり、帳票生成ツールが処理できるコマンドであるため編集しない。つまり、図１６の１６０６〜１６１１のように編集後フィールドデータファイル１６００にそのまま出力する。
【００５９】
なお、本実施形態においては、先頭が“；”で始まるコマンドをコメント文、先頭が“；＠”で始まるコマンドを動的帳票コマンドとしたが、これに限定するものではなく、その他の表現方法であってもよい。また、本実施形態においては、取得した編集前フィールドデータ７００（図７）内に、帳票生成ツールが処理できるコマンドとそのままでは処理できない動的帳票コマンドを混在させたが、この方法に限定するものではなく、処理できるコマンドと処理できない動的帳票コマンドとを別のファイルに分離し、関連付けて処理する方法であってもよい。ただし、図７のように１つのフィールドデータ内に混在させた方が上から順番に処理できるため、容易に処理することができる。
【００６０】
なお、本実施形態においては、編集前フィールドデータファイル７００を編集して編集後フィールドデータファイル１６００を生成するとしたが、この方法に限定するものではなく、編集後フィールドデータファイル１６００を生成せずに編集後フィールドデータを帳票生成ツールに直接処理するとしてもよい。また、編集後フィールドデータをデータベース１０３等に記憶させ、帳票生成ツールがその編集後フィールドデータを取得し処理する等、その他の方法であってもよい。
【００６１】
ステップＳ５０６において、情報処理装置１０１のＣＰＵ２０１は、ステップＳ５０４にて取得したコマンド（動的帳票コマンド）を判定し、“ＩＮＩＴ（初期化コマンド）”の場合はステップＳ５０７に進み、“ＨＥＡＤＥＲ（ヘッダ用部品フォーム）”及び“ＦＯＯＴＥＲ（フッタ用部品フォーム）”の場合はステップＳ５０９に進み、“ＶＡＲＦＯＲＭ（部品フォーム）”の場合はステップＳ５１１に進む。
【００６２】
ステップＳ５０７において、情報処理装置１０１のＣＰＵ２０１は、ＩＮＩＴコマンド（例：図７の７０１）に記述されているベースフォームのファイル名（例：ｂａｓｅ．ｆｒｍ）を取得し、当該ファイル名が示すベースフォーム定義を取得する。すなわち、ステップＳ５０７は、取得された設定情報に基づいて、帳票を出力する用紙に係るサイズを取得する処理の一例を示すステップである。また、ステップＳ５０７は、取得された設定情報にて指定された用紙を用いる処理の一例を示すステップである。
【００６３】
ここでは、Ａ４サイズの用紙に所定の余白が設けられたベースフォーム８１０（図８）の定義を取得したとする（図９）。また、ベースフォームのファイル名と関連付けられたサイズ定義ファイル９０２（例：ｂａｓｅ．ｘｍｌ）を参照することにより、用紙のサイズ（例：２１０ｘ２９７ｍｍ）を取得する（図９の９０２）。これにより、用紙の高さ（例：２９７ｍｍ）及び高さからマージン（上：１０ｍｍ、左：１０ｍｍ、右：１０ｍｍ、下：２０ｍｍ）を引くことにより、帳票部品を配置可能なサイズ（例：１９０ｘ２６７ｍｍ）を取得する。
【００６４】
ステップＳ５０８において、情報処理装置１０１のＣＰＵ２０１は、用紙を指定すべく編集前フィールドデータ７００を編集する。具体的には、図１６の１６０１のように帳票生成ツールが処理できる形式に書き換える。
【００６５】
ステップＳ５０９において、情報処理装置１０１のＣＰＵ２０１は、ＨＥＡＤＥＲ又はＦＯＯＴＥＲコマンド（例：図７の７０２、７０４）に記述されているヘッダ又はフッタ用部品フォームのファイル名（例：ｈｅａｄｅｒ．ｆｒｍ、ｆｏｏｔｅｒ．ｆｒｍ）を取得し、当該ファイル名が示すヘッダ又はフッタ用部品フォームの定義を取得する。ここでは、図１０のようなヘッダ用部品フォーム１０１１又はフッタ用部品フォーム１０２１の定義を取得したとする。また、ヘッダ又はフッタ用部品フォームのファイル名と関連付けられたサイズ定義ファイル１０１２、１０２２（例：ｈｅａｄｅｒ．ｘｍｌ、ｆｏｏｔｅｒ．ｘｍｌ）を参照することにより、ヘッダ又はフッタのサイズ（例：高さ１０ｍｍ）を取得する。
【００６６】
ステップＳ５１０において、情報処理装置１０１のＣＰＵ２０１は、ヘッダ及びフッタを配置すべく編集前フィールドデータ７００を編集する。すなわち、ステップＳ５１０は、取得された設定情報にヘッダ及び／又はフッタの指定があると判定した場合は、当該指定に基づいて、用紙にヘッダ及び／又はフッタを配置する処理の一例を示すステップである。
【００６７】
具体的には、ステップＳ５０７にて取得した用紙の定義及びステップＳ５０９にて取得したヘッダ又はフッタ用部品フォームの定義に基づき、ヘッダ用部品フォームを配置する座標（例：ｘ＝１０、ｙ＝１０）及びフッタ用部品フォームを配置する座標（例：ｘ＝１０、ｙ＝２６７）を算出する。算出した座標を用いて、図１６の１６０２及び１６０５のように帳票生成ツールが処理できる形式に書き換える。
【００６８】
ステップＳ５１１において、情報処理装置１０１のＣＰＵ２０１は、部分フォームを配置する（図６）。
【００６９】
ここで、図６の部品フォーム配置処理について説明する。
【００７０】
ステップＳ６０１において、情報処理装置１０１のＣＰＵ２０１は、ＶＡＲＦＯＲＭコマンド（例：図７の７０６、７０８）に記述されている部品フォームのファイル名（例：ｐａｒｔｓ１．ｆｒｍ、ｐａｒｔｓ２．ｆｒｍ）を取得し、当該ファイル名が示す部品フォームの定義を取得する。すなわち、ステップＳ６０１は、取得された部品の識別情報に基づいて、当該部品の出力に用いる情報を取得する処理の一例を示すステップである。ここでは、部品フォーム１１０１（図１１）、部品フォーム１２０１（図１２）の定義が取得できたとする。
【００７１】
ステップＳ６０２において、情報処理装置１０１のＣＰＵ２０１は、余白を配置する。すなわち、ステップＳ６０２は、取得された設定情報の余白の指定があると判定した場合は、当該指定に基づく余白を空けて当該部品を配置する処理の一例を示すステップである。具体的には、図７の７０６、７０８のように部品フォームのファイル名の後にある数字分の余白を用紙に配置する。図７の７０６の場合は、余白＝０であるため、余白を配置しない。図７の７０８の場合は、余白＝８であるため、８ｍｍの余白を配置する（図１２の１２０３）。なお、本実施形態においては、余白の指定は部品フォームのファイル名の後としたが、この方法に限定するものではなく、部品フォームのファイル名の前であっても、その他の指定方法であってもよい。
【００７２】
ステップＳ６０３において、情報処理装置１０１のＣＰＵ２０１は、改ページの指定の有無を判定し、有る場合はステップＳ６０８に進み、無い場合はステップＳ６０４に進む。具体的には、図７の７０６、７０８のように部品フォームの余白指定の後にあるｔｒｕｅ（図１５）／ｆａｌｓｅ（図１１〜１４）で改ページ指定の有／無を判定する。
【００７３】
ステップＳ６０４において、情報処理装置１０１のＣＰＵ２０１は、部品フォームサイズを取得する。具体的には、部品フォームのファイル名（例：ｐａｒｔｓ１．ｆｒｍ、ｐａｒｔｓ２．ｆｒｍ）と関連付けられたサイズ定義ファイル（例：ｐａｒｔｓ１．ｘｍｌ、ｐａｒｔｓ２．ｘｍｌ）を参照することにより、部品フォームのサイズを取得する（図１１の１１０２、図１２の１２０２）。これにより、部品フォームの高さ（例：、２０ｍｍ、７０ｍｍ）を取得する。
【００７４】
なお、本実施形態においては、部品フォームのファイル名の拡張子をＸＭＬとすることでサイズ定義ファイルを取得するとしたが、この方法に限定するものではなく、例えば、部品フォーム内に部品フォームのサイズも記憶しておく、データベース１０３にて部品フォームのファイル名と対応付けてサイズを記憶しておく等、部品フォームのサイズが取得できる方法であれば、その他の方法であってもよい。
【００７５】
ステップＳ６０５において、情報処理装置１０１のＣＰＵ２０１は、ページの空きサイズを取得する。具体的には、帳票部品を配置可能なサイズ（例：１９０ｘ２６７ｍｍ）から、改ページすることなく配置した部品フォーム（ヘッダフォーム＋部品フォーム＋フッタフォーム）の高さを引くことでページの空きサイズを取得する。
【００７６】
ステップＳ６０６において、情報処理装置１０１のＣＰＵ２０１は、ステップＳ６０５にて取得したページの空きサイズとステップＳ６０４にて取得した部品フォームのサイズを比較し、空きサイズに部品サイズが収まる場合（図１３）はステップＳ６０７に進み、収まらない場合（図１４）はステップＳ６０８に進む。すなわち、ステップＳ６０６は、取得された用紙に係るサイズ及び取得された部品に係るサイズに基づいて、当該部品が当該用紙に配置できないと判定した場合は当該用紙の次ページに当該部品を配置する処理の一例を示すステップである。
【００７７】
なお、本実施形態においては、空きサイズに部品サイズが収まるか否かを高さのみで判定したが、この方法に限定するものではなく、高さだけでなく幅も用いて判定するとしてもよい。また、部品フォーム自体が空きサイズに合わせて変形できる場合は、高さ及び幅による判定でなく、面積や文字数などによって判定してもよい。また、部品フォームを拡大縮小することができる場合は、空きサイズに基づいて拡大縮小し、空きサイズに収まるように調整するとしてもよい。
【００７８】
ステップＳ６０７において、情報処理装置１０１のＣＰＵ２０１は、部品フォームを配置すべく編集前フィールドデータ７００を編集する。すなわち、ステップＳ６０７は、取得された部品の識別情報に係る順序に基づいて、取得された当該部品の出力に用いる情報を用いて、当該部品を用紙に配置する処理の一例を示すステップである。
【００７９】
具体的には、図１６の１６０３及び１６０４のように帳票生成ツールが処理できる形式に書き換える。なお、部品フォームを配置する座標（ｘ、ｙ）＝（用紙の左マージン、用紙の上マージン＋ヘッダの高さ＋改ページすることなく配置した部品フォームの高さの累計）のようにして求める。これにより、設定情報に基づき、複数の部品を動的に配置した帳票を容易に出力することができるようになる。
【００８０】
ステップＳ６０８において、情報処理装置１０１のＣＰＵ２０１は、ステップＳ５０７にて取得したベースフォーム８１０に基づき、次のページを作成すべく、編集前フィールドデータ７００を編集する（不図示）。すなわち、ステップＳ６０３で「有」と判定した後のステップＳ６０８は、取得された設定情報に改ページの指定があると判定した場合は、当該用紙の次ページに当該部品を配置する処理の一例を示すステップである。
【００８１】
ステップＳ６０９において、情報処理装置１０１のＣＰＵ２０１は、ステップＳ５１０と同様にヘッダ及びフッタを配置すべく編集前フィールドデータ７００を編集する。
【００８２】
以上で、図６の説明を終了する。
【００８３】
図５の説明に戻る。
【００８４】
ステップＳ５１２において、情報処理装置１０１のＣＰＵ２０１は、ステップＳ５０６〜ステップＳ５１１の処理により編集した結果である、編集後フィールドデータ１６００を編集後フィールドデータファイルとして出力する。すなわち、ステップＳ５１２は、用紙に複数の部品が配置された帳票を出力するための第２設定情報を生成する処理の一例を示すステップである。
【００８５】
ステップＳ５１３において、情報処理装置１０１のＣＰＵ２０１は、帳票生成ツールを用いて、編集後フィールドデータファイルを読み取り、帳票を生成する。
生成した帳票は、図４の４０６の説明で記したように、データベース１０３に保存したり、帳票の生成を要求したアプリケーションサーバ１０２又はクライアント端末等に送信したり、印刷したりする。すなわち、ステップＳ５１３は、用紙に複数の部品が配置された帳票を出力する処理の一例を示すステップである。また、ステップＳ５１３は、生成された第２設定情報に基づき、用紙に複数の部品が配置された帳票を出力する処理の一例を示すステップである。
【００８６】
以上で、図５の説明を終了する。
【００８７】
以上により、複数の部品を配置した帳票を容易に出力するためには、設定情報をどのような構成にすればよいかがわからないという課題を解決することができる。よって、設定情報に基づき、複数の部品を動的に配置した帳票を容易に出力する仕組みを提供することができる。
【００８８】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００８９】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００９０】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００９１】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９３】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００９４】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【００９５】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００９６】
１００  帳票システム
１０１  情報処理装置
１０２  アプリケーションサーバ
１０３  データベース
１０４  ネットワーク
【図１】
2019097072.tif 000003
【図２】
2019097072.tif 000004
【図３】
2019097072.tif 000005
【図４】
2019097072.tif 000006
【図５】
2019097072.tif 000007
【図６】
2019097072.tif 000008
【図７】
2019097072.tif 000009
【図８】
2019097072.tif 000010
【図９】
2019097072.tif 000011
【図１０】
2019097072.tif 000012
【図１１】
2019097072.tif 000013
【図１２】
2019097072.tif 000014
【図１３】
2019097072.tif 000015
【図１４】
2019097072.tif 000016
【図１５】
2019097072.tif 000017
【図１６】
2019097072.tif 000018