説明

データ入出力装置

【課題】利用者によって作成された汎用表計算ソフトのテンプレートを用いて、業務データベースと汎用表計算ソフトの帳票との間のデータ入出力を行うデータ入出力装置を得る。
【解決手段】利用者によって予め作成されたExcelテンプレート405に対し、業務データベースのデータを入出力するための入出力方法を定義した入出力定義406をExcelテンプレート登録装置401によって作成し、データ出力装置402が入出力定義406にしたがって、業務データベースのデータをExcelテンプレート405に出力してExcel帳票407を作成し、このExcel帳票407を修正する場合にはExcel入力支援設定装置403により、入力規制を行い、修正されたExcel帳票407のデータに基づき、データ更新装置404が、業務データベースを更新するようにした。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えば電力会社工務部門の電力設備管理業務や自治体での道路設備維持管理業務分野などの管理対象設備の維持管理業務に用いられるデータを、汎用表計算ソフトに対して入出力するデータ入出力装置に関するものである。
【背景技術】
【0002】
従来の管理対象設備の維持管理業務を行う維持管理業務システムにおいて、業務に用いる業務データベースのデータを帳票として出力するとき、維持管理業務システムを介してExcel(登録商標、以下同じ)形式のテンプレートに出力する、という方法が一般的である。
また、帳票のデータを用いて業務データベースを更新するときは、Excel形式の帳票のデータを維持管理業務システムに取り込む、という方法が一般的である。以下、これをExcel入出力システムと呼ぶことにする。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−15960号公報(第3〜6頁、図1)
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のExcel入出力システムでは、維持管理業務システムが用意したExcelテンプレートに対してしかデータを出力することができず、利用者が作成したExcelテンプレートにはデータを出力することができない。
このため、利用者が作成したExcelテンプレートにデータを出力するためには、維持管理業務システムが用意したExcelテンプレートに出力されたデータを利用者が作成したExcelテンプレートに複写する必要があり、利用者の作業効率が悪いという問題があった。
また、出力されたExcel帳票に対し、利用者がデータを修正するとき、修正データが正しい値であるかどうかを確認できず、Excel帳票を維持管理業務システムに取り込んだときに業務データベースの更新が失敗するという問題があった。
【0005】
この発明は、上記のような課題を解決するためになされたものであり、利用者によって作成された汎用表計算ソフトのテンプレートを用いて、業務データベースと汎用表計算ソフトの帳票との間のデータ入出力を行うデータ入出力装置を得ることを目的としている。
【課題を解決するための手段】
【0006】
この発明に係わるデータ入出力装置においては、利用者によって予め作成された汎用表計算ソフトのテンプレートに対し、別途作成された業務データベースのデータを入出力するための入出力方法を定義した入出力定義情報を、記憶装置に登録するテンプレート登録手段、及びこのテンプレート登録手段によって登録された入出力定義情報にしたがって、業務データベースのデータを汎用表計算ソフトのテンプレートに対して出力し、汎用表計算ソフトの帳票とするデータ出力手段を備えたものである。
【発明の効果】
【0007】
この発明は、以上説明したように、利用者によって予め作成された汎用表計算ソフトのテンプレートに対し、別途作成された業務データベースのデータを入出力するための入出力方法を定義した入出力定義情報を、記憶装置に登録するテンプレート登録手段、及びこのテンプレート登録手段によって登録された入出力定義情報にしたがって、業務データベースのデータを汎用表計算ソフトのテンプレートに対して出力し、汎用表計算ソフトの帳票とするデータ出力手段を備えたので、利用者によって作成された汎用表計算ソフトのテンプレートに対して、業務データベースのデータを出力し、汎用表計算ソフトの帳票とすることができる。
【図面の簡単な説明】
【0008】
【図1】この発明の実施の形態1、2によるデータ入出力装置のソフトウェア構成を示す図である。
【図2】この発明の実施の形態1、2によるデータ入出力装置のデータベース構成を示す図である。
【図3】この発明の実施の形態1、2によるデータ入出力装置のシステム構成を示す図である。
【図4】この発明の実施の形態1、2によるデータ入出力装置のExcel入出力アプリケーションの機能構成を示す図である。
【図5】この発明の実施の形態1、2によるデータ入出力装置の業務データベースの構成例(1)を示す図である。
【図6】この発明の実施の形態1、2によるデータ入出力装置の業務データベースの構成例(2)を示す図である。
【図7】この発明の実施の形態1によるデータ入出力装置での入出力定義を示す図である。
【図8】この発明の実施の形態1によるデータ入出力装置のExcelテンプレート登録装置の処理を示すフローチャートである。
【図9】この発明の実施の形態1によるデータ入出力装置のデータ出力装置の機能構成を示す図である。
【図10】この発明の実施の形態1によるデータ入出力装置のデータ出力装置の処理を示すフローチャートである。
【図11】この発明の実施の形態1によるデータ入出力装置のExcel出力用データ検索装置の処理を示すフローチャートである。
【図12】この発明の実施の形態1によるデータ入出力装置の検索条件作成における比較演算子を示す図である。
【図13】この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の処理を示すフローチャートである。
【図14】この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数=固定行数)の出力定義データと検索データを示す図である。
【図15】この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数=固定行数)を示す図である。
【図16】この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数<固定行数)の出力定義データと検索データを示す図である。
【図17】この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数<固定行数)を示す図である。
【図18】この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数>固定行数)の出力定義データと検索データを示す図である。
【図19】この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数>固定行数)を示す図である。
【図20】この発明の実施の形態1によるデータ入出力装置の項目出力装置の処理を示すフローチャートである。
【図21】この発明の実施の形態1によるデータ入出力装置の項目出力装置の出力データ例(検索データ件数=1)の出力定義データと検索データを示す図である。
【図22】この発明の実施の形態1によるデータ入出力装置の項目出力装置の出力データ例(検索データ件数=1)を示す図である。
【図23】この発明の実施の形態1によるデータ入出力装置の項目出力装置の出力データ例(検索データ件数>1)の出力定義データと検索データを示す図である。
【図24】この発明の実施の形態1によるデータ入出力装置の項目出力装置の出力データ例(検索データ件数>1)を示す図である。
【図25】この発明の実施の形態2によるデータ入出力装置のデータ更新装置の処理を示すフローチャートである。
【図26】この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(表出力)の帳票データと入出力定義を示す図である。
【図27】この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(表出力)の取得表データリストとSQLを示す図である。
【図28】この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(表出力)のコードテーブルの更新を示す図である。
【図29】この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(項目出力)の帳票データを示す図である。
【図30】この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(項目出力)の入出力定義と取得項目データリストとSQLを示す図である。
【図31】この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(項目出力)のコードマスタの更新を示す図である。
【図32】この発明の実施の形態2によるデータ入出力装置のExcelの入力規制機能での利用者設定ダイアログを示す図である。
【図33】この発明の実施の形態2によるデータ入出力装置のExcelの入力規制機能での利用者設定ダイアログのリスト定義項目とデータ長定義項目を示す図である。
【図34】この発明の実施の形態2によるデータ入出力装置のExcel入力支援設定装置の処理を示すフローチャートである。
【図35】この発明の実施の形態2によるデータ入出力装置のExcel入力支援設定装置の出力データ例の出力定義データと検索データを示す図である。
【図36】この発明の実施の形態2によるデータ入出力装置のExcel入力支援設定装置の出力データ例を示す図である。
【発明を実施するための形態】
【0009】
実施の形態1.
以下、この発明の実施の形態について説明する。
図1は、この発明の実施の形態1によるデータ入出力装置のソフトウェア構成を示す図である。
図1において、利用者101によって利用されるデータ入出力装置100は、次のようなソフトウェア構成である。
Excel入出力アプリケーション102は、Excelへのデータ入出力を行うアプリケーションであり、利用者101の指示によって動作する。データベース操作部103は、Excel入出力アプリケーション102の指示によって、利用者の要求に応じてデータベース104の処理を行い、結果をExcelまたはExcel入出力アプリケーション102に返す。
データベース104は、Excel入出力アプリケーション102が利用するデータベースであり、業務データベース105とExcel定義データベース106を有する。
業務データベース105は、利用者が業務で利用するデータベースである。
Excel定義データベース106は、Excelへのデータ入出力における定義情報を格納する。業務データをExcelのどのテンプレートに出力するか、そのどこに出力するかなどを定義している。
データベース操作部103が、データベース104へのデータ検索および追加、更新を司り、Excel入出力アプリケーション102が、データベース操作部103を操作し、利用者101はExcel入出力アプリケーション102を操作する構成となっている。
【0010】
図2は、この発明の実施の形態1によるデータ入出力装置のデータベース構成を示す図である。
図2において、Excel定義データベース106の内容を示している。
Excelテンプレート定義テーブル201は、Excelテンプレート定義の保存データを格納するテーブルである。Excelシート定義テーブル202は、Excelテンプレート定義におけるシート定義の情報を格納するテーブルである。Excel項目定義テーブル203は、Excelテンプレート定義テーブル201とExcelシート定義テーブル202における項目定義の情報を格納するテーブルである。
【0011】
図3は、この発明の実施の形態1によるデータ入出力装置のシステム構成を示す図である。
図3において、データベース装置301は、データベース104が配置されるサーバ装置である。アプリケーションサーバ装置302は、データベース操作部103とExcel入出力アプリケーション102が配置されるサーバ装置である。表示・入力装置303は、Excel入出力アプリケーション102が処理した結果を表示するとともにExcel入出力アプリケーション102への入力画面を表示する装置である。
この発明は、サーバとクライアントで構成されるWebシステムである。
【0012】
図4は、この発明の実施の形態1によるデータ入出力装置のExcel入出力アプリケーションの機能構成を示す図である。
図4において、Excelテンプレート登録装置401(テンプレート登録手段)は、利用者が予め作成したExcelテンプレート405(汎用表計算ソフトのテンプレート)に対し、データを入出力するための定義を行い、入出力定義406(入出力定義情報)とする。データ出力装置402(データ出力手段)は、Excelテンプレート登録装置401によって定義された入出力定義406に従ってデータ出力を行う。これによりExcel帳票407(汎用表計算ソフトの帳票)が作成される。
なお、データ出力装置402により出力されるデータは、図1の業務データベース106の利用者指定のテーブルのデータを、利用者が指定した検索条件によって検索された検索データである。
Excel入力支援設定装置503(入力規制設定手段)は、データ出力装置502によって出力されたExcel帳票407に対し、Excel入力規制機能を付加する。なお、Excel帳票407は、Excelテンプレート405にデータが入った状態のものである。
データ更新装置404(データ更新手段)は、データ出力装置502とExcel入力支援設定装置503によって出力されたExcel帳票407を利用してデータ更新を行う。データ更新されたExcel帳票は、業務データベース105に登録される。
【0013】
図5は、この発明の実施の形態1によるデータ入出力装置の業務データベースの構成例(1)を示す図である。
図5と図6は、本システムの対象となる設備維持管理業務の業務データベース105の内容を示し、業務データベース105は、設備に関する情報を持つ設備台帳、設備台帳の各設備に紐付く事故障害台帳、点検台帳、添付文書台帳で構成される。図5は、そのうちの設備台帳501と事故障害台帳502を示す。
図5において、各台帳(設備台帳501と事故障害台帳502)は、個々の情報を識別するためのオブジェクトID、各オブジェクトID同士を紐付けるための親オブジェクトIDを持つ。例えば、図5の場合、設備台帳501のオブジェクトID(10000002)が、事故障害台帳502の親オブジェクトIDに存在するため、オブジェクトID(10000002)には、事故障害情報が紐付いていることになる。
【0014】
また、各台帳は基本台帳と拡張台帳の2つで構成される。基本台帳は、各台帳のオブジェクトID全てに共通の項目を持つ台帳であり、拡張台帳は、オブジェクトIDの種類によって管理する項目が異なる台帳である。この種類を区別するコードを拡張区分コードといい、拡張区分コードの数だけ拡張台帳が存在することになる。
例えば、図5の場合、設備台帳における基本台帳503のオブジェクトID(10000002)は、拡張区分コードGEをもつため、拡張台帳_GE505の同オブジェクトIDに拡張区分コードGE固有の管理項目が存在する。また、オブジェクトID(10000003)は、拡張区分コードPOをもつため、拡張台帳_PO504の同オブジェクトIDに前述の拡張区分GEとは異なる管理項目が存在する。
【0015】
図6は、この発明の実施の形態1によるデータ入出力装置の業務データベースの構成例(2)を示す図である。
図6において、図5の各台帳の項目名はカラム定義テーブル506が管理している。業務データベース105のデータには、利用者の入力によって更新されるデータと、利用者が直接入力することなく、リストからデータを選択して更新するデータの2つがある。
このうち、リストからデータを選択するとき、そのリストに含まれるデータを「コード」という。また、コードをグループにまとめたものを「コードグループ番号」という。コードグループ番号は、コードグループテーブル507、コードはコードテーブル508によってそれぞれ管理される。
【0016】
図7は、この発明の実施の形態1によるデータ入出力装置での入出力定義を示す図である。
図7は、Excelテンプレート登録装置401が登録を行う入出力定義406である。Excelシート定義601は、検索データを出力するExcelテンプレートのシートに関する情報を定義する。
Excel項目定義602は、業務データベース105のデータ入出力対象テーブル(図5、図6参照)を選択し、選択したテーブルの項目のデータをExcelシート定義601で定義したシートに対し、入出力するための位置を定義する。
Excelテンプレート定義603は、データを入出力するExcelテンプレート405に関する情報を定義する。
【0017】
これらは、Excel定義データベース106に登録される。Excelシート定義601は、Excelシート定義テーブル202に登録される。Excel項目定義602は、Excel項目定義テーブル203に登録される。Excelテンプレート定義603は、Excelテンプレート定義テーブル201に登録される。
【0018】
図8は、この発明の実施の形態1によるデータ入出力装置のExcelテンプレート登録装置の処理を示すフローチャートである。
【0019】
図9は、この発明の実施の形態1によるデータ入出力装置のデータ出力装置の機能構成を示す図である。
図9においては、Excel出力用データ検索装置801(出力用データ検索手段)は、データ出力に用いるExcelテンプレートを、実施の形態1で登録したExcelテンプレートの中から選択し、出力する検索データの検索条件を作成し、検索したデータを保持する。データ出力形式判定装置802は、Excel出力用データ検索装置801で選択したExcelテンプレートの入出力定義情報から出力形式を判定する。固定行表出力装置803は、データ出力形式判定装置802から得られたデータ出力形式に応じてExcelテンプレートに固定行の表として出力を行う。項目出力装置804は、データ出力形式判定装置802から得られたデータ出力形式に応じてExcelテンプレートの1つの項目に対して出力を行う。
【0020】
図10は、この発明の実施の形態1によるデータ入出力装置のデータ出力装置の処理を示すフローチャートである。
図11は、この発明の実施の形態1によるデータ入出力装置のExcel出力用データ検索装置の処理を示すフローチャートである。
【0021】
図12は、この発明の実施の形態1によるデータ入出力装置の検索条件作成における比較演算子を示す図である。
図12において、比較演算子の名称と記号が示されている。比較演算子の左辺は出力項目であり、右辺は検索の値である。
【0022】
図13は、この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の処理を示すフローチャートである。
【0023】
図14は、この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数=固定行数)の出力定義データと検索データを示す図である。
図14において、出力定義データ1301と、検索データ1303が示され、検索データ1303として、9件が検索されている。
図15は、この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数=固定行数)を示す図である。
図15において、テンプレート2(1302)にデータ出力された出力結果1304が示されている。
【0024】
図16は、この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数<固定行数)の出力定義データと検索データを示す図である。
図16において、出力定義データ1401と、検索データ1403が示され、検索データ1403として、2件が検索されている。
図17は、この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数<固定行数)を示す図である。
図17において、テンプレート2(1402)にデータ出力された出力結果1404が示されている。
【0025】
図18は、この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数>固定行数)の出力定義データと検索データを示す図である。
図18において、出力定義データ1501と、検索データ1503が示され、検索データ1503として、23件が検索されている。
図19は、この発明の実施の形態1によるデータ入出力装置の固定行表出力装置の出力データ例(検索データ件数>固定行数)を示す図である。
図19において、テンプレート2(1502)にデータ出力された3シートに亘る出力結果1504が示されている。
【0026】
図20は、この発明の実施の形態1によるデータ入出力装置の項目出力装置の処理を示すフローチャートである。
【0027】
図21は、この発明の実施の形態1によるデータ入出力装置の項目出力装置の出力データ例(検索データ件数=1)の出力定義データと検索データを示す図である。
図21において、出力定義データ1701と、検索データ1703が示され、検索データ1703として、1件が検索されている。
図22は、この発明の実施の形態1によるデータ入出力装置の項目出力装置の出力データ例(検索データ件数=1)を示す図である。
図23において、テンプレート3(1702)にデータ出力された出力結果1704が示されている。
【0028】
図23は、この発明の実施の形態1によるデータ入出力装置の項目出力装置の出力データ例(検索データ件数>1)の出力定義データと検索データを示す図である。
図23において、出力定義データ1801と、検索データ1803が示され、検索データ1803として、3件が検索されている。
図24は、この発明の実施の形態1によるデータ入出力装置の項目出力装置の出力データ例(検索データ件数>1)を示す図である。
図24において、テンプレート3(1802)にデータ出力された3シートに亘る出力結果1804が示されている。
【0029】
次に、動作について説明する。
まず、Excel入出力アプリケーション102のExcelテンプレート登録装置401の動作について説明する。
利用者が予め作成したExcelテンプレート405に対し、Excelテンプレート登録装置401によって入出力定義406を登録し、データ出力装置402によってデータを出力して、Excel帳票407とするようになっている。
【0030】
図7は、Excelテンプレート登録装置401によって登録が行われるExcel入出力定義406である。Excelテンプレート登録装置401は、検索データを出力するExcelテンプレート405のシートに関する情報を定義するExcelシート定義601と、業務データベース105のデータ入出力対象テーブルを選択し、選択したテーブルの項目のデータをExcelシート定義601で定義したシートに対し、入出力するための位置を定義するExcel項目定義602と、データを入出力するExcelテンプレートに関する情報を定義するExcelテンプレート定義603とを定義し、Excel定義データベース106に登録する。
【0031】
Excelシート定義601は、データを入出力するシート名、出力形式、出力方向、コメントを定義する。出力形式は、固定行表出力、項目出力の2つの出力形式から選択することができる。出力方向は縦方向出力または横方向出力を選択することができる。Excelシート定義601は、Excelシート定義テーブル202に登録される。
Excel項目定義602は、Excelシート定義601で定義されたデータ入出力対象テーブルにおいて、出力対象となる項目の名称、その項目のデータを入出力するためのExcelテンプレート405における項目位置を定義する。項目位置は列/行またはセルを指定することができる。Excel項目定義602は、Excel項目定義テーブル203に登録される。
また、Excelテンプレート定義603は、データ入出力に用いるExcelテンプレート405の指定を行う。Excelテンプレート定義603は、Excelテンプレート定義テーブル201に登録される。
【0032】
次に、図8により、Excelテンプレート登録装置401の処理について説明する。
利用者が表示装置303を用いて、予め作成したExcelテンプレート405を登録するためのリクエストを出すと、Excelテンプレート登録装置401は、Excelシート定義601を入力するための画面を表示装置303に表示する(ステップS701)。利用者は表示装置303よりExcelシート定義601を入力する(ステップS702)。
Excelシート定義601において、出力形式の選択を行う。出力形式に固定行表出力を選択したとき、表の開始行と終了行、データ出力方向(縦/横)を定義として入力する必要がある。また、出力形式に可変行表出力を選択したとき、表の開始行、データ出力方向(縦/横)と定義として入力する必要がある。
出力形式が表出力(固定行表出力または可変行表出力)の場合は、表範囲開始行と表範囲終了行とデータの出力方向を定義する。データ出力方向は、縦と横を選択することができる。出力方向が縦のとき、表範囲開始行と表範囲終了行には、Excelシートの「行の数字」を指定する。一方、出力方向が横のとき、範囲開始行と表範囲終了行には、Excelシートの「列のアルファベット」を指定する。出力形式に項目出力を選択したときは、何も定義しない。
【0033】
Excelシート定義601の入力完了後、Excelシート定義601の入力データを保持する(ステップS703)。
【0034】
次に、Excelテンプレート登録装置601は、Excel項目定義602を入力するための画面を表示装置303に表示する(ステップS704)。
利用者は、検索データを入出力するためのテーブルを業務データベース105より選択する(ステップS705)。ここで、選択できるテーブルの対象は、設備台帳(基本台帳)、設備台帳(拡張台帳)、事故障害台帳(基本台帳)、事故障害台帳(拡張台帳)、点検台帳(基本台帳)、点検台帳(拡張台帳)、添付文書台帳(基本台帳)、添付文書台帳(拡張台帳)である。
次に、利用者は、選択したテーブルの項目から入出力項目を選択し、選択した入出力項目のデータをExcelテンプレート405に対し、入出力する項目位置を入力する(ステップS705)。これがExcel項目定義602の入力である。
出力形式が表出力の場合、項目位置は列/行を指定する。出力方向が縦のとき、項目位置は列を指定し、出力方向が横のとき、項目位置は行を指定する。項目出力の場合、項目位置はセルを指定する。
Excel項目定義602の入力完了後、Excel項目定義602の入力データを保持する(ステップS706)。
【0035】
次に、Excelテンプレート登録装置401は、Excelテンプレート定義603を入力するための画面を表示装置303に表示する(ステップS707)。
利用者は、表示装置303より、利用者が予め作成したExcelテンプレート405を選択し、Excelテンプレート定義603が入力される(ステップS708)。
入力完了後、Excelテンプレート定義603の入力データを保持する(ステップS709)。
最後に、Excelテンプレート登録装置401は、ステップS703、S706、S709で保持したExcelシート定義601、Excel項目定義602、Excelテンプレート定義603の各入力データをExcel定義データベース106に登録する。
【0036】
次に、データ出力装置402により、Excelテンプレート405にデータが出力されるまでの動作について、図10を用いて説明する。
まず、Excel出力用データ検索装置801が作動し、利用者が設定した入出力定義406と検索条件に基づき、出力するデータを業務データベース105から検索するデータ検索を行う(ステップS901)。
次に、データ出力形式判定装置802から得られたデータ出力形式に応じてExcelテンプレート405に出力を行うが、この出力形式ごとに出力装置が異なる。
データ出力形式判定装置803は、Excel出力用データ検索装置801で選択したExcelテンプレート情報より、Excelシート定義601の出力形式を取得し、固定行表出力装置803及び項目出力装置804のうちのいずれを動作させるかの判別を行う(ステップS902)。
出力形式が固定行表のとき、固定行表出力装置803が動作する(ステップS903)。出力形式が項目出力のとき、項目出力装置804が動作する(ステップS904)。
【0037】
次に、出力する検索データを取得するExcel出力用データ検索装置801の処理について、図11を用い、図5、図6を参照して説明する。
図11は、Excel出力用データ検索装置801により、業務データベース105を検索する処理のフローを示している。
図11で、まず、利用者が表示装置303を用いて、利用者が予め作成したExcelテンプレート405に検索データを出力するリクエストを出す。Excel出力用データ検索装置801は、実施の形態1によってExcel定義データベース106に登録したExcelテンプレート405の選択画面を表示装置303に表示する(ステップS1001)。
利用者は、表示装置303より検索データ出力に用いるExcelテンプレート405を選択する(ステップS1002)。Excelテンプレート405の選択完了後、Excel出力用データ検索装置801は、選択されたExcelテンプレート405における入出力定義406を読み込み、入出力定義406の中から、Excel項目定義602のテーブル名を取得する(ステップS1003)。
【0038】
次に、取得したテーブル名を用いて、業務データベース105のカラム定義テーブル506から取得したテーブルの項目名を取得し、表示装置303に表示する(ステップS1004)。
次に、利用者は、表示装置303を用いて、Excelテンプレート405に出力する項目を選択する(ステップS1005)。このとき、基本台帳と拡張台帳では、出力できる項目が異なる。
基本台帳では、基本台帳の項目のみ出力項目として選択することができるが、拡張台帳では、拡張台帳と基本台帳の両方の項目を出力項目として選択することができる。
次に、Excel出力用データ検索装置801は、項目のソート順を設定する画面を表示装置303に表示する(ステップS1006)。利用者は、ソート順を指定する(ステップS1007)。ここで、ソート順が指定されないときは、カラム定義テーブル506における項目番号の若い順に項目をソートする。
【0039】
次に、Excel出力用データ検索装置801は、検索条件を作成する画面を表示装置303に表示させる(ステップS1008)。
利用者は、表示装置303を用いて検索条件を作成する(ステップS1009)。この検索条件作成時も、出力項目選択と同様に、基本台帳と拡張台帳では、検索に使用できる項目が異なる。基本台帳を検索するときは、基本台帳の項目のみを検索条件作成に使用することができ、拡張台帳を検索するときは、拡張台帳と基本台帳の両方の項目を検索条件作成に使用することができる。なお、検索条件は必ず作成する必要はなく、検索無しの全データを出力することが可能であるということは言うまでもない。
【0040】
検索条件は「項目名=値」などの式で作成する。この式における等号(=)以外にも、不等号や前方/後方一致などの比較演算子を使用することができる。検索条件として使用できる比較演算子の一覧を図12に示す。
例えば、図5において、設備台帳の基本台帳503の項目「異動年月日」が20100215以下のときの検索条件式は、「異動年月日≦20100215」となり、基本台帳503のオブジェクトID(10000001,10000002,10000003)のデータと、拡張台帳が取得される。検索条件は、数に制限なく作成することができ、複数の検索条件を「AND」や「OR」などの論理演算子を用いて組み合わせることもできる。
【0041】
次に、固定行表に出力し、データ件数に合わせて表の罫線を削除する固定行表出力装置803の処理について説明する。
データ出力形式判定装置802の判定結果が固定行表出力のとき、固定行表出力装置803が起動する。
次に、この固定行表出力装置803の動作について図13を用いて説明する。
まず、出力に当たり、Excelシート定義601より固定行表の開始行と終了行を用いて固定行表の行数を計算する(ステップS1201)。これを固定行数とすると、固定行数は(終了行−開始行+1)である。次に、Excel出力用データ検索装置801で検索したデータの件数を取得する(ステップS1202)。
【0042】
次に、検索データ件数と固定行数の比較を行う(ステップS1203)。検索データ件数=固定行数のとき、Excelシート定義601、Excel項目定義602、Excelテンプレート定義603に基づいて検索データ件数分の検索データをExcelテンプレート405に固定行表として出力する(ステップS1205)。このときの出力データ例を図13、図14に示す。
図13の出力定義データ1301より、固定行表の行数は9である。検索データ1303の件数は9件であるため、検索データ件数=固定行数となる。このとき、出力結果1304となる。
【0043】
ステップS1203の比較で、検索データ件数=固定行数でないとき、検索データ件数<固定行数かどうかの比較を行う(ステップS1204)。検索データ件数<固定行数のとき、「検索データ件数=固定行数のとき」と同様に検索データをExcelテンプレート405に出力する(ステップS1205)。しかし、上記の方法で出力を行うと、Excelテンプレート405に出力するデータの検索データ件数と固定行表の終了行数の差は何も出力されず、空白となり、表の不要範囲となる。このとき、以下の方法によって、不要範囲のセルの罫線を消去する(ステップS1206)。
【0044】
まず、利用者が指定したExcelテンプレート405のExcelシート定義601、Excel項目定義602より、不要範囲を取得する。具体的に、Excelシート定義601の表範囲開始行と表範囲終了行を取得する。不要範囲の開始行は(表範囲開始行+データ件数)となる。
また、Excel項目定義602より、データ項目の開始列と終了列を取得することにより、不要範囲の開始セルと終了セルを計算することができ、不要範囲を取得することができる。
次に、不要範囲の開始行のセルを全て選択する。不要範囲の開始行の1つ前の行は表の最終行であるため、不要範囲の開始行のセルの上部は罫線を維持し、その他の下・左・右の罫線を消去する。
【0045】
一方、Excelシート定義601において、出力方向が「横方向」の場合、セルの左部の罫線を維持し、その他の上・下・右の罫線を消去する。次に、不要範囲において、前記の不要範囲開始行以外のセルを全て選択する。このときは、選択した各セルの上・下・左・右の罫線を全て消去する。このときの出力データ例を図16、図17に示す。
【0046】
図16の出力定義データ1401より、固定行表の行数は9である。検索データ1403の件数は2であるため、検索データ件数<固定行数となる。このとき検索データの出力結果1404となる。
出力定義データ1401で定義したシート「A」に出力項目の検索データが全て出力される。例えば、出力項目が発変電所コードのとき、出力定義データ1401の出力項目位置「A列」の開始行2行目から、縦方向に検索データが全て出力される。
このとき、不要範囲のセルは「A10」、「B10」、「C10」である。10行目は不要範囲の開始行であるため、各セルの下・左・右の罫線が消去され、データ件数に合わせて表の罫線が終了となる。このとき、出力結果1404となる。
【0047】
一方、ステップS1204で、検索データ件数>固定行数のとき、まず、出力対象のシートを((検索データ件数/固定行数)の商)の枚数分複写する(ステップS1207)。次に、Excelシート定義601、Excel項目定義602、Excelテンプレート定義603に基づいて全検索データのうち、先頭から固定行数分の検索データを出力対象シート(1枚目)に出力する(ステップS1208)。
次に、ステップS1208で、Excelテンプレート405に出力しなかった未出力分の検索データとその件数を検索データとして更新し(ステップS1209)、ステップS1202へ戻る。ステップS1203において、検索データ件数≦固定行数になるまで、ステップS1204〜S1209を繰り返す。
なお、2回目のステップS1203において出力するシートは2枚目、3回目のステップS1203において出力するシートは3枚目・・・とする。この出力データ例を図18、図19に示す。
【0048】
図18の出力定義データ1501より、固定行表の行数は9である。検索データ1503の件数は23件であるため、検索データ件数>固定行数となる。このとき、シート「A」を2枚複写しており、検索データ1503が3枚のシート「A(1)」、「A(2)」、「A(3)」に全てに出力される。このとき、「検索データ件数<固定行数」であるため、上記の通り、不要範囲はシート「A(3)」におけるセル「A7」〜「C10」であり、6行目で表が終了となる。このとき、出力結果1504となる。
【0049】
次に、利用者が予め作成したExcelテンプレート405に対し、1つの項目に出力する項目出力装置806の動作について説明する。
データ出力形式判定装置802の判定結果が項目出力のとき、項目出力装置805が起動する。
【0050】
次に、この項目出力装置805の動作について、図20を用いて説明する。
図20で、まず、出力に当たり、Excel出力用データ検索装置801で検索した検索データの件数を取得する(ステップS1601)。
次に、検索データ件数が1であるかどうかを判別する(ステップS1602)。
検索データ件数が1であるとき、Excelシート定義601、Excel項目定義602、Excelテンプレート定義603に基づいて、検索データをExcelテンプレート405に出力する(ステップS1603)。このときの出力データ例を図21、図22に示す。
図21の検索データ1703の件数は1件であるため、このときの検索データの出力結果1704となる。出力定義データ1701で定義したシート「C」に出力項目の検索データが1件(全検索データ分)出力される。
例えば、出力項目がコードグループ番号のとき、出力定義データ1701の出力項目位置「A2」に検索データ「0004」が出力される。
【0051】
一方、ステップS1602で、検索データが1でないとき、検索データが1件以上か0件であるかを判別する(ステップS1604)。
検索データ件数>1のとき、まず、出力対象のシートを(検索データ件数−1)の枚数分複写する(ステップS1605)。次に、Excelシート定義601、Excel項目定義602、Excelテンプレート定義603に基づいて、全検索データのうち、先頭の1件分の検索データを出力対象シート(1枚目)に出力する(ステップS1606)。
次に、ステップS1606で、Excelテンプレート405に出力しなかった未出力分の検索データとその件数を検索データとして更新し(ステップS1607)、ステップS1601へ戻る。
【0052】
ステップS1602において、検索データ件数が1になるまで、ステップS1604〜ステップS1607を繰り返す。なお、2回目のステップS1606において、出力するシートは2枚目、3回目のステップS1606において出力するシートは3枚目・・・とする。この出力データ例を図23、図24に示す。
図23の検索データ1803の件数は3件であるため、検索データ件数>1となる。このとき、出力結果1804となる。このとき、シート「C」を2枚複写しており、検索データが3枚のシート「C(1)」、「C(2)」、「C(3)」に全て出力される。
【0053】
一方、ステップS1604で、検索データ=0のときは、検索データの出力をしないで終了する。
【0054】
実施の形態1によれば、検索データを利用者が予め作成したExcelテンプレートに固定行の表、項目として出力することができる。
また、出力されたシートの最終番号のシートにおいて、データ件数<固定行数のとき、表の不要範囲を特定し、罫線を消去することができ、検索データ出力後に利用者が罫線消去する操作に要する時間を削減することができる。
【0055】
実施の形態2.
実施の形態2は、固定行表出力装置803、項目出力装置804によって出力されたExcel帳票407に対し、入力規制を設定するExcel入力支援設定装置403(図4参照)と、Excel帳票407を更新し、更新結果を業務データベース105に取り込ませるデータ更新装置404(図4参照)についてのものである。
なお、実施の形態2は、図1〜図6の構成である。
【0056】
図25は、この発明の実施の形態2によるデータ入出力装置のデータ更新装置の処理を示すフローチャートである。
【0057】
図26は、この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(表出力)の帳票データと入出力定義を示す図である。
図26において、帳票データ2001と入出力定義2004が示されている。
図27は、この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(表出力)の取得表データリストとSQLを示す図である。
図27において、取得表データリスト2005と、業務データベース105を更新するためのSQL2006が示されている。
図28は、この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(表出力)のコードテーブルの更新を示す図である。
図28において、コードテーブル(更新前)2007と、コードテーブル(更新後)2008が示されている。
【0058】
図29は、この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(項目出力)の帳票データを示す図である。
図29において、帳票データ2101が示されている。
図30は、この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(項目出力)の入出力定義と取得項目データリストとSQLを示す図である。
図30において、入出力定義2103と取得項目データリスト2104と、業務データベース105を更新するためのSQL2105が示されている。
図31は、この発明の実施の形態2によるデータ入出力装置のデータ更新装置の更新データ例(項目出力)のコードマスタの更新を示す図である。
図31において、コードマスタ(更新前)2106とコードマスタ(更新後)2107が示されている。
【0059】
図32は、この発明の実施の形態2によるデータ入出力装置のExcelの入力規制機能での利用者設定ダイアログを示す図である。
図32において、「リスト」入力規制ダイアログ2201と、「文字列(長さ指定)」入力規制ダイアログが示されている。
図33は、この発明の実施の形態2によるデータ入出力装置のExcelの入力規制機能での利用者設定ダイアログのリスト定義項目とデータ長定義項目を示す図である。
図33において、リスト定義項目2202と、データ長定義項目2204が示されている。
【0060】
図34は、この発明の実施の形態2によるデータ入出力装置のExcel入力支援設定装置の処理を示すフローチャートである。
【0061】
図35は、この発明の実施の形態2によるデータ入出力装置のExcel入力支援設定装置の出力データ例の出力定義データと検索データを示す図である。
図35において、出力定義データ2401と、検索データ2403が示されている。
図36は、この発明の実施の形態2によるデータ入出力装置のExcel入力支援設定装置の出力データ例を示す図である。
図36において、出力結果(リスト選択可)2404と、不正データ入力エラー(リスト)2405と、不正データ入力エラー(データ長)2406とが示されている。
【0062】
次に、動作について説明する。
実施の形態2は、実施の形態1において出力したExcel帳票407に対し、データの修正を行い、修正済みのデータによって業務データベース105を更新する場合のものである。この機能は、データ更新装置404によって実現することができる。
利用者が、表示装置303を用いて、データ更新を行なうためのExcel帳票407を指定し、データ更新を行うためのリクエストを出すと、データ更新装置404が動作する。
【0063】
次に、データ更新装置404の動作について、図25を用いて説明する。
まず、利用者が、表示装置303によって指定したExcel帳票407より、Excelテンプレート登録装置401で定義したExcelシート定義601、Excel項目定義602、Excelテンプレート定義603を取得する(ステップS1901)。
次に、Excelシート定義601の出力形式を判定する(ステップS1902)。出力形式が表出力のとき、Excel項目定義602の表終了判定項目によって、表の終了行を判定し、データをリスト形式で取得する(ステップS1903)。ここで、終了行の判定方法としては、終了判定項目のデータがExcel帳票407に入力されていない場合、その前の行を表の終了行とする。
次に、ステップS1903で取得したデータより、データ更新用のSQLを発行し、データベース操作部103が、業務データベース105の更新を行う(ステップS1905)。
【0064】
これについて、図26〜図28のデータ例を用いて説明する。
帳票2001(Excel帳票)のデータを更新するとき、入出力定義2004の出力形式が表出力であるため、帳票2001の表終了判定行は14行目である。また、入出力定義2004において、終了判定項目が「略称」である場合、帳票2001の表終了判定行は7行目となる。
以降、入出力定義2004に従ったデータ更新について説明する。
このとき、データを取得表データリスト2005として取得する。帳票2001の更新データ2002、2003より、業務データベース105を更新するためのSQL2006を発行し、これを実行させる。業務データベース105のコードテーブル(更新前)2007は、更新前のテーブルであり、コートテーブル(更新後)2008は更新後のテーブルである。
【0065】
ステップS1902で、出力形式が項目出力のとき、Excelシート定義601のシート名とExcel項目定義602の項目位置からデータをリスト形式で取得する(ステップS1904)。シート名がAのとき、A(1)、A(2)、A(3)のように、括弧に連番が振られるため、連番が途切れるまでデータの取得を行う。
なお、A(1)、A(2)、A(4)のように、連番に空きがある場合は、連番が途切れた時点で終了するため、A(2)のシートのデータまで取得され、A(4)のシートのデータは取得されない。
次に、ステップS1904で取得したデータより、データ更新用のSQLを発行し、データベース操作部103が、業務データベース105の更新を行う(ステップS1905)。これについて、図29〜図31のデータ例を用いて説明する。
【0066】
帳票2101(Excel帳票)のデータを更新するとき、入出力定義2103の出力形式が項目であるため、帳票2101のシート「C」の連番C(1)、C(2)、C(3)のセル「A2」と「B2」の項目データを、取得項目データリスト2104として取得する。
帳票2101の更新データ2102より、業務データベース105を更新するためのSQL2105を発行し、これを実行させる。
コードマスタ(更新前)2106は、更新前のテーブルの例であり、コードマスタ(更新後)2107は、更新後のテーブルである。
【0067】
このように、データ更新装置404により、Excel帳票407の修正データにより業務データベース105を更新することができるが、更新時に修正データが業務データベース105に設定されている値または条件に一致していないとき、業務データベース105の更新が失敗してしまうため、利用者がデータ出力装置402で出力したExcel帳票407をExcelにて修正するとき、修正したデータに対して正常であるかどうかをチェックさせるための入力支援機能が必要になる。
【0068】
Excelには、「入力規制」という機能が存在する。入力規制機能は、指定したセルのデータをチェックする機能である。
図32は、Excelファイルにて利用者が手動で設定する入力規制のダイアログである。入力規制ダイアログの「入力値の種類」の中で、実施の形態2では、「リスト」入力規制ダイアログ2201、「文字列(長さ指定)」入力規制ダイアログ2203の2つにおいて、値を設定し、利用者が手動で設定しなくても、出力されたExcel帳票407に入力規制機能を提供できるようにしている。
【0069】
次に、Excel入力支援設定装置403の動作について、図34を用いて説明する。
まず、Excel出力用データ検索装置801より指定されたExcelテンプレート405のExcelシート定義601、Excel項目定義602より、出力項目を1つずつ取得し(ステップS2301)、取得した出力項目のデータ出力範囲を取得する(ステップS2302)。
次に、Excel項目定義602の項目名より、各出力項目においてカラム定義テーブル506の「コードグループ番号」、「最小データ長」、「最大データ長」のデータを取得する(ステップS2303)。
【0070】
次いで、ある出力項目において、コードグループ番号の有無を確認する(ステップS2304)。
コードグループ番号のデータが存在するとき、「リスト」による入力支援を行う。このとき、コードグループ番号に紐付くコード一覧をコードテーブル508より取得する(ステップS2305)。次に、ステップS2302で取得したデータ出力範囲において、「リスト」入力規制ダイアログ2201のリスト定義項目2202を取得する(ステップS2306)。
次に、ステップS2305で取得したコード一覧をリスト定義項目2202の「元の値」に設定する。リスト定義項目2202の「空白を無視する」、「ドロップダウンリストから選択する」はONと設定する。
次に、リスト定義項目2202の「エラーメッセージ」に「リストより選択してください」を設定する(ステップS2307)。
【0071】
例えば、図35において、Excel出力用データ検索装置801より指定したExcelテンプレート405の入出力定義2401より、出力項目「拡張区分」のステップS2302で取得されるデータ出力範囲はセル(A2〜A4)である。
入出力定義2401より、「拡張区分」はカラム定義テーブル506のカラム番号1005のデータである。このデータには、コードグループ番号(AA)が存在するため、コードテーブル508からコードグループ番号(AA)に紐付くコード一覧(PO、GE)を取得し、セル(A2〜A4)に対するリスト定義項目2202に設定する。この出力結果2404(図36)になる。
図36の出力結果2404で、出力されたExcelテンプレート4(2402)のシート「A」のセル(A2〜A4)において、プルダウンによるリスト選択を行うことができるようになる。
また、利用者がプルダウン(PO、GE)以外の文字列を入力したとき、「リストより選択してください」の文字2405が表示されるようになる。
【0072】
一方、ステップS2304で、コードグループ番号のデータが存在しないとき、「文字列(長さ指定)」による入力支援を行う。このとき、「文字列(長さ指定)」入力規制ダイアログ2203のデータ長定義項目2204を取得する(2308)。
次に、ステップS2308で取得した最小データ長と最大データ長を「文字列(長さ指定)」入力規制ダイアログ2203のデータ長定義項目2204の「最小値」と「最大値」に設定する。データ長定義項目2204の「空白を無視する」はONと設定する。
次に、データ長定義項目2204の「エラーメッセージ」に「入力されたデータの長さが範囲外です」を設定する(ステップS2309)。
【0073】
例えば、図35において、Excel出力用データ検索装置801より指定したExcelテンプレート405の入出力定義2401より、出力項目「所内人数」のステップS2302で取得されるデータ出力範囲はセル(C2〜C4)である。入出力定義2401より、テーブルIDが「設備台帳(拡張台帳_PO)」であるため、「所内人数」はカラム定義テーブル506のカラム番号1006のデータである。このデータには、コードグループ番号が存在しないため、カラム番号1006の最小データ長1と最大データ長10をセル(C2〜C4)に対するデータ長定義項目2204に設定する。この結果2406(図36)になる。
図36の結果2406で、出力されたExcelテンプレート405のシート「A」のセル(C2〜C4)において、利用者がデータ長1〜10以外の文字列を入力したとき、「入力されたデータの長さが範囲外です」の文字が表示されるようになる。
【0074】
ステップS2301〜S2309の処理が完了後、出力項目が他にないかどうかを確認する(ステップS2310)。出力項目があれば、ステップS2301へ戻り、ステップS2302〜ステップS2309を実行する。出力項目がなければ、処理を終了する。
【0075】
実施の形態2の効果について説明する。
従来では、業務データベースのデータが出力されたExcel帳票には、利用者が帳票データを修正するときに、修正したデータが正常であることを確認することができず、利用者が直接データベースを見て確認しなければならなかった。
実施の形態2によれば、出力したExcel帳票の各データに対して、リスト選択支援、データ長チェック支援を行うことができ、利用者の帳票修正における作業時間を削減することができる。
また、Excel帳票の修正したデータに基いて、業務データベースを更新するとき、更新時にデータの不正によって発生するエラーを削減することができる。
【符号の説明】
【0076】
100 データ入出力装置
101 利用者
102 Excel入出力アプリケーション
103 データベース操作部
104 データベース
105 業務データベース
106 Excel定義データベース
201 Excelテンプレート定義テーブル
202 Excelシート定義テーブル
203 Excel項目定義テーブル
301 データベース装置
302 アプリケーションサーバ装置
303 表示・入力装置
401 Excelテンプレート登録装置
402 データ出力装置
403 Excel入力支援設定装置
404 データ更新装置
405 Excelテンプレート
406 入出力定義
407 Excel帳票
501 設備台帳
502 事故障害台帳
503 基本台帳
504、505 拡張台帳
506 カラム定義テーブル
507 コードグループテーブル
508 コードテーブル
601 Excelシート定義
602 Excel項目定義
603 Excelテンプレート定義
801 Excel出力用データ検索装置
802 データ出力形式判定装置
803 固定行表出力装置
804 項目出力装置



