(57)【要約】【課題】  帳票作成プログラムの構造の設計を行うことなく、プログラム仕様書を帳票種別ごとに表形式で定義することで帳票作成プログラムを生成する。【解決手段】  帳票種別ごとに帳票の出力内容を定義する帳票プログラム仕様１０と、帳票種別ごとの出力処理とその実行順序を規定するプログラム構造を備えた生成ソース雛形記憶手段３１と、帳票プログラム仕様を読み取る帳票プログラム仕様読取手段２１と、帳票プログラム仕様読取装置により読み取られた帳票プログラム仕様の解析を行う帳票プログラム仕様解析手段２２と、帳票プログラム仕様解析装置による解析の結果と生成ソース雛形を用いて、帳票種別ごとの出力内容を出力させる出力処理を、当該生成ソース雛形における所定の実行位置に埋め込んで、帳票用プログラムソースファイル４０を生成するソース構築手段２３とを有する帳票作成プログラム生成装置。【選択図】      図１
2005196589.tif 000002
【特許請求の範囲】
【請求項１】
表形式のプログラム仕様にもとづき帳票を作成するプログラムソースファイルを生成する帳票作成プログラム生成装置であって、
帳票種別ごとに帳票の出力内容を定義する帳票プログラム仕様と、
前記帳票種別ごとの出力処理とその実行順序を規定するプログラム構造を備えた生成ソース雛形記憶手段と、
前記帳票プログラム仕様を読み取る帳票プログラム仕様読取手段と、
前記帳票プログラム仕様読取装置により読み取られた前記帳票プログラム仕様の解析を行う帳票プログラム仕様解析手段と、
前記帳票プログラム仕様解析装置による前記解析の結果と前記生成ソース雛形を用いて、前記帳票種別ごとの出力内容を出力させる出力処理を、当該生成ソース雛形における所定の実行位置に埋め込んで、帳票用プログラムソースファイルを生成するソース構築手段と、を有する
ことを特徴とする帳票作成プログラム生成装置。
【請求項２】
請求項１記載の帳票作成プログラム生成装置が、
前記帳票種別ごとのレイアウト情報を保有する帳票レイアウト情報記憶手段を有し、
前記ソース構築手段が、前記帳票用プログラムソースファイルを生成するにあたり、前記帳票レイアウト情報記憶手段から前記帳票種別ごとのレイアウト情報を取得して、前記帳票種別ごとの出力内容を、対応する前記レイアウト情報にもとづくレイアウトで出力させる出力処理を、前記生成ソース雛形における所定の実行位置に埋め込む
ことを特徴とする帳票作成プログラム生成装置。
【請求項３】
前記生成ソース雛形が、
前記帳票プログラム仕様がブレークキー項目と入力項目を保有し、前記帳票プログラム仕様における前記ブレークキー項目に、ブレークキー情報が保有されている場合であって、帳票レコードにおける前記入力項目に対応する情報であって前記ブレークキー情報に対応するものが、直前の帳票レコードにおける当該入力項目の情報と異なる場合に、所定の処理を実行するブレーク処理と、その実行順序を規定する前記プログラム構造を保有する
ことを特徴とする請求項１又は２記載の帳票作成プログラム生成装置。
【請求項４】
前記生成ソース雛形が、
前記帳票プログラム仕様が読み込み順序項目と入力項目を保有し、前記帳票プログラム仕様における前記読み込み順序項目に、読み込み順序情報が保有されている場合に、前記読み込み順序情報に対応する前記入力項目の情報をキーとして、前記読み込み順序情報にもとづき帳票レコードをソートするソート処理と、その実行順序を規定する前記プログラム構造を保有する
ことを特徴とする請求項１〜３のいずれかに記載の帳票作成プログラム生成装置。
【請求項５】
前記生成ソース雛形が、
前記帳票プログラム仕様が出力条件項目，条件式項目，出力項目，計算式項目を保有し、前記帳票プログラム仕様における前記出力条件項目，前記条件式項目，前記出力項目，前記計算式項目に、それぞれ出力条件情報，条件式情報，出力情報，計算式情報が保有されている場合に、前記出力条件情報，前記条件式情報，前記出力情報，前記計算式情報にもとづいて、帳票レコードについての出力内容を調整する調整処理と、その実行順序を規定する前記プログラム構造を保有する
ことを特徴とする請求項１〜４のいずれかに記載の帳票作成プログラム生成装置。
【請求項６】
帳票種別ごとに帳票の出力内容を表形式で定義する帳票プログラム仕様と、前記帳票種別ごとの出力処理とその実行順序を規定するプログラム構造を備えた生成ソース雛形記憶手段とを有する帳票作成プログラム生成装置を用いて帳票を作成するプログラムソースファイルを生成する帳票作成プログラム生成方法であって、
前記帳票作成プログラム生成装置が、
前記帳票プログラム仕様を読み取って解析し、
この解析の結果と前記生成ソース雛形を用いて、前記帳票種別ごとの出力内容を出力させる出力処理を、当該生成ソース雛形における所定の実行位置に埋め込んで、帳票用プログラムソースファイルを生成する
ことを特徴とする帳票作成プログラム生成方法。
【請求項７】
帳票種別ごとに帳票の出力内容を表形式で定義する帳票プログラム仕様と、前記帳票種別ごとの出力処理とその実行順序を規定するプログラム構造を備えた生成ソース雛形記憶手段とを有する帳票作成プログラム生成装置に帳票を作成するプログラムソースファイルを生成させる帳票作成プログラム生成プログラムであって、
前記帳票作成プログラム生成装置に、
前記帳票プログラム仕様を読み取らせて解析させ、
この解析の結果と前記生成ソース雛形を用いて、前記帳票種別ごとの出力内容を出力させる出力処理を、当該生成ソース雛形における所定の実行位置に埋め込ませて、帳票用プログラムソースファイルを生成させる
ことを実行させるための帳票作成プログラム生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表形式のプログラム仕様にもとづき帳票を作成するプログラムソースファイルを生成する帳票作成プログラム生成装置、帳票作成プログラム生成方法、及び帳票作成プログラム生成プログラムに関する。
【背景技術】
【０００２】
従来、プログラムの自動生成技術において、表形式の仕様書などにもとづいて、ソースプログラムを自動生成するものが知られている。
例えば、特許文献１には、機能仕様で定義記述した表をそのまま使用し、表のまま入力された機能仕様に基づいて、プログラムソースを出力するプログラム自動生成支援システム等が記載されている。
また、特許文献２には、表形式のプログラム仕様書から複雑な制御構造のソースプログラムを生成することができるソースプログラム生成システムが記載されている。
さらに、特許文献３には、表形式の仕様書にもとづくものではないが、基本ソフトウェアテンプレート内に格納された一又は二以上の部品モジュールの設定内容にもとづいて、伝票印刷処理に関するソフトウェアプログラムを自動作成することのできる伝票印刷プログラムの自動作成装置が記載されている。
【０００３】
【特許文献１】特開平１１−２１２７７９号公報
【特許文献２】特開２００３−２０８３０７号公報
【特許文献３】特開２０００−２６７８４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１及び特許文献２に記載の従来技術では、表形式の仕様書とプログラム構造の関連が示されていないため、プログラム構造自体を表形式の仕様書に書かざるを得ないか、あるいはごく単純なプログラム構造しか生成することができないものであった。
また、特許文献３に記載の従来技術では、基本ソフトウェアテンプレートと、生成すべきプログラム構造との関連、及び伝票のヘッダ部・明細部・フッタ部との関連が明らかにされていないものであった。また、伝票印刷プログラムを自動生成するためには、使用する部品モジュールの設定画面を表示し、部品モジュールごとにその設定を行わねばならないものであった。
このため、これらの従来の技術は、特に帳票作成プログラムのように、ヘッダ部・明細部・フッタ部などの帳票要素に応じた処理を行うプログラムを自動生産するのに適するものではなく、帳票用プログラム生成の生産性、保守性、及びその品質を向上するものではないという問題があった。
【０００５】
本発明は、上記の事情にかんがみなされたものであり、予め基本ソフトウェアテンプレートと生成すべきプログラム構造の関連を、帳票要素にもとづき明確に定義し、帳票要素毎に出力情報を有する表形式のプログラム仕様にもとづき帳票を作成するプログラムソースファイルを生成することにより、帳票用プログラム生成の生産性、保守性、及びその品質を向上することの可能な帳票作成プログラム生成装置、帳票作成プログラム生成方法、及び帳票作成プログラム生成プログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の帳票作成プログラム生成装置は、表形式のプログラム仕様にもとづき帳票を作成するプログラムソースファイルを生成する帳票作成プログラム生成装置であって、帳票種別ごとに帳票の出力内容を定義する帳票プログラム仕様と、帳票種別ごとの出力処理とその実行順序を規定するプログラム構造を備えた生成ソース雛形記憶手段と、帳票プログラム仕様を読み取る帳票プログラム仕様読取手段と、帳票プログラム仕様読取装置により読み取られた帳票プログラム仕様の解析を行う帳票プログラム仕様解析手段と、帳票プログラム仕様解析装置による解析の結果と生成ソース雛形を用いて、帳票種別ごとの出力内容を出力させる出力処理を、当該生成ソース雛形における所定の実行位置に埋め込んで、帳票用プログラムソースファイルを生成するソース構築手段と、を有する構成としてある。
【０００７】
帳票作成プログラム生成装置をこのような構成にすれば、帳票要素の種別、すなわち帳票のヘッダ部、明細部、フッタ部などの帳票種別に応じて、それぞれの出力処理が、プログラム構造上のどのタイミングで実行されるかを生成ソース雛形として予め組み込むことができるため、帳票作成プログラムの生成にあたり、そのプログラム仕様書を、プログラム構造を意識することなく記述することが可能となる。
このため、帳票用プログラムソースを自らコーディングする必要がないことはもちろん、帳票作成プログラムの構造の設計が不要となり、さらにプログラム仕様書を帳票種別ごとに表形式で定義することで帳票作成プログラムを生成できることから、帳票用プログラム生成の生産性、保守性、及びその品質を向上することも可能となる。
【０００８】
また、本発明の帳票作成プログラム生成装置は、帳票種別ごとのレイアウト情報を保有する帳票レイアウト情報記憶手段を有し、ソース構築手段が、帳票用プログラムソースファイルを生成するにあたり、帳票レイアウト情報記憶手段から帳票種別ごとのレイアウト情報を取得して、帳票種別ごとの出力内容を、対応するレイアウト情報にもとづくレイアウトで出力させる出力処理を、生成ソース雛形における所定の実行位置に埋め込む構成としてある。
【０００９】
帳票作成プログラム生成装置をこのような構成にすれば、帳票種別ごとのレイアウトについては、生成ソース雛形に保有させることなく、別個の帳票レイアウト情報記憶手段に保有させ、この帳票レイアウト情報記憶手段に保有されているレイアウトで各帳票種別の情報を出力可能な帳票作成プログラムを生成することができる。
このため、同一の生成ソース雛形を使用して、出力する帳票種別のレイアウトが異なる種々の帳票作成プログラムを柔軟に生成することが可能となる。
【００１０】
また、本発明の帳票作成プログラム生成装置は、生成ソース雛形が、帳票プログラム仕様がブレークキー項目と入力項目を保有し、帳票プログラム仕様におけるブレークキー項目に、ブレークキー情報が保有されている場合であって、帳票レコードにおける入力項目に対応する情報であってブレークキー情報に対応するものが、直前の帳票レコードにおける当該入力項目の情報と異なる場合に、所定の処理を実行するブレーク処理と、その実行順序を規定するプログラム構造を保有する構成としてある。
【００１１】
帳票作成プログラム生成装置をこのような構成にすれば、表形式の帳票プログラム仕様を用いて、ブレーク処理を容易に定義することができるとともに、帳票作成プログラムにブレーク処理を適切に埋め込むことが可能となる。
このため、帳票作成プログラム生成の生産性を向上させることができ、生成する帳票作成プログラムの品質を高めることも可能となる。
このブレーク処理としては、例えば、ブレークキー情報に対応する入力項目ごとの合計値の出力処理や、フッタを出力し、改頁をした後に、ヘッダを出力する処理などとすることができる。
【００１２】
また、本発明の帳票作成プログラム生成装置は、生成ソース雛形が、帳票プログラム仕様が読み込み順序項目と入力項目を保有し、帳票プログラム仕様における読み込み順序項目に、読み込み順序情報が保有されている場合に、読み込み順序情報に対応する入力項目の情報をキーとして、読み込み順序情報にもとづき帳票レコードをソートするソート処理と、その実行順序を規定するプログラム構造を保有する構成としてある。
【００１３】
帳票作成プログラム生成装置をこのような構成にすれば、表形式の帳票プログラム仕様を用いて、帳票に出力するデータの並びを容易に定義することができるとともに、帳票作成プログラムにそのソート処理を適切に埋め込むことが可能となる。
このため、帳票作成プログラム生成の生産性を向上させることができ、生成する帳票作成プログラムの品質を高めることも可能となる。
なお、「帳票レコード」とは、本発明の帳票作成プログラム生成装置により生成する帳票作成プログラムを実行するにあたって、帳票を出力するための入力情報とする入力レコードを意味している。
【００１４】
また、本発明の帳票作成プログラム生成装置は、生成ソース雛形が、帳票プログラム仕様が出力条件項目，条件式項目，出力項目，計算式項目を保有し、帳票プログラム仕様における出力条件項目，条件式項目，出力項目，計算式項目に、それぞれ出力条件情報，条件式情報，出力情報，計算式情報が保有されている場合に、出力条件情報，条件式情報，出力情報，計算式情報にもとづいて、帳票レコードについての出力内容を調整する調整処理と、その実行順序を規定するプログラム構造を保有する構成としてある。
【００１５】
帳票作成プログラム生成装置をこのような構成にすれば、表形式の帳票プログラム仕様を用いて、出力するページ番号の位置調整など帳票における各種出力内容を調整する処理の定義を容易に行うことができるとともに、このような調整処理のためのプログラムを帳票作成プログラムに適切に埋め込むことが可能となる。
このため、帳票作成プログラム生成の生産性を向上させることができ、生成する帳票作成プログラムの品質を高めることも可能となる。
【００１６】
また、本発明の帳票作成プログラム生成方法は、帳票種別ごとに帳票の出力内容を表形式で定義する帳票プログラム仕様と、帳票種別ごとの出力処理とその実行順序を規定するプログラム構造を備えた生成ソース雛形記憶手段とを有する帳票作成プログラム生成装置を用いて帳票を作成するプログラムソースファイルを生成する帳票作成プログラム生成方法であって、帳票作成プログラム生成装置が、帳票プログラム仕様を読み取って解析し、この解析の結果と生成ソース雛形を用いて、帳票種別ごとの出力内容を出力させる出力処理を、当該生成ソース雛形における所定の実行位置に埋め込んで、帳票用プログラムソースファイルを生成する方法としてある。
【００１７】
帳票作成プログラム生成方法をこのような方法にすれば、帳票作成プログラムの生成にあたり、そのプログラム仕様書を、プログラム構造を意識することなく記述することが可能となり、帳票作成プログラムの構造の設計が不要になるとともに、帳票用プログラムソースを自らコーディングする必要がないことから、帳票用プログラム生成の生産性、保守性、及びその品質を向上することが可能となる。
【００１８】
また、本発明の帳票作成プログラム生成プログラムは、帳票種別ごとに帳票の出力内容を表形式で定義する帳票プログラム仕様と、帳票種別ごとの出力処理とその実行順序を規定するプログラム構造を備えた生成ソース雛形記憶手段とを有する帳票作成プログラム生成装置に帳票を作成するプログラムソースファイルを生成させる帳票作成プログラム生成プログラムであって、帳票作成プログラム生成装置に、帳票プログラム仕様を読み取らせて解析させ、この解析の結果と生成ソース雛形を用いて、帳票種別ごとの出力内容を出力させる出力処理を、当該生成ソース雛形における所定の実行位置に埋め込ませて、帳票用プログラムソースファイルを生成させる構成としてある。
【００１９】
帳票作成プログラム生成プログラムをこのような構成にすれば、帳票作成プログラム生成装置に、帳票種別ごとに出力内容が表形式で定義された帳票プログラム仕様にもとづき帳票作成プログラムを生成させることができ、帳票用プログラム生成の生産性、保守性、及びその品質を向上させることが可能となる。
【発明の効果】
【００２０】
本発明によれば、帳票のヘッダ部、明細部、フッタ部などの帳票種別に応じてプログラム構造上のどのタイミングでそれぞれの出力処理がなされるかを生成ソース雛形として予め組み込むことができるため、帳票作成プログラムの生成にあたり、そのプログラム仕様書を、プログラム構造を意識することなく記述することが可能となる。
すなわち、帳票作成プログラムの構造の設計や、帳票用プログラムソースのコーディングを行う必要がなく、プログラム仕様書を帳票種別ごとに表形式で定義することで帳票作成プログラムを生成できることから、帳票用プログラム生成の生産性、保守性、及びその品質を向上することが可能となる。
【００２１】
また、帳票種別ごとのレイアウトについては、生成ソース雛形に保有させることなく、別個の帳票レイアウト情報記憶手段に保有させ、この帳票レイアウト情報記憶手段に保有されているレイアウトで各帳票種別の情報を出力可能な帳票作成プログラムを生成することができる。
このため、同一の生成ソース雛形を使用して、出力する帳票種別のレイアウトが異なる種々の帳票作成プログラムを柔軟に生成することが可能となる。
【００２２】
さらに、表形式の帳票プログラム仕様を用いて、ブレーク処理や、帳票に出力するデータの並び、各種出力内容の調整処理等を容易に定義することができるとともに、帳票作成プログラムにこれらの処理を適切に埋め込むことが可能となる。
このため、帳票作成プログラム生成の生産性を向上させることができ、生成する帳票作成プログラムの品質を高めることも可能となる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明に係る帳票作成プログラム生成装置の好ましい実施形態について、図面を参照しつつ説明する。
なお、以下の実施形態に示す本発明の帳票作成プログラム生成装置は、プログラムに制御されたコンピュータにより動作するようになっている。プログラムは、コンピュータの各構成要素に指令を送り、帳票作成プログラム生成装置の動作に必要となる所定の処理、例えば、帳票プログラム仕様読取処理、帳票プログラム仕様解析処理、ソース構築処理等を行わせる。このように、本発明の帳票作成プログラム生成装置における各処理，動作は、プログラムとコンピュータとが協働した具体的手段により実現できるものである。
【００２４】
プログラムは予めＲＯＭ，ＲＡＭ等の記録媒体に格納され、コンピュータに実装された記録媒体から当該コンピュータにプログラムを読み込ませて実行されるが、例えば通信回線を介してコンピュータに読み込ませることもできる。
また、プログラムを格納する記録媒体は、例えば半導体メモリ，磁気ディスク，光ディスク、その他任意のコンピュータで読取り可能な任意の記録手段により構成できる。
【００２５】
［第一実施形態］
まず、本発明の第一実施形態の構成について、図１〜図３（図３ａ及び図３ｂ）を参照して説明する。図１は、本実施形態の帳票作成プログラム生成装置の構成を示すブロック図である。図２は、同装置における帳票プログラム仕様を示す図である。図３は、同装置における生成ソース雛形を示す図である。
【００２６】
［帳票作成プログラム生成装置］
図１に示すように、本実施形態の帳票作成プログラム生成装置は、帳票プログラム仕様１０，データ処理装置２０，記憶装置３０，帳票用プログラムソースファイル４０を有している。なお、帳票作成プログラム生成装置は、帳票プログラム仕様１０を読み込む前にあっては、帳票プログラム仕様１０を有しておらず、帳票用プログラムソースファイル４０を作成する前にあっては、帳票用プログラムソースファイル４０を有していないが、いずれの状況におけるものも本発明の帳票作成プログラム生成装置に含まれるものである。
【００２７】
［帳票プログラム仕様１０］
帳票プログラム仕様１０は、帳票作成プログラムの設計情報を有するものであり、帳票種別ごとに帳票の出力内容、例えばその出力に用いる出力処理や出力項目等を定義する。すなわち、この帳票プログラム仕様１０において、帳票種別ごとに生成ソース雛形３１における対応する出力処理等を指定することができることから、この帳票プログラム仕様１０にもとづき自動的に帳票作成プログラムを生成することが可能となっている。
【００２８】
この帳票プログラム仕様１０は、例えば図２に示すようなものとすることができる。帳票プログラム仕様１０の作成方法は、特に限定されるものではないが、例えば表計算ソフトウェアなどを用いて作成することができる。
同図に示すように、この帳票プログラム仕様１０の項目としては、例えば、Ｎｏ．１０ａ−１，読み込み順序１０ａ−２，ブレークキー１０ａ−３，帳票種別１０ａ−４，種別ＩＤ１０ａ−５，出力条件１０ａ−６，条件式１０ａ−７，出力項目１０ａ−８，入力項目１０ａ−９，計算式１０ａ−１０，備考１０ａ−１１等とすることができる。
【００２９】
Ｎｏ．１０ａ−１は、行の連番を示すものである。
読み込み順序１０ａ−２は、入力する帳票レコードを予めソートしてから読み込んで帳票を作成するプログラムを生成する場合に使用する項目である。
すなわち、読み込み順序１０ａ−２は、帳票プログラム仕様１０において対応する入力項目１０ａ−９に保有されている入力項目情報ごとに、ソートキーの優先順位情報として保有され、例えば、優先順位の高い順位に、１，２・・・などの情報として保有される。そして、この優先順位に従い対応する入力項目情報をソートキーとすることにより、その入力項目情報を第１ソートキー，第２ソートキー・・・等として、入力する帳票レコードを並び替えることができる。
また、このとき優先順位情報が、正であれば昇順、負であれば降順などとすることができる。
【００３０】
ブレークキー１０ａ−３は、ブレーク処理を行うかどうかを判定するために使用するキー情報としての入力項目を特定するものである。ブレーク処理とは、入力する帳票レコードにおける所定の入力項目に着目して、その入力項目の値（情報）が直前の帳票レコードと比較して異なる値であるとき行われる固有の処理である。
また、帳票プログラム仕様１０においてブレークキー１０ａ−３の値を複数設定することもでき、この場合は、それぞれに対応する入力項目に着目して、いずれかの入力項目の値が直前の帳票レコードと比較して異なる値である場合に、ブレーク処理が行われる。
本実施形態におけるブレーク処理は、入力項目１０ａ−９の棚名ごとの在庫数の合計、及び本棚名ごとの在庫数の合計を出力するものとしている。
【００３１】
帳票種別１０ａ−４は、帳票要素の機能に応じた種別を示すものである。帳票要素は、大きくヘッダ部、明細部、フッタ部に分けることができる。
ヘッダ部は、レポートヘッダ部、ページヘッダ部、コントロールヘッダ部を有しており、図２においては、それぞれＲＨ，ＰＨ，ＣＨと表示されている。
明細部は、図２において、ＤＥと表示されている。
フッタ部は、コントロールフッタ部、ページフッタ部、レポートフッタ部を有しており、図２においては、それぞれＣＦ，ＰＦ，ＲＦと表示されている。
そして、これらそれぞれに対応する出力処理が生成ソース雛形３１に保有されている。
【００３２】
このように、本実施形態の帳票プログラム仕様１０においては、生成する帳票作成プログラムの帳票要素ごと、すなわち帳票種別１０ａ−４ごとに帳票の出力内容が定義されている。
なお、本実施形態でいう帳票種別１０ａ−４ごととは、必ずしも異なる帳票種別１０ａ−４ごとであることを意味するものではなく、同一の帳票種別１０ａ−４を複数定義する場合についても、それぞれの一の帳票種別１０ａ−４ごとに、帳票の出力内容が定義されることを意味している。
【００３３】
種別ＩＤ１０ａ−５は、同一の帳票種別の出力処理が複数ある場合であって、これらの出力処理を識別する場合に用いられる識別子である。帳票プログラム仕様１０において、異なる出力項目を有していても出力処理が同一である場合は、同一の帳票種別１０ａ−４及び種別ＩＤ１０ａ−５が付されている。すなわち、同一の帳票種別１０ａ−４及び種別ＩＤ１０ａ−５について、出力する項目が複数ある場合には、この同一の帳票種別１０ａ−４及び種別ＩＤ１０ａ−５を有する行が、帳票プログラム仕様１０において複数設けられている。一方、同一の帳票種別１０ａ−４について種別ＩＤ１０ａ−５を複数定義することにより、例えば、明細行を１行毎に変更して出力するようにすることができる。この場合、種別ＩＤ１０ａ−５として、ＤＥ１、ＤＥ２などと定義して、それぞれ交互に出力処理を実行する。
【００３４】
出力条件１０ａ−６は、対応する帳票種別の出力項目における値を出力するかどうかなどの条件を設定するものである。
条件式１０ａ−７は、出力条件１０ａ−６に対応する条件の条件式を保有するものである。
出力項目１０ａ−８は、対応する帳票種別の出力項目の値を保有するものである。図２に示すように、例えば、レポートヘッダ部に対応する出力項目１０ａ−８としては、「レポート表題」，「作成者」、ページヘッダ部に対応する出力項目１０ａ−８としては、「ページタイトル」、コントロールヘッダ部に対応する出力項目１０ａ−８としては、「本棚名」，「棚名」、明細部に対応する出力項目１０ａ−８としては、「明細番号」，「書籍名」，「在庫数」、コントロールフッタ部に対応する出力項目１０ａ−８としては、「棚毎合計」，「本棚毎合計」、ページフッタ部に対応する出力項目１０ａ−８としては、「ページ番号」、レポートフッタ部に対応する出力項目１０ａ−８としては、「後書き」などとすることができる。
【００３５】
入力項目１０ａ−９は、生成される帳票作成プログラムの実行にあたって、その帳票を作成するために読み込まれる帳票レコードから入力される項目を示すものであり、図２においては、「本棚名」，「棚名」，「明細番号」，「書籍名」，「在庫数」が入力項目となっている。
【００３６】
計算式１０ａ−１０は、所定の処理を行った結果を出力する場合などに用いる項目であり、帳票種別ごとに設定される。また、この計算式１０ａ−１０に固定値を設定することもできる。さらに、この計算式１０ａ−１０に、改頁処理などの処理を設定することもできる。
図２の例では、コントロールフッタ部に、棚毎合計を計算するための「ワーク棚計」、本棚毎合計を計算するための「ワーク本棚計」、ページフッタ部に、ページ番号を表示するための「ワークページ」が保有されている。さらに、レポートヘッダ部に、レポート表題として出力するための「書籍在庫（固定値）」、作成者として出力するための「○野△太（固定値）」、ページタイトルとして出力するための「在庫一覧（固定値）」、レポートフッタ部に、後書きとして出力するための「以上（固定値）」が保有されている。
備考１０ａ−１１は、帳票種別ごとの各種説明を保有するものである。
【００３７】
［データ処理装置２０］
データ処理装置２０は、帳票作成プログラム生成装置における各種処理を実行する装置であり、ＣＰＵ及びＲＡＭ等により構成され、プログラム制御により動作するものである。
このデータ処理装置２０は、図１に示すように、帳票プログラム仕様読取装置２１，帳票プログラム仕様解析装置２２，ソース構築装置２３を有している。
【００３８】
［帳票プログラム仕様読取装置２１］
帳票プログラム仕様読取装置２１は、帳票プログラム仕様読取手段であり、帳票プログラム仕様１０を読み込んで、帳票プログラム仕様解析装置２２へ受け渡す装置である。
この帳票プログラム仕様読取装置２１により読み込まれた帳票プログラム仕様１０は、データ処理装置２０におけるＲＡＭ等のメモリ上に展開され、データ処理装置２０における帳票プログラム仕様解析装置２２及びソース構築装置２３によって利用されることになる。
【００３９】
［帳票プログラム仕様解析装置２２］
帳票プログラム仕様解析装置２２は、帳票プログラム仕様読取装置２１から受け取った帳票プログラム仕様１０を解析し、この解析結果をソース構築装置２３に受け渡す装置である。この帳票プログラム仕様解析装置２２は、図２に示すような帳票プログラム仕様１０を上から順に解析する。
【００４０】
［ソース構築装置２３］
ソース構築装置２３は、帳票プログラム仕様解析装置２２から受け取った解析結果と、記憶装置３０から読み込んだ生成ソース雛形３１を用いて、帳票種別１０ａ−４ごとの出力処理を、生成ソース雛形３１の中の該当帳票種別部分に埋め込み、帳票用プログラムソースファイル４０を生成する装置である。
【００４１】
［記憶装置３０］
記憶装置３０は、例えばハードディスクなどの記憶手段であり、生成ソース雛形３１，帳票レイアウト情報３２を有している。
この記憶装置３０は、帳票作成プログラム生成装置における内部記憶装置とするほか、外部記憶装置としてもかまわない。
【００４２】
［生成ソース雛形３１］
生成ソース雛形３１は、帳票作成プログラムを生成するためのプログラム構造を保有する記憶手段であり、各帳票種別１０ａ−４に対応する出力処理等がプログラム構造上、どこで行われるべきかを事前に割り当てたものである。
そして、各帳票種別１０ａ−４に対応する出力処理等の雛形は、この生成ソース雛形３１に保有されている。以下、このような出力処理を出力処理コードと称する場合があり、その他の処理についても同様に称する場合がある。
なお、この各帳票種別１０ａ−４に対応する出力処理コードの一部又は全部を生成ソース雛形３１とは別個に、記憶装置３０などの記憶装置に記憶させ、これを用いるようにすることも可能である。ただし、帳票作成プログラムの生成処理効率等の観点から、上述のように各出力処理等のコードを生成ソース雛形３１内に保有させることがより好ましい。
【００４３】
生成ソース雛形３１は、例えば、図３に示すようなものとすることができる。
図３において、生成ソース雛形３１は、開始部３１−０，１レコード読み込み部３１−１，ＲＨ出力部３１−２，ＰＨ出力部３１−３，最初のレコード又は第一キーブレーク時であるかどうかの判定部３１−４，ＣＨ１出力部３１−５，最初のレコード又は第一若しくは第二キーブレーク時であるかどうかの判定部３１−６，ＣＨ２〜ｎ出力部３１−７，ＤＥ出力部３１−８，１レコード読み込み部３１−９，第一若しくは第二キーブレーク時又は全てのレコードを読み取った時であるかどうかの判定部３１−１０，ＣＦ２〜ｎ出力部３１−１１，第一キーブレーク時又は全てのレコードを読み取った時（最後のレコード）であるかどうかの判定部３１−１２，ＣＦ１出力部３１−１３，全てのレコードを読み取った時であるかどうかの判定部３１−１４，ＰＦ出力部３１−１５，改頁処理３１−１６，ＰＨ出力部３１−１７，全てのレコードを読み取った時であるかどうかの判定部３１−１８，ＰＦ出力部３１−１９，ＲＦ出力部３１−２０，終了部３１−２１を有している。
【００４４】
開始部３１−０は、帳票作成プログラムの実行を開始するにあたり、最初に行われる各種処理コードや帳票作成プログラムの実行にあたって使用する変数定義等を保有させる部分である。
１レコード読み込み部３１−１，３１−９は、入力する帳票レコードの読み込み処理を実行するためのコードを保有させる部分である。
【００４５】
上記各出力部は、それぞれの出力処理コードを埋め込む部分である。このそれぞれの出力処理コードは、当該生成ソース雛形３１が保有する各出力処理コードの雛形に、帳票プログラム仕様１０における帳票種別１０ａ−４に対応する出力項目等を組込むことによって作成される。
そして、この作成された出力処理コードが、当該生成ソース雛形３１で示されるプログラム構造における所定の位置、すなわち当該生成ソース雛形３１におけるそれぞれ対応する出力部に埋め込まれることにより、帳票用プログラムソースファイル４０の構築が行われる。
【００４６】
上記各判定部は、読み込まれた帳票レコードが、最初のレコードであるかどうか、ブレーク処理を行う対象となるレコードであるかどうか、あるいは最後のレコードであるかどうかを判定し、この判定にもとづき実行すべき処理の振り分けを行うためのコードを保有させる部分である。
【００４７】
改頁処理３１−１６は、改頁を行うためコードを保有させる部分である。
終了部３１−２１は、帳票作成プログラムの実行を終了するにあたって行われるファイルのクローズ等の各種終了処理を行うためのコードを保有させる部分である。
なお、本実施形態において、説明の便宜上、帳票作成プログラムにおける出力処理などをコードと称しているが、このような帳票作成プログラムにおける各種処理コードも、帳票作成プログラムにおけるプログラム（サブプログラム）として捉えることができることは言うまでもない。
【００４８】
［帳票レイアウト情報３２］
帳票レイアウト情報３２は、本実施形態の帳票作成プログラム生成装置により生成される帳票作成プログラムが作成する帳票のレイアウト情報を保有する記憶手段である。この帳票レイアウト情報３２は、作成される帳票における帳票種別毎のパーティションサイズやその位置、出力項目の出力位置やサイズ、書式等の情報を保有する。
すなわち、帳票レイアウト情報３２は、ソース構築装置２３により読み込まれて帳票種別毎に帳票作成プログラムにおける所定の位置に設定されることにより、帳票への出力内容の配置やフォント等を制御するための情報を保有するものである。
【００４９】
［帳票用プログラムソースファイル４０］
帳票用プログラムソースファイル４０は、本実施形態の帳票作成プログラム生成装置により生成される帳票作成プログラムのソースコードを格納するファイルである。
【００５０】
次に、本実施形態の帳票作成プログラム生成装置における処理手順について、図４（図４ａ，図４ｂ）及び図５を参照して説明する。図４は、本実施形態の帳票作成プログラム生成装置における処理手順を示すフローチャートである。図５は、同装置により生成される帳票作成プログラムが作成する帳票を示す図である。
まず、帳票プログラム仕様読取装置２１が、帳票に応じて作成された帳票プログラム仕様１０を読み込む（ステップ１０）。また、ソース構築装置２３が、生成ソース雛形３１を読み込む（ステップ１１）。
【００５１】
そして、帳票プログラム仕様解析装置２２が、帳票プログラム仕様読取装置２１から帳票プログラム仕様１０を受け取って、この帳票プログラム仕様１０を上から順に解析し、この解析結果をソース構築装置２３に受け渡し、ソース構築装置２３が、この解析結果及び生成ソース雛形３１を用いて帳票用プログラムソースファイル４０を構築する（ステップ１２）。
以降のステップは、この帳票プログラム仕様解析装置２２及びソース構築装置２３による帳票プログラム仕様１０の解析及び帳票用プログラムソースファイル４０の構築について詳細に説明するものである。
【００５２】
まず、帳票種別が「ＲＨｎ」であるかどうかの判別を行う（ステップ１３）。ここで、「ｎ」は、種別ＩＤを示しており、図４の説明における帳票種別とは、帳票種別１０ａ−４に種別ＩＤ１０ａ−５を付加したものを意味している。
そして、帳票種別が「ＲＨｎ」である場合は、生成ソース雛形３１のＲＨ出力部３１−２にＲＨｎの出力処理コードを追加する（ステップ１４）。その方法としては、上述したように、生成ソース雛形３１に保有されているＲＨ出力処理コードの雛形に、対応する出力項目等を付加して出力処理コードを完成し、これを生成ソース雛形３１のＲＨ出力部３１−２に埋め込むことにより行うことができる。ＲＨ以外の出力処理についても同様である。
【００５３】
なお、複数のＲＨ出力処理がある場合には、帳票種別をＲＨ１，ＲＨ２，ＲＨ３・・・のように帳票プログラム仕様１０に設定することにより、この帳票プログラム仕様１０に従って、上から順に対応する出力処理が生成ソース雛形３１に埋め込まれる。
また、同一のＲＨ出力処理が、帳票プログラム仕様１０に複数定義されている場合は、これらに対応する出力項目等を、一のＲＨｎの出力処理コードの雛形に埋め込むことにより出力処理コードを作成し、生成ソース雛形３１におけるＲＨ出力部３１−２に埋め込むことができる。さらに、帳票作成プログラムにおいて、このＲＨｎの出力処理コードを複数展開することも可能である。
【００５４】
また、このＲＨｎの出力処理コードの追加にあたり、帳票レイアウト情報３２からＲＨのレイアウト情報を読み込んで、出力処理コードに付加して補足することができる。すなわち、ソース構築装置２３が、帳票レイアウト情報３２から帳票種別毎のレイアウト情報を読み込んで、それぞれのパーティションのサイズや出力項目の出力位置、サイズ、書式等の出力形式を、このＲＨｎの出力処理コードにおいて設定する。
このような出力処理コードに対するレイアウト情報の付加は、以下に示すＲＨ以外の出力処理についても同様である。
【００５５】
次に、ステップ１３及びステップ１４における場合と同様にして、帳票種別が「ＰＨｎ」であるかどうかの判別を行い（ステップ１５）、帳票種別が「ＰＨｎ」である場合は、生成ソース雛形３１のＰＨ出力部３１−３及びＰＨ出力部３１−１７にＰＨｎの出力処理コードを追加する（ステップ１６）。
【００５６】
次に、帳票種別が「ＣＨ１」であるかどうかの判別を行う（ステップ１７）。
帳票種別が「ＣＨ１」である場合、本実施形態においては、図２のように「ＣＨ１」に対応するブレークキー１０ａ−３に第一のブレークキーが設定されているので、生成ソース雛形３１に判定部３１−４及び判定部３１−１２を追加し、この判定部３１−４及び判定部３１−１２に、そのブレークキーを設定する（ステップ１８）。
【００５７】
このとき、実際のキーとしては、ブレークキー１０ａ−３におけるブレークキーが設定されている行に対応する入力項目１０ａ−９の値を用いる。例えば、帳票プログラム仕様１０が図２に示すものである場合、第一のブレークキーが設定されている行に対応する入力項目は、「本棚名」であるため、これが第一のブレークキーとして使用される。このように、実際のキーとしてブレークキーが設定されている行に対応する入力項目１０ａ−９の値を用いる点については、第二及びそれ以降のブレークキーについても同様である。
そして、生成ソース雛形３１のＣＨ１出力部３１−５にＣＨ１の出力処理コードを追加する（ステップ１９）。
【００５８】
次に、帳票種別が「ＣＨ２〜ｎ」であるかどうかの判別を行う（ステップ２０）。
帳票種別が「ＣＨ２〜ｎ」である場合、本実施形態においては、図２のように「ＣＨ２」に対応するブレークキー１０ａ−３に第二のブレークキーが設定されているので、生成ソース雛形３１に判定部３１−６及び判定部３１−１０を追加する（ステップ２１）。
【００５９】
そして、判定部３１−６及び判定部３１−１０に、「ＣＨ２〜ｎ」に対応するブレークキー及びより上位のブレークキーを設定する（ステップ２２）。
本実施形態の場合、図２に示すように、第二のブレークキーが設定されている行に対応する入力項目は、「棚名」であるため、これが第二のブレークキーとして使用される。そして、より上位のブレークキーとしては、第一のブレークキーである「本棚名」が存在するため、この上位のブレークキーも判定部３１−６及び判定部３１−１０に設定される。
【００６０】
そして、生成ソース雛形３１のＣＨ２〜ｎ出力部３１−７にＣＨ２〜ｎの出力処理コードを追加する（ステップ２３）。
ここで、帳票プログラム仕様１０において、帳票種別が「ＣＨ２〜ｎ」であるものが、例えば、ＣＨ２、ＣＨ３、ＣＨ４・・・のように複数存在する場合は、ステップ２１〜ステップ２３の処理を繰り返すことになる。
【００６１】
この場合、下位のＣＨ、すなわち「ｎ」の値がより大きいＣＨに対応する判定部３１−６は、生成ソース雛形３１において、判定部３１−６の下部に順次追加していく。したがって、ＣＨ２〜ｎに対応する判定部３１−６は、生成ソース雛形３１において、「ｎ」の値が小さい順番に配置され、この順番に実行されることとなる。
反対に、判定部３１−１０については、下位のＣＨに対応する判定部３１−１０は、生成ソース雛形３１において、判定部３１−１０の上部に順次追加していく。したがって、この場合は、ＣＨ２〜ｎに対応する判定部３１−１０は、生成ソース雛形３１において、「ｎ」の値が大きい順番に配置され、この順番に実行されることとなる。
【００６２】
次に、帳票種別が「ＤＥｎ」であるかどうかの判別を行う（ステップ２４）。
帳票種別が「ＤＥｎ」である場合は、生成ソース雛形３１のＤＥ出力部３１−８にＤＥｎの出力処理コードを追加する（ステップ２５）。
【００６３】
次に、帳票種別が「ＣＦ２〜ｎ」であるかどうかの判別を行う（ステップ２６）。
帳票種別が「ＣＦ２〜ｎ」である場合は、生成ソース雛形３１のＣＦ２〜ｎ出力部３１−１１にＣＦ２〜ｎの出力処理コードを追加する（ステップ２７）。
【００６４】
次に、帳票種別が「ＣＦ１」であるかどうかの判別を行う（ステップ２８）。
帳票種別が「ＣＦ１」である場合は、生成ソース雛形３１のＣＦ１出力部３１−１３にＣＦ１の出力処理コードを追加する（ステップ２９）。
【００６５】
次に、帳票種別が「ＰＦｎ」であるかどうかの判別を行う（ステップ３０）。
帳票種別が「ＰＦｎ」である場合は、生成ソース雛形３１のＰＦ出力部３１−１５及びＰＦ出力部３１−１９にＰＦｎの出力処理コードを追加する（ステップ３１）。
【００６６】
次に、帳票種別が「ＲＦｎ」であるかどうかの判別を行う（ステップ３２）。
帳票種別が「ＲＦｎ」である場合は、生成ソース雛形３１のＲＦ出力部３１−２０にＲＦｎの出力処理コードを追加する（ステップ３３）。
以上のようにして、生成ソース雛形３１に各出力部や判定部を追加することにより、帳票用プログラムソースファイル４０を構築して出力する（ステップ３４）。
【００６７】
図５は、このようにして生成された帳票作成プログラムを実行することにより、図２に示すような帳票プログラム仕様１０にもとづき作成された帳票の例を示すものである。
図５に示すように、帳票プログラム仕様１０において入力項目１０ａ−９として設定されている「本棚名」，「棚名」，「明細番号」，「書籍名」，「在庫数」については、入力した帳票レコードにおける情報が出力されている。また、帳票プログラム仕様１０において、計算式１０ａ−１０に固定値が設定されている「レポート表題」，「作成者」，「ページタイトル」，「後書き」については、それぞれその固定値の情報が出力されている。
さらに、計算式１０ａ−１０に計算式としての「ワーク棚計」，「ワーク本棚計」，「ワークページ」が設定されている「棚毎合計」，「本棚毎合計」，「ページ番号」については、それぞれの計算結果が出力されている。
そして、第一のブレークキーとしての「本棚名」、及び第二のブレークキーとしての「棚名」によって、ブレーク処理が実行され、それぞれごとの在庫数の合計値が出力されている。このように帳票種別ＣＨｎと帳票種別ＣＦｎとは、相対応する帳票種別となっており、帳票種別ＣＨｎにおいて定義されているブレーク処理として、対応する帳票種別ＣＦｎにおいて定義されている合計値が出力されるようになっている。
【００６８】
［第二実施形態］
次に、本発明の第二実施形態について、図６及び図７を参照して説明する。図６は、本実施形態の帳票作成プログラム生成装置における帳票プログラム仕様を示す図である。図７は、同装置により生成される帳票作成プログラムが作成する帳票を示す図である。
本実施形態は、帳票プログラム仕様１０における定義が第一実施形態と異なるのみであり、その他の点については、第一実施形態と同様である。
【００６９】
本実施形態における帳票プログラム仕様１０は、図６に示すように、第一実施形態における帳票プログラム仕様１０と異なり、読み込み順序１０ｂ−２に値が設定されている。
読み込み順序１０ｂ−２の値は、Ｎｏ．４の行に設定されており、これに対応する入力項目１０ｂ−９は、「本棚名」となっている。
このため、ソース構築装置２３は、帳票プログラム仕様解析装置２２により得られるこのような解析結果にもとづいて、値の設定されている読み込み順序１０ｂ−２に対応する入力項目１０ｂ−９の値をキーとする帳票レコードのソート処理を、生成ソース雛形３１に追加する。
【００７０】
また、読み込み順序１０ｂ−２は、ソートキーの優先順位情報として、１，２・・・などの情報として複数設定することができる。この場合、ソース構築装置２３は、この優先順位に従い対応する入力項目情報を第１ソートキー，第２ソートキー・・・などとし、帳票レコードの並び替えを行うソート処理を生成ソース雛形３１に追加する。
このソート処理は、生成ソース雛形３１における開始部３１−０、又は１レコード読み込み部３１−１におけるレコードの読み込み処理の前に追加することができる。
【００７１】
さらに、本実施形態における帳票プログラム仕様１０には、帳票種別ＰＦとして、ＰＦ１１とＰＦ１２の２種類が設定されているとともに、出力条件１０ｂ−６に出力条件として「ＩＦ〜ＥＬＳＥ〜」が設定されており、条件式１０ｂ−７に条件式として「奇数ページ」が設定されている。
そして、ページフッタを出力するにあたり、そのページが奇数ページである場合には、そのページ番号を右詰で出力し、そのページが偶数ページである場合には、そのページ番号を左詰で出力するように定義されており、ソース構築装置２３は、このような処理を生成ソース雛形３１におけるＰＦ出力部３１−１５及びＰＦ出力部３１−１９に追加する。
【００７２】
また、図５のＮｏ．１１における帳票種別ＣＦ１に対応する計算式１０ａ−１１に「改頁処理」が設定されており、このＣＦ１に対応する出力項目が「本棚毎合計」であるため、ＣＨ１のブレーク処理に対応して、「本棚毎合計」が出力されるたびに、改頁処理が実行される。すなわち、ブレーク処理の一貫としてフッタが出力され、改頁が行われて、ヘッダの出力が行われる。
【００７３】
図７は、このような本実施形態における帳票プログラム仕様１０にもとづき生成された帳票作成プログラムを実行し、作成された帳票の例を示すものである。
同図に示される帳票は、図５に示される帳票と異なり、出力されている帳票レコードが「本棚名」にもとづき昇順でソートされており、奇数ページのページ番号が右詰で表示され、偶数ページのページ番号が左詰で表示されている。また、「本棚毎合計」の出力後に改頁処理が行われている。
【００７４】
なお、本発明は以上の実施形態に限定されるものではなく、本発明の範囲内において、種々の変更実施が可能であることは言うまでもない。
例えば、帳票プログラム仕様１０の計算式１０ａ−１０には、計算式及び固定値の設定を可能としているが、新たに固定値専用の項目を帳票プログラム仕様１０に保有させるなど、帳票プログラム仕様１０により多くの項目を保有させ、帳票用プログラムソースファイル４０の構築にあたって用いるようにする等適宜変更することが可能である。
また、上記実施形態においては、便宜上、生成ソース雛形３１を図３のようなブロック図を用いて説明するとともに、帳票作成プログラム生成装置における処理手順を示すもの、すなわち帳票作成プログラム生成プログラムについては、図４に示すようなフローチャートを用いて説明しているが、これらはプログラム（又はその雛形）である点において相違するものではない。
【図面の簡単な説明】
【００７５】
【図１】本発明の第一実施形態の帳票作成プログラム生成装置の構成を示すブロック図である。
【図２】本発明の第一実施形態の帳票作成プログラム生成装置における帳票プログラム仕様を示す図である。
【図３ａ】本発明の第一実施形態の帳票作成プログラム生成装置における生成ソース雛形を示す図である。
【図３ｂ】本発明の第一実施形態の帳票作成プログラム生成装置における生成ソース雛形を示す図である。
【図４ａ】本発明の第一実施形態の帳票作成プログラム生成装置における処理手順を示すフローチャートである。
【図４ｂ】本発明の第一実施形態の帳票作成プログラム生成装置における処理手順を示すフローチャートである。
【図５】本発明の第一実施形態の帳票作成プログラム生成装置により生成される帳票作成プログラムが作成する帳票を示す図である。
【図６】本発明の第二実施形態の帳票作成プログラム生成装置における帳票プログラム仕様を示す図である。
【図７】本発明の第二実施形態の帳票作成プログラム生成装置により生成される帳票作成プログラムが作成する帳票を示す図である。
【符号の説明】
【００７６】
１０  帳票プログラム仕様
２０  データ処理装置
２１  帳票プログラム仕様読取装置
２２  帳票プログラム仕様解析装置
２３  ソース構築装置
３０  記憶装置
３１  生成ソース雛形
３２  帳票レイアウト情報
４０  帳票用プログラムソースファイル
【図１】
2005196589.tif 000003
【図２】
2005196589.tif 000004
【図３ａ】
2005196589.tif 000005
【図３ｂ】
2005196589.tif 000006
【図４ａ】
2005196589.tif 000007
【図４ｂ】
2005196589.tif 000008
【図５】
2005196589.tif 000009
【図６】
2005196589.tif 000010
【図７】
2005196589.tif 000011