(57)【特許請求の範囲】
【請求項１】
予め作成されたテストデータを記憶するテストデータ記憶部を有する帳票プログラム作成装置であって、
帳票の項目を指定する項目ＩＤと、前記項目ＩＤが帳票のカード部と明細部のいずれであるかを示すレベル情報と、帳票の明細部の各項目ごとにテストデータの繰り返し回数とを記憶する項目情報記憶手段と、
前記帳票のカード部の項目と明細部の項目とのリンクを定義するリンク情報を記憶するリンク情報記憶手段と、
前記リンク情報により指定されるカード部の項目と明細部の項目の項目ＩＤに対応するテストデータを前記テストデータ記憶部から読み出し、前記項目ＩＤのテストデータの繰り返し数分、前記読み出したテストデータを生成し、前記繰り返し数分生成した明細部の項目のテストデータと、カード部の項目のテストデータとを組み合わせて帳票プログラムのテストデータを作成するテストデータ作成手段と、
を有することを特徴とする帳票プログラム作成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、帳票プログラム作成装置に関する。
【０００２】
【従来の技術】
従来、帳票の出力等を行う帳票プログラムの作成手順としては、（１）出力項目の設定、（２）レポート（帳票）のデザインの決定、（３）レポートの出力結果を確認するためのテストデータの作成、（４）各機能のテストデータによる検証、（５）実データの抽出ロジックの作成の順で行われる。レポートをデザインした状態と、実際にテストデータが入力された状態とではレイアウトイメージが異なる場合があるので、見栄えの良いレポートのデザインを行うためには、上記の（２）〜（４）のデザインの決定、テストデータの作成、機能の検証を繰り返しならが最終的なデザインを決める必要がある。
【０００３】
【発明が解決しようとする課題】
帳票を印刷する場合に、帳票の品目、数量等の明細部のデータが一定数以上となったとき、自動的に改頁する機能、項目単位での集計機能、あるいは関連する帳票の出力結果の検証、例えば、ある帳票の特定の項目の集計結果と、別の帳票の別の項目の集計結果をまとめて別の帳票に出力するような場合の各帳票の出力の整合性等を検証するためには、システムの内部で作成される複数のテーブル間で整合性がとれ、かつ種々の条件で検証できるようなテストデータを作成する必要があり、テストデータの作成の作業に要する時間が帳票プログラムの開発にかかる時間の中で大きな割合を占めていた。
【０００４】
本発明の課題は、帳票プログラムを作成する際に、テストデータを簡単に作成できるようにすることである。また、他の課題は、帳票プログラムにより実現される帳票の機能、複数の帳票間での出力結果の検証を整合性をもって行えるようにすることである。
【０００５】
【課題を解決するための手段】
本発明は、予め作成されたテストデータを記憶するテストデータ記憶部を有する帳票プログラム作成装置であって、帳票の項目を指定する項目ＩＤと、前記項目ＩＤが帳票のカード部と明細部のいずれであるかを示すレベル情報と、帳票の明細部の各項目ごとにテストデータの繰り返し回数とを記憶する項目情報記憶手段と、前記帳票のカード部の項目と明細部の項目とのリンクを定義するリンク情報を記憶するリンク情報記憶手段と、前記リンク情報により指定されるカード部の項目と明細部の項目の項目ＩＤに対応するテストデータを前記テストデータ記憶部から読み出し、前記項目ＩＤのテストデータの繰り返し数分、前記読み出したテストデータを生成し、前記繰り返し数分生成した明細部の項目のテストデータと、カード部の項目のテストデータとを組み合わせて帳票プログラムのテストデータを作成するテストデータ作成手段とを有する。
【０００６】
この発明によれば、項目毎のテストデータと帳票項目情報とから帳票の各項目の出力結果を検証するためのテストデータを簡易に作成できるので、帳票プログラム作成時のテストデータを作成するための負担が軽減される。また、例えば、テストデータの繰り返し数を設定することで、種々のパターンのテストデータを自動的に生成することができるので、帳票の改頁、項目毎の集計等の機能の検証のためのテストデータの作成が容易になる。また、複数の帳票間で整合性のとれたテストデータを用いることができるので、関連する複数の帳票の検証を同じ条件で行うことができる。
【０００７】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。図１は、本発明の実施の形態の帳票プログラム作成装置（パーソナルコンピュータ等からなる）で使用される情報とテーブルを示す図である。
【０００８】
帳票の出力結果を検証するためのテストデータを作成する場合には、帳票プログラム作成装置１１の入力部から、項目情報（項目毎のテストデータ）と、帳票設計情報（項目名、テストデータの繰り返し件数等）を入力する。帳票プログラム作成装置１１は、それらの情報を元に帳票の項目とテストデータの繰り返し件数を定義した帳票項目情報（図２のレポート項目定義テーブル２２に対応する）と、項目毎のテスト情報（図２のテストデータテーブル２４に対応する）と、リンクテーブル情報（図２のレポート明細リンク定義テーブル２３に対応する）を作成し、それらの情報を記憶部１２に格納する。
【０００９】
なお、帳票プログラム作成装置１１の記憶部１２には、この他に各項目の情報、例えば、項目ＩＤ、項目名（受注ＮＯ,取引区分、取引先コード、納入日付等）、項目が帳票の上部に印刷されるカード部のデータと明細部のデータの別を示すレベル情報、項目のデータ型、桁数等が記憶されている。
【００１０】
そして、それらの帳票項目情報とテスト情報とリンクテーブル情報とから、テストデータの繰り返し件数分テストデータが生成され、各項目のテストデータが組み合わされたテストデータがワークテーブル１３に設定される。そのワークテーブル１３のテストデータを用いて帳票の出力結果の検証が行われる。
【００１１】
次に、図２は、帳票プログラム作成装置１１の帳票プログラム作成支援機能の説明図である。図２は、受注伝票▲１▼を元にして同図の右側に示す２枚の受注伝票２０を作成する場合の例である。
【００１２】
先ず、受注伝票のレポート名称とレポートＩＤをレポート項目定義テーブル２１に設定する（図２、▲２▼）。次に、受注伝票の各項目をレポート項目定義テーブル２２に設定する（図２、▲３▼）。このレポート項目定義テーブル２２には、項目ＩＤ、項目名（受注ＮＯ,取引区分、取引先コード、納入日付等）、項目が帳票の上部に印刷されるカード部のデータか、明細部のデータかを示すレベル、項目のデータ型、桁数、書式、テストデータの繰り返し数等が設定される。
【００１３】
次に、受注伝票２０の左上のカード部に印刷される項目”受注ＮＯ”、”取引区分”、”取引先コート”と、明細部の項目とのリンクを定義するレポート明細リンク定義テーブル２３がレポート項目定義テーブル２２の”カード”と”明細１”のレベル情報に基づいて作成される（図２、▲５▼）。
【００１４】
次に、レポート項目定義テーブル２２とレポート明細リンク定義テーブル２３等から、テストデータが格納される帳票ワークテーブル１３が作成される。そして、そのワークテーブル１３の各項目のテストデータが、該当するテストデータテーブル２４から読み出され、読み出された各項目のテストデータが組み合わされてワークテーブル１３に設定される。このとき、レポート項目定義テーブル２２に繰り返し数が設定されている項目は、設定されている繰り返し数分テストデータが繰り返し生成される。図２の例では、項目”数量”に対して繰り返し回数”３”が設定されているので、受注ＮＯ、納入日付、品目のテストデータに対してそれぞれ数量が”５”のテストデータが３個作成され、ワークテーブル１３に格納されるテストデータは、図２▲８▼の受注伝票明細１のような内容となる。
【００１５】
また、レポート項目定義テーブル２２から、受注伝票２０で使用されるカードと明細のテーブルが定義された使用テーブル定義テーブル２５が作成され（図２、▲４▼）、その使用テーブル定義テーブル２５とレポート項目定義テーブル２２とからデータ抽出バッチプログラムの雛形が作成される（図２、▲９▼）。
【００１６】
次に、以上のような帳票プログラム作成装置１１において、帳票の項目毎のテストデータを登録する処理について図３のフローチャートを参照して説明する。
先ず、帳票で使用可能な項目が登録されている項目テーブル３１の項目の中からテストデータを登録したい項目を選択する（図３，Ｓ３０１）。次に、その選択した項目のテストデータの有無を判断する（Ｓ３０２）。選択した項目に対してテストデータが既に作成されている場合には、ステップＳ３０３に進み既に作成されているテストデータを使用するか否かを判断する。
【００１７】
既存のテストデータを使用しない場合、あるいはその項目にテストデータが作成されていない場合には、ステップＳ３０４に進みテストデータのメンテナンス、つまりテストデータの作成を行う。作成したテストデータは図２のテストデータテーブル２４に登録される。
【００１８】
テストデータを作成したなら、その内容を確認し（Ｓ３０５）、作成したテストデータでは不都合な場合には（Ｓ３０５，ＮＧ）、ステップＳ３０４に戻り、再度テストデータの作成を行う。作成したテストデータで良ければ（Ｓ３０５，ＯＫ）、ステップＳ３０６に進み、連続してテストデータを登録するか否かを判断する。連続してテストデータを登録する場合には、ステップＳ３０１に戻り、他の項目を選択してテストデータの登録を行う。
【００１９】
以上の処理により、図２に示す項目毎のテストデータテーブル２４が作成される。
次に、帳票の項目をレポート項目定義テーブル２２に登録する処理について図４のフローチャートを参照して説明する。
【００２０】
先ず、テストデータを設定する帳票の項目を項目テーブル３１から選択する（図４，Ｓ４０１）。次に、選択した項目のテストデータテーブル２４にテストデータが設定されているか否かを判断する（Ｓ４０２）。テストデータが設定されている場合には、選択した項目の項目ＩＤ、項目名、レベル、データ型等をレポート項目定義テーブル２２に登録する（Ｓ４０３）。
【００２１】
ステップＳ４０２で、選択した項目にテストデータが設定されていない場合には（Ｓ４０２，無）、ステップＳ４０４進み項目の登録を継続するか否かを確認し、登録を継続する場合には、上述したステップＳ４０３に進み選択した項目をレポート項目定義テーブル２２に登録する。また、選択した項目にテストデータが設定されてなく、項目の登録を継続しない場合には（Ｓ４０４，ＮＯ）、ステップＳ４０１に戻り次の項目を選択する。
【００２２】
１つの項目の登録が終了したなら、その内容を確認し（Ｓ４０５）、その内容で良ければ、次にテストデータの繰り返し数を登録する（Ｓ４０６）。テストデータの繰り返し数とは、テストデータテーブル２４に設定されているテストデータを繰り返し使用する場合に設定されるデータである。これにより、ある項目のテストデータテーブル２４のテストデータ数が少ない場合でも、同じテストデータを繰り返し生成し、それらのテストデータを他の項目のテストデータと組み合わせることで種々のテストパターンのテストデータを生成することができる。
【００２３】
例えば、図２の項目”数量”のテストデータとしては、１個のデータ”５”しか設定されていないが、レポート項目定義テーブル２２の項目”数量”に繰り返し数”３”を設定することにより、項目”数量”のテストデータとしてデータ”５”が３回使用され、その３個のテストデータと他の項目のテストデータが組み合わされたテストデータが作成される。
【００２４】
テストデータの繰り返し数を確認してＯＫであれば（Ｓ４０７，ＯＫ）、次の項目を登録するか否かを判断する（Ｓ４０８）。レポート項目定義テーブル２２に登録すべき項目がある場合には、ステップＳ４０１に戻り、次の項目を選択して上述した処理を繰り返す。
【００２５】
上述した処理が終了すると、図２に示すようなレポート項目定義テーブル２２が作成される。この例では、項目”受注ＮＯ”、”取引区分”、”取引先コード”のレベルとして”カード”が、項目”納入日付”、”品目”、”数量”、”金額”のレベルとして”明細１”が設定されている。また、項目”数量”に繰り返し数として”３”が設定されているが、他の項目には繰り返し数は設定されていないので、それらの項目のテストデータテーブル２４に登録されているテストデータは１回だけ使用される。
【００２６】
レポート項目定義テーブル２２への項目の登録が終了したなら、次に、レポート項目定義テーブル２２のレベル”明細１”とレベルが”カード”の項目とのリンクを定義するレポート明細リンク定義テーブル２３を作成する（Ｓ４０９）。また、”明細１”以外のレベルが設定されている項目が存在する場合には、”明細１”以外のレベルと”カード”の項目のリンクテーブルを作成する。
【００２７】
次に、テストデータの作成が行われ（Ｓ４１０）、テストデータの作成が正常終了したか否かが判断される（Ｓ４１１）。テストデータの作成が正常に行われた場合には、帳票項目登録処理を終了し、テストデータの作成が正常に行われなかった場合には、エラーメッセージを出力して（Ｓ４１２）、異常終了する。
【００２８】
次に、図４のステップＳ４１０のテストデータ作成処理の処理内容の概略を、図５のフローチャートにより説明する。
先ず、帳票の出力を検証するテストデータを格納するデータベースを選択する（図５，Ｓ５０１）。次に、選択したデータベースにテストデータが格納されるワークテーブル１３を作成する（Ｓ５０２）。
【００２９】
以下、図５のステップＳ５０２のワークテーブル１３作成処理を図６のフローチャートを参照して説明する。
先ず、レポート項目定義テーブル２２のレベルの種類を抽出し、レベル単位でグループ化したビューを作成する（図６，Ｓ６０１）。なお、ビューとは、レポート項目定義テーブル２２から抽出されたレベルの種類を示すデータからなるテーブルであり、メモリ上に一時的に作成されるものである。例えば、図２のレポート項目定義テーブル２２のように、”カード”と”明細１”の２種類のレベルが定義されている場合には、レベル単位のビューとして”カード”と”明細１”の２つのレコードからなるテーブルがメモリ上に作成される。
【００３０】
次に、作成されたレベル単位のビューを順に読み出し（Ｓ６０２）、ビューの最後（ＥＯＦ）か否か、つまりレベル単位のビューにそれ以降データが設定されていないか否かを判断する（Ｓ６０３）。レベル単位のビューの最後ではない場合、つまりビューにデータが存在する場合には、該当するレベルの項目をレポート項目定義テーブル２２から読み出し、同じレベルの項目からなる項目単位のビューを作成する（Ｓ６０４）。
【００３１】
すなわち、図２のレポート項目定義テーブル２２のように、”カード”と”明細１”の２種類のレベルが定義されている場合には、先ず、”カード”と”明細１”の２つのレコードからなるテーブルがメモリ上に作成され、次にそのテーブル（ビュー）からレベルとして”カード”が読み出される。そして、レベルが”カード”である項目がレポート定義テーブル２２から検索され、検索された”受注ＮＯ”、”取引区分”、”取引先コード”の３つの項目のレコードからなるテーブルがメモリ上に作成される。
【００３２】
次に、同じレベルの項目単位のビューのデータを順に読み出し（Ｓ６０５）、ビューの最後か否かを判断する（Ｓ６０６）。ビューの最後でなければ、ワークテーブル１３を作成するためのテーブル作成情報に項目単位のビューから読み出した項目を追加する（Ｓ６０７）。ビューから読み出した１つの項目をテーブル作成情報に追加したなら、ステップＳ６０５に戻り項目単位のビューの次の項目を読み出す。これらの処理により、例えば、図２のレポート項目定義テーブル２２のレベルが”カード”である項目”受注ＮＯ”、”取引区分”、”取引コード”がテーブル作成情報の項目データとして追加される。そして、１つのレベルの全ての項目のテーブル作成情報の設定が終了したなら、後述する処理を経てステップＳ６０２に戻り、次のレベルがレベル単位のビューから読み出され上述した処理が繰り返される。これにより、レベルが”明細１”の項目”納入日付”、”品目”、”数量”、”金額”がテーブル作成情報の項目として設定される。
【００３３】
ステップＳ６０６で項目単位のビューの最後のデータであると判断された場合には（Ｓ６０６，ＹＥＳ）、ステップＳ６０８に進み項目単位のビューのレベルが”カード”か否かを判断する。レベルが”カード”の場合には、ステップＳ６０９に進みテーブル作成情報からレベルが”カード”である項目名を定義した空のワークテーブル１３と、そのワークテーブル１３と同じ内容のコピーテーブルを作成する。この処理により、例えば、レベルが”カード”である項目”受注ＮＯ”と”取引区分”と”取引先コード”からなるワークテーブル（図２の▲７▼の受注伝票カード）が作成される。その後、ステップＳ６０２に戻り、レベル単位のビューから次のレベルを読み出す。
【００３４】
ステップＳ６０８でレベルが”カード”ではないと判断された場合には（Ｓ６０８，ＹＥＳ）、ステップＳ６１０に進み、図４のステップＳ４０９で定義したレポート明細リンク定義テーブル２３のリンク項目をテーブル作成情報に追加する。この処理により、例えば、テーブル作成情報に”明細１”のリンク項目として、図２のレポート明細リンク定義テーブル２３のリンク項目１の”受注ＮＯ”とリンク項目２の”取引区分”が追加される。
【００３５】
これにより、レベルが”明細１”のリンク先を含むテーブル作成情報が作成されたので、ステップＳ６０９に進み、テーブル作成情報の”明細１”の項目とそのリンク先項目とからなるワークテーブル１３（例えば、図２、▲８▼の受注伝票明細１）とそのワークテーブル１３と同じ内容のコピーテーブルを作成する。
【００３６】
以上のようにしてテストデータを格納するワークテーブル１３の作成が終了したなら、図５のステップＳ５０３でワークテーブル１３の作成が正常に終了したか否かを判断する。ワークテーブル１３の作成が正常に終了した場合には、ステップＳ５０４のテストデータの作成処理を実行し、その処理が正常に終了したか否かを判断する（Ｓ５０５）。テストデータ作成処理が正常に終了した場合には、そのまま処理を終了し、異常が発生した場合には異常終了処理を実行する。
【００３７】
ここで、図５のステップＳ５０４のテストデータ作成処理について図７のフローチャートを参照して説明する。
上述したワークテーブル１３の作成処理と同様に、レポート項目定義テーブル２２のレベル単位でグループ化したビュー、つまりレベルの種類分のレコードからなるテーブルを作成する（図７，Ｓ７０１）。次に、作成したレベル単位のビューのデータを順に読み出し（Ｓ７０２）、ビューの最後（ＥＯＦ）か否かを判断する（Ｓ７０３）。レベル単位のビューの最後でなければ、ステップＳ７０４に進み、レベル単位のビューから読み出したレベルと同じレベルの項目をレポート項目定義テーブル２２から検索し、検索した項目をそれぞれ１つのレコードとして有する項目単位のビューを作成する（Ｓ７０５）。次に、その項目単位のビューのレコードを順に読み出し（Ｓ７０５）、ビューの最後か否かを判断する（Ｓ７０６）。ビューの最後でなければ、読み出した項目のテストデータ追加処理（Ｓ７０７）を実行した後、ステップＳ７０５に戻り、項目単位のビューの次の項目を読み出す。
【００３８】
次に、図７のステップＳ７０７のテストデータ追加処理を、図８のフローチャートを参照して説明する。
先ず、作成されたワークテーブル１３の各項目のデータを初期化し、コピーテーブルの全件のテストデータをワークテーブル１３に追加し、その後コピーテーブルを初期化する（図８，８０１）。これは、後述する項目毎のテストデータの設定処理により、繰り返し数分テストデータがコピーテーブルに追加されるので、１つの項目のテストデータの追加処理が終了して、次の項目のテストデータ追加処理を開始するときに、コピーテーブルの内容をワークテーブル１３に保存するためである。
【００３９】
次に、該当する項目のテストデータ数をテストデータテーブル２４から調べる（Ｓ８０２）。そして、テストデータ数が”０”か否かを判別する（Ｓ８０３）。テストデータ数が”０”でなければ、その項目のテストデータテーブル２４を開き（Ｓ８０４）、そのテストデータテーブル２４からテストデータを順に読み出す（Ｓ８０５）。また、ステップＳ８０３で該当するテストデータテーブル２４のテストデータ数が”０”と判断された場合、つまりその項目にテストデータが設定されていない場合には、項目の属性に従ってテストデータを１件作成する（Ｓ８０６）。これは、例えば項目のデータ型がテキストであればテキストデータを設定されている桁数分作成し、データ型が日付であれば日付データを作成する。
【００４０】
次に、テストデータテーブル２４の最後、つまりテストデータテーブ２４の全てのテストデータの読み出しが終了したか否かを判断する（Ｓ８０７）。
ステップＳ８０７でテストデータテーブル３２の最後でないと判断されたときには（Ｓ８０７，ＮＯ）、ステップＳ８０８に進みワークテーブル１３の全件、つまり全レコードに対して該当する項目のそれぞれのテストデータを設定する。さらに、レポート項目定義テーブル２２の該当する項目にテストデータの繰り返し回数が設定されている場合には、ワークテーブル１３の全件のテストデータをを繰り返し回数分コピーテーブルに追加する（Ｓ８０９）。これにより、コピーテーブルには、ワークテーブル１３の各項目のテストデータが繰り返し数分コピーされる。そして、ステップＳ８０５に戻りテストデータテーブル２４の次のテストデータを読み出し、上述した処理を繰り返す。
【００４１】
そして、テストデータテーブル２４のテストデータの読み出しが終了したなら（Ｓ８０７，ＹＥＳ）、処理を終了する。
以上のようにしてテストデータ追加処理が終了したなら、図７のステップＳ７０５に戻り、同じレベルの項目単位のビューの次の項目を読み出す。そして、項目単位のビューの最後（ＥＯＦ）か否かを判断し（Ｓ７０６）、項目単位のビューの最後であれば（Ｓ７０６，ＹＥＳ）、コピーテーブルに設定された全てのテストデータをワークテーブル１３にコピーする（Ｓ７０８）。これにより、テストデータ追加処理（図８）において、繰り返し回数分追加されたコピーテーブルの全てのテストデータがワークテーブル１３にコピーされる。
【００４２】
ここで、図２のレポート項目定義テーブル２２と、各項目のテストデータテーブル２４からワークテーブル１３にテストデータが設定される手順について説明する。
【００４３】
先ず、レポート項目定義テーブル２２のレベルが抽出され、レベル”明細１”（明細１の項目）とリンクする”カード”の項目が”受注ＮＯ”と”取引区分”であることを定義したレポート明細リンク定義テーブル２３が作成される。
【００４４】
次に、作成されたレポート明細リンク定義テーブル２３と、レベルが”明細１”の項目とから、図２に示すような”受注ＮＯ”、”取引区分”、”納入日付”、”品目”、”数量”、”金額”が項目としてワークテーブル１３に設定される。次に、ワークテーブル１３に設定されている各項目のテストデータがテストデータテーブル２４から読み出されて設定される。このとき、繰り返し数が設定されている項目については、各項目のテストデータと繰り返し数が設定されている項目のテストデータが繰り返し数分コピーされる。
【００４５】
具体的には、先ず、図２の各項目のテストデータテーブル２４からテストデータとして”１１０００００１０”、図示していないが取引区分として”××××××”、納入日付として”１９９８／０６／０１”、品目として”専用紙Ａ４”、数量として”５”、金額として”１０００”が設定される。次に、各項目のテストデータが組み合わされてワークテーブル１３に設定される。さらに、この例では、”数量”のテストデータの繰り返す数として”３”が設定されているので、ワークテーブル１３の各レコードのデータがそれぞれ３回コピーされてコピーテーブルに設定される。最後に、コピーテーブルの内容がワークテーブル１３にコピーされて、ワークテーブル１３に帳票の出力を検証するためのテストデータが作成される。図２の例では、”受注ＮＯ”に２個、”納入日付”に２個、”金額”に１個、”品目”に３個、”数量”に１個のテストデータが設定されているだけであるが、”数量”の繰り返し回数として”３”が設定されているので、図２の受注伝票明細▲８▼に示すように、合計で３６件分のテストデータが作成される。このように、テストデータの繰り返し数を設定することにより、少ないテストデータから種々の組み合わせのテストデータを生成することができるので、受注伝票の改頁、項目の集計等の機能の検証するためのテストデータの作成を簡易に行うことができる。
【００４６】
上述した実施の形態によれば、帳票の項目毎にテストデータを作成し、帳票の項目を定義したレポート項目定義テーブル２２を作成することで、帳票の出力を検証するためのテストデータを簡易に作成することができる。従って、帳票の改頁、項目毎の集計などの機能の検証を行うためのテストデータの作成作業が軽減され、帳票プログラムの作成を効率的に行うことができる。また、上記の実施の形態では、テストデータテーブル２４に設定されているテストデータを共通に用いて種々の帳票の出力結果を検証することができるので、関連する帳票を統一された整合性のあるテストデータで検証することができる。
【００４７】
次に、レポート項目定義テーブル２２から、帳票の実データを抽出するデータ抽出バッチプログラムの雛形となるプログラムを生成する処理を図９のフローチャートを参照して説明する。
【００４８】
作成するプログラムＩＤを選択する（図９，Ｓ９０１）。プログラムＩＤが選択されたならプログラムＩＤとレポートＩＤとを対応づけたプログラムーレポート連結テーブル９１から、プログラムＩＤをキーにしてレポートＩＤを抽出し、抽出したレポートＩＤからなるビュー（抽出したレポートＩＤからなるテーブル）を作成する（Ｓ９０２）。このレポートＩＤ単位のビューはメモリ上に一時的に作成される。次に、そのレポートＩＤ単位のビューを順に読み出し（Ｓ９０３）、ビューの最後（ＥＯＦ）、つまりビューに登録されている最後のデータの読み出しが終了したか否かを判断し（Ｓ９０４）、レポートＩＤ単位のビューの最後であれば処理を終了する。
【００４９】
ビューの最後ではない場合（Ｓ９０４，ＮＯ）、つまりレポートＩＤ単位のビューに読み出すべきデータが存在する場合には、ステップＳ９０５に進み、読み出したレポートＩＤのレポート項目定義テーブル２２からレベルの種類を抽出し、レベル単位でグループ化したビュー（抽出されたレベルから構成されるテーブル）を作成する。さらに、使用テーブル定義テーブル２５からレベル毎のテーブル名を抽出する。
【００５０】
次に、レベル単位で抽出したビューからデータを順に読み出し（Ｓ９０６）、ビューの最後（ＥＯＦ）に達したか否かを判断する（Ｓ９０７）。レベル単位のビューの最後であれば（Ｓ９０７，ＹＥＳ）、ステップＳ９０３に戻り、レポートＩＤ単位のビューの次のデータを読み出し、上述した処理を繰り返す。
【００５１】
レベル単位のビューの最後でなければ（Ｓ９０７，ＮＯ）、ステップＳ９０８に進み、レポート項目定義テーブル２２から該当するレベルの項目を抽出して項目単位のビュー（同じレベルの項目から構成されるテーブル）を作成する。そして、その項目単位のビューを順に読み出し（Ｓ９０９）、ビューの最後（ＥＯＦ）か否かを判断する。項目単位のビューの最後でなければ、読み出した項目データを用いてバッチプログラムのＳＱＬ（Structured Query Language）文作成処理を実行する（Ｓ９１１）。この処理では、使用テーブル定義テーブル２５から、抽出されたレベルのテーブル名を検索し、検索したテーブル名のテーブルから、抽出された項目（レポート項目定義テーブル２２に登録されている項目）の実データを抽出するＳＱＬ文を作成する。１つの項目に関するＳＱＬ文作成処理が終了したなら、ステップＳ９０９に戻り、項目単位のビューの次の項目を読み出して上述した処理を繰り返す。
【００５２】
上述した実施の形態によれば、帳票の項目の項目ＩＤ、項目名称、レベル、データ型、桁数等の項目の設計情報を定義したレポート項目定義テーブル２２を作成することにより、帳票の出力項目の実データが格納されているテーブルの情報を取得することができるので、その情報を用いて帳票の実データを抽出するバッチプログラムの雛形を自動生成することが可能となる。
【００５３】
さらに、本発明に係る帳票プログラムを作成するプログラムを、図１０に示すフロッピーディスク、ＣＤＲＯＭ等の記録媒体１００１に格納しておいて、その記録媒体１００１を情報処理装置（パーソナルコンピュータ等）１００２の媒体駆動装置（フロッピーディスクドライバー、ＣＤＲＯＭドライバー等）により読み取り、読み取ったプログラムをハードディスク等の記憶装置１００３に格納し、そのプログラム実行するようにしてもよい。あるいはプログラムを情報提供者のコンピュータのハードディスク等の記憶装置１００４に記憶しておいて、通信によりユーザの情報処理装置１００２に転送し、ユーザ側の記憶装置１００３に記憶してプログラムを実行するようにしてもよい。また、記録媒体１００１に記録するプログラムは、実施の形態に述べたフローチャートの一部の機能を有するものであってもよい。
【００５４】
なお、テストデータを作成するための帳票項目情報は、上述した実施の形態のレポート定義テーブル２２、レポート明細リンク定義テーブル２３等のような形態のものに限らず、項目毎のテストデータから帳票の出力を検証できるような情報であればどのような形態のものでも良い。
【００５５】
【発明の効果】
本発明によれば、項目毎のテストデータと帳票項目情報とから帳票の出力結果を検証するテストデータを簡易に作成できるので、帳票プログラムを作成するときのテストデータを作成するための負担が軽減される。また、例えば、項目毎にテストデータの繰り返し数を設定することで、複数の項目のテストデータを組み合わせて種々のパターンのテストデータを生成できるので、帳票の改頁、項目毎の集計等の機能の検証が容易になる。また、複数の帳票間で整合性のとれたテストデータを用いることができるので、関連する複数の帳票の検証を同じ条件で行うことができる。
【図面の簡単な説明】
【図１】帳票プログラム作成装置で使用される情報とテーブルを示す図である。
【図２】帳票プログラム作成支援機能の説明図である。
【図３】テストデータ登録処理のフローチャートである。
【図４】帳票項目登録処理のフローチャートである。
【図５】テストデータ作成の概略フローチャートである。
【図６】ワークテーブル作成処理のフローチャートである。
【図７】テストデータ作成処理の詳細なフローチャートである。
【図８】テストデータ追加処理のフローチャートである。
【図９】データ抽出バッチプログラム作成処理のフローチャートである。
【図１０】記録媒体を示す図である。
【符号の説明】
２２    レポート項目定義テーブル
２３    レポート明細リンク定義テーブル
２４    テストデータテーブル
【図１】
0003658514.tif 000002
【図２】
0003658514.tif 000003
【図３】
0003658514.tif 000004
【図４】
0003658514.tif 000005
【図５】
0003658514.tif 000006
【図６】
0003658514.tif 000007
【図７】
0003658514.tif 000008
【図８】
0003658514.tif 000009
【図９】
0003658514.tif 000010
【図１０】
0003658514.tif 000011