【特許請求の範囲】
【請求項1】
利用者によって予め作成された汎用表計算ソフトのテンプレートに対し、別途作成された業務データベースのデータを入出力するための入出力方法を定義した入出力定義情報を、記憶装置に登録するテンプレート登録手段、
及びこのテンプレート登録手段によって登録された上記入出力定義情報にしたがって、上記業務データベースのデータを上記汎用表計算ソフトのテンプレートに対して出力し、汎用表計算ソフトの帳票とするデータ出力手段を備えたことを特徴とするデータ入出力装置。
【請求項2】
上記データ出力手段によって出力された上記汎用表計算ソフトの帳票の修正を行う際に、入力データの規制を行う入力規制設定手段を備えたことを特徴とする請求項1記載のデータ入出力装置。
【請求項3】
上記汎用表計算ソフトの帳票のデータに基づき、上記業務データベースを更新するデータ更新手段を備えたことを特徴とする請求項1または請求項2記載のデータ入出力装置。
【請求項4】
上記データ出力手段は、上記業務データベースのデータを上記汎用表計算ソフトのテンプレートに対して出力するに当たり、上記業務データベースを検索し、出力用のデータを取得する出力用データ検索手段を有することを特徴とする請求項1〜請求項3のいずれかに記載のデータ入出力装置。








【図1】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図16】
image rotate

【図18】
image rotate

【図20】
image rotate

【図21】
image rotate

【図23】
image rotate

【図25】
image rotate

【図27】
image rotate

【図28】
image rotate

【図30】
image rotate

【図31】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図2】
image rotate

【図3】
image rotate

【図15】
image rotate

【図17】
image rotate

【図19】
image rotate

【図22】
image rotate

【図24】
image rotate

【図26】
image rotate

【図29】
image rotate

【図32】
image rotate

【図36】
image rotate


【公開番号】特開2012−123607(P2012−123607A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−273429(P2010−273429)
【出願日】平成22年12月8日(2010.12.8)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】