(57)【要約】【課題】帳票上の項目と、その項目に出力すべき可変データの業務データベース上の位置との関係を自動的にマッピングし、マッピング率を高め、開発工数を削減する。【解決手段】本発明の帳票作成装置は、帳票書式から取得した各項目の名称について、項目の名称に対応する類義語を抽出し、類義語を所定のルールにより絞り込んだ類義語を検索語として、業務データベースを検索し、当該検索語を項目に有する情報領域の名称と項目とを関連付けた作業用マッピング情報を作成し、作業用マッピング情報の項目と情報領域の名称に関連付けて、検索結果である項目の存在を表す情報を記載し、情報領域の名称ごとに当該項目の存在を示す情報の個数を合計する項目対応列数一覧を作成し、作業用マッピング情報の情報領域の名称及び項目を、項目対応列数一覧において任意に選択された情報領域の名称及びそれに属する項目に限定したマッピング情報を作成し、記憶部に記憶する。【選択図】  図１
2009128958.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報領域からなる既存の業務データベース上の情報を、入力した既存の帳票書式における項目と前記業務データベース上の情報の項目との対応関係から求めたマッピング情報の定義に従って、前記既存の帳票書式に出力する帳票作成装置であって、
前記帳票作成装置の制御部は、
入力部を介して取得した処理対象の前記帳票書式から複数の項目を取得し、
前記取得した各項目の名称について、記憶部に記憶した類義語辞書を参照して前記項目の名称に対応する類義語を抽出し、項目ごとに前記抽出した類義語を列挙した項目類義語一覧を作成し、
前記作成した項目類義語一覧について、記憶部に記憶した所定のルールを適用して、前記類義語を前記所定のルールに適合する類義語に絞り込み、
前記絞り込んだ類義語を検索語として、前記業務データベースを検索し、当該検索語を項目に有する前記情報領域の名称と前記項目とを関連付けた作業用マッピング情報を作成し、
前記作業用マッピング情報の項目と情報領域の名称に関連付けて、前記検索結果である項目の存在を表す情報を記載し、情報領域の名称ごとに当該項目の存在を示す情報の個数を合計する項目対応列数一覧を作成し、
前記作業用マッピング情報の情報領域の名称及び項目を、前記項目対応列数一覧において任意に選択された情報領域の名称及びそれに属する項目に限定した前記マッピング情報を作成し、前記記憶部に記憶すること、
を特徴とする帳票作成装置。
【請求項２】
前記帳票作成装置の制御部は、
前記作業用マッピング情報の情報領域の名称及び項目を、前記項目対応列数一覧における情報領域に含まれる対応列数が最大である情報領域の名称とその関連情報領域の名称及びそれらに属する項目に限定したマッピング情報を作成し、前記記憶部に記憶すること、
を特徴とする請求項１に記載の帳票作成装置。
【請求項３】
前記帳票作成装置の制御部は、
前記マッピング情報に記憶される項目の数が全項目数に占める割合が、基準値を満たさない場合は、
前記作業用マッピング情報の情報領域の名称及び項目を、前記項目対応列数一覧の情報領域に含まれる対応列数が次に大きい情報領域の名称とその関連情報領域の名称及びそれらに属する項目に限定したマッピング情報を作成し、前記記憶部に記憶すること、
を特徴とする請求項２に記載の帳票作成装置。
【請求項４】
複数の情報領域からなる既存の業務データベース上の情報を、入力した既存の帳票書式における項目と前記業務データベース上の情報の項目との対応関係から求めたマッピング情報の定義に従って、前記既存の帳票書式に出力する帳票作成装置における帳票作成方法であって、
前記帳票作成装置は、
入力部を介して取得した処理対象の前記帳票書式から複数の項目を取得し、
前記取得した各項目の名称について、記憶部に記憶した類義語辞書を参照して前記項目の名称に対応する類義語を抽出し、項目ごとに前記抽出した類義語を列挙した項目類義語一覧を作成し、
前記作成した項目類義語一覧について、記憶部に記憶した所定のルールを適用して、前記類義語を前記所定のルールに適合する類義語に絞り込み、
前記絞り込んだ類義語を検索語として、前記業務データベースを検索し、当該検索語を項目に有する前記情報領域の名称と前記項目とを関連付けた作業用マッピング情報を作成し、
前記作業用マッピング情報の項目と情報領域の名称に関連付けて、前記検索結果である項目の存在を表す情報を記載し、情報領域の名称ごとに当該項目の存在を示す情報の個数を合計する項目対応列数一覧を作成し、
前記作業用マッピング情報の情報領域の名称及び項目を、前記項目対応列数一覧において任意に選択された情報領域の名称及びそれに属する項目に限定した前記マッピング情報を作成し、前記記憶部に記憶すること、
を特徴とする帳票作成方法。
【請求項５】
前記帳票作成方法は、
前記作業用マッピング情報の情報領域の名称及び項目を、前記項目対応列数一覧における情報領域に含まれる対応列数が最大である情報領域の名称とその関連情報領域の名称及びそれらに属する項目に限定したマッピング情報を作成し、前記記憶部に記憶すること、
を特徴とする請求項４に記載の帳票作成方法。
【請求項６】
前記帳票作成方法は、
前記マッピング情報に記憶される項目の数が全項目数に占める割合が、基準値を満たさない場合は、
前記作業用マッピング情報の情報領域の名称及び項目を、前記項目対応列数一覧の情報領域に含まれる対応列数が次に大きい情報領域の名称とその関連情報領域の名称及びそれらに属する項目に限定したマッピング情報を作成し、前記記憶部に記憶すること、
を特徴とする請求項５に記載の帳票作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票作成装置及び帳票作成方法に関する。
【背景技術】
【０００２】
従来から、例えば、特許文献１の発明のように、帳票定義データ作成時のユーザ負担を軽減するために、帳票の画像データを取得し、当該画像データから文字情報のレイアウト情報を抽出し、帳票定義データを作成する方法が知られている。
【特許文献１】特開２００４-２５８７０６号公報（段落０００７、０００８、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１の発明では、帳票の帳票定義は自動化されているが、帳票上に表示させたい可変的なデータがデータベース上にあった場合、データベース上の位置と帳票上の位置との関係のマッピング情報の作成を別途行う必要があり、その操作は帳票数や、帳票内の項目数が増大するにつれて工数が増大する。
既存の帳票システムのマシン更改、基本ソフトウェアの更改が行われる場合、帳票レイアウトや、表示対象となるデータベースはそのまま利用したいというニーズが高い。
更改に伴い既存の帳票作成プログラムがそのまま利用できない場合、帳票作成プログラムを変更する必要がある。その場合に帳票レイアウトと、表示対象となるデータベースのマッピング関係が分からない場合が多く、開発工数が増大する。
本発明は、帳票上の項目と、その項目に出力すべき可変データの業務データベース上の位置との関係を自動的にマッピングし、さらにマッピング率を高め、開発工数を削減することを目的とする。
【課題を解決するための手段】
【０００４】
上記課題を解決するため、本発明の帳票作成装置は、帳票書式から複数の項目を取得し、取得した各項目の名称について、記憶部に記憶した類義語辞書を参照して項目の名称に対応する類義語を抽出し、項目ごとに前記抽出した類義語を列挙した項目類義語一覧を作成し、作成した項目類義語一覧について、記憶部に記憶した所定のルールを適用して、類義語を所定のルールに適合する類義語に絞り込み、絞り込んだ類義語を検索語として、業務データベースを検索し、当該検索語を項目に有する前記情報領域の名称と項目とを関連付けた作業用マッピング情報を作成し、作業用マッピング情報の項目と情報領域の名称に関連付けて、検索結果である項目の存在を表す情報を記載し、情報領域の名称ごとに当該項目の存在を示す情報の個数を合計する項目対応列数一覧を作成し、作業用マッピング情報の情報領域の名称及び項目を、項目対応列数一覧において任意に選択された情報領域の名称及びそれに属する項目に限定したマッピング情報を作成し、記憶部に記憶することを特徴とする。
【発明の効果】
【０００５】
本発明によれば、帳票上の項目と、その項目に出力すべき可変データの業務データベース上の位置との関係を自動的にマッピングし、さらにマッピング率を高め、開発工数を削減することが可能になる。
【発明を実施するための最良の形態】
【０００６】
次に、本発明を実施するための最良の形態（以下「本実施形態」）について、図面を参照しながら詳細に説明する。
【０００７】
（全体構成）
図１は、本実施形態に係る全体構成図である。
本実施形態に係る帳票作成装置１は、いわゆるコンピュータである。帳票作成装置１は、中央制御装置（制御部）１２、主記憶装置（記憶部）１１、補助記憶装置（記憶部）１３、入出力装置１４、通信インタフェース（ＩＦ）１５、及びディスクインタフェース（ＩＦ）１６を有しており、これらは相互にバスで接続されている。そして、帳票作成装置１は、通信インタフェース（ＩＦ）１５及びネットワーク３を介して、業務データベース２と接続されている。また、帳票作成装置１は、ディスクインタフェース（ＩＦ）１６を介して、外部記憶装置４と接続されている。
ここでは、業務データベース２及び、外部記憶装置４は、帳票作成装置１とは別途構成されるものとして図示したが、これらは、帳票作成装置１内に構成し、他の構成部分とバスで接続されているものとしてもよい。
【０００８】
（プログラム構成等）
帳票書式生成部１０１、マッピング自動生成部１０４及び帳票書式表示部１０８はプログラムである。
帳票書式生成部１０１は、同じくプログラムである、項目情報生成部１０２及びレイアウト生成部１０３から構成される。
マッピング自動生成部１０４は、同じくプログラムである、作業用マッピング生成部１０５、項目対応列数一覧生成部１０６及びマッピング生成部１０７から構成される。
帳票書式表示部１０８は、同じくプログラムである、マッピング用実データ生成部１０９及びマッピング済書式表示部１１０から構成される。
以下において「○○部は」と主体を記した場合は、中央制御装置１２によって各プログラムが補助記憶装置１３から読み出され、主記憶装置１１にロードされた上で各機能（後記）を実行するものとする。
【０００９】
項目類義語一覧１１１、検索項目一覧１１２、作業用マッピング情報１１３、項目対応列数一覧１１４、マッピング用実データ１１５及びマッピング済帳票書式１１６は、マッピング情報４５が作成される過程で、一時的に生成され主記憶装置１１内で保持されるデータテーブルである。
【００１０】
業務データベース２は、帳票に出力すべき業務上の情報を記憶するデータベースであり、伝票テーブル２１、伝票取引先テーブル２２、取引先マスタ２３、請求一覧２４、請求明細テーブル２５及び商品マスタ２６からなる。これらは、マッピング情報４５（詳細は後記）が生成される過程で各プログラムによって読み出さるものである。
【００１１】
外部記憶装置４には、サンプル帳票４１、利用語一覧４２、網羅率一覧４３、帳票書式４４及びマッピング情報４５が格納されている（いずれも詳細は後記）。
マッピング情報４５は、帳票に記載すべき項目と、その項目の情報が記憶されている業務データベースの位置（列名及びテーブル名）との対応関係を記憶したデータであり、本発明（本実施形態）の成果物といえるものである。
これらのうち、サンプル帳票４１、利用語一覧４２及び網羅率４３一覧は、本実施形態では、作成されていることが前提となっているものであり、マッピング情報４５が作成される過程で本実施形態の各プログラムによって読み出されるものである。一方、帳票書式４４及びマッピング情報４５は、本実施形態の各プログラムにより、作成された上で、記憶されるものである。
【００１２】
（業務データベース２）
図２は、本実施形態に係る業務データベース２の一例を示す図である。
伝票テーブル２１（図２（ａ））には、伝票番号欄２０１に記憶された伝票番号に関連付けて、商品コード欄２０２には商品コードが、数量欄２０３には数量が、取引日欄２０４には取引日がそれぞれ記憶されている。
取引テーブル２２（図２（ｂ））には、伝票番号欄２０５に記憶された伝票番号に関連付けて、取引先コード欄２０６には取引先コードが、請求番号欄２０７には請求番号がそれぞれ記憶されている。
取引先マスタ２３（図２（ｃ））には、取引先コード欄２０８に記憶された取引先コードに関連付けて、取引先名欄２０９には取引先名が、取引先住所欄２１０には取引先住所がそれぞれ記憶されている。
請求一覧２４（図２（ｄ））には、取引先コード欄２１１に記憶された取引先コードに関連付けて、請求日欄２１２には請求日が、件数欄２１３には件数が、金額欄２１４には金額がそれぞれ記憶されている。
請求明細テーブル２５（図２（ｅ））には、請求番号欄２１５に記憶された請求番号に関連付けて、請求日欄２１６には請求日が、小計欄２１７には小計がそれぞれ記憶されている。
商品マスタ２６（図２（ｆ））には、商品コード欄２１８に記憶された商品コードに関連付けて、商品名欄２１９には商品名が、単価欄２２０には単価がそれぞれ記憶されている。
【００１３】
前記した業務データベース２内の各テーブル等は、それぞれの業務上の目的（本発明の内容とは直接関連しないので詳述しない）を有しており、その目的に応じて、各種帳票に、その全体又はその一部が出力される。そして、「○○テーブル」、「○○マスタ」及び「○○一覧」を含んだ概念を「テーブル等」と呼ぶ。また、「テーブル等」は「情報領域」に相当する。
ちなみに、本発明は、業務データベース２上の情報の位置（列名及びテーブル名）と帳票上の出力位置との関連（マッピング情報）が不明になった場合、当該マッピング情報を作成するためのものである。
【００１４】
（「関連テーブル」）
前記した業務データベース２内の各テーブル等において、同名の欄には同一の情報が記憶されている。そして、例えば、伝票テーブル２１の商品コード欄２０２は、商品マスタ２６の商品コード欄２１８から引用したものであり、商品マスタ２６において商品コードの変更があれば、その変更が自動的に、伝票テーブル２１の商品コード欄２０２に及ぶ仕組みとなっている。そして、このことにより、例えば“伝票番号”を検索キーとして、伝票テーブル２１を検索し、該当するテーブルの“商品コード”を取得すると、当該商品コードを検索キーとして、商品マスタ２６を検索することができ、当該検索で該当したレコードの“商品名”及び“単価”を取得することができる。
このような関係は、他にも存在し、図２においては矢印で表示した。矢印の先のテーブル等を、矢印の元のテーブル等の「関連テーブル」という。また、商品マスタ２６は伝票テーブル２１の関連テーブルであり、伝票テーブル２１は取引テーブル２２の関連テーブルである。このとき、商品マスタ２６もまた、取引テーブル２２の「関連テーブル」という。一方、矢印の元のテーブル等を矢印の先のテーブル等の「関連テーブル」とはいわないものとする。なお、「関連情報領域」は、この関連テーブルに相当する。
【００１５】
（サンプル帳票４１）
図３は、本実施形態に係るサンプル帳票４１の一例を示す図である。
サンプル帳票４１は、業務データベース２に記憶されている情報を、マッピング情報４５に基づいて検索し、出力する帳票見本である。
サンプル帳票４１は、もともと実際の帳票（紙面）であり、請求先住所２２１と、請求元住所２２２と、帳票種別として請求書２２３と、項目として請求日２２４と、取引先コード２２５と、請求コード２２６と、小計２３４と、消費税２３５と、ご請求額２３６と
が記載されている。さらにサンプル帳票４１には、表形式で繰り返しのある項目として取引日２２７と、伝票コード２２８と、品名コード２２９と、品名２３０と、数量２３１と、単価２３２と、金額２３３とが記載されている。さらに、サンプル帳票４１には、表形式の図形２３７、その他の図形２３８が記載されている。
当該実際のサンプル帳票４１は、光学式読取装置等の入力装置１４を介して読み込まれると、各項目等が、文字情報あるいは画像情報及びそれらの位置を示す位置情報となって外部記憶装置４に記憶される。当該記憶された電子情報を、以下、「サンプル帳票４１」と言う。
これらの項目及び表形式で繰り返しのある項目は、業務データベース２の何れかのテーブル等の何れかの欄の名称であり、当該項目に続いて記載される値は、当該何れかのテーブル等の何れかの欄に記憶されている値である。しかしながら、「何れか」が不明であるため、本発明によりマッピング情報４５を作成するものである。
【００１６】
（利用語一覧４２）
図４は、本実施形態に係る利用語一覧４２の一例を示す図である。
利用語一覧４２は、各種帳票で使用される用語を記憶した参照用のデータベースである。なお、「所定のルール」は、この利用語一覧に相当する。
帳票種別欄２４１に記憶された帳票種別に関連付けて、候補欄２４２に候補が記憶されている。
帳票種別は、帳票の一般的な名称である。候補は、帳票上で頻繁に利用される語である。これらの帳票種別及び候補は、業務データベース２にて利用されているテーブル等の名称あるいは、欄の名称とは直接関係なく、一般的に世に出ているそのような名称の帳票には、そのような語が頻繁に利用されることを示した辞書的なものである。
【００１７】
（網羅率一覧４３）
図５は、本実施形態に係る網羅率一覧４３の一例を示す図である。
網羅率一覧４３は、目標とする網羅率（マッピング情報４５により業務データベース２から取得できる帳票の項目数を、帳票の全項目で除した率）を帳票種別ごとに定めたデータテーブルである。なお、「基準値」は、この網羅率に相当する。
帳票種別欄２５１に記憶された帳票種別に関連付けて、網羅率欄２５２に網羅率が記憶されている。
【００１８】
（帳票書式４４）
図６は、本実施形態に係る帳票書式４４の一例を示す図である。
帳票書式４４は、サンプル帳票４１に基づき、帳票に記載すべき項目及びそのレイアウトに関する情報を定めたデータである。
帳票種別２６１には帳票種別が記憶されている。
項目情報２６２には、項目欄２６３に記載された項目に関連付けて、繰り返し欄２６４に繰り返し情報が記憶されている。
項目情報は、帳票の可変的データ（日付、各種コード、数量、金額など）の項目である。繰り返し欄２６４には、当該項目が表形式の繰り返しになっている場合、“１”を記憶する。それ以外の場合には何も記憶しない。例えば、図６の例では、項目欄２６３の“取引日”から“金額”までの７つの項目に関連付けて、繰り返し欄２６４に“１”が記憶されている。これは、サンプル帳票４１において、これら７つの項目が、表形式の列の見出しに相当し、見出しに対応する可変的データが複数繰り返して表示されていることを示している。ちなみに、サンプル帳票４１の請求日２２４という項目には、そのすぐ右側に日付という可変的データが入るが、日付は繰り返し表示されるわけではないので、項目欄２６３の“請求日”に関連付けられた繰り返し欄２６４には、何も記憶されていない。
【００１９】
レイアウト２６５は、サンプル帳票４１に表示されるべき項目等の位置情報を、項目等の文字情報と画像情報とともに記憶したものである。
まず、請求書２６７、請求日２６８、取引先コード２６９、請求コード２７０、取引日２７４、伝票コード２７５、品名コード２７６、品名２７７、数量２７８、単価２７９、金額２８０、小計２８８、消費税計２８９、ご請求額２９０及び区切り文字（“：”）２９４は、それぞれが、その文字を示す文字情報と、その文字の位置を示す位置情報の組み合わせである。
次に、図上の破線の長方形２７１〜２７３、２８１〜２８７、２９１〜２９３は、その左側あるいは上側の項目に対応する可変的データの位置情報である。
さらに、罫線２９５、２９６はその図形の画像情報と、その図形の位置を示す位置情報の組み合わせである。
【００２０】
（項目類義語一覧１１１）
図７は、本実施形態に係る項目類義語一覧１１１の一例を示す図である。
項目類義語一覧１１１は、帳票書式４４の項目情報２６２の項目欄２６３に基づいて、項目の類義語を記憶したデータベースである。
項目欄３０１に記憶された項目に関連付けて、類義語欄３０２に類義語が複数記憶されている。
項目は、図６の項目情報２６２における項目と同一である。
類義語は、項目に記憶されている語と同様な意味で使用されている語を公知の方法で収集し記憶したものである（項目に記憶されている語そのものも類義語に含む）。
なお、項目類義語一覧１１１は、公知の方法により作成されたうえで記憶部に記憶されている類義語辞書（図示せず）を参照して作成されるものとする。
【００２１】
（検索項目一覧１１２）
図８は、本実施形態に係る検索項目一覧１１２の一例を示す図である。
検索項目１１２は、後記する作業用マッピング情報１１３を作成する際、業務データベース２を検索する検索キー（検索語）たる検索項目を定義したものである。
項目欄３１１に記憶された項目に関連付けて、検索項目欄３１２に検索項目が１つ又は複数記憶されている。
項目は、図６の項目情報２６２における項目と同一である。
検索項目は、図７の項目類義語一覧１１１の類義語欄３０２の類義語を、利用語一覧４２を用いて、絞り込んだものである（絞り込みの方法は後記する）。
図７と、図８とを比較すると、例えば、図７において、項目“請求日”に対応する類義語である“請求日”及び“請求”のうち“請求”は、図８においては、項目“請求日”に対応する検索項目からは漏れている。この理由は、図４の利用語一覧４２において、“請求書”を帳票種別とし、かつ、“請求”を候補とするレコードが存在しないことによる。
【００２２】
（作業用マッピング情報１１３）
図９は、本実施形態に係る作業用マッピング情報１１３の一例を示す図である。
作業用マッピング情報１１３は、検索項目一覧１１２の検索項目によって業務データベース２を検索した結果である。
項目欄３２１に記憶された項目に関連付けて、列名欄３２２には列名が、テーブル名欄３２３にはテーブル名がそれぞれ１又は複数記憶されている。
項目は、図６の項目情報２６２における項目と同一（但し重複を許す）である。
列名及びテーブル名（「情報領域の名称」に相当する）は、検索項目一覧１１２の検索項目欄３１２に記憶されている語を検索キーとして、業務データベース２の全てのテーブル等の列名（欄の見出し）を検索した際に該当した列名と、その列が存在するテーブル等の名称を、それぞれ記憶したものである。
特許請求の範囲における、検索結果である「項目」、作業用マッピング情報１１３又はマッピング４５の「項目」は、ここでいう列名に相当する。
なお、検索キー（検索項目である語）が２つ以上ある場合、検索はそれらの語の「ｏｒ条件」（論理和）で行われる。
【００２３】
ちなみに、作業用マッピング情報１１３の５〜６行目のレコードは以下のことがらを示している。
すなわち、検索項目一覧１１２の項目“請求コード”を検索するために、検索項目“請求コード”及び“請求番号”を検索キーとして、業務データベース２を検索したところ、テーブル名が“請求明細テーブル”であるテーブル等に、列名が“請求番号”である列（図２（ｅ）の２１５）を発見したこと、また、テーブル名が“取引テーブル”であるテーブル等に、列名が“請求番号”である列（図２（ｂ）の２０７）を発見したこと、である。
同様に、作業用マッピング情報１１３の１行目のレコードは以下のことがらを示している。
すなわち、検索項目一覧１１２の項目“請求日”を検索するために、１つの検索項目“請求日”を検索キーとして、業務データベース２を検索したところ、テーブル名が“請求明細テーブル”であるテーブル等に、列名が“請求日”である列（図２（ｅ）の２１６）を発見したことである。
このように、作業用マッピング情報１１３には、項目欄３２１に同様の文字を有するレコードが２つ以上存在することもある。また、項目欄３２１の文字と列名欄３２２の文字が同一であるとは限らない（６行目のレコードにおいては、“請求コード”≠“請求番号”である）。また、検索の結果、該当しなかった項目もある（下から数えて１、２、４行目のレコードの列名欄３２２及びテーブル名欄３２３は空白のままである）。
【００２４】
（項目対応列数一覧１１４）
図１０は、本実施形態に係る項目対応列数一覧１１４の一例（第１例）を示す図である。
項目対応列数一覧１１４は、作業用マッピング情報１１３において、テーブル名欄３２３に出現した回数の多いテーブル等（検索の結果該当する列名を最も多く提供したテーブル等）がどのテーブル等であるかを明らかにする一覧表である。
項目対応数一覧１１４は、縦軸に項目３３１を、横軸にテーブル名３５１を取って構成される。
項目３３１の符号３３２〜３４４を振った項目は、作業用マッピング情報１１３の項目欄３２１の項目（重複分除く）と同一である（符号３４５〜３４７を振った項目については後記する）。
テーブル名３５１の符号３５２〜３５７を振ったテーブル名は、作業用マッピング情報１１３のテーブル名欄３２３の項目（重複分除く）と同一である。
例えば、作業用マッピング情報１１３の1行目のレコードは、項目対応列数一覧１１４の、項目欄３３１が“請求日”であるレコード（３３２）に対応している。すなわち、作業用マッピング情報１１３において項目“請求日”についての検索で該当する列名を提供したテーブル名は“請求明細テーブル”であるから、それをテーブル名に有する欄（３５５）に、“１”が記憶されている。なお、本実施形態では、“１”以外の数値は記憶されない。
テーブルに含まれる対応列数３４５は、テーブル名ごとの“１”を合計したものである。関連テーブルを含めた対応列数３４６及び網羅率３４７については後記する。
【００２５】
図１１は、本実施形態に係る項目対応列数一覧１１４の一例（第２例）を示す図である。図１１は、図１０と同じ項目対応列数一覧１１４ではあるが、伝票テーブル２１につき同テーブルの「関連テーブル」（前記）も含めて評価した場合の結果を明らかにするものである。
商品マスタ２６（図２（ｆ））は、伝票テーブル２１（図２（ａ））の関連テーブルである。つまり、伝票テーブル２１（図２（ａ））の検索において該当したテーブルの“商品コード”をキーとして商品マスタ２６（図２（ｆ））のレコードを検索すれば商品名欄２１９及び単価欄２２０の値を知ることができる。
このことを反映して、図１１においては、伝票テーブル欄３５２には、品名及び単価のレコードにおいても“１”が（図１０に対して追加的に）記憶されている。
【００２６】
関連テーブルを含めた対応列数３４６は、テーブル名ごとの“１”を、関連テーブル分も含めて合計したものである。網羅率３４７は、関連テーブルを含めた対応列数３４６の値を項目数（ここでは「１３」である）で除した値である。
【００２７】
図１２は、本実施形態に係る項目対応列数一覧１１４の一例（第３例）を示す図である。図１２は、図１０と同じ項目対応列数一覧１１４ではあるが、伝票テーブル２１に加え、取引テーブル２２について、関連テーブルも含めて評価した場合の結果を明らかにするものである。
図１２においては、取引テーブル欄３５４には、請求日、取引日、品名コード、品名、数量、単価及び小計のレコードにおいても“１”が（図１０に対して追加的に）記憶されている。
網羅率３４７を比較すると、伝票テーブル２１をマスタテーブル（後記）とした場合の網羅率“６／１３”よりも、取引テーブル２２をマスタテーブルとした場合の網羅率“１０／１３”の方が高いという評価になる。
なお、テーブル名が伝票テーブルである欄のテーブルに含まれる対応列数３４５には、“０”が記憶されている（図１０においてはここには“４”が記憶されていた）。これは、伝票テーブルを一旦マスタテーブルとして網羅率を評価した結果、マスタテーブルとしての基準に満たなかったことを示している（詳細後記）。
【００２８】
（マッピング情報４５）
図１３は、本実施形態に係るマッピング情報４５の一例（第１例）を示す図である。
マッピング情報４５は、項目対応列数一覧１１４における評価に基づいて、作業用マッピング情報１１３におけるテーブル名欄３２３に記憶されているテーブル等を、１のテーブル等及びその関連テーブルに絞り込んだものである。そして、各項目に関連付けられた、列名とテーブル名が、それぞれ１つに定まるようになっている。
なお、以降、評価の高いテーブル等を選定し、それを基準にマッピング情報４５を作成するものとして説明する。しかしながら、評価が高くなくても（すなわちテーブルに含まれる対応列数又は網羅率が、必ずしも大きく又は高くなくても）任意のテーブル等を基準にしてマッピング情報４５を作成することは可能である。また、関連テーブル分を含む（詳細後記）ことをせず、単独のテーブル等を基準にしてマッピング情報４５を生成することも可能である。
項目欄３６１に記憶された項目に関連付けて、列名欄３６２には列名が、テーブル名欄３６３にはテーブル名がそれぞれ記憶されている。
項目は、図６の項目情報２６２における項目と同一である。
列名及びテーブル名は、図９の作業用マッピング情報１１３における項目及びテーブル名とそれぞれ同一である。
図１１の項目対応列数一覧１１４の伝票テーブル欄３５３に記載されている“１”は合計で６個ある。当該６個の“１”が、図１３のマッピング情報４５のレコードのうち列名欄３６２及びテーブル名欄３６３に列名及びテーブル名を有するレコード（全部で６個ある）に対応している。
したがって、マッピング情報４５の内容（どの項目につき、列名欄３６２及びテーブル名欄３６３が埋まるかあるいは空白のままか、埋まるとしてどのような列名及びどのようなテーブル名で埋まるか）は、どのテーブル等及びその関連テーブルに基づきマッピング情報４５を作成するかによって異なる。
ちなみに、図１３のマッピング情報４５においては、項目“取引日”、“伝票コード”、“品名コード”及び“数量”については、伝票テーブル２１の、列名“取引日”、“伝票番号”、“商品コード”及び“数量”がそれぞれ該当する。項目“品名”及び“単価”については、伝票テーブル２１には該当する列名はないものの、その関連テーブルである“商品マスタ”の列名“商品名”及び“単価”がそれぞれ該当する。
【００２９】
図１４は、本実施形態に係るマッピング情報４５の一例（第２例）を示す図である。
図１４は、図１３と同じマッピング情報４５ではあるが、取引テーブル２２とその関連テーブルに基づいて作成されたものである。
図１２の項目対応列数一覧１１４の取引テーブル欄３５４に記載されている“１”が合計で１０個ある。当該１０個の“１”が、図１４のマッピング情報４５のレコードのうち列名欄３６２及びテーブル名欄３６３に列名及びテーブル名を有するレコード（全部で１０個ある）に対応している。
【００３０】
（マッピング実データ１１５）
図１５は、本実施形態に係るマッピング用実データ１１５の一例を示す図である。
マッピング用実データ１１５は、マッピング情報４５の定義に基づき業務データベース２を検索した結果、取得した実データ（業務データベース２に記憶されている可変的データのうち、マッピング情報４５に従い実際に検索され取得されたデータを「実データ」という）を、マッピング済帳票書式１１６の形式で出力する前に、項目に関連付けて、一時的に記憶しておくデータベースである。
【００３１】
マッピング用実データ１１５の１行目３７１には、繰り返しのない項目の名称を表す文字情報が「“”」に挟まれて連続して記憶されている。各文字情報は区切り記号「，」によって区切られている。
２行目３７２には、１行目３７１の項目の実データを表す文字情報が、対応する１行目３７１の項目の順序と同じ順序で連続して記憶されている。各文字情報は区切り記号「，」によって区切られている。
３行目は空白である。
４行目３７３には、繰り返しのある項目の名称を表す文字情報が「“”」に挟まれて連続して記憶されている。各文字情報は区切り記号「，」によって区切られている。
５行目３７４以下の各行には（図１５の例では６行目３７５までとした）、４行目３７３の項目の実データを表す文字情報が、対応する４行目３７３の項目の順序と同じ順序で連続して、繰り返し記憶されている。各文字情報は区切り記号「，」によって区切られている。
【００３２】
ちなみに、図１５のマッピング用実データ１１５は、図１４のマッピング情報４５（第２例）の定義に基づき業務データベース２を検索した結果である。
具体的には、例えば、図１４の１行目のレコードの項目“請求日”が図１５の１行目３７１の一番左の項目“請求日”と、図１４の１行目のレコードのテーブル名“請求明細テーブル”の列名“請求日”を検索した結果が図１５の２行目３７２の一番左の実データ“２００７年７月１０日”と、それぞれ対応している。
また、図１４の下から１〜２行目の項目については、列名欄３６２及びテーブル名３６３が空白（業務データベース２を検索できない状態）になっているが、このことは、図１５の２行目における「，」で区切られた５〜６番目の「“”」が空白であることに対応している。
【００３３】
（マッピング済帳票書式１１６）
図１６は、本実施形態に係るマッピング済帳票書式１１６の一例を示す図である。
マッピング済帳票書式１１６は、帳票書式４４に対して、破線の長方形で示された実データの位置情報に対応する、マッピング用実データ１１５に記憶されている実データの文字情報を付与したものである。
図６の帳票書式４４のレイアウト２６５、図１５、図１６を対照すると以下のことがらが明らかとなる。
すなわち、レイアウト２６５（図６）の破線の長方形２７１〜２７３、２９１〜２９３で示される位置情報に対して、図１５の２行目３７２の実データが、左から順に割り当てられる。図６の破線の長方形２７１〜２７３、２９１の位置情報に対しては割り当てられるべき実データが存在し、その結果、図１６では“２００７年７月１０日”、“００１−０００１”、“０１００−１２３４５６７８”及び“６０００”が符号３８１〜３８３、３８７を付した位置に出力されている。図６の破線の長方形２９２、２９３の位置情報に対しては割り当てられるべき実データが存在しない（空白）ので、図１６において出力はない。
また、図６の破線の長方形２８１〜２８６の位置情報に対しては、図１５の５行目以降３７４、３７５の実データが、左から順に割り当てられる。図６の破線の長方形２８１〜２８６の位置情報に対しては割り当てられるべき実データが存在し、その結果、図１６では“２００７年５月１５日”、“０１０−００５−２２２２”、“Ｎ００１”、“ノートＡ”、“５０”及び“１００”が表形式３８６の１行目３８４の欄２７４〜２７９に、“２００７年５月１５日”、“０１０−００５−２２２３”、“Ｃ００１”、“クリップＡ”、“１００”及び“１０”が表形式３８６の２行目３８５の欄２７４〜２７９に、それぞれ出力されている。図６の破線の長方形２８７の位置情報に対しては割り当てられるべき実データが存在しない（空白）ので、図１６において出力はない。
【００３４】
（処理手順）
図１７は、本実施形態に係る帳票作成システム処理手順を示すフローチャートである。
以下のステップのうち、Ｓ５２〜Ｓ５７、Ｓ６０、Ｓ６１は、全体的な処理手順を説明するために後記の各ステップの詳細処理手順の全部又は一部を要約又は言い換えて表現したものであり、実際の処理手順は、後記する各詳細処理手順（Ｓ５２１以降）によるものとする。
【００３５】
ステップＳ５１において、帳票書式生成部１０１の項目情報生成部１０２は、サンプル帳票を読み出す。
ステップＳ５２において、項目情報生成部１０２は、帳票書式の項目情報を生成する。（詳細は、図１８を参照し後記する。）
ステップＳ５３において、帳票書式生成部１０１のレイアウト生成部１０３は、帳票書式のレイアウトを生成する。（詳細は、図１９を参照し後記する。）
ステップＳ５４において、マッピング自動生成部１０４の作業用マッピング情報生成部１０５は、作業用マッピング情報を生成する。（詳細は、図２０を参照し後記する。）
ステップＳ５５において、マッピング自動生成部１０４の項目対応列数一覧生成部１０６は、項目対応列数一覧を生成する。（詳細は、図２１を参照し後記する。）
ステップＳ５６において、マッピング自動生成部１０４のマッピング生成部１０７は、項目対応列数一覧において対応列数が最も多いテーブルをマスタテーブルと決定する。（詳細は、図２２を参照し後記する。）
ステップＳ５７において、マッピング生成部１０７は、マスタテーブルの関連テーブルと列名を項目対応列数一覧に追加し、マッピング情報を生成する。（詳細は、図２３を参照し後記する。）
ステップＳ５８において、マッピング生成部１０７は、マスタテーブルの網羅率が帳票種別の網羅率を満たしているか否かを判別する。
満たしている場合（ステップＳ５８“Ｙｅｓ”）は、ステップＳ６０に進む。満たしていない場合（ステップＳ５８“Ｎｏ”）は、ステップＳ５９に進む。
ステップＳ５９において、マッピング生成部１０７は、マスタテーブルの、テーブルに含まれる対応列数の値を“０”に変更する。
ステップＳ６０において、帳票書式表示部１０８のマッピング用実データ生成部１０９は、マッピング用実データを生成する。（詳細は、図２４を参照し後記する。）
ステップＳ６１において、帳票書式表示部１０８のマッピング済帳票書式表示部１１０は、マッピング済帳票書式を表示する。（詳細は、図２５を参照し後記する。）
これにより、全体的な処理手順は終了する。
【００３６】
（ステップＳ５２の詳細処理手順）
図１８は、本実施形態に係るステップＳ５２の詳細処理手順を示すフローチャートである。
ステップＳ５２１において、項目情報生成部１０２は、繰り返しのない項目情報を設定する。
具体的には、第一に、サンプル帳票４１から、区切り文字「：」を検索する。
第二に、区切り文字の左側の文字列を各項目の名称として帳票書式４４の項目情報２６２の項目欄２６３に設定する。
【００３７】
ステップＳ５２２において項目情報生成部１０２は、繰り返しのある項目情報を設定する。
具体的には、第一に、サンプル帳票４１から、表形式を検索する。
第二に、表形式の先頭行の文字列を各項目の名称として帳票形式４４の項目情報２６２の項目欄２６３に設定する。
第三に、「第二」にて記憶した項目に対応する繰り返し欄２６４に“１”を設定する。
ここで、ステップＳ５２の詳細処理手順は終了する。
【００３８】
（ステップＳ５３の詳細処理手順）
図１９は、本実施形態に係るステップＳ５３の詳細処理手順を示すフローチャートである。
ステップＳ５３１において、レイアウト生成部１０３は、帳票種別を設定する。具体的には、サンプル帳票４１から帳票の文字フォントが最も大きい文字列を帳票種別として切り出し、帳票書式４４の帳票種別２６１に設定する。
【００３９】
ステップＳ５３２において、レイアウト生成部１０３は、項目（可変的データ）の位置情報を設定する。具体的には、サンプル帳票４１にて区切り文字の右側の可変的データ及び表形式の２行目以下の可変的データの位置情報を取得し、帳票書式４４のレイアウト２６５に設定する。
位置情報は、例えば、始点のＸ座標、始点のＹ座標、終点のＸ座標と始点のＸ座標との差、終点のＹ座標と始点のＹ座標の差をこの順で組にした「（Ｘ，Ｙ，Ｗ，Ｈ）」として記憶されるものとする（位置情報の記憶の仕方は以降も同様とする）。
【００４０】
ステップＳ５３３において、レイアウト生成部１０３は、項目（可変的データ以外）の文字情報と位置情報を設定する。具体的には、ステップＳ５３１で切り出した帳票種別、ステップ５２１で検索した区切り文字「：」及びステップＳ５２１、Ｓ５２２にて項目欄２６３に設定した項目の名称の文字情報及び位置情報を取得し、帳票書式４４のレイアウト２６５に設定する。
【００４１】
ステップＳ５３４において、レイアウト生成部１０３は、表形式の図形情報と位置情報を設定する。具体的には、サンプル帳票４１の表形式につき、図形情報（例えば表の列数、行数、罫線種類等）及び位置情報を取得し、帳票形式４４のレイアウト２６５に設定する。
【００４２】
ステップＳ５３５において、レイアウト生成部１０３は、その他の図形の図形情報と位置情報を設定する。具体的には、サンプル帳票４１のその他の図形につき、図形情報（例えば、長方形・円形等の図形種類、罫線種類等）及び位置情報を取得し、帳票形式４４のレイアウト２６５に設定する。
その後、帳票書式４４を外部記憶装置４に記憶する。
ここで、ステップＳ５３の詳細処理手順は終了する。
【００４３】
（ステップＳ５４の詳細処理手順）
図２０は、本実施形態に係るステップＳ５４の詳細処理手順を示すフローチャートである。
ステップＳ５４１において、作業用マッピング生成部１０５は、帳票書式の項目を類義語に展開する。
具体的には、第一に、外部記憶装置４から、帳票書式４４を読み出す。
第二に、読み出した帳票書式４４の項目情報２６２の項目欄２６３の各項目の類義語を、公知の方法により、それぞれにつき２つ以上取得する。
【００４４】
ステップＳ５４２において、作業用マッピング生成部１０５は、項目類義語一覧を生成する。具体的には、ステップＳ５４１で取得した類義語を、項目に関連付けて記憶した項目類義語一覧１１１（図７）を作成する。
【００４５】
ステップＳ５４３において、作業用マッピング生成部１０５は、外部記憶装置４から、利用語一覧を読み出す。
【００４６】
ステップＳ５４４において、作業用マッピング生成部１０５は、類義語を利用語一覧内で検索する。
具体的には、第一に、項目類義語一覧１１１の１行目のレコードの類義語欄３０２に記憶されている最初の類義語を検索キーとして、利用語一覧４２の候補欄２４２を検索する。
第二に、検索の結果、同一の候補が存在し、かつ、当該候補の帳票種別が、帳票書式４４の帳票種別２６１と一致する場合は、当該検索キーたる類義語を一旦主記憶装置１１内で保持する。それ以外の場合は、次の類義語を検索キーとして同様の検索を繰り返す。
なお、当該検索は、項目類義語一覧１１１の類義語欄３０２に記憶されている全ての類義語について行うものとし、検索キーとする順番は、１行目の類義語を左から右へ、２行目の類義語を左から右へ、・・・、最終行の類義語を左から右へという順番（“請求日”→“請求”→“取引先コード”→“取引先”→・・・→“ご請求額”→“請求額”→“請求”）とする。
【００４７】
ステップＳ５４５において、作業用マッピング生成部１０５は、検索項目一覧を作成する。
具体的には、第一に、項目類義語一覧１１１から、ステップ５４４にて一旦保持した類義語以外の類義語を消去する。
第二に、類義語欄の見出し「類義語」を「検索項目」に変更し、検索項目一覧１１２（図８）を作成する。
【００４８】
ステップＳ５４６において、作業用マッピング生成部１０５は、業務データベース内を検索する。
具体的には、第一に、検索項目一覧１１２の検索項目欄３１２の全ての検索項目を検索キーとして、業務データベース２の全てのテーブル等につき、列名を検索する。
第二に、該当した列名と、その列名が属するテーブル等の名を一旦主記憶装置１１内で保持する。
【００４９】
ステップＳ５４７において、作業用マッピング生成部１０５は、作業用マッピング情報を作成する。具体的には、検索項目一覧１１２の検索項目３１１に対応する項目に関連付けて、ステップＳ５４６にて一旦記憶した列名及びテーブル等の名を記憶させることにより、作業用マッピング情報１１３を作成する。
ステップ５４６における１の検索キーで複数の該当がある場合は全てにつき、レコードを作成する（例えば、項目が“請求日”のレコードは２つある）。また、該当がなかった場合は、列名及びテーブル名を空白として１つのレコード（例えば、項目が“小計”のレコード）を作成する。
その後、作業用マッピング情報１１３を主記憶装置１１に記憶する。
ここで、ステップＳ５４の詳細処理手順は終了する。
【００５０】
（ステップＳ５５の詳細処理手順）
図２１は、本実施形態に係るステップＳ５５の詳細処理手順を示すフローチャートである。
ステップＳ５５１において、項目対応列数一覧生成部１０６は、作業用マッピング情報１１３を読み出す。
具体的には、作業用マッピング情報１１３を主記憶装置１１から読み出したうえで、項目欄３２１及びテーブル名３２３の値を取得する。
【００５１】
ステップＳ５５２において、項目対応列数一覧生成部１０６は、項目対応列数一覧のフォーマットを作成する。
具体的には、第一に、ステップ５５１で取得した項目欄３２１の値（同一の値が２以上ある場合は１つ）を縦軸に、テーブル名３２３の値（同一の値が２以上ある場合は１つ）を横軸に取る一覧表のフォーマットを作成する。
第二に、縦軸の下部に、テーブルに含まれる対応列数３４５、関連テーブルを含めた対応列数３４６及び網羅率３４７の行を追加する。この時点で、図１０の項目対応列数一覧１１４（“１”等の数値がないもの）が完成する。
【００５２】
ステップＳ５５３において、項目対応列数一覧生成部１０６は、一致するセルに“１”を設定する。
具体的には、第一に、作業用マッピング情報１１３のレコードを上から順に参照していき、項目欄３２１の値と、テーブル名欄３２３の値との組み合わせを取得する。
第二に、「第一」で取得した組み合わせのそれぞれにつき、項目を有する項目対応列数一覧１１４の行と、テーブル名を有する項目対応列数一覧１１４の列とが交差するセルに“１”を設定する。
【００５３】
ステップＳ５５４において、項目対応列数一覧生成部１０６は、テーブル名に含まれる対応列数を合計する。具体的には、項目対応列数一覧１１４の各列のテーブルに含まれる対応列数の行３４５に、ステップＳ５５３で設定した各列の“１”を合計して記憶する。
その後、項目対応列数一覧１１４を主記憶装置１１に記憶する。
ここで、ステップＳ５５の詳細処理手順は終了する。
【００５４】
（ステップＳ５６の詳細処理手順）
図２２は、本実施形態に係るステップＳ５６の詳細処理手順を示すフローチャートである。
ステップＳ５６１において、マッピング生成部１０７は、ｎ（カウント値）＝１とする。
【００５５】
ステップＳ５６２において、マッピング生成部１０７は、ｎ番目のテーブル名をマスタテーブルとする。なお、ｎ番目とは、項目対応列数一覧１１４においてテーブル名を左から数えた場合のｎ番目を意味する。
【００５６】
ステップＳ５６３において、マッピング生成部１０７は、マスタテーブルのテーブルに含まれる対応列数≧ｎ＋１番目のテーブル名のテーブルに含まれる対応列数であるか否かを判別する。
具体的には、項目対応列数一覧１１４のマスタテーブルの、テーブルに含まれる対応列数の行３４５の値と、ｎ＋１番目のテーブル名の、テーブルに含まれる対応列数の行３４５の値とを比較する。前者が後者以上である場合（ステップ５６３“Ｙｅｓ”）は、ステップＳ５６５に進む。それ以外の場合（ステップＳ５６３“Ｎｏ”）は、ステップ５６４に進む。
【００５７】
ステップＳ５６４において、マッピング生成部１０７は、ｎ＋１番目のテーブル名をマスタテーブルとする。
【００５８】
ステップＳ５６５において、マッピング生成部１０７は、ｎ＝ｎ＋１とする。
【００５９】
ステップＳ５６６において、マッピング生成部１０７は、ｎがテーブル名の個数に達したか否かを判別する。達していない場合（ステップ５６６“Ｎｏ”）はステップＳ５６３へ戻る。達している場合（ステップＳ５６６“Ｙｅｓ”）はステップＳ５６の詳細処理手順を終了する。
【００６０】
以上ステップＳ５６１〜Ｓ５６６によって、項目対応列数一覧１１４においてテーブルに含まれる対応列数の行３４５に最も大きな数値を有するテーブル名（同数のテーブル名が複数ある場合は最も左のテーブル名）が「マスタテーブル」とされることになる。
なお、なお、図１７のステップＳ５９を経由して、ステップＳ５６に繰り返し進んできた場合は、ステップＳ５８において網羅率が満たされないと判断された「マスタテーブル」のテーブルに含まれる対応列数の行３４５の値には“０”が設定されている。従って、ステップＳ５６３の判別においては数的に劣後（“０”は最も小さい数である）し、網羅率が満たされなかった「マスタテーブル」が再び「マスタテーブル」となることはない。テーブルに含まれる対応列数が次に大きいテーブル名が、繰り上がりで「マスタテーブル」となる。
【００６１】
（ステップＳ５７の詳細処理手順）
図２３は、本実施形態に係るステップＳ５７の詳細処理手順を示すフローチャートである。
ステップＳ５７１において、マッピング生成部１０７は、マッピング情報を生成する。
具体的には、第一に、作業用マッピング情報１１３を読み出す。
第二に、テーブル名欄３２３に「マスタテーブル」であるテーブル名以外のテーブル名を有するレコードを全て消去する。
第三に、「第二」の消去によって項目が消滅した場合は、列名欄３２２及びテーブル名欄３２３が空白である、当該項目のレコードを復活させる。
つまり、項目欄３２１には重複しない項目が格納され、テーブル名欄３２３には「マスタテーブル」であるテーブル名のみが記憶され、列名欄３２２には、「マスタテーブル」であるテーブル名の列名が記憶されているマッピング情報４５が作成される。
【００６２】
ステップＳ５７２において、マッピング生成部１０７は、マスタテーブルの関連テーブルを取得する。「関連テーブル」については前記した通りである。
【００６３】
ステップＳ５７３において、マッピング生成部１０７は、検索項目で関連テーブルの列名を検索する。
具体的には、検索項目一覧１１２の検索項目欄３１２の全ての検索項目を検索キーとして、業務データベース２のうちの、全ての関連テーブルの列名を検索する。当該検索は、検索項目の数と関連テーブルの列数を乗じた回数だけ繰り返される。
【００６４】
ステップＳ５７４において、マッピング生成部１０７は、マッピング情報に関連テーブル名、列名を追加する。
具体的には、ステップＳ５７３の検索の結果、該当した列名及び、関連テーブル名を、マッピング情報４５の項目に関連付けて、列名欄３６２及びテーブル名欄３６３にそれぞれ記憶する。
このステップで、関連テーブルを利用したマッピング情報４５が完成する。ちなみに、図１３は、マスタテーブルたる伝票テーブル２１とその関連テーブルを利用したマッピング情報４５の例である。
【００６５】
ステップＳ５７５において、マッピング生成部１０７は、項目対応列数一覧１１４に“１”を追加する。
具体的には、第一に、マッピング情報４５のレコード（テーブル名欄３６３に関連テーブル名が記憶されているレコードのみ）を上から順に参照していき、項目欄３６１の値と、テーブル名欄３６３の値との組み合わせを取得する。
第二に、項目対応列数一覧１１４を読み出し、「第一」で取得した組み合わせのそれぞれにつき、項目を有する項目対応列数一覧１１４の行と、テーブル名を有する項目対応列数一覧１１４の列とが交差するセルに“１”を設定する。
【００６６】
ステップＳ５７６において、マッピング生成部１０７は、関連テーブルを含めた対応列数に合計値を設定する。具体的には、項目対応列数一覧１１４の、マスタテーブルであるテーブル名の列の、関連テーブルを含めた対応列数の行３４６に、ステップＳ５５３で設定した当該列の“１”と、ステップＳ５７５で追加した“１”とを合計して記憶する。
【００６７】
ステップＳ５７７において、マッピング生成部１０７は、網羅率を設定する。
具体的には、ステップＳ５７６で設定した合計値を項目数で除し、その計算結果を網羅率の行３４７に記憶する。
その後、マッピング情報４５を外部記憶装置４に記憶し、項目対応列数一覧１１４（図１１）を主記憶装置１１に記憶して、Ｓ５７の処理手順は終了する。
ちなみに、図１１は、伝票テーブル２１をマスタテーブルとして網羅率を設定した項目対応列数一覧１１４の例である
【００６８】
なお、ステップＳ５９を経由した後、ステップＳ５６において、繰り上がりで請求明細テーブル２５がマスタテーブルとなり、ステップ５７に進んできた場合は、ステップＳ５７４で完成されるマッピング情報４５の例は図１４の如くであり、ステップ５７７において網羅率を設定した項目対応列数一覧１１４の例は図１２の如くである。
【００６９】
（ステップＳ５８）
ステップＳ５８をさらに詳細に説明する。
ステップＳ５８において、マッピング生成部１０７は、第一に、網羅率一覧４３（図５）を外部記憶装置４から読み出す。
第二に、ステップＳ５３１において設定した帳票種別２６１を検索キーとして、「第一」で読み出した網羅率一覧４３の帳票種別欄２５１を検索する。
第三に、該当したレコードの網羅率欄２５２の値を取得する。
第四に、「第三」で取得した値と、ステップＳ５７７にて設定した網羅率とを比較する。
第五に、ステップＳ５７７にて設定した網羅率が、「第三」で取得した値以上である場合（ステップＳ５８“Ｙｅｓ”）は、ステップＳ６０に進む。それ以外の場合（ステップＳ５８“Ｎｏ”）は、ステップＳ５９に進む。
【００７０】
（ステップＳ５９）
前記したように、マッピング生成部１０７は、マスタテーブルの、テーブルに含まれる対応列数の値を“０”に変更する。この処理は、一旦ステップＳ５８において網羅率が基準値を満たさないと判断されたテーブル名が、ステップＳ５６において、再度マスタテーブルとされることを防止するための処理である。
【００７１】
ステップＳ５６〜Ｓ５９において、マッピング生成部１０７の行っている処理をまとめて再度説明すると以下のようになる。
（１）テーブルに含まれる対応列数が最大であるテーブル名をマスタテーブルとして仮に選定する。
（２）マスタテーブルにつき、関連テーブルを含めた対応列数に基づき網羅率を算出する。
（３）網羅率が基準を満たさない場合は、（１）におけるマスタテーブルの選定をやり直す。
（４）基準を満たす網羅率を有するマスタテーブルと関連テーブルの組み合わせに基づくマッピングを作成する。
つまり、たとえ単体としてはテーブルに含まれる対応列数が最大ではなくとも、関連テーブルを含めた対応列数が最大であるテーブル名を見つけ出したうえで、マッピングを作成している。
なお、本実施形態では、基準を満たす網羅率を有する、マスタテーブルとその関連テーブルの組み合わせが複数存在する場合であっても、最初に基準を満たす組み合わせが発見された時点でステップＳ５６〜Ｓ５９の処理を終了する。しかしながら、あらゆる組み合わせの網羅率を計算し、網羅率が最大の組み合わせを取得する形態とすることも可能である。
【００７２】
（ステップＳ６０の詳細処理手順）
図２４は、本実施形態に係る、本実施形態に係るステップＳ６０の詳細処理手順を示すフローチャートである。
ステップＳ６０１において、マッピング用実データ生成部１０９は、業務データベースを検索する。
具体的には、第一に、マッピング情報４５を外部記憶装置４から読み出し、列名欄３６２の値と、テーブル名欄３６３の値を取得する。
第二に、「第一」で取得したテーブル名のテーブル等において、「第一」で取得した列名を検索キーとして実データを取得する。
【００７３】
ステップＳ６０２において、マッピング用実データ生成部１０９は、繰り返しのない項目とその実データとをマッピング用実データに設定する。
具体的には、第一に、帳票書式４４を外部記憶装置４から読み出す。
第二に、項目情報２６２の項目２６３のうち、繰り返し欄２６４に“１”が記憶されていない項目を取得する。
第三に、「第二」で取得した各項目を「“”」で囲み、項目間は「，」で区切り、マッピング用実データ１１５の１行目に出力する。
第四に、ステップＳ６０１の「第二」で取得した実データを「“”」で囲み、実データ間は「，」で区切り、マッピング用実データ１１５の２行目に、対応する項目が出力されている順序と同じ順序で出力する。
【００７４】
ステップＳ６０３において、マッピング用実データ生成部１０９は、繰り返しのある項目とその実データとをマッピング用実データに設定する。
具体的には、第一に、項目情報２６２の項目２６３のうち、繰り返し欄２６４に“１”が記憶されている項目を取得する。
第二に、「第一」で取得した各項目を「“”」で囲み、項目間は「，」で区切り、マッピング用実データ１１５の４行目に出力する。
第三に、ステップＳ６０１の「第二」で取得した実データを「“”」で囲み、実データ間は「，」で区切り、マッピング用実データ１１５の５行目以降に、対応する項目が出力されている順序と同じ順序で、繰り返し出力する。
第四に、マッピング用実データ１１５を主記憶装置１１に記憶する。
ここで、ステップＳ６０の詳細処理手順は終了する。
【００７５】
（ステップＳ６１の詳細処理手順）
図２５は、本実施形態に係る、本実施形態に係るステップＳ６１の詳細処理手順を示すフローチャートである。
ステップＳ６１１において、マッピング済帳票書式表示部１１０は、実データ以外の部分を埋めたマッピング済帳票書式を生成する。
具体的には、第一に、主記憶装置１１からマッピング用実データ１１５を読み出し、外部記憶装置４から帳票書式４４を読み出す。
第二に、「第一」で読み出した帳票書式４４のレイアウト２６５上に設定されている、全ての項目、全ての表形式及び全てのその他の図形の文字情報又は図形情報及び位置情報（ステップＳ５３２〜Ｓ５３５において設定した情報）の複製を作成し、それをマッピング済帳票書式１１６とする。
このとき、「第一」で読み出したマッピング用実データ１１５の繰り返しのある実データの行数（５行目以降の行数である）をカウントし、その行数に見合った大きさの表形式２９５（３８６）を生成するものとする。
【００７６】
ステップＳ６１２において、マッピング済帳票書式表示部１１０は、繰り返しのない項目に実データを設定する。
具体的には、第一に、マッピング実データ１１５を読み出し、１行目のｎ番目の「“”」で囲まれた文字情報を検索キーとしてマッピング済帳票書式１１６を検索する。
第二に、「第一」で該当した項目の位置情報に基づいて、２行目のｎ番目の「“”」で囲まれた文字情報を設定する。
【００７７】
ステップＳ６１３において、マッピング済帳票書式表示部１１０は、繰り返しのある項目に実データを設定する。
具体的には、第一に、マッピング実データ１１５を読み出し、４行目のｍ番目の「“”」で囲まれた文字情報を検索キーとしてマッピング済帳票書式１１６を検索する。
第二に、「第一」で該当した項目の位置情報に基づいて、５行目以降のｍ番目の「“”」で囲まれた文字情報を設定する。
【００７８】
ステップＳ６１４において、マッピング済帳票書式表示部１１０は、マッピング済帳票書式１１６を画面に表示する。
ここで、ステップＳ６１の詳細処理手順は終了する。
【図面の簡単な説明】
【００７９】
【図１】本実施形態に係る全体構成図である。
【図２】本実施形態に係る業務データベースの一例である。
【図３】本実施形態に係るサンプル帳票の一例である。
【図４】本実施形態に係る利用語一覧の一例である。
【図５】本実施形態に係る網羅率一覧の一例である。
【図６】本実施形態に係る帳票書式の一例である。
【図７】本実施形態に係る項目類義語一覧の一例である。
【図８】本実施形態に係る検索項目一覧の一例である。
【図９】本実施形態に係る作業用マッピング情報の一例である。
【図１０】本実施形態に係る項目対応列数一覧の一例（第１例）である。
【図１１】本実施形態に係る項目対応列数一覧の一例（第２例）である。
【図１２】本実施形態に係る項目対応列数一覧の一例（第３例）である。
【図１３】本実施形態に係るマッピング情報の一例（第１例）である。
【図１４】本実施形態に係るマッピング情報の一例（第２例）である。
【図１５】本実施形態に係るマッピング用実データの一例である。
【図１６】本実施形態に係るマッピング済帳票書式の一例である。
【図１７】本実施形態に係る帳票作成システム処理手順を示すフローチャートである。
【図１８】本実施形態に係るステップＳ５２の詳細処理手順を示すフローチャートである。
【図１９】本実施形態に係るステップＳ５３の詳細処理手順を示すフローチャートである。
【図２０】本実施形態に係るステップＳ５４の詳細処理手順を示すフローチャートである。
【図２１】本実施形態に係るステップＳ５５の詳細処理手順を示すフローチャートである。
【図２２】本実施形態に係るステップＳ５６の詳細処理手順を示すフローチャートである。
【図２３】本実施形態に係るステップＳ５７の詳細処理手順を示すフローチャートである。
【図２４】本実施形態に係るステップＳ６０の詳細処理手順を示すフローチャートである。
【図２５】本実施形態に係るステップＳ６１の詳細処理手順を示すフローチャートである。
【符号の説明】
【００８０】
１      帳票作成装置
２      業務データベース
３      ネットワーク
４      外部記憶装置
１１    主記憶装置
１２    中央制御装置
１３    補助記憶装置
１４    入出力装置
２１    伝票テーブル
２２    取引テーブル
２３    取引先マスタ
２４    請求一覧
２５    請求明細テーブル
２６    商品マスタ
４１    サンプル帳票
４２    利用語一覧
４３    網羅率一覧
４４    帳票書式
４５    マッピング情報
１０１  帳票書式生成部
１０２  項目情報生成部
１０３  レイアウト生成部
１０４  マッピング自動生成部
１０５  作業用マッピング生成部
１０６  項目対応列数一覧生成部
１０７  マッピング生成部
１０８  帳票書式表示部
１０９  マッピング用実データ生成部
１１０  マッピング済帳票書式生成部
１１１  項目類義語一覧
１１２  検索項目一覧
１１３  作業用マッピング情報
１１４  項目対応列数一覧
１１５  マッピング用実データ
１１６  マッピング済帳票書式
３４５  テーブルに含まれる対応列数
３４６  関連テーブルを含めた対応列数
３４７  網羅率
【図１】
2009128958.tif 000003
【図２】
2009128958.tif 000004
【図３】
2009128958.tif 000005
【図４】
2009128958.tif 000006
【図５】
2009128958.tif 000007
【図６】
2009128958.tif 000008
【図７】
2009128958.tif 000009
【図８】
2009128958.tif 000010
【図９】
2009128958.tif 000011
【図１０】
2009128958.tif 000012
【図１１】
2009128958.tif 000013
【図１２】
2009128958.tif 000014
【図１３】
2009128958.tif 000015
【図１４】
2009128958.tif 000016
【図１５】
2009128958.tif 000017
【図１６】
2009128958.tif 000018
【図１７】
2009128958.tif 000019
【図１８】
2009128958.tif 000020
【図１９】
2009128958.tif 000021
【図２０】
2009128958.tif 000022
【図２１】
2009128958.tif 000023
【図２２】
2009128958.tif 000024
【図２３】
2009128958.tif 000025
【図２４】
2009128958.tif 000026
【図２５】
2009128958.tif 000027