実施の形態1.
図1は、実施の形態1に係るデータ移行システム1を示す構成図である。データ移行システム1は、例えば、データ移行装置10、入力装置20、表示装置30、ならびにサーバ装置40および50からなる。データ移行システム1は、例えば、サーバ装置40に保存されている入力元データソースDS1から、サーバ装置50に保存されている出力先データソースDS2にデータを移行するものである。あるいは、データ移行システム1は、例えば、サーバ装置40に保存されている入力元データソースDS1から、サーバ装置50にデータを移行し、出力先データソースDS2を作成するものである。
データ移行装置10には、データ移行を行うためのソフトウェアがインストールされている。ここでは、このソフトウェアをデータ移行ソフトと呼称する。データ移行ソフトは、例えば、事業者の販売管理および経営支援などを行うパッケージソフトのサブ機能として提供されるソフトウェアである。データ移行装置10は、例えば事業者が事業を行う事業所に設置されたPC端末などである。以下では、データ移行装置10の操作を行う者を利用者と称する。入力装置20は、データ移行装置10に接続されたキーボードなどのデータ移行装置10に入力を行う機器である。表示装置30は、端末装置に接続されたディスプレイなどのデータ移行装置10からの出力を行う機器である。
サーバ装置40は、事業者の行う事業に関連する各種のデータなどが保存された入力元データソースDS1を有する。サーバ装置40は、例えば、データベースサーバである。この場合、入力元データソースDS1は、例えば、Oracle(登録商標)またはPostgreSQLなどのリレーショナルデータベース管理システムによって管理されるデータベースである(以下では「Oracleデータベース」または「PostgreSQLデータベース」と呼称することがある)。また、サーバ装置40は、ファイルサーバなどであってもよい。この場合、サーバ装置40の入力元データソースDS1は、CSVファイルなどの指定された形式で保存されたファイルである。
サーバ装置50は、入力元データソースDS1から移行されたデータが新たに保存される出力先データソースDS2を有する。サーバ装置50は、例えば、データベースサーバである。この場合、サーバ装置50の出力先データソースDS2は、例えば、OracleデータベースまたはPostgreSQLデータベースである。また、サーバ装置50は、ファイルサーバなどであってもよい。この場合、サーバ装置50には、データ移行システム1によるデータ移行に伴い、入力元データソースDS1から移行されたデータが出力先データソースDS2として新たに保存される。サーバ装置50の出力先データソースDS2は、CSVファイルもしくはExcel(登録商標)ファイルなどの指定された形式で保存されたファイル、また利用者の使用する帳票出力用のソフトに対応したファイルである。
ここで、入力元データソースDS1および出力先データソースDS2におけるデータが、いかなるデータベース管理システムによって管理されるデータベースに保存されているか、あるいはいかなる形式のファイルに保存されているかを示す情報をデータの保存形式と称する。保存形式は、データ移行の対象となる入力元データソースDS1または出力先データソースDS2ごとに決定される。保存形式は、例えば「Oracle」「PostgreSQL」「CSV」「Excel」および「帳票」である。なお「Oracle」は、入力元データソースDS1および出力先データソースDS2におけるデータが「Oracleデータベース」に保存されていることを示す。また「PostgreSQL」は、入力元データソースDS1および出力先データソースDS2におけるデータが「PostgreSQLデータベース」に保存されていることを示す。また「CSV」は、入力元データソースDS1および出力先データソースDS2におけるデータがCSV形式のファイルに保存されていることを示す。また「EXCEL」は、入力元データソースDS1および出力先データソースDS2におけるデータがExcelファイルに保存されていることを示す。「帳票」は、出力先データソースDS2におけるデータが上述した、利用者の使用する帳票出力用のソフトに対応したファイル形式である。
データ移行装置10は、機能部としてのメインメニュー部100、メンテメニュー部110、概要選択部111、移行対象項目選択部112、変数定義部113、検索条件設定部114、並び替え設定部115、生成処理部116、カテゴリ選択部120、抽出条件入力部121、および移行処理部122と、記憶部130とを有する。各機能部は、記憶部130に記憶されたデータ移行ソフトのプログラムが、データ移行装置10が備えるCPU(Central Processing Unit)などの処理装置によって実行されることで実現される。
メインメニュー部100、メンテメニュー部110、概要選択部111、移行対象項目選択部112、変数定義部113、検索条件設定部114、並び替え設定部115、カテゴリ選択部120、および抽出条件入力部121は、データ移行装置10の機能を、表示される画面ごとに捉えたものである。これらの機能部は、それぞれ各種の画面の表示、および表示内容の制御などを行う。また、画面の遷移の際に、入力装置20を介して画面上に入力された入力情報の受け渡しを機能部間で行う。入力情報は、表示装置30に表示された各種の画面上の各入力部品に、入力装置20を介して入力される情報である。入力情報は、例えば、文字、数値、およびリストのインデックスなど入力部品の種類に応じた種々の情報である。さらに、各種画面に配置されたボタンの操作によって、データ移行ソフト以外のソフトウェアおよび外部のシステムとの通信を行う場合がある。
生成処理部116は、各種の画面の入力情報に基づいて、記憶部130に出力定義情報ODを生成する。移行処理部122は、出力定義情報ODに基づいて、入力元データソースDS1から出力先データソースDS2にデータを移行する。
記憶部130は、ROM(Read Only Memory)、フラッシュメモリ等のPROM(Programmable ROM)、HDD(Hard Disk Drive)、SSD(Solid State Drive)などである。記憶部130には、各機能部の動作に必要な各種の情報が予め記憶されている。例えば、記憶部130には、生成処理部116によって生成された出力定義情報ODが記憶される。出力定義情報ODは、例えばXML形式で記憶される。また、記憶部130には、データソースの保存形式とデータソースにアクセスする際の接続先などの情報とが対応されて記憶されている。
以下では、画面および入力情報の一例に基づいて、データ移行システム1によるデータ移行および各機能部の詳細について説明する。データ移行システム1は、利用者の操作に応じて各種の画面を表示し、画面に入力された入力情報に基づいてデータ移行を行う。以下では、画面ごとに説明を行う。なお、以下に示す各画面および入力情報の例は、一連の処理を行う場合を示すものである。ただし、個々の図面は利用者による操作途中の一時的な状態を示している。
図2は、実施の形態1に係る「外部出力メニュー」画面を示す模式図である。メインメニュー部100は「外部出力メニュー」画面G1を表示装置30に表示させる。図2に示すように「外部出力メニュー」画面G1には、ボタン11a~11cが表示されている。ボタン11aは「外部出力」ボタンである。ボタン11aが選択されると、カテゴリ選択部120は、表示されている画面を「外部出力」画面に遷移させる。ボタン11bは「外部出力メンテ」ボタンである。ボタン11bが選択されると、メンテメニュー部110は、表示されている画面を「外部出力メンテ」画面に遷移させる。ボタン11cは「終了」ボタンである。ボタン11cが選択されると、メインメニュー部100は「外部出力メニュー」画面G1を閉じ、データ移行ソフトの起動が終了する。
図3は、実施の形態1に係る「外部出力メンテ」画面を示す模式図である。メンテメニュー部110は「外部出力メンテ」画面G2を表示装置30に表示させる。「外部出力メンテ」画面G2は、主に、出力定義情報ODを生成するための定義カテゴリ、入力元データソースDS1および出力先データソースDS2の保存形式の設定を受け付けるための画面である。定義カテゴリは、データ移行の目的またはテーブルの名称などについての情報であり、個々のデータ移行を特定するための入力情報である。
図3に示すように「外部出力メンテ」画面G2には、入力部品20a~20jが表示されている。入力部品20aは、処理区分が選択されるコンボボックスである。処理区分は、定義カテゴリに対する処理の種類を示し、例えば「新規」または「修正・削除」である。入力部品20bは、定義コードが入力されるテキストボックスである。定義コードは、定義カテゴリに対応して割り振られたコードである。入力部品20bには、処理区分が「新規」の場合には任意の定義コードが入力され、処理区分が「修正・削除」の場合には修正または削除の対象となる定義コードおよび定義カテゴリが入力される。
入力部品20cは、定義カテゴリの名称が入力されるテキストボックスである。入力部品20cには、定義コードに対応する定義カテゴリ名が入力または表示される。入力部品20dは、入力元データソースDS1の保存形式が選択されるコンボボックスである。表示される保存形式は、例えば「Oracle」「PostgreSQL」または「CSV」などである。入力部品20eは、出力定義情報ODの名称が入力されるテキストボックスである。入力部品20fは、出力先データソースDS2の保存形式が選択されるコンボボックスである。表示される保存形式は、例えば「Oracle」「PostgreSQL」「CSV」「EXCEL」または「帳票」である。
入力部品20g~20jは、出力形式が「CSV」である場合のみに入力可能となっている。入力部品20gは、出力先のCSVファイルが出力されるディレクトリが入力されるテキストボックスである。入力部品20hは、出力先のCSVファイルにおける見出しの有無が選択されるテキストボックスである。入力部品20hには「出力する」および「出力しない」が入力候補として表示される。入力部品20iは、出力先のCSVファイルにおけるフィールドの区切記号の種類が選択されるコンボボックスである。入力部品20iには「カンマ」および「タブ」が入力候補として表示される。入力部品20jは、出力先のCSVファイルにおけるテキストの区切記号の有無が選択されるコンボボックスである。入力部品20jには「ダブルコーテーション」および「無し」が入力候補として表示される。
また「外部出力メンテ」画面G2には、ボタン21a~21gが表示されている。ボタン21aは「ウィザード」ボタンである。ボタン21aが選択されると、概要選択部111は、表示されている画面を「抽出条件編集(概要選択)」画面G3に遷移させる。
ボタン21bは「XML編集」ボタンである。ボタン21bが選択されると、メンテメニュー部110は、テキストエディタを立ち上げ、出力定義情報ODの名称に紐づく作成済みの出力定義情報ODの利用者による直接的な編集を受け付ける。
ボタン21cは「EXCEL編集」ボタンである。ボタン21cは、入力部品20fにおいて選択された出力データソースの保存形式が「EXCEL」である場合のみに選択可能になっている。ボタン21cが選択されると、メンテメニュー部110は、Excelを立ち上げ、出力先データソースDS2となるExcelファイルのレイアウトの利用者による直接的な編集を受け付ける。
ボタン21dは「登録」ボタンである。ボタン21dが選択されると、メンテメニュー部110は、各入力部品に入力された入力情報を定義カテゴリに紐づけて記憶部130に記憶する。ボタン21eは「削除」ボタンである。入力部品20aで選択されている処理区分が「修正・削除」である場合にボタン21eが選択されると、メンテメニュー部110は、入力部品20bに入力された定義コードまたは定義カテゴリ名に対応する定義カテゴリについての記録を記憶部130から削除する。
ボタン21fは「取消」ボタンである。ボタン21fが選択されると、メンテメニュー部110は、各入力部品に入力された入力情報を削除する。ボタン21gは「終了」ボタンである。ボタン21gが選択されると、メインメニュー部100は、表示されている画面を「外部出力メニュー」画面G1に遷移させる。
なお、図3では、入力部品20aで「新規」が選択され、入力部品20bで「00000001」が入力されている。また、入力部品20cおよび20eで「売上分析」が入力されている。また、入力部品20dで「Oracle」が選択され、入力部品20fで「PostgreSQL」が選択されている。
図4は、実施の形態1に係る「抽出条件編集(概要選択)」画面G3を示す模式図である。概要選択部111は「抽出条件編集(概要選択)」画面G3を表示装置30に表示させる。「抽出条件編集(概要選択)」画面G3は、抽出条件に含まれる移行対象のテーブルの設定を受け付けるための画面である。ここで、抽出条件について説明する。抽出条件は、データ移行の対象となるデータを抽出するための条件である。抽出条件は、移行対象のテーブル、移行対象項目、検索条件、変数、および並び替え設定によって定まる。移行対象のテーブルは、入力元データソースDS1が有するテーブルである。移行対象のテーブルは、入力元データソースDS1がデータベースである場合に指定される。移行対象項目は、入力元データソースDS1のレコード中の項目であって、フィールド単位で決定される。入力元データソースDS1のレコードは、対応する複数のフィールドの集合である。レコードは、入力元データソースDS1がデータベースである場合には移行対象のテーブルが有する。検索条件は、検索条件項目と変数との比較に用いられる条件である。検索条件項目は、入力元データソースDS1のレコード中の項目であって、フィールド単位で決定される。変数は、検索条件中に埋め込まれ、後述する「抽出条件」画面G9において、値を指定することができる。並び替え設定は、移行対象項目の出力先データソースDS2での出力順についての設定である。つまり、データ移行では、移行対象のテーブルのレコードのうち、各レコードの検索条件項目と変数との比較結果が検索条件を満足する場合、当該レコードの移行対象項目が並び替え設定の通りの出力順で移行される。上述したように、「抽出条件編集(概要選択)」画面G3は、抽出条件に含まれる移行対象のテーブルの設定を受け付けるための画面である。まず、移行対象のテーブルの設定について説明し、移行対象項目、検索条件、変数、および並び替え設定の詳細については、画面G4~G7で説明する。
図4に示すように「抽出条件編集(概要選択)」画面G3には、入力部品30aおよび30bが表示されている。入力部品30aは、移行対象のテーブルが選択されるリストボックスである。入力部品30aには、入力元データソースDS1が有するテーブルが入力候補として表示される。入力元データソースDS1が有するテーブルは、例えば、概要選択部111が画面を「抽出条件編集(概要選択)」画面G3に遷移させる際に取得したものである。
入力部品30bは、入力部品30aに表示されるテーブルを絞りこむためのキーワードが入力されるテキストボックスである。
また「抽出条件編集(概要選択)」画面G3には、ボタン31a~31eが表示されている。ボタン31aは「絞込」ボタンである。ボタン31aが選択されると、概要選択部111は、入力部品30bに入力されたキーワードを含むテーブルのみを入力部品30aに表示させる。
ボタン31bは「戻る」ボタンである。ボタン31bが選択されると、メンテメニュー部110は、表示されている画面を「外部出力メンテ」画面G2に遷移させる。ボタン31cは「取消」ボタンである。ボタン31cが選択されると、概要選択部111は「抽出条件編集(概要選択)」画面G3における各入力部品の入力情報を削除する。また、メンテメニュー部110は、表示されている画面を「外部出力メンテ」画面G2に遷移させる。
ボタン31dは「次へ」ボタンである。ボタン31dが選択されると、移行対象項目選択部112は、表示されている画面を「抽出条件編集(移行対象項目選択)」画面G4に遷移させる。ボタン31eは「登録」ボタンである。ボタン31eは、この画面では選択不可能である。
なお、図4では、入力部品30bにトランザクションを示す「T」が入力され、入力部品30aに該当するテーブルが表示された状態を示している。また、入力部品30aの「T売上」が選択されている。
図5は、実施の形態1に係る「抽出条件編集(移行対象項目選択)」画面G4を示す模式図である。移行対象項目選択部112は「抽出条件編集(移行対象項目選択)」画面G4を表示装置30に表示させる。「抽出条件編集(移行対象項目選択)」画面G4は、抽出条件中の移行対象項目の設定を受け付けるための画面である。
図5に示すように「抽出条件編集(移行対象項目選択)」画面G4には、入力部品40aおよび40bが表示されている。入力部品40aは、移行対象項目が選択されるリストボックスである。入力部品40aには、移行対象のテーブルが有する項目が移行可能項目として表示される。移行対象のテーブルが有する項目は、例えば、移行対象項目選択部112が画面を「抽出条件編集(移行対象項目選択)」画面G4に遷移させる際に取得したものである。入力部品40bは、選択された移行対象項目が表示されたリストボックスである。
また「抽出条件編集(移行対象項目選択)」画面G4には、ボタン41a~41hが表示されている。ボタン41aは「項目選択>」ボタンである。ボタン41aが選択されると、移行対象項目選択部112は、入力部品40aで選択された表示可能項目を表示する項目として入力部品40bに表示させる。ボタン41bは「全項目取込>>」ボタンである。ボタン41bが選択されると、移行対象項目選択部112は、入力部品40aで表示された全ての表示可能項目を表示する項目として入力部品40bに表示させる。
ボタン41cは「<<全項目取消」ボタンである。ボタン41cが選択されると、移行対象項目選択部112は、入力部品40bに表示された全ての表示する項目を削除し、入力部品40aに追加する。ボタン41dは「<項目取消」ボタンである。ボタン41dが選択されると、移行対象項目選択部112は、入力部品40bの表示する項目から入力部品40bで選択された表示する項目を削除し、入力部品40aに追加する。
ボタン41eは「戻る」ボタンである。ボタン41eが選択されると、概要選択部111は、表示されている画面を「抽出条件編集(概要選択)」画面G3に遷移させる。ボタン41fは「取消」ボタンである。ボタン41fが選択されると、移行対象項目選択部112は「抽出条件編集(移行対象項目選択)」画面G4における各入力部品の入力情報を削除する。また、メンテメニュー部110は、画面を「外部出力メンテ」画面G2に遷移させる。
ボタン41gは「次へ」ボタンである。ボタン41gが選択されると、変数定義部113は、表示されている画面を「抽出条件編集(変数定義)」画面G5に遷移させる。ボタン41hは「登録」ボタンである。ボタン41hが選択されると、生成処理部116は、入力元データソースDS1および出力先データソースDS2の保存形式、ならびに移行対象のテーブルおよび移行対象項目に基づいて、出力定義情報ODを生成し、定義カテゴリ名に紐づけて記憶部130に記憶する。また、メンテメニュー部110は、表示されている画面を「外部出力メンテ」画面G2に遷移させる。
なお、図5では、入力部品40aに「商品名称」「数量」「単位」および「ロケーション」が表示され、入力部品40bに「商品略称」および「商品コード」が表示されている。
図6は、実施の形態1に係る「抽出条件編集(変数定義)」画面G5を示す模式図である。変数定義部113は「抽出条件編集(変数定義)」画面G5を表示装置30に表示させる。「抽出条件編集(変数定義)」画面G5は、検索条件ひいては抽出条件に含まれる変数の定義についての設定を受け付けるための画面である。
図6に示すように「抽出条件編集(変数定義)」画面G5には、入力部品50aが表示されている。入力部品50aは、変数の抽出項目名、見出し、型、長、小数、対、およびコメントが入力される表である。抽出項目名は、変数に対して付けられる名称である。抽出項目名には、移行対象のテーブルが有する項目名が入力候補として表示される。見出しは「抽出条件」画面G9で表示される見出しである。型は、変数の取りうる形式であり、図6で示された「西暦年月」の他、例えば「文字」のみ、および「数字」のみ、ならびに抽出項目名に設定された項目に対応する所定の型などが入力候補として表示される。長は、型が「文字」または「数字」のみであった場合に変数の長さをバイト数で定義する項目である。小数は、型が「数字」のみであった場合に小数点以下の桁数をバイト数で定義する項目である。対は、変数に範囲を指定する場合などに指定される項目である。変数に対が指定された場合、当該変数は、下限値と上限値とに相当を意味する2つの変数からなる。
また「抽出条件編集(変数定義)」画面G5には、ボタン51a~51dが表示されている。ボタン51aは「戻る」ボタンである。ボタン51aが選択されると、移行対象項目選択部112は、表示されている画面を「抽出条件編集(移行対象項目選択)」画面G4に遷移させる。ボタン51bは「取消」ボタンである。ボタン51bが選択されると、変数定義部113は、抽出条件編集(変数定義)」画面G5における入力部品50aの入力情報を削除する。また、メンテメニュー部110は、表示されている画面を「外部出力メンテ」画面G2に遷移させる。
ボタン51cは「次へ」ボタンである。ボタン51cが選択されると、検索条件設定部114は、表示されている画面を「抽出条件編集(検索条件設定)」画面G6に遷移させる。ボタン51dは「登録」ボタンである。ボタン51dが選択されると、生成処理部116は、画面G2~G4で入力された入力情報、および入力部品50aに入力された入力情報に基づいて、出力定義情報ODを生成し、定義カテゴリ名に紐づけて記憶部130に記憶する。また、メンテメニュー部110は、表示されている画面を「外部出力メンテ」画面G2に遷移させる。
なお、図6では、入力部品50aに抽出項目名が「計上年月」である変数と、「得意先コード」である変数とが入力されている。「計上年月」は、見出しに「計上年月」が入力され、型に「西暦年月」が入力され、対が指定されている。「得意先コード」は、見出しに「得意先コード」が入力され、型に「得意先コード」が入力されている。
図7は、実施の形態1に係る「抽出条件編集(検索条件設定)」画面G6を示す模式図である。検索条件設定部114は「抽出条件編集(検索条件設定)」画面G6を表示装置30に表示させる。「抽出条件編集(検索条件設定)」画面G6は、抽出条件に含まれる検索条件の設定を受け付けるための画面である。
図7に示すように「抽出条件編集(検索条件設定)」画面G6には、入力部品60a~60gが表示されている。入力部品60aは、検索条件項目が選択されるコンボボックスである。入力部品60aには、移行対象のテーブルが有する項目が入力候補として表示される。入力部品60bは、変数が選択されるコンボボックスである。入力部品60bには「抽出条件編集(変数定義)」画面G5の入力部品50aで入力された変数の抽出項目名が入力候補として表示される。入力部品60cは、検索条件項目と変数とで行われる演算の演算子が選択されるコンボボックスである。入力部品60cには、例えば「と等しい」「と等しくない」「未満」「を超える」「以上」「以下」「を含んでいる」「を含んでいない」「の範囲」が入力候補として表示される。入力部品60dは、チェックボックスであって、入力があった場合には「抽出条件」画面G9において変数に値が指定されなかった場合に、全てのレコードが検索条件を満足したものとされる。
入力部品60eは、検索条件を表示するテキストボックスである。ここで、検索条件は、1セットの検索条件項目と変数と演算子とからなる1つの条件式、またはAND条件もしくはOR条件で結合された複数の条件式で表現される。入力部品60fは、チェックボックスであって、入力があった場合には入力部品60gに検索条件式を表示し、検索条件式の編集を受け付ける。入力部品60gは、検索条件に対応する検索条件式が表示されるテキストボックスである。検索条件式は、例えばSQLなどのデータベース言語で記載される。なお、検索条件式が編集された場合は、入力部品60eの検索条件が無効になる。
また「抽出条件編集(検索条件設定)」画面G6には、ボタン61a~61iが表示されている。ボタン61aは「”かつ“で追加」ボタンである。ボタン61aが選択されると、検索条件設定部114は、入力部品60a~60cの入力情報で定まる1つの条件式を、入力部品60eにAND条件で追加する。ボタン61bは「”かつ“でブロック追加」ボタンである。ボタン61bが選択されると、検索条件設定部114は、入力部品60a~60cの入力情報で定まる1つの条件式を、入力部品60eに括弧つきのAND条件で追加する。
ボタン61cは「”または“で追加」ボタンである。ボタン61cが選択されると、検索条件設定部114は、入力部品60a~60cの入力情報で定まる1つの条件式を、入力部品60eにOR条件で追加する。ボタン61dは「”または“でブロック追加」ボタンである。ボタン61dが選択されると、検索条件設定部114は、入力部品60a~60cの入力情報で定まる1つの条件式を、入力部品60eに括弧つきのOR条件で追加する。
ボタン61eは「条件削除」ボタンである。ボタン61eが選択されると、検索条件設定部114は、入力部品60eにおいて選択されている検索条件を削除する。
ボタン61fは「戻る」ボタンである。ボタン61fが選択されると、変数定義部113は、表示されている画面を「抽出条件編集(変数定義)」画面G5に遷移させる。ボタン61gは「取消」ボタンである。ボタン61gが選択されると、検索条件設定部114は「抽出条件編集(検索条件設定)」画面G6における各入力部品の入力情報を削除する。また、メンテメニュー部110は、表示されている画面を「外部出力メンテ」画面G2に遷移させる。
ボタン61hは「次へ」ボタンである。ボタン61hが選択されると、並び替え設定部115は、表示されている画面を「抽出条件編集(並び替え設定)」画面G7に遷移させる。ボタン61iは「登録」ボタンである。ボタン61iが選択されると、生成処理部116は、画面G2~G5で入力された入力情報、および画面G6の各入力部品に入力された入力情報に基づいて、出力定義情報ODを生成し、定義カテゴリ名に紐づけて記憶部130に記憶する。また、メンテメニュー部110は、表示されている画面を「外部出力メンテ」画面G2に遷移させる。
なお、図7では、入力部品60a~60cに「得意先コード」が、変数「#得意先コード#」「と等しい」レコードを検索するための条件式を設定する入力情報が入力されている。また、入力部品60dは、指定されている。また、入力部品60eでは「計上年月」についての条件式と、入力部品60a~60cに入力された「得意先コード」についての条件式とがAND条件で結合された検索条件が入力されている。また、入力部品60fが指定されることで、検索条件に対応する検索条件式が入力部品60gに表示されて編集可能になっている。
図8は、実施の形態1に係る「抽出条件編集(並び替え設定)」画面G7を示す模式図である。並び替え設定部115は「抽出条件編集(並び替え設定)」画面G7を表示装置30に表示させる。「抽出条件編集(並び替え設定)」画面G7は、抽出条件に含まれる並び替え設定を受け付けるための画面である。
図8に示すように「抽出条件編集(並び替え設定)」画面G7には、入力部品70aおよび70bが表示されている。入力部品70aは、並び替え項目が選択されるリストボックスである。並び替え項目は、並び替えの条件の設定が可能な項目である。入力部品70aには、移行対象のテーブルに含まれるフィールドが並び替え項目として表示される。入力部品70bは、出力順が表示されたリストボックスである。出力順は、選択された並び替え項目に対して降順または昇順が設定された条件を上から優先度順に並べたものである。
また「抽出条件編集(並び替え設定)」画面G7には、ボタン71a~71gが表示されている。ボタン71aは「小→大>」ボタンである。ボタン71aが選択されると、並び替え設定部115は、入力部品70aで選択された並び替え項目の昇順を出力順の1つの条件として入力部品70bに追加する。ボタン71bは「大→小>」ボタンである。ボタン71bが選択されると、並び替え設定部115は、入力部品70aで選択された並び替え項目の降順を出力順の1つの条件として入力部品70bに追加する。ボタン71cは「<取消」ボタンである。ボタン71cが選択されると、並び替え設定部115は、入力部品70bで選択された条件を削除し、入力部品70aに削除された条件が対象としていた並び替え項目を追加する。
ボタン71dは「戻る」ボタンである。ボタン71dが選択されると、検索条件設定部114は、表示されている画面を「抽出条件編集(検索条件設定)」画面G6に遷移させる。ボタン71eは「取消」ボタンである。ボタン71eが選択されると、並び替え設定部115は「抽出条件編集(並び替え設定)」画面G7における各入力部品の入力情報を削除する。また、メンテメニュー部110は、表示されている画面を「外部出力メンテ」画面G2に遷移させる。
ボタン71fは「次へ」ボタンである。ボタン71fは、この画面では選択不可能である。ボタン71gは「登録」ボタンである。ボタン71gが選択されると、生成処理部116が動作し、各画面での入力情報に基づいて定義カテゴリ名に紐づく出力定義情報ODが生成される。また、メンテメニュー部110は、表示されている画面を「外部出力メンテ」画面G2に遷移させる。
なお、図8では、入力部品70aに「商品名称」「商品コード」「商品名」「数量」「単位」および「ロケーション」が表示されている。また、入力部品70bには、「商品コードの昇順」が表示されている。
図9は、実施の形態1に係る出力定義情報ODの一部を示す図である。上述したように、出力定義情報ODは、例えばXMLファイルとして生成されている。なお、出力定義情報ODは、XMLファイル以外の形式ファイルであってもよい。図9に示すように、出力定義情報ODには「InputDataBase」エレメントE1、「FieldAttributes」エレメントE2、「OutputDataBase」エレメントE3、および「内部変数定義」エレメントE4が記載されている。
「InputDataBase」エレメントE1には、入力データソースの保存形式、ならびに抽出条件に含まれる移行対象のテーブル、移行対象項目、検索条件、および並び替え設定が記載されている。入力データソースの保存形式は「InputDataBase」エレメントE1の「Target」アトリビュートに記載されている。移行対象のテーブルは、SQLのFROM句内で定義されている。移行対象項目は、SQLのSELECT句内で定義されている。検索条件は、SQLのWHERE句内で定義されている。並び替え設定は、SQLのORDER BY句で定義されている。また、検索条件は、変数E1a、E1bおよびE1cを含んでいる。なお、抽出条件は、SQL以外のデータベース言語で定義されていてもよい。
なお、図9では「InputDataBase」エレメントE1の「Target」アトリビュートには「外部出力メンテ」画面G2で入力された入力形式「Oracle」に対応して、“Oracle”が指定されている。また、SQLのFROM句には「抽出条件編集(概要選択)」画面G3で選択された移行対象のテーブル「T売上」に対応して、“T売上”が指定されている。また、SQLのSELECT句には「抽出条件編集(移行対象項目選択)」画面G4で選択される移行対象項目「商品名称」「商品コード」「商品略称」「数量」「単位」および「ロケーション」に対応して、“商品名称”、“商品コード”、“商品略称”、“数量”、“単位”および“ロケーション”が指定されている。また、SQLのWHERE句には「抽出条件編集(検索条件設定)」画面G6で入力された検索条件式に対応して、同一の検索条件式が指定されている。変数E1aおよび変数E1bは、「計上年月」の始期および終期に対応する。変数E1cは、「得意先コード」に対応する。なお「抽出条件編集(検索条件設定)」画面G6で入力部品60gに検索条件式を編集しなかった場合、入力部品60eに入力された検索条件から変換された検索条件式がSQLのWHERE句に指定される。また、SQLのORDER BY句には「抽出条件編集(並び替え設定)」画面G7の出力順に対応して、“商品コード ASC”が入力されている。
「FieldAttributes」エレメントE2には「抽出条件」画面G9の表示のレイアウトを定義する情報が記載されている。「FieldAttributes」エレメントE2には「FieldAttribute」エレメントE21~E23が記載されている。「FieldAttribute」エレメントE21~E23のそれぞれは「抽出条件」画面G9の入力部品のそれぞれに対応している。
なお、図9では、「FieldAttribute」エレメントE21およびE22は、「抽出条件編集(変数定義)」画面G5で定義された抽出項目名「計上年月」に対応している。また、「FieldAttribute」エレメントE23は、「抽出条件編集(変数定義)」画面G5で定義された抽出項目名「得意先コード」に対応している。
「OutputDataBase」エレメントE3には、出力データソースの保存形式が記載されている。入力データソースの保存形式は「OutputDataBase」エレメントE3の「Target」アトリビュートに記載されている。
なお、図9では「OutputDataBase」エレメントE3の「Target」アトリビュートには「外部出力メンテ」画面G2で入力された出力形式「PostgreSQL」に対応して、“PostgreSQL”が指定されている。
「内部変数定義」エレメントE4には、詳細は省略するが「抽出条件編集(変数定義)」画面G5で定義された各抽出項目の型、長、および小数の制御に関する定義が記載される。
図10は、実施の形態1に係る「外部出力」画面G8を示す模式図である。カテゴリ選択部120は「外部出力」画面G8を表示装置30に表示させる。「外部出力」画面G8は、処理対象の定義カテゴリの指定を受け付けるための画面である。
図10に示すように「外部出力」画面G8には、入力部品80aが表示されている。入力部品80aは、処理対象の定義カテゴリが選択されるリストボックスである。入力部品80aには、記憶部130に保存されている定義カテゴリと、前回に当該定義カテゴリのデータ移行が行われた日時との組が選択候補として表示されている。
また「外部出力」画面G8には、ボタン81aおよび81bが表示されている。ボタン81aは「実行」ボタンである。ボタン81aが選択されると、抽出条件入力部121は、表示されている画面を「抽出条件」画面G9に遷移させる。ボタン81bは「終了」ボタンである。ボタン81bが選択されると、メインメニュー部100は、表示されている画面を「外部出力メニュー」画面G1に遷移させる。
図11は、実施の形態1に係る「抽出条件」画面G9を示す模式図である。抽出条件入力部121は「抽出条件」画面G9を表示装置30に表示させる。「抽出条件」画面G9は、抽出条件に含まれる変数の指定を受け付けるための画面である。
図11に示すように「抽出条件」画面G9には、入力部品90a~90cが表示されている。抽出条件入力部121は「外部出力」画面G8の入力部品80aで選択された定義カテゴリ名に対応する出力定義情報ODを読み込んで、出力定義情報ODの「FieldAttributes」エレメントE2に基づいて「抽出条件」画面G9の入力部品を表示させている。入力部品90aは「FieldAttribute」エレメントE21に対応する入力部品であって、計上年月の始期が入力されるテキストボックスである。入力部品90bは「FieldAttribute」エレメントE22に対応する入力部品であって、計上年月の終期が入力されるテキストボックスである。入力部品90cは「FieldAttribute」エレメントE23に対応する入力部品であって、得意先コードが入力されるテキストボックスである。
また「抽出条件」画面G9には、ボタン91aおよび91bが表示されている。ボタン91aは「実行」ボタンである。ボタン91aが選択されると、移行処理部122が動作する。移行処理部122は、出力定義情報ODを読み込んで、出力定義情報ODの「InputDataBase」エレメントE1、および「OutputDataBase」エレメントE3に基づいて、データ移行を行う。移行処理部122は、移行対象のテーブルにおいて、利用者によって指定された変数を含む検索条件に合致する検索条件項目を探索し、探索された検索条件項目を含むレコード中の移行対象項目の移行を行う。ここで、移行処理部122は、例えば、予め入力元データソースDS1および出力先データソースDS2の保存形式ごとに固有の移行処理の実行が可能なように構成されており、読み込んだ出力定義情報ODに定義されている入力元データソースDS1および出力先データソースDS2の保存形式に応じて移行処理を行う。移行処理部122は、移行処理にあたって、例えば記憶部130に記憶されたデータソースの保存形式とデータソースにアクセスする際の接続先などの情報との対応などを参照する。移行処理部122の詳細な構成についての説明は省略する。
このように、検索条件に変数を含み、移行処理時に利用者による変数の指定を受け付けることで、同一の定義カテゴリにおいても、利用者が設定した内容に応じて異なるデータを出力することができる。
ボタン91bは「中止」ボタンである。ボタン91bが選択されると、カテゴリ選択部120は、表示されている画面を「外部出力」画面G8に遷移させる。
ここで、データ移行装置10の動作について説明する。図12は、実施の形態1に係るデータ移行装置10が行うデータ移行方法を示すフローチャートである。先ず、図12を用いて、データ移行方法のうち、出力情報定義の生成の手順について説明する。最初に、メンテメニュー部110は「外部出力メンテ」画面G2を表示装置30に表示させ、定義カテゴリ、入力元データソースDS1および出力先データソースDS2の保存形式の設定を受け付ける(ステップS1)。利用者によって定義カテゴリ、および保存形式などが入力されると、概要選択部111は「抽出条件編集(概要選択)」画面G3を表示装置30に表示させ、抽出条件に含まれる移行対象のテーブルの設定を受け付ける(ステップS2)。
利用者によってテーブルの設定が入力されると、移行対象項目選択部112は「抽出条件編集(移行対象項目選択)」画面G4を表示装置30に表示させ、抽出条件に含まれる移行対象項目の設定を受け付ける(ステップS3)。利用者によって移行対象項目の設定が入力されると、変数定義部113は「抽出条件編集(変数定義)」画面G5を表示装置30に表示させ、抽出条件に含まれる変数の定義の設定を受け付ける(ステップS4)。
利用者によって変数の定義の設定が入力されると、検索条件設定部114は「抽出条件編集(検索条件設定)」画面G6を表示装置30に表示させ、抽出条件に含まれる検索条件の設定を受け付ける(ステップS5)。利用者によって検索条件が入力されると、並び替え設定部115は「抽出条件編集(並び替え設定)」画面G7を表示装置30に表示させ、抽出条件に含まれる並び替えの設定を受け付ける(ステップS6)。
利用者によって並び替えの設定が入力されると、生成処理部116は、設定された定義カテゴリについての、入力元データソースDS1および出力先データソースDS2の保存形式、抽出条件、「抽出条件」画面G9の表示のレイアウトを定義する情報、および変数の定義情報などについて記された出力定義情報ODを生成する(ステップS7)。図12のステップS1~S7が本開示の「生成処理ステップ」に相当する。
図13は、実施の形態1に係るデータ移行装置10が行うデータ移行方法を示すフローチャートである。次に、図13を用いて、データ移行方法のうち、データ移行の手順について説明する。最初に、カテゴリ選択部120は「外部出力」画面G8を表示装置30に表示させ、出力する定義カテゴリ名の指定を受け付ける(ステップS11)。利用者によって定義カテゴリ名が入力されると、抽出条件入力部121は「抽出条件」画面G9を表示装置30に表示させ、検索条件中の変数の指定を受け付ける(ステップS12)。
利用者によって抽出条件中の変数が入力されると、移行処理部122は、指定された定義カテゴリについての出力定義情報ODを読み込み、当該出力定義情報ODに記された入力元データソースDS1から出力先データソースDS2の保存形式、抽出条件、および変数の定義情報などに基づいて、データの移行を行う(ステップS13)。図13のステップS11~S13が本開示の「移行処理ステップ」に相当する。
以上説明したように、実施の形態1のデータ移行装置10では、入力元データソースDS1および出力先データソースDS2の保存形式が定義された出力定義情報ODを生成し、当該出力定義情報ODをデータの移行を行う際に読み込む。出力定義情報ODの保存形式は、データ移行の対象となる入力元データソースDS1または出力先データソースDS2ごとに決定される。したがって、実施の形態1のデータ移行装置10によれば、対応可能な入力元データソースDS1または出力先データソースDS2の種類を多様化することができる。
また、実施の形態1によれば、入力元および出力先となるデータソースの種類が多様化することで、事業者にとっては、BI(Business Intelligence)におけるデータ分析の対象となるデータの種類をより拡大することができるという利点がある。
また、実施の形態1によれば、出力定義情報ODの入力元データソースDS1または出力先データソースDS2の保存形式を変更することで、複数の種類のデータソースに対応している。このため、データ移行ソフトで取り扱うデータソースの種類が増えるごとにデータ移行ソフトを改修する必要がない。したがって、改修に掛かる費用およびコストを削減することができる。
また、実施の形態1によれば、移行対象項目がSQLによって定義されている。このため、実施の形態1の移行対象項目は、SQL以外で定義されている移行対象項目と比較して、可読性に優れている。したがって、例えば、出力定義情報の内容の確認、または修正などの作業を容易に行うことができる。
以上が本開示の実施の形態の説明であるが、本開示は、上記の実施の形態の構成に限定されるものではなく、その技術的思想の範囲内で様々な変形または組み合わせが可能である。
例えば、各画面に表示される項目は、実施の形態1で説明したものに限定されない。入力元データソースDS1または出力先データソースDS2の保存形式は「外部出力メンテ」画面G2で入力されなくてもよい。この場合、例えば「外部出力メニュー」画面G1から「外部出力メンテ」画面G2に遷移する前に、入力元データソースDS1または出力先データソースDS2の保存形式を入力するための画面を表示させてもよい。また、出力定義情報ODを直接編集する際に、入力元データソースDS1の保存形式または出力先データソースDS2の保存形式を入力するようにしてもよい。
データ移行装置10は、PC端末ではなく、サーバ装置であってもよい。また、PC端末とサーバ装置とがサーバクライアント方式で動作するものであってもよい。この場合、PC端末およびサーバ装置の両方がデータ移行システム1のデータ移行装置10に相当する。もっとも、これらの例に限らず、データ移行装置10が行うデータ移行方法は、生成処理部116および移行処理部122を有する、データ移行装置10以外の1つまたは複数の装置によって行われてもよい。
データ移行システム1によるデータ移行の対象となる入力元データソースDS1または出力先データソースDS2は、サーバ装置40または50に保存されているものに限らず、データ移行装置10またはその他の装置に保存されているものであってもよい。
データ移行装置10がPC端末であるかサーバ装置であるかに限らず、出力定義情報ODの保存場所を、サーバ装置40または50などのデータ移行装置10以外の他の装置の記憶領域にしてもよい。