図1は、実施形態に係る定義ファイルについて説明するための図である。上述したように定義ファイルは、過去に作成された帳票の対象項目やデータ項目が定義されているバイナリファイルである。図1において、定義ファイルには、対象項目として「顧客名」、「売上形態」、「センター名」が記録されている。
利用者は定義ファイルを使用することによって、帳票の作成を容易に行うことができる。例えば利用者は、定義ファイルを使用することによって、以前作成した帳票を復元することができる。また利用者は、定義ファイルを使用して復元した帳票を再編集することができ、復元した帳票を基に新たな帳票を作成することもできる。さらに利用者は、定義ファイルの内容を参照することによって、過去に作成された帳票の対象項目やデータ項目を参照し、新規の帳票の作成のための対象項目の選択の参考にすることができる。
ここで、比較例として、定義ファイルの作成に帳票作成者による所定のアクションを要する帳票ソフトウェアについて考える。比較例の帳票ソフトウェアの運用においては、新しい帳票の作成のための十分な定義ファイルが保存されないことがある。定義ファイルが充実しない要因として例えば、帳票作成者が定義ファイル作成のためのアクションを起こさないケースが多発することが考えられる。これは、帳票作成者にとって定義ファイル生成のための作業が負担となることがあり、また、帳票ソフトウェアの操作に慣れた熟練の利用者にとっては、帳票作成に慣れているため、定義ファイルを保存しなくても良いという意識が働くことがあるために発生する。しかしながら、経験の少ない利用者にとっては、熟練者にとって保存不要と判断されるような定義ファイルであっても有用な情報になりうる場合もある。
また比較例の帳票ソフトウェアにおいては、大量の定義ファイルが保存されていたとしても、利用者にとって、それらの大量の定義ファイルの中から、新しい帳票の作成に使用する適切な定義ファイルを選別することが困難である場合がある。
図2は、実施形態に係る情報処理装置の一実施例の構成を図解した機能ブロック図である。情報処理装置1は、記憶部2、取得部3、生成部4、及び、記憶処理部5を含む。
記憶部2は、情報を格納する。
取得部3は、データベースに記憶されたデータに基づいて生成される帳票データに含める項目の指定に応じて発行される項目に関するデータベースへの問合せ内容を含む問合せ情報を取得する。
生成部4は、取得部3により取得された問合せ情報から、帳票データの属性情報を生成する。
記憶処理部5は、生成部4により生成された属性情報を、指定された項目を含むように生成された帳票データと関連付けて記憶部2に記憶する。
属性情報を帳票データと関連付けて記憶部2に格納することにより、既存の帳票データを有効活用して利用者による帳票の作成を容易にするために帳票データの管理をすることができる。また、問合せ情報に基づいて、帳票データの属性情報を生成することにより、作成された帳票データから属性情報を生成する場合と比べて、帳票データの属性情報の生成にかかる処理負荷を軽減することができる。
また、生成部4は、指定された項目を含むように生成された帳票データが所定の条件を満たす場合に、属性情報を生成する。具体的には生成部4は、帳票データの編集回数またはダウンロード回数が所定回数以上である場合、属性情報を生成する。所定の条件を満たす帳票データについて属性情報を作成することにより、利用者にとって有益と考えられる帳票を選別して、選別した帳票についての属性情報を生成することができる。
また、問い合わせ内容を含む情報は、データベースに対して問い合わせをするためのコンピュータ言語で記述された情報である。これにより、帳票データの属性情報の生成にかかる処理負荷を軽減することができる。
また、生成部4は、生成された帳票データに含まれる項目の再指定に応じて発行される再指定された項目に関するデータベースへの再問合せ内容を含む再問合せ情報を取得した場合、取得した再問合せ情報から、帳票データの属性情報を生成する。そして、記憶処理部5は、生成部4により生成された属性情報を、再指定された項目を含むように生成された帳票データと関連付けて記憶部2に記憶する。これにより、既存の帳票データを有効活用して利用者による帳票の作成を容易にするために帳票データの管理をすることができる。
取得部3は、さらに、帳票データの編集の完了指示を取得する。そして生成部4は、取得部3により完了指示が取得された時点において所定の条件を満たす場合、属性情報を生成し、取得部3により完了指示が取得された時点において所定の条件を満たさない場合、属性情報を生成しない。これにより、誤って作成されたと考えられる帳票の属性情報の生成を抑制することができる。
図3は、実施形態に係る情報処理システムの構成の一例を示す。図3において、情報処理システムは、クライアント端末21と帳票作成装置22を含む。クライアント端末21と帳票作成装置22は、通信ネットワーク等を介して接続される。先ずクライアント端末21の詳細について説明し、その後帳票作成装置22の詳細について説明する。
クライアント端末21は、帳票作成装置22に対して帳票に関する指示を送信し、その応答として帳票に関する指示の結果を取得する情報処理装置である。
帳票に関する指示は、帳票の作成指示、作成した帳票に対する種々の操作指示、帳票の作成の終了指示、及び属性項目表示指示などの種類がある。作成指示には、作成する帳票に含める対象項目を指定するための情報が含まれる。操作指示は、例えば、作成した帳票のダウンロード指示、作成した帳票に基づいた帳票の再作成指示などの種類がある。
クライアント端末21は利用者から帳票に関する指示を受け付け、帳票に関する指示に、その指示の種類の判別が可能な情報を含めて帳票作成装置22に送信する。帳票に関する指示の送信及びその結果の取得は、例えば、Webアプリケーションを介して行われる。Webアプリケーションを介する帳票に関する指示の送信及びその結果の取得の様子を、図4及び図5を参照して説明する。
図4は、帳票の作成指示の発行を行う際にクライアント端末21で実行されるWebアプリケーション画面の一例である。クライアント端末21のディスプレイに、例えば、図4の帳票作成画面40が表示されている。図4において、「対象項目一覧」フィールド41には、帳票データに含めることのできる対象項目の一覧が表示されている。クライアント端末21は、利用者から入力として、作成指示に含める対象項目の選択を受け付ける。すなわち、作成指示に含める対象項目の選択において利用者は、「対象項目一覧」フィールド41に表示された対象項目の一覧から、作成する帳票で用いる対象項目を選択し、「編集」フィールド42へドラッグアンドドロップすることで、帳票作成指示に含める対象項目を選択する。図4では、「顧客名」、「半期別」、「売上」の対象項目が選択されている。そしてクライアント端末21は、利用者による「実行」ボタンの押下に対応する入力を受け付けることで、帳票作成指示を帳票作成装置22に送信する。
図4の帳票作成画面40において、利用者による「All Clear」ボタン43または閉じるボタン45の押下に対応する入力を受け付けることでクライアント端末21は、終了指示を帳票作成装置22に送信する。
図5は、クライアント端末21で実行されるWebアプリケーションにおいて、作成指示の応答として取得した帳票を表示する帳票表示画面の一例である。図5の帳票表示画面50において表示された帳票データ51は、図4で発行された作成指示に対応するものであり、図4の画面で選択された対象項目「顧客名」、「半期別」、「売上」を集計軸とする帳票が出力されている。図5の画面では、「半期」毎の「売上」が、「顧客名」毎に集計されて出力されている。
図5の帳票表示画面50において、クライアント端末21は、利用者による「戻る」ボタン52の押下に対応する入力を受け付けることによって、アプリケーションの画面を再度図4の帳票作成画面40に遷移させる。「戻る」ボタン52が押下されたことにより遷移した帳票作成画面40は、前回の作成指示において選択された対象項目が「編集」フィールド42に選択された状態で表示される。そしてクライアント端末21は、利用者から、再度対象項目の選択を受け付け、さらに、「実行」ボタン44の押下に対応する入力を受け付けることで、帳票の再作成指示を帳票作成装置22に送信する。
図5の帳票表示画面において、クライアント端末21は、利用者による「ダウンロード」ボタン53の押下に対応する入力を受け付けることによって、ダウンロード指示を帳票作成装置22に送信する。そしてダウンロード指示の応答として、クライアント端末21は、帳票表示画面50に表示されている帳票のデータを受信し、所定の記憶領域に保存する。ダウンロードは、Webアプリケーションの画面上では実行できない処理を行うために実行される。クライアント端末21は、帳票データをダウンロードし、ダウンロードした帳票データに対して、種々の処理を実行する。
図5の帳票表示画面において、クライアント端末21は、利用者による閉じるボタン54の押下に対応する入力を受け付けることによって、終了指示を帳票作成装置22に送信する。
図3の説明に戻る。次に帳票作成装置22の詳細について説明する。帳票作成装置22は、クライアント端末21から帳票に関する指示を受信し、指示に応じて帳票に関する処理を実行して結果をクライアント端末21に送信する情報処理装置である。
帳票作成装置22は、種々のデータを記憶するデータベース31を有する。帳票作成装置22は、クライアント端末21から帳票作成指示を受信すると、受信した指示で指定された対象項目に関してデータベース31に問い合わせを行い、帳票を生成する。そして帳票作成装置22は、生成した帳票に関する情報をクライアント端末21に送信する。このとき帳票作成装置22は、作成した帳票が所定の条件を満たす場合、帳票の定義ファイルを生成するとともに、帳票の性質を示す属性項目を生成する。属性項目は、具体的には、帳票に含まれる対象項目または対象項目に関連する情報である。属性情報は、帳票を特徴付ける情報であってもよい。そして帳票作成装置22は、生成した定義ファイルと属性情報を対応付けて記憶部23に保存する。尚、帳票作成装置22の処理の一部は、クライアント端末21と通信を行うWebアプリケーションにより実行されてもよい。
実施形態に係る帳票作成装置22は、作成した帳票が所定の条件を満たす場合に、定義ファイルを作成する。これにより帳票作成装置22は、所定の条件を満たす良質な帳票に対応する定義ファイルを漏れなく生成することができる。比較例と比較すると、帳票作成装置22は、帳票作成者の定義ファイルの生成に要する作業負荷を軽減することができる。さらに、実施形態に係る帳票作成装置22は。定義ファイルを充実させることができるため、利用者が初心者であるか熟練者であるかを問わず、帳票作成の作業負荷を軽減することができる。
図3において、帳票作成装置22は、記憶部23、受信部24、処理部25、判定部26、生成部27、及び管理部28を含む。帳票作成装置22は、情報処理装置1の一例である。記憶部23は、記憶部2の一例である。処理部25は、取得部3の一例である。管理部28は、生成部4及び記憶処理部5の一例である。
帳票作成装置22の上記各部の詳細は、以下のとおりである。
先ず、記憶部23の詳細について説明する。記憶部23は、種々のデータを記憶するデータベース31を含む。データベース31に記憶されるデータは、帳票の基となるデータである。また記憶部23は、候補情報32、登録先情報33、及び、対応付け情報34を記憶する。また記憶部23は、所定の記憶領域である定義ファイル格納領域35を含む。候補情報32は、作成された帳票を定義ファイルとして保存するか否かを判定するための情報であり、また、定義ファイルの生成に使用される情報である。登録先情報33は、生成した定義ファイルを適切に管理するための情報である。定義ファイル格納領域35は、定義ファイルと属性項目とが対応付けて記憶される記憶領域である。登録先情報33、及び対応付け情報34の詳細については後ほど説明する。
候補情報32は、帳票の識別情報、帳票の作成におけるデータベース31への問い合わせで使用される問合せ情報、及び、操作指示に関する情報を対応付けて記憶する。図6は、帳票作成装置22にて保持される候補情報32の構成の一例を示す。図6(A)において、候補情報32は、「識別情報」、「問合せ情報」、「修正回数」、「ダウンロード回数」、及び「判定結果」のデータ項目を含む。「識別情報」、「問合せ情報」、「修正回数」、「ダウンロード回数」、及び「判定結果」は、レコード毎にそれぞれ対応付けて記録される。
「識別情報」は、帳票の識別情報である。「問合せ情報」は、対応する帳票の作成処理において、データベース31への問い合わせで使用される情報である。具体的には「問合せ情報」は、図6(B)に示すように、データベースに対して問い合わせをするためのコンピュータ言語で記述された情報が格納される。「修正回数」と「ダウンロード回数」は、操作指示に関する情報であり、対応する帳票について定義ファイルを生成するか否かを判定するための情報である。「修正回数」は、対応する帳票が修正された回数を示す情報である。「ダウンロード回数」は、対応する帳票がダウンロードされた回数を示す情報である。「判定結果」は、対応する帳票についての定義ファイルを生成するか否かを示す情報である。各項目の詳細については、後ほど説明する。
次に、図3の受信部24の詳細について説明する。図3において、受信部24は、クライアント端末21から帳票に関する指示を受信する。そして受信部24は、受信した帳票に関する指示を処理部25に出力する。
次に、図3の処理部25の詳細について説明する。図3において、処理部25は、受信部24から指示の入力を受け付け、入力された指示の種類を判定する。そして処理部25は、指示の内容に応じて、帳票に関する種々の処理を行う。尚、クライアント端末21から受信する指示には、指示の種類を判定することが可能な情報が含まれている。以下、指示の内容に応じた処理部25の処理の内容について順に説明する。
先ず、作成指示に応じた処理について説明する。処理部25は、受信部24から入力された指示は作成指示であると判定した場合、帳票の作成処理を開始する。帳票の作成処理は、帳票作成装置22がクライアント端末21から終了指示を受信するまで実行される処理である。帳票の作成処理の開始の際に処理部25は、作成する帳票に対して、他の帳票と区別するための識別情報を割り当てる。尚、識別情報は、作成処理が開始される毎に割り当てられる識別情報であるので、開始した作成処理を他の作成処理と区別する識別情報であるともいえる。
帳票の作成処理において、処理部25は先ず、作成指示に含まれる対象項目の情報に基づいて、データベース31に問い合わせを行うための問合せ情報を生成する。問合せ情報は、対象項目に関するデータベース31への問い合わせの内容を含む。具体的には例えば、問い合わせ内容は、問い合わせ対象の表名、取得対象として選択する列名、集計関数、集計(分類)のキーとなる列名などを含む。この場合、集計(分類)のキーとなる列名は、対象項目に対応する列名である。尚、この問い合わせは例えば、取得対象として選択する列名を集計(分類)のキーとなる列名で分類し、その結果セットを、指定した列名または集計関数を使用して取り出すことを意味するものである。
問合せ情報は、具体的には、Structured Query Language(SQL)等のデータベース問い合わせ言語で記述された情報である。データベース問い合わせ言語とは、データベースに対して、データベースの作成、削除、情報の登録、検索、更新、及び削除操作などを行うために用いられる言語である。具体的には例えば問合せ情報は、図6(B)のSQL1に示すSQL文で表現されてもよい。図6(B)のSQL1において、「Group by」句の後に指定される値は、対象項目である。尚、問合せ情報は、作成指示に含まれていてもよい。その場合、処理部25は問合せ情報の生成を行わなくてもよい。
そして処理部25は、問合せ情報を識別情報と対応付けて、候補情報32に格納する。すなわち処理部25は、候補情報32の「識別情報」、「問合せ情報」にそれぞれ、割り当てた帳票の識別情報、生成した問合せ情報を格納する。候補情報32に格納された問合せ情報は、後ほど説明するが、定義ファイル及び属性項目の生成処理において用いられる。
また処理部25は、問合せ情報を用いてデータベース31に問い合わせを行い、その応答として、対象項目に関する問い合わせ結果を取得する。そして処理部25は、問い合わせ結果に基づいて帳票データを生成し、生成した帳票データに関する情報をクライアント端末21に送信する。帳票データには、作成指示に含まれる対象項目に関する情報が含まれる。すなわち帳票データには、対象項目に基づいて集計された情報が含まれる。ここでクライアント端末21に送信される情報は、例えば図5のように、クライアント端末21の所定のアプリケーションを介して帳票データを画面などに出力させるための情報であってもよい。
図7は、処理部25による帳票の作成処理を説明するための図である。図7においては、処理部25は、帳票作成画面を介して出力された帳票Aの作成指示から問合せ情報であるSQL1を生成する。そして処理部25は、帳票Aの識別情報とSQL1とを対応付けて、それぞれを、候補情報32の「識別情報」、「問合せ情報」に記録する。そして、処理部25は、SQL1を用いてデータベース31に問い合わせを行い、問い合わせの結果に基いて帳票データを生成し、生成した帳票データを帳票表示画面50に出力する。
以上のようにして処理部25は、作成指示を受け付けてから、作成した帳票に関する情報をクライアント端末21に送信するまでの処理を実行する。
次に、操作指示に応じた処理部25の処理について説明する。受信部24から入力された指示が操作指示であると判定した場合、処理部25は、操作指示に関する情報を帳票の識別情報と対応付けて、候補情報32に記録する。ここで記録する操作指示に関する情報は、帳票の定義ファイルを生成するか否かを判定するための情報である。そして処理部25は、操作指示に応じた処理を実行する。操作指示は、具体的には例えば、ダウンロード指示と再作成指示である。
受信部24から入力された操作指示がダウンロード指示であると判定した場合、処理部25は、候補情報32において、ダウンロード対象の帳票に対応するレコードの「ダウンロード回数」の値をインクリメントする。そして処理部25は、ダウンロード指示に対応する処理を実行する。すなわち、処理部25は帳票データをクライアント端末21に送信してクライアント端末21の所定の記憶領域に記憶させる。ここで処理部25は、帳票データを所定の形式(ファイルフォーマット)に変換して、クライアント端末21に送信してもよい。
受信部24から入力された指示が再作成指示であると判定した場合、処理部25は、候補情報32において、再作成対象の帳票に対応するレコードの「修正回数」の値をインクリメントする。そして処理部25は、帳票の再作成処理を開始する。
再作成処理において、処理部25は先ず、再作成指示に含まれる対象項目の情報に基づいて、問合せ情報を生成する。そして処理部25は、新たに生成した問合せ情報を識別情報に対応付けて、候補情報32に記録する。具体的には処理部25は、候補情報32において、再作成対象の帳票に対応するレコードの「問合せ情報」を、再作成指示に含まれる対象項目の情報に基づいて生成した問合せ情報に更新する。尚ここで、処理部25は、候補情報32の「問合せ情報」を更新するとしたが、更新前の「問合せ情報」を所定の記憶領域に退避しておき、過去の問合せ情報をトレース可能に制御してもよい。
問合せ情報を記録(更新)すると処理部25は、問合せ情報を用いてデータベース31に問い合わせを行い、その応答として、問い合わせ結果を取得する。そして処理部25は、問い合わせ結果に基づいて帳票データを再生成し、再生成した帳票データに関する情報をクライアント端末21に送信する。
以上のようにして処理部25は、操作指示を受け付けてから、操作指示に応じた処理の完了までの処理を実行する。
次に、終了指示に応じた処理部25の処理について説明する。受信部24から入力された指示が終了指示であると判定した場合、処理部25は、帳票の作成処理を終了する。そして処理部25は、作成処理が終了したことを示す終了情報を、判定部26に出力する。
次に、属性項目表示指示に応じた処理部25の処理について説明する。受信部24から入力された指示が属性項目表示指示であると判定した場合、処理部25は、登録先情報33をクライアント端末21に送信する。登録先情報33については後ほど説明する。
次に、図3の判定部26の詳細について説明する。図3において、判定部26は、処理部25から終了情報を受け取ると、候補情報32に記録された操作指示に関する情報に基づいて、作成処理により作成された帳票が、定義ファイル生成のための条件(以下、生成条件と記す)を満たすか否かを判定する。この判定の結果を判定部26は、帳票と対応付けて候補情報32に格納する。生成条件は、具体的には例えば、帳票のダウンロード回数が所定の閾値以上であること、または、帳票の修正回数が所定の閾値以上であること、もしくはその両方を満たすことである。所定の閾値は予め記憶部23に格納される。以下の説明では、説明の簡略化のために、生成条件は、ダウンロード回数が所定の閾値以上であるか、または、修正回数が所定の閾値以上であることとして説明する。
生成条件に修正回数が所定の回数以上であることを含める理由は、以下である。すなわち、修正回数が多い帳票は、試行錯誤の結果作成された帳票と考えることができ、このような帳票は、利用者にとって有益な帳票データである可能性が高いからである。また、修正回数が少ない、すなわち、例えば一度作成されただけで利用者によって破棄された帳票データは、利用者にとっては有益ではない可能性が高いからである。また、修正回数が少ない帳票は、誤って作成された帳票である可能性が高いからである。
生成条件にダウンロード回数が所定の回数以上であることを含める理由は、利用者が誤って作成した帳票を何度もダウンロードする可能性は低いからである。
よって、生成条件に修正回数またはダウンロード回数が所定の回数以上であるという条件を含めることで、利用者にとって有益な帳票の定義ファイルを選別して保存することができる。
具体的には判定部26は、候補情報32の「ダウンロード回数」と「修正回数」のいずれかが、それぞれ所定の閾値以上であるか否かを判定する。尚、「ダウンロード回数」と「修正回数」の閾値は同一でも異なっていてもよい。候補情報32の「ダウンロード回数」と「修正回数」の何れかが、それぞれ対応する所定の閾値以上であると判定した場合、判定部26は、帳票が生成条件を満たすと判定する。すると判定部26は、候補情報32の「判定結果」に、生成条件を満たすことを示す情報を格納する。候補情報32の「ダウンロード回数」と「修正回数」の両方が、それぞれ所定の閾値未満であると判定した場合、判定部26は、帳票が生成条件を満たさないと判定する。すると判定部26は、候補情報32の「判定結果」に、生成条件を満たさないことを示す情報を格納する。
次に、図3の生成部27の詳細について説明する。図3において、生成部27は、判定部26による判定結果に応じて、定義ファイルを生成する。すなわち生成部27は、判定部26により候補情報32の「判定結果」が更新されると、その「判定結果」の値に応じて、定義ファイルの生成を行う。具体的には、候補情報32の「判定結果」が生成条件を満たすことを示す場合、生成部27は、対応する帳票の定義ファイルを生成する。一方、候補情報32の「判定結果」が、生成条件を満たさないことを示す場合は、生成部27は対応する帳票の定義ファイルの生成を行わずに、候補情報32から、生成条件を満たさないと判定された帳票に対応するレコードを削除する。定義ファイルを生成すると生成部27は、管理部28に生成した定義ファイルを出力する。
図8は、生成条件の判定の様子を説明するための図である。図8において、帳票A、Bの作成処理に関する終了情報を受信すると、判定部26は、候補情報32の帳票A、Bに対応するレコードの「ダウンロード回数」と「修正回数」を参照して、帳票A、Bがそれぞれ生成条件を満たすか否かを判定する。図8の例の場合、判定部26は、帳票Aは生成条件を満たし、帳票Bは生成条件を満たしていないと判定し、結果を格納する。図8の例では、判定部26は、帳票A、Bに対応するレコードの「判定結果」に、それぞれ「○」、「×」を格納する。尚、実施形態の説明においては、「判定結果」の「○」は、生成条件を満たすことを示し、「×」は、生成条件を満たさないことを示すものとして説明する。その後、生成部27は、帳票A、Bに対応するレコードの「判定結果」がそれぞれ「○」、「×」であることを確認すると、帳票Aについては定義ファイルを生成し、帳票Bについては、定義ファイルの生成は行わずに、対応するレコードを候補情報32から削除する。
定義ファイルの生成において生成部27は、生成条件を満たす帳票に対応する問合せ情報に基づいて、定義ファイルを生成する。具体的には生成部27は、候補情報32の「問合せ情報」を参照して、参照した問合せ情報に基づいて、定義ファイルを生成する。そして生成部27は、生成した定義ファイルを管理部28に出力する。
次に、図3の管理部28の詳細について説明する。図3において、管理部28は、判定部26による判定結果に応じて、属性項目を生成する。すなわち管理部28は、帳票が生成条件を満たすと判定部26により判定された場合、その帳票に対応する属性項目を生成する。帳票が生成条件を満たさないと判定部26により判定された場合は、管理部28は、その帳票に対応する属性項目の生成は行わない。具体的には管理部28は、判定部26により候補情報32の「判定結果」が更新されると、その「判定結果」の値に応じて、属性項目の生成を行う。管理部28は、候補情報32の「判定結果」が、生成条件を満たすことを示す場合、帳票に対応する属性項目を生成する。候補情報32の「判定結果」が、生成条件を満たさないことを示す場合は、管理部28は、帳票に対応する属性項目の生成は行わない。尚、候補情報32の「判定結果」が生成条件を満たさないことを示す場合、そのレコードは生成部27により削除される。よって管理部28は、削除されたレコードの帳票に対応する属性項目の生成は行わないように制御してもよい。
また管理部28は、生成部27から定義ファイルを受信する。この定義ファイルは、帳票が生成条件を満たすことを判定結果が示す場合に生成部27により生成され、管理部28に出力されるものである。
属性項目の生成では管理部28は、問合せ情報に基づいて属性項目を生成する。そして管理部28は、生成した属性項目を、生成部27から受信した定義ファイルの識別情報と対応付けて、登録先情報33に格納する。また管理部28は、定義ファイルを属性項目に対応付けて定義ファイル格納領域35に格納する。定義ファイルの格納においては、具体的には管理部28は、ディレクトリ(フォルダ)を属性項目に対応付けて作成し、作成したディレクトリに定義ファイルを格納する。尚、ここで対応付けられる属性項目と定義ファイルは、同一の問合せ情報を基に生成されたもの同士である。
図9は、登録先情報33の構成の一例を示す。図9において、登録先情報33は、「定義ファイル名」、「定義ファイルパス」、「属性項目名」、及び、「属性項目パス」のデータ項目を含む。「定義ファイル名」、「定義ファイルパス」、「属性項目名」、及び、「属性項目パス」は、対応付けて記憶される。
「定義ファイル名」は、定義ファイルを一意に識別するための識別情報を示す。「定義ファイルパス」は、対応する定義ファイルのパスを示す。「属性項目名」は、対応する定義ファイルが対応付けられる属性項目を一意に識別するための識別情報を示す。「属性項目パス」は、対応する属性項目に対応するディレクトリのパスを示す。
実施形態の帳票作成装置22は、定義ファイルに基づいて属性項目を生成するのではなく、候補情報32に記憶された問合せ情報に基づいて属性項目を生成する。定義ファイルはバイナリ形式のデータであり、このような定義ファイルから属性項目を生成する場合、ファイルを読み込むための変換処理等を要する。すなわち定義ファイルに基づいて属性項目を生成する場合、属性項目の生成処理にかかる負荷が大きくなる。また定義ファイルからでは属性項目を生成できない可能性もある。これに対して、候補情報32に記憶された問合せ情報に基づいて属性項目を生成する場合、処理部25は、変換処理等を介さずに問合せ情報を読み込むことができる。従って、定義ファイルに基づいて属性項目を生成する場合に比べ、問合せ情報に基づいて属性項目を生成することで、実施形態の帳票作成装置22は、属性項目の生成のための処理負荷を軽減することができる。
属性項目の生成について更に具体的に説明する。属性項目の生成において管理部28は先ず、問合せ情報に含まれるすべての対象項目を抽出する。次に管理部28は、抽出した対象項目に対応する属性項目を特定する。対象項目に対応する属性項目の特定は、予め記憶部23に記憶された対応付け情報34に基づいて行われる。
図10は、対応付け情報34の構成の一例を示す。図10において、対応付け情報34は、「対象項目名」と「属性項目名」のデータ項目を含む。「対象項目名」と「属性項目名」はレコード毎に対応付けられている。対応付け情報34においては、複数の異なる「対象項目名」が同一の「属性項目名」と対応してもよい。例えば、同一の属性項目と対応付けられる対象項目同士を関連性の高いもの同士としてもよい。また、属性項目名と対象項目名の関係は、上位概念と下位概念の関係となっていてもよい。
図10において、「対象項目名」の「半期」と「四半期」は、共通する上位概念を示す「属性項目名」の「時間」に対応するように設定されている。対応付け情報34において、複数の対象項目が、それらの複数の対象項目間で共通する上位概念の属性項目と対応する関係となるように設定することにより、属性情報を集約することができる。ここで、属性項目が対象項目と1対1で対応して生成される場合は、対象項目の数が多い場合に、定義ファイルと対応付けられる属性項目が多くなり、利用者が帳票を作成する際に、どの属性項目を選択すればいいのかを判断することが難しくなる虞がある。属性情報を集約することで、利用者が新しい帳票の作成において定義ファイルを選択する際に、利用者による属性項目毎の定義ファイルの選択を容易にすることができる。
図10の例の場合、例えば管理部28は、対象項目「半期」に対応する属性項目を、「時間」と特定する。
以上のようにして、抽出した対象項目に対応する属性項目を特定すると、次に管理部28は、特定した属性項目が登録先情報33に格納されているか否かを判定する。この判定処理を以下の説明では、既存判定処理と記す。既存判定処理において、具体的には管理部28は、登録先情報33において、特定した属性項目の識別情報と「属性項目名」が一致するレコードが存在するか否かを判定する。もしくは、管理部28は、特定した属性項目の識別情報と「属性項目名」が部分一致するレコード(以下、部分一致レコードと記す)が存在するか否かを判定してもよい。この場合の例として例えば、特定した属性項目が「四半期」であり、登録先情報33に「属性項目名」が「半期」のレコードが存在する場合を考える。このとき、「四半期」と「半期」は、部分一致しているため、管理部28は、属性項目の識別情報と「属性項目名」が部分一致するレコードが存在すると判定する。既存判定処理において部分一致レコードが存在するか否かを判定することで、管理部28は、生成する属性項目を集約し、また定義ファイルを集約して属性項目に対応付けることができる。
抽出した対象項目に対応する属性項目が、登録先情報33に格納されていないと判定した場合、管理部28は、特定した属性項目を生成し、生成した属性項目と定義ファイルを関連付ける。
属性項目の生成では、管理部28は、登録先情報33において、特定した属性項目に対応するレコードを作成して、「属性項目名」に属性項目の識別情報を格納する。また管理部28は、属性項目に対応する新しいディレクトリを定義ファイル格納領域35に作成する。
属性項目と定義ファイルの関連付けにおいて管理部28は、属性項目の生成において生成した、登録先情報33のレコードの「定義ファイル名」に定義ファイルの識別情報を格納する。これにより管理部28は、生成した属性項目の識別情報と定義ファイルの識別情報とを対応付ける。また管理部28は、属性項目の生成において定義ファイル格納領域35に作成したディレクトリに、定義ファイルを格納する。これにより管理部28は、生成した属性項目と定義ファイルを対応付ける。尚、ここで対応付けられる属性項目と定義ファイルは、同一の問い合わせ情報に基づいて生成されたもの同士の関係にある。そして管理部28は、登録先情報33の対応するレコードの「定義ファイルパス」、「属性項目パス」にそれぞれ、格納した定義ファイルのパス、生成した属性項目に対応するディレクトリのパスを格納する。尚、定義ファイルは、生成した属性項目に対応するディレクトリに格納されるため、「定義ファイルパス」は「属性項目パス」を含む形となる。
一方、抽出した対象項目に対応する属性項目が、登録先情報33に格納されていると判定した場合、管理部28は、既に登録先情報33に格納されている属性項目に、定義ファイルを関連付ける。具体的には管理部28は、登録先情報33において、既に登録先情報33に格納されている属性項目の識別情報と定義ファイルの識別情報を、それぞれ、「属性項目名」、「定義ファイル名」に格納した新しいレコードを登録する。また管理部28は、定義ファイル格納領域35に既に存在する、属性項目に対応するディレクトリに、定義ファイルを格納する。尚、既存判定処理において、特定した属性項目の識別情報と「属性項目名」が部分一致するレコードが存在するか否かを判定した場合、管理部28は、部分一致レコードの属性項目に定義ファイルを関連付ける。すなわち、管理部28は、登録先情報33において、部分一致レコードの属性項目の識別情報と定義ファイルの識別情報とをそれぞれ、「属性項目名」、「定義ファイル名」に格納した新しいレコードを登録する。また管理部28は、定義ファイル格納領域35に既に存在する、部分一致レコードの属性項目に対応するディレクトリに、定義ファイルを格納する。そして管理部28は、登録先情報33の対応するレコードの「定義ファイルパス」、「属性項目パス」にそれぞれ、格納した定義ファイルのパス、特定した属性項目に対応するディレクトリのパスを格納する。
図11は、定義ファイル及び属性項目の生成について説明するための図である。図11は、帳票Aが生成条件を満たしている場合の例である。生成部27は、候補情報32の「判定結果」が「○」である帳票Aに対応するレコードの「問合せ情報」に基づいて、定義ファイルAを生成する。また管理部28は、「問合せ情報」から帳票Aの対象項目である「顧客名」、「売上形態」、「センター名」の情報を抽出する。次に管理部28は、対応付け情報34に基づいて、抽出した対象項目に対応する属性項目を特定する。そして管理部28は、特定した属性項目が登録先情報33に格納されているか否かを判定する。図11の例では、管理部28は属性項目「売上形態」は登録先情報33に格納されていないと判定する。また管理部28は、属性項目「顧客名」、「センター名」は登録先情報33に格納されていると判定する。すると管理部28は、属性項目「売上形態」を生成し、属性項目「売上形態」と帳票Aとを関連付ける。すなわち管理部28は、登録先情報33に、属性項目「売上形態」のレコードを生成して、帳票Aの定義ファイルAと対応付けて格納する。また管理部28は、属性項目「売上形態」に対応するディレクトリを生成し、帳票Aの定義ファイルAを、属性項目「売上形態」に対応するディレクトリに格納する。そして管理部28は、生成したレコードの「定義ファイルパス」、「属性項目パス」に、それぞれ、定義ファイルAのパス、「売上形態」に対応するディレクトリのパスを示す情報を格納する。「顧客名」、「センター名」については、管理部28は、属性項目「顧客名」と「センター名」に、帳票Aの定義ファイルAを関連づける。すなわち管理部28は、例えば登録先情報33に帳票Aの定義ファイルAを、「顧客名」と「センター名」に対応付けて格納し、既に存在する各対象項目に対応するディレクトリに、帳票Aの定義ファイルAを格納する。ここで管理部28は、「顧客名」、「センター名」にそれぞれ対応するディレクトリのパスについては、登録先情報33の「属性項目パス」を参照することにより取得する。
登録先情報33は、クライアント端末21から属性項目表示指示を受信した場合に、処理部25によりクライアント端末21に出力される。クライアント端末21において、アプリケーションを介して登録先情報33の定義ファイルが利用者によって選択された場合、処理部25は、選択された定義ファイルに基づいて帳票を作成し、クライアント端末21に送信してもよい。この帳票に関する情報を受信するとクライアント端末21は、例えば図5の帳票表示画面50のようにアプリケーションを介して帳票を表示してもよい。さらに帳票表示画面50を表示した後のクライアント端末21の動作は、上述した図5を参照して説明したものに従ってもよい。すなわちクライアント端末21は、登録先情報33に基づいて作成した帳票に対する対象項目の再選択を、例えば図4の帳票作成画面40を介して受け付け、再作成指示を帳票作成装置22に送信してもよい。この場合、再作成対象の帳票に関する候補情報32のレコードは継続して使用されてもよい。
利用者は帳票を作成する際に、登録先情報33を参照することにより、過去に作成された帳票に対応する定義ファイルを、属性項目毎に整理された形で参照することができる。登録先情報33に登録されている定義ファイルは、生成条件を満たした定義ファイルであり、利用者にとってより重要と考えられる定義ファイルが選別された形で登録されている。従って登録先情報33を参照することによって、利用者は、帳票作成の際に使用する定義ファイルの選別を容易に行うことができる。また、属性項目が集約され、属性項目に定義ファイルが集約された形で登録されている場合には、さらに利用者は帳票作成の際に使用する定義ファイルの選別を容易に行うことができる。
次に、実施形態に係る帳票作成装置22の処理の流れについて説明する。図12及び図13は、実施形態に係る帳票作成装置22の処理の詳細を図解したフローチャート(その1、その2)の一例である。以下の説明では作成対象の帳票を対象帳票と記す。
図12において、先ず受信部24は、クライアント端末21から対象帳票の作成指示を受信する(S101)。すると受信部24は、作成指示を処理部25に出力する。
次に処理部25は、作成指示に含まれる対象項目の情報に基づいて、対象項目に関する問合せ情報を生成して、候補情報32に格納する(S102)。具体的には処理部25は、作成指示が入力されると、対象帳票に識別情報を割り当てる。また処理部25は、作成指示に含まれる対象項目の情報に基づいて、対象項目に関する問合せ情報を生成する。そして処理部25は、対象帳票の識別情報と生成した問合せ情報とを対応付けて、候補情報32に格納する。すなわち処理部25は、候補情報32に新しいレコードを作成し、作成したレコードの「識別情報」に対象帳票の識別情報を格納し、「問合せ情報」に生成した問合せ情報を格納する。尚、新しく作成したレコードの「ダウンロード回数」、「修正回数」の値は0で初期化されているものとする。
次に処理部25は、S102で生成した問合せ情報を用いて、データベース31に問合せを行い、問合せの結果を取得する(S103)。
次に処理部25は、S103で取得した問合せの結果に基いて対象帳票を生成し、対象帳票に関する情報をクライアント端末21に送信する(S104)。
クライアント端末21は対象帳票に関する情報を受信すると、対象帳票を表示させ、利用者から対象帳票に対する操作を受け付ける。そして、クライアント端末21は、利用者から受け付けた対象帳票に対する操作に関する帳票操作指示または終了指示を、帳票作成装置22に送信する。
次に受信部24は、クライアント端末21から帳票操作指示または終了指示を受信する(S105)。受信部24は帳票操作指示または終了指示を受信すると処理部25に出力する。
次に処理部25は、帳票操作指示または終了指示が入力されると、入力された指示が終了指示か否かを判定する(S106)。終了指示が入力されたと判定した場合(S106でYes)、処理部25は、S109に処理を遷移させる。一方、帳票操作指示が入力されたと判定した場合(S106でNo)、処理部25は、S107に処理を遷移させる。
S107において、処理部25は、帳票操作指示に関する情報を対象帳票に対応付けて候補情報32に記録する。すなわち、帳票操作指示がダウンロード指示の場合、処理部25は、候補情報32の対象帳票に対応するレコードの「ダウンロード回数」の値をインクリメントする。また、帳票操作指示が再作成指示の場合、処理部25は、候補情報32の対象帳票に対応するレコードの「修正回数」の値をインクリメントする。
次に処理部25は、帳票操作指示に応じた処理を実行する(S108)。具体的には、帳票操作指示がダウンロード指示である場合、処理部25は、ダウンロード処理を実行する。帳票操作指示が再作成指示である場合、処理部25は、再作成処理を実行する。再作成処理の処理フローの一例については、後ほど図14を参照して説明する。そして処理部25は、処理をS105に遷移させる。
S109において、判定部26は、対象帳票が生成条件を満たすか否かを判定する。すなわち判定部26は、候補情報32において対象帳票に対応するレコードの「ダウンロード回数」と「修正回数」のいずれかが所定の閾値以上であるか否かを判定する。そして判定部26は、候補情報32の対象レコードの「判定結果」に、判定の結果を示す情報を格納する。
対象帳票が生成条件を満たさないと判定部26により判定された場合(S109でNo)、生成部27は、候補情報32から、対象帳票のレコードを削除する(S111)。そして処理は終了する。
帳票が生成条件を満たすと判定部26により判定された場合(S109でYes)、生成部27は、対象帳票の定義ファイルを生成する(S110)。すなわち生成部27は、候補情報32の対象帳票レコードの「問合せ情報」に基づいて、対象帳票の定義ファイルを生成する。以下の説明においては、S110で直近に生成した定義ファイルを対象定義ファイルと記す。次に処理は、図13のS112に遷移する。
図13のS112において、管理部28は、対象帳票に対応する問合せ情報から、全ての対象項目を抽出する。すなわち管理部28は、候補情報32の対象帳票レコードの「問合せ情報」に含まれる対象項目を全て抽出する。
次に管理部28は、S112で抽出した対象項目のうちから一つを選択する(S113)。以下の説明においては、S113で選択した対象項目を選択対象項目と記す。
次に管理部28は、対応付け情報34に基づいて、選択対象項目に対応する属性項目を特定する(S114)。
次に管理部28は、特定した属性項目が登録先情報33に格納されているか否かを判定する(S115)。言い換えると管理部28は既存判定処理を実行する。既存判定処理においては、管理部28は、部分一致レコードが存在するか否かを判定してもよい。
選択対象項目に対応する属性項目が登録先情報33に格納されていると判定した場合(S115でYes)、管理部28は、処理をS117に遷移させる。一方、選択対象項目に対応する属性項目が登録先情報33に格納されていないと判定した場合(S115でNo)、処理部25は、S114で特定した属性項目の生成を行う(S116)。すなわち、管理部28は、S114で特定した属性項目に対応するレコードを作成して登録先情報33に登録し、「属性項目名」に属性項目の識別情報を格納する。また管理部28は、属性項目に対応する新しいディレクトリを定義ファイル格納領域35に作成する。
次に管理部28は、特定した属性項目に対象定義ファイルを関連付ける(S117)。すなわち管理部28は、登録先情報33について、属性項目の識別情報と定義ファイルの識別情報を対応付けるように更新する。また管理部28は、属性項目に対応するディレクトリに対象定義ファイルを格納する。
次に管理部28は、S112で抽出した対象項目をS113で全て選択したか否かを判定する(S118)。全ての対象項目を選択していないと判定した場合(S118でNo)、管理部28は、処理をS113に遷移させる。一方、全ての対象項目を選択したと判定した場合(S118でYes)、処理は終了する。
次に図12のS108において、帳票操作指示が帳票再作成指示であった場合に実行される再作成処理の流れを説明する。図14は、実施形態にかかる帳票の再作成処理の詳細を図解したフローチャートの一例である。
図14において、処理部25は先ず、再作成指示に含まれる対象項目の情報に基づいて、問合せ情報を再生成して、候補情報32の対象帳票のレコードを更新する(S201)。すなわち処理部25は、候補情報32の対象帳票のレコードの「問合せ情報」の値を、再生成した問合せ情報に更新する。
次に処理部25は、S201で再生成した問合せ情報を用いて、データベース31に再問合せを行い、再問合せの結果を取得する(S202)。
次に処理部25は、S202で取得した再問合せの結果に基いて帳票を生成し、クライアント端末21に送信する(S203)。そして処理は終了する。
次に、帳票作成装置22のハードウェア構成の一例を説明する。図15は、実施形態に係る帳票作成装置のハードウェア構成の一例を示す。
図15において、帳票作成装置22は、Central Processing Unit(CPU)71、メモリ72、記憶装置73、読取装置74、及び通信インターフェース75を含む。CPU71、メモリ72、記憶装置73、読取装置74、及び通信インターフェース75はバスを介して接続される。
CPU71は、メモリ72を利用して上述のフローチャートの手順を記述したプログラムを実行することにより、受信部24、処理部25、判定部26、生成部27、及び管理部28の一部または全部の機能を提供する。
メモリ72は、例えば半導体メモリであり、Random Access Memory(RAM)領域およびRead Only Memory(ROM)領域を含んで構成される。記憶装置73は、例えばハードディスクである。なお、記憶装置73は、フラッシュメモリ等の半導体メモリであってもよい。また、記憶装置73は、外部記録装置であってもよい。記憶装置73は記憶部23の一部または全部の機能を提供する。
読取装置74は、CPU71の指示に従って着脱可能記憶媒体80にアクセスする。着脱可能記憶媒体80は、たとえば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD−ROM、DVD等)などにより実現される。尚、読取装置74は帳票作成装置22に含まれなくてもよい。
通信インターフェース75は、CPU71の指示に従ってネットワークを介して、クライアント端末と通信する。
実施形態のプログラムは、例えば、下記の形態で帳票作成装置に提供される。
(1)記憶装置73に予めインストールされている。
(2)着脱可能記憶媒体80により提供される。
(3)プログラムサーバ(図示せず)から通信インターフェース75を介して提供される。
また、帳票作成装置22は、記憶装置81とネットワーク又はバスを介して接続されてもよい。記憶装置81は、例えばハードディスク、または、ディスクアレイ装置等のストレージ装置である。なお、記憶装置81は、フラッシュメモリ等の半導体メモリであってもよい。記憶装置81は記憶部23の一部または全部の機能を提供してもよい。すなわち、記憶装置81は、データベースの情報を記憶してもよい。この場合、処理部25は、通信インターフェースを介して、データベースの問合せ処理を行ってもよい。
さらに、実施形態の帳票作成装置22の一部は、ハードウェアで実現してもよい。或いは、実施形態の帳票作成装置22は、ソフトウェアおよびハードウェアの組み合わせで実現してもよい。
尚、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。