(57)【要約】【課題】  操作性に優れた階層データ編集装置を提供する。【解決手段】  ホストコンピュータ１２０と複数の端末１１０とからなる階層データ編集システム１００において、ホストコンピュータ１２０のデータ蓄積部１２１は、階層構造を有する内部データ１２６とそのＧＵＩ表示用データ１２７とを保存する。各端末１１０は、ホストコンピュータ１２０から受信され、内部データ１２６をグラフィック表示するためのＧＵＩ表示用データ１２７をモニタに表示する表示部１１３と、内部データ１２６に含まれるデータ間の２以上のつながりを対象として含む対象範囲の指定と、対象を編集する内容の指定とを受け付ける更新指示受付部１１４とを備える。ホストコンピュータ１２０は、指定された編集内容がＧＵＩ表示用データ１２７上の対象に施された結果を、内部データ１２６に反映する更新部１２５を備える。【選択図】        図１
2006040118.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を有する内部データを編集する階層データ編集装置であって、
前記内部データに含まれるデータ間の２以上のつながりを対象として含む対象範囲の指定を受け付ける対象指定手段と、
前記対象を編集する内容の指定を受け付ける編集内容指定手段と、
指定された編集内容を内部データに反映する内部データ反映手段と
を備えることを特徴とする階層データ編集装置。
【請求項２】
前記内部データ反映手段は、編集画面に表示されている一括ボタンが押されることによって、前記編集結果を一括で前記内部データに反映させる
ことを特徴とする請求項１記載の階層データ編集装置。
【請求項３】
前記対象指定手段は、１つのデータが選択されると選択された前記データより下層の全データを含む範囲を選択する
ことを特徴とする請求項２記載の階層データ編集装置。
【請求項４】
前記階層データ編集装置は、さらに、前記編集の結果、不完全な状態になったデータがある場合、当該データが不完全な状態にあることを表示して知らせる不完全状態通知手段
を備えることを特徴とする請求項３記載の階層データ編集装置。
【請求項５】
前記階層データ編集装置は、さらに、過去に前記編集が施されたデータを他のデータと区別して表示する編集履歴表示手段
を備えることを特徴とする請求項４記載の階層データ編集装置。
【請求項６】
前記編集内容指定手段は、指定された対象がドラッグアンドドロップされたとき、ドロップされた位置に基づいて、対象となるデータの移動指示および移動先とからなる前記編集内容の指定を受け付ける
ことを特徴とする請求項１記載の階層データ編集装置。
【請求項７】
前記編集内容指定手段は、指定された対象が前記階層における他のデータに関連付けられたとき、関連付けられた前記データに基づいて、対象となるデータの移動指示および移動先とからなる前記編集内容の指定を受け付ける
ことを特徴とする請求項１記載の階層データ編集装置。
【請求項８】
前記編集内容指定手段は、指定された対象がドラッグアンドドロップされ、前記階層における他のデータに関連付けられたとき、対象となるデータの移動指示および移動先とからなる前記編集内容の指定を受け付ける
ことを特徴とする請求項１記載の階層データ編集装置。
【請求項９】
階層構造を有する内部データを編集する階層データ編集方法であって、
前記内部データに含まれるデータ間の２以上のつながりを対象として含む対象範囲の指定を受け付ける対象指定ステップと、
前記対象を編集する内容の指定を受け付ける編集内容指定ステップと、
指定された編集内容を内部データに反映する内部データ反映ステップと
を含むことを特徴とする階層データ編集方法。
【請求項１０】
階層構造を有する内部データを編集する階層データ編集装置のためのプログラムであって、コンピュータを請求項１〜８のいずれか１項に記載の階層データ編集装置が備える各手段として機能させるプログラム。
【請求項１１】
請求項１０記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
階層構造を持つデータをグラフィック表示して、データの編集を受け付ける階層データ編集装置に関する。
【背景技術】
【０００２】
従来、企業の人事データなどは、ホストコンピュータのリレーショナルデータベースに格納され、一括管理されていることが多い。人事異動などにより、このような人事データを更新する必要がある場合、人事担当者は、自分の部署にある端末を操作し、ＬＡＮなどを介してホストコンピュータにアクセスする。そして、ホストコンピュータのリレーショナルデータベースから人事データを読み出して、異動のあった担当者のレコードを更新する。
【０００３】
図１９（ａ）及び（ｂ）は、従来の階層データの更新方法を示す図である。図１９（ａ）は、例えば、人事担当者の端末に表示される人事データを示し、同図（ｂ）は、ホストコンピュータのリレーショナルデータベースに格納されている人事データを示している。図１９（ｂ）に示すように、この人事データは、上から順に「部」、「課」、「係」及び「担当」という階層構造を有している。「経理部」の下には「経理課」があり、「経理課」の下には「資金係」と「原価管理係」とがある。また、「総務部」の下には「総務課」があり、「総務課」の下には「総務係」がある。さらに、それらの「係」の下には「担当」があり、「資金係」には「担当」として「錨田」と「仲木」とが、「原価管理係」には「担当」として「高本」と「加取」とが、「総務係」には「担当」として「塩村」が所属している。
【０００４】
図１９（ｂ）に示した人事データで表される会社で人事異動があり、部署の統廃合で「資金係」が廃止され、「資金係」に所属していた担当（「錨田」及び「仲木」）が全員、「総務部」「総務課」「総務係」に配属されたとする。この場合、図１９（ｂ）に示した人事データを更新するには、端末に図１９（ａ）の画面を表示させた上、異動のあった担当ごとに各項目を更新する。例えば、まず、「担当」が「錨田」のレコードを選択して、「部」、「課」及び「係」の項目をそれぞれ「経理部」から「総務部」へ、「経理課」から「総務課」へ、及び「資金係」から「総務係」に変更する。次いで、「仲木」のレコードを選択し、「錨田」と同様に「部」、「課」及び「係」の項目をそれぞれ変更する。これにより、人事データに人事異動の結果を反映させることができる。
【０００５】
また、このような階層構造を有するデータは、人事データに限らず、例えば、上下水道、電力などのユーティリティ産業を対象とした設備管理システムのデータベースでも取り扱われる。例えば、ユーザがインタフェース画面上で入力する設備や施設の階層区分数と各区分の名称及び各区分に対する設備や施設を階層的に定義した構造のデータを前記データベースに蓄積するデータベース構築手段を設けた設備管理システムが開示されている（例えば、特許文献１参照。）。この技術によれば、ユーザは、設備や施設の階層区分数と各区分の名称及び各区分に対する設備や施設をインタフェース画面上で入力することができる。
【特許文献１】特開平１１−８５２６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の方法では、１つ１つのレコードを単位としてデータの更新をしなければならず手間がかかっていた。
上記課題を解決するために本発明の目的は、データの編集を行う際に要求されるユーザの作業量を低減し、操作性に優れた階層データ編集装置を提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の階層データ編集装置は、階層構造を有する内部データを編集する階層データ編集装置であって、前記内部データに含まれるデータ間の２以上のつながりを対象として含む対象範囲の指定を受け付ける対象指定手段と、前記対象を編集する内容の指定を受け付ける編集内容指定手段と、指定された編集内容を内部データに反映する内部データ反映手段とを備える。
【０００８】
また、本発明の階層データ編集装置において、前記内部データ反映手段は、編集画面に表示されている一括ボタンが押されることによって、前記編集結果を一括で前記内部データに反映させるとしてもよい。
【０００９】
なお、本発明は、このような階層データ編集装置として実現することができるだけでなく、このような階層データ編集装置が備える特徴的な手段をステップとする階層データ編集方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００１０】
以上のように本発明によれば、ユーザは、階層データのデータ構造がグラフィック表示されるＧＵＩ(Graphical User Interface)画面上で、複数のデータを指定して一度に編集を行うことができる。従って、ユーザは更新すべきデータの階層構造を一目で把握することができるとともに、データを編集するための操作を手間数少なく簡単に行うことができる。これにより、本発明の階層データ編集装置は、階層構造を有するデータのメンテナンスを行う際のユーザの操作性および視認性を向上し、ユーザのデータメンテナンスに要する時間を短縮することができるという効果がある。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
（実施の形態１）
図１は、本実施の形態の階層データ編集システム１００の概略的構成を示すブロック図である。図１に示すように、本実施の形態の階層データ編集システム１００は、データの階層構造をユーザに対してグラフィック表示し、グラフィック表示された各階層の複数のデータを一度に編集するシステムであって、複数の端末１１０と、端末１１０にＬＡＮ（Local Area Network）やＷＡＮ(Wide Area Network)などを介して接続されるホストコンピュータ１２０とを備える。
【００１２】
各端末１１０は、データの階層構造をユーザに対してグラフィック表示し、ユーザからのデータの編集に関する指示を受け付ける端末装置であって、本実施の形態の端末１１０におけるデータの編集に関する処理を行うプログラムがインストールされた汎用のパーソナルコンピュータなどによって実現される。このような端末１１０は、トランザクション管理部１１１、階層解析部１１２、表示部１１３および更新指示受付部１１４を備える。トランザクション管理部１１１は、ホストコンピュータ１２０との間のデータの送受信を管理する。階層解析部１１２は、ホストコンピュータ１２０から受信されたＧＵＩ表示用データ１２７がどの階層のデータかを解析し、表示部１１３にグラフィック表示させる。また、更新指示受付部１１４から受け取った選択範囲や移動先の座標値が示すデータの階層を解析して、ホストコンピュータ１２０に内部データの更新要求を送信する。表示部１１３は、階層解析部１１２から入力されたデータをラスタライズして表示データを生成し、端末１１０に備えられるモニタに出力する。更新指示受付部１１４は、端末１１０に備えられるマウスおよびキーボードなどの操作入力部であり、モニタにグラフィック表示された階層データのうち範囲指定によって選択されたデータを特定したり、選択された階層データの移動後の座標を検出したり、データの更新指示などのユーザの指示の入力を受け付けたりする。
【００１３】
ホストコンピュータ１２０は、階層構造を有する内部データを保持し、保持している内部データのうち、端末１１０で編集の対象となるデータのＧＵＩ表示用データを端末１１０に送信し、送信したＧＵＩ表示用データに対応する端末１１０からのデータ更新指示に基づいて内部データの更新を行う装置であって、データ蓄積部１２１、表示データ送信部１２２、トランザクション管理部１２３、判定部１２４および更新部１２５を備える。データ蓄積部１２１は、ハードディスクなどによって実現される大容量記憶部であって、階層構造を有する内部データ１２６と、内部データ１２６の階層構造をグラフィック表示するためのＧＵＩ表示用データ１２７とを蓄積するリレーショナルデータベースである。表示データ送信部１２２は、端末１１０から要求されたデータのＧＵＩ表示用データ１２７をデータ蓄積部１２１から読み出して、端末１１０に送信する。トランザクション管理部１２３は、端末１１０との間のデータの送受信を管理し、さらに、以下の処理を行う。この処理は、端末１１０のトランザクション管理部１１１とは異なり、ホストコンピュータ１２０独自の処理であって、トランザクション管理部１２３は、１つの端末１１０がデータ蓄積部１２１内の内部データ１２６を編集している間に、別の端末１１０が同じ内部データ１２６に対してアクセスを要求した場合、先にアクセスを要求した端末１１０にだけアクセスを許可し、他の端末１１０には、許可された端末１１０の処理が終了するまで待機させるという内部データ１２６へのアクセス管理を行う。具体的には、トランザクション管理部１２３は、データ蓄積部１２１に格納されている各内部データ１２６のファイル名と、それらの内部データ１２６に現在アクセスしている端末１１０のＩＤとを対応付けたテーブルを生成し、保持する。トランザクション管理部１２３は、端末１１０からデータ蓄積部１２１に格納されている内部データ１２６へのアクセス要求を受信する都度、保持しているテーブルを参照し、その端末１１０のアクセスの可否を判定する。アクセスが可能であると判定した場合、要求された内部データ１２６へのアクセスを端末１１０に許可し、要求された内部データ１２６を特定するためのファイル名と、アクセスを許可した端末１１０のＩＤとを保持しているテーブルに追記する。判定部１２４は、端末１１０から受け取ったデータ更新指示について、エラー判定を行う。例えば、更新の対象となるデータが内部データ１２６の中にあるか否か、新規に作成されたデータがデータ蓄積部１２１に存在するか否か、新たにひも付け（関連付け）された直上の項目のデータが存在するか否かなどの判定を行う。更新部１２５は、判定部１２４の判定結果および判定部１２４を介して渡されるデータに従って、データ蓄積部１２１の内部データ１２６を更新する。
【００１４】
以下では、上記のように構成された階層データ編集システム１００の動作について図面を用いて説明する。
図２は、図１に示した端末１１０において、本実施の形態の階層データ編集プログラムを起動した際にモニタに表示されるメニュー画面の一例を示す図である。図２（ａ）は、階層データに対して行われる具体的なデータ編集の内容をユーザが選択するための画面を示している。データ編集の内容には、例えば、「新規作成」、「追加」、「変更」および「削除」などがある。「新規作成」が選択され、「次へ」というボタンが押された場合は、全く新たな内部データ１２６を作成するための処理が開始される。また、「追加」が選択され、「次へ」というボタンが押された場合は、新たなデータを作成し、既存のデータに追加するための処理が開始される。さらに、「変更」が選択され、「次へ」というボタンが押された場合は、既存のデータの一部を別の場所に移動したり、各データの内容を修正したりするための処理が開始される。「削除」が選択され、「次へ」というボタンが押された場合は、既存のデータの一部を削除するための処理が開始される。
【００１５】
図２（ｂ）は、図２（ａ）で選択された処理に応じて、ホストコンピュータ１２０にＧＵＩ表示用データ１２７の送信を要求するための画面の一例を示す図である。図２（ａ）の画面において「新規作成」が選択された場合には、既存のデータがないので、図２（ｂ）の画面は表示されない。例えば、図２（ａ）の画面で、「変更」が選択され「次へ」というボタンが押された場合は、更新指示受付部１１４はさらに、図２（ｂ）に示した画面をモニタに表示させ、ユーザの選択を受け付ける。ここで例えば、「人事データ」が選択され、「送信要求」ボタンが押された場合、階層解析部１１２は、チェックマークが入れられた内部データ１２６「人事データ」を特定し、「変更」という編集の対象となる内部データ１２６「人事データ」のＧＵＩ表示用データ１２７をホストコンピュータ１２０に要求する。
【００１６】
図３は、図１に示した階層データ編集システム１００におけるホストコンピュータ１２０と端末１１０との処理の内容を示す図である。図３では、特に、データの移動を例として説明している。図３（ａ）は、ホストコンピュータ１２０のデータ蓄積部１２１に格納されている内部データ１２６の一例を示す図である。図３（ａ）に示すように、ホストコンピュータ１２０のデータ蓄積部１２１内には、階層構造を有する内部データ１２６が格納されている。この内部データ１２６は、例えば、図２（ｂ）に示した内部データ１２６「人事データ」であり、「組織区分」、「コード」および「上位コード」の各項目から構成されている。「組織区分」の項目は、最下層を「１」と数えた場合の各階層の順位を表しており、例えば、最下層の「１」は「担当」に対応し、その上の層の「２」は「係」に、さらに上の層の「３」は「課」に、最上層の「４」は「部」に対応している。また、「コード」の項目は、各項目の具体的名称がコードで表わされたデータである。さらに、「上位コード」の項目には、各項目の直上にあたる項目のコードが記されている。また、ホストコンピュータ１２０のデータ蓄積部１２１には、この内部データ１２６とともに、内部データ１２６の各項目に対応するＧＵＩ表示用データ１２７が格納されている。
【００１７】
図３（ｂ）は、図３（ａ）に示された内部データ１２６の階層構造を端末１１０においてグラフィック表示した場合の一例を示す図である。図３（ｂ）では、各項目と、その「上位コード」で示される直上の項目とが線でひも付けされて示されているので、端末１１０のユーザは項目間の上下関係をツリー状に一目で把握することができる。端末１１０のユーザは、このような画面を見ながら、移動したい項目が複数ある場合には、例えば、端末１１０のマウスなどを用いて、それらの項目を範囲指定する。ただし、範囲指定の中に含まれる最上位の項目は、１つでなければならない。図４（ａ）および（ｂ）は、内部データ１２６が編集される際に、編集対象のデータとして、端末１１０の階層解析部１１２に読み込まれる内部データ１２６の一部を示す図である。同図のテーブルにおいて、矩形で囲まれた各欄は、編集の対象となっている項目に関連した注目箇所を示している。図４（ａ）は、編集の開始時に、端末１１０からの要求に応じて、データ蓄積部１２１から読み出された内部データ１２６の一部を示す図である。この時点で、読み出されたデータには、まだ編集が加えられていないので、階層解析部１１２に保持されているデータの内容は、図３（ａ）に示したデータと同じである。ただし、端末１１０の階層解析部１１２では、内部データ１２６を単に蓄積しているデータ蓄積部１２１とは異なり、編集対象のデータに対する更新指示と表示部１１３上の表示位置とを常に管理する必要がある。このため、階層解析部１１２では、さらに、図４（ａ）に示すように、更新指示受付部１１４で受け付けられた指示に従って更新されるべき各項目の状態と、各項目を表示すべき表示部１１３上の位置とをメモリに保持する。図５（ａ）および（ｂ）は、範囲指定によりＧＵＩ上の複数の項目を選択する場合の具体例を示す図である。なお、同図において白抜きの矢印は画面内のポインタを示す。範囲指定の一般的な方法は、図５（ａ）に示すように、まず選択したい項目を含む画面上の左上隅をポイントし、そのままポインタをドラッグアンドドロップする。これにより、最初にポイントされた点を左上隅の点とし、ドラッグされているポインタの位置を右下隅の点とする矩形領域が例えば、破線で描画される。この矩形領域の右下隅の点は、ポインタがドロップされるまでは確定せず、ポインタがドロップされることによって矩形領域が確定されると、例えば、未確定の間、破線で示されていた矩形領域が実線で表示される。図３（ｂ）では、画面上で選択された範囲が、矩形の線で囲まれて示されている。矩形の中には、項目「Ａ１１１」、「Ａ１１１１」および「Ａ１１１２」が含まれており、これらの項目が更新の対象として選択されたことが示されている。これに対応して端末１１０の内部では、更新指示受付部１１４によって範囲指定の矩形内に含まれる座標値の範囲が求められ、階層解析部１１２によってその範囲内に表示されている項目が特定される。図４（ｂ）は、階層解析部１１２が範囲指定によって選択された項目を図４（ａ）のテーブルに保持している様子を示す図である。図３（ｂ）および図５（ｂ）に示したように、範囲指定を示す矩形内には項目「Ａ１１１」、「Ａ１１１１」および「Ａ１１１２」が含まれており、コード「Ａ１１１」、「Ａ１１１１」および「Ａ１１１２」が階層解析部１１２によって特定される。階層解析部１１２は、特定した各コード「Ａ１１１」、「Ａ１１１１」および「Ａ１１１２」に対応する「状態」を示す欄に、「選択された」という状態を記述する。具体的には、「状態」の欄には、この欄に記述される状態の数に対応するビット数のフラグが記述される。例えば、「状態」の欄に、（１）「選択された」／「選択されていない」、（２）「ドラッグ中」／「ドラッグされていない」、（３）「ドロップされた」／「ドロップされていない」という３つの状態が記述される場合には、「状態」の欄に３ビットのフラグが記述される。そして、「選択された」／「選択されていない」という状態に対応するビット（例えば、最下位のビット）が、例えば、「１」／「０」という値で記述される。なお、ここでいう「状態」欄の記述方法は、一例にすぎず、別の方法で記述されてもよい。
【００１８】
図６（ａ）および（ｂ）は、範囲指定により選択された複数の項目をドラッグアンドドロップで一括して移動する具体例を示す図である。図７（ａ）は、範囲指定により選択された複数の項目が一括してドラッグされている状態を、階層解析部１１２がテーブルに保持している様子を示す図である。図７（ｂ）は、ドラッグされていた複数の項目がドロップされた状態を、階層解析部１１２がテーブルに保持している様子を示す図である。図３（ｂ）のように確定された矩形領域の境界付近をマウスでポイントすると、ポインタの先端部に図６（ａ）に示すような十字型の矢印が表示され、選択された複数の項目を一括してドラッグできることが示される。この状態で、選択された複数の項目のドラッグが開始されると、選択範囲を示す矩形領域内の最上位項目「Ａ１１１」とその上位コード「Ａ１１」とのひも付けが切断される。これに対応して、階層解析部１１２では矩形領域内の最上位項目「Ａ１１１」を表していた欄を、例えば、図７（ａ）に示すように、上下２段に分割して記述する。階層解析部１１２は、分割された欄の上段には、項目「Ａ１１１」とその上位コード「Ａ１１」とのひも付けを示していた線分を記述する。例えば、この線分の下端は項目「Ａ１１１」と切断されたが、この線分の上端は依然として上位コード「Ａ１１」に接続されている。従って、分離された項目のコード「Ａ１１１」が記述されていた欄は空欄にし、上位コードの欄には「Ａ１１」を記述する。また、分割された欄の下段には、上位コード「Ａ１１」から分離された項目「Ａ１１１」の状態と表示位置とを記述する。ただし、コード「Ａ１１１」は上位コードから分離された状態であるので、上位コードの項目を空欄にする。これにより、各コード「Ａ１１１」、「Ａ１１１１」および「Ａ１１１２」に対応する「状態」を示す欄には、例えば、「ドラッグ中」という状態が記述される。具体的には、「ドラッグ中」／「ドラッグされていない」という状態が、すでに説明したような複数ビットからなるフラグの例えば、第２ビットに「１」／「０」という値で記述される。また、ドラッグ中の各項目の表示位置の欄には、ここでは図示しないが、例えば、矩形領域の左上隅の頂点または他の頂点の座標がドラッグ中の表示位置に合わせて更新されながら表示されるとしてもよい。
【００１９】
上記のように、選択された複数の項目がドラッグされ、ユーザの所望の位置でドロップされると、選択された矩形領域内の複数の項目は、最上位項目の元の上位コードとはひも付けが切断されるが、矩形領域の内部では図６（ｂ）に示すように元のひも付けのままで、ドロップされた位置に移動される。これに対し、階層解析部１１２では、図７（ｂ）に示すように、各コード「Ａ１１１」、「Ａ１１１１」および「Ａ１１１２」に対応する「状態」を示す欄に「ドロップされた」という状態を記述する。これに併せて、ドロップされた項目の「表示位置」の欄に、それらがドロップされた位置である「画面右下」を記述する。なお、ここでは、「表示位置」として「画面右下」と記述しているが、もちろんそれ以外に、各項目がドロップされた位置の座標を記述してもよい。以上のようにして、端末１１０では、階層構造を有する複数の項目をグラフィック表示し、それらを一括してドラッグアンドドロップにより別の場所に移動することができる。また、階層解析部１１２では、移動されるこれらの項目の状態を、常にテーブルに保持し管理することができる。
【００２０】
しかし、この時点では、まだ、移動された３つの項目「Ａ１１１」、「Ａ１１１１」および「Ａ１１１２」のうちの最上位項目である項目「Ａ１１１」をその上位の項目「Ａ１１」にひも付けていた線が、切断されたままになっている。
【００２１】
図８（ａ）および（ｂ）は、移動前の項目間の関連付けを示していた線を、新たな関連付けを示すように付け替える場合の途中の段階の具体例を示す図である。図８（ａ）および（ｂ）は、項目「Ａ１１」と項目「Ａ１１１」とを結んでいた線が、項目「Ａ２２」と項目「Ａ２２２」とを結ぶ線に重なる位置までドラッグアンドドロップされた状態を示している。図９（ａ）および（ｂ）は、移動前の項目間の関連付けを示していた線を、新たな関連付けを示すように付け替える場合の途中の段階の他の具体例を示す図である。図９（ａ）および（ｂ）は、項目「Ａ２２」と項目「Ａ２２２」とに接続されていた線の下端が、項目「Ａ１１１」に接続される位置までドラッグアンドドロップされる途中の状態を示している。図１０（ａ）は、項目「Ａ１１」と項目「Ａ１１１」とを結んでいた線がドラッグされている状態を示すテーブルである。例えば、この線分の「コード」の欄と「上位コード」の欄とには、ドラッグ中の位置に合わせてこの線分の両端の座標が更新されながら表示され、状態の欄には、「ドラッグ中」という状態が記述される。図１０（ｂ）は、ドラッグされていた線分が、項目「Ａ２２」と項目「Ａ２２２」とを結ぶ線に重なる位置でドロップされた状態を示すテーブルである。この状態では、項目「Ａ２２」と項目「Ａ２２２」との間に２本の線が重なっている。従って、ドロップされた線分の「コード」の欄には線分の下端が接続されている項目のコード「Ａ２２２」が記述され、「上位コード」の欄には線分の上端が接続されている項目のコード「Ａ２２」が記述される。また、この線分の「状態」の欄には、「ドロップされた」という状態が記述される。ここでは、重なっている２本の線のうちの１本について、一方端を項目「Ａ２２」に接続するよう固定したまま、他端が項目「Ａ２２２」から項目「Ａ１１１」に接続するように移動する。例えば、項目「Ａ２２」と項目「Ａ２２２」とを結ぶ線の項目「Ａ２２２」側の端部にポインタを合わせると、ポインタの先端に図９（ａ）のような斜めの矢印が表示され、この端部がドラッグ可能であることが示される。この状態で、線の端部を項目「Ａ１１１」に接する位置までドラッグする。図９（ｂ）は、図９（ａ）に示した一方の線の項目「Ａ２２２」側の一方端を、項目「Ａ１１１」に接する位置までドラッグする途中の段階を示している。図９（ｂ）に示すように、線分の一方端を固定した状態で多端をドラッグしている場合には、ポインタの位置には十字型のカーソルだけが表示されている。図１１（ａ）は、上位コード「Ａ２２」に接続される側の一方端を固定しておき、線分の多端のドラッグが開始された状態を示すテーブルである。図９（ｂ）に示したように、この線分のドラッグされる側の端部は、コード「Ａ２２２」との接続が切断される。従って、図１１（ａ）に示すように、階層解析部１１２は、この線分の「コード」の欄を空欄にし、またはドラッグ中の位置に合わせてこの線分の下端の座標を更新しながら表示するなどし、「状態」の欄に「ドラッグ中」であることを記述する。ここで、図１０（ａ）に示した状態とは異なり、図１１（ａ）で示される場合には、線分の一方の端部にはその接続先が記述されているのであるから、他方の端部だけがドラッグされていることが分かる。この線分の場合も、表示位置の欄に、コード「Ａ２２２」に接続される固定点側の座標と、ドラッグによって更新される他方の点の座標とを記述するとしてもよい。
【００２２】
図１１（ｂ）は、移動された項目とその上位コードとの関連付けを示す線分が決定されたとき、その線分をメモリ上に記述する階層解析部１１２の動作を示す図である。図９（ｂ）に示した線分のドラッグされていた側の端部がコード「Ａ１１１」に接するようドロップされた場合、図１１（ａ）のように空欄であったコードの欄に、コード「Ａ１１１」が書き込まれる。また、この線分の「状態」の欄には、「ドロップされた」という状態が記述される。これにより、ドラッグされていた線分の両端がコード「Ａ１１１」と、上位コード「Ａ２２」とで示されることになる。図１２（ａ）は、上位コードとの接続が切断されていた最上位項目「Ａ１１１」に、別の上位コードが改めて接続されたことをメモリ内のデータとして示す図である。項目「Ａ１１１」と上位コード「Ａ２２」とが線分で結ばれるまでは、項目「Ａ１１１」、「Ａ１１１１」および「Ａ１１１２」がドラッグされて移動されたことにより、これらのうちの最上位項目「Ａ１１１」は、上位コードとの接続が切断されていた。これに対し、線分のドラッグアンドドロップにより、最上位項目「Ａ１１１」が新たに異なる上位コード「Ａ２２」と接続されたことを示している。これは、線分についての上段のコードの欄と、項目についての下段のコードの欄とに記述されたコード「Ａ１１１」が一致することによって示される。図１２（ｂ）は、同一の項目について上段の線分の欄と下段の項目の欄とに分離されていたテーブルが、元の１つの欄にまとめられた状態を示す図である。このように、項目の移動によって、項目の部分と線分の部分とが分離されていた場合も、線分と項目との両方のコードが一致することにより、１つの項目に復元して記述することができる。ここで、線分の欄と項目の欄とでコードが一致しない場合には、移動された項目は上位コードとのひも付けがなされていない状態であるので、表示部１１３は、例えば、線分を点滅表示させるなどによりエラーの発生を警告するようにしてもよい。以上のようにして編集された、内部データの編集後の階層構造は図３（ｃ）のようになる。
【００２３】
図３（ｃ）は、図３（ｂ）で選択された範囲内の全項目が他の場所に一括して移動された状態をグラフィック表示で示す図である。同図には、図３（ｂ）で選択された矩形範囲内に含まれていた３つの項目「Ａ１１１」、「Ａ１１１１」および「Ａ１１１２」が、ドラッグアンドドロップによる１つの動作で、項目「Ａ１１」の下から、項目「Ａ２２」の下に一括して移動されたことが示されている。また、選択範囲内の最上位項目「Ａ１１１」とその直上の項目とを結ぶ線が、「Ａ１１」から「Ａ２２」に変更されたことが示されている。階層解析部１１２では、データの更新を指示するコマンドと、特定された直上の項目を示す「上位コード」と、選択範囲に含まれる各項目を示すコードと、それらが新たに表示される座標位置とをホストコンピュータ１２０に送信する。
【００２４】
図３（ｄ）は、図３（ｂ）のようにグラフィック表示された画面において、図３（ｃ）のように内部データ１２６の中の一部の項目が更新された場合、その更新結果が反映された内部データ１２６の例を示す図である。ホストコンピュータ１２０のトランザクション管理部１２３は、端末１１０からデータの更新指示を受信すると、その端末１１０が内部データ１２６にアクセスを許可された端末１１０であるか否かを調べ、許可されている端末１１０であれば、端末１１０からのデータの更新指示を判定部１２４に転送する。許可されていない端末１１０であれば、現在、他の端末１１０が同じ内部データ１２６を編集中であるので、後であらためてアクセスし直すように指示する。判定部１２４は、更新の対象として選択された各項目が内部データ１２６の中に存在するか否かを確認し、存在すれば、端末１１０からのデータの更新指示を更新部１２５に転送し、更新を行うよう指示する。存在しなければ、エラーが発生したことをその端末１１０に通知し、処理のやり直しを促す。判定部１２４によって、データの更新指示が正しく行われたことが判定されると、更新部１２５は、選択されたうちの最上位項目の「上位コード」の項目を、特定された直上の項目のコードに更新する。これにより、図３（ｄ）に示すように、図３（ｂ）で範囲指定されたうちの最上位の項目「Ａ１１１」の「上位コード」の項目が、「Ａ１１」から「Ａ２２」に更新される。
【００２５】
図１３は、図２（ａ）の画面から起動される各編集処理の概略的処理手順を示すフローチャートである。端末１１０の更新指示受付部１１４は、まず、表示部１１３に、図２（ａ）に示したようなメニュー画面を表示させ、どのような編集処理を行うか、ユーザが所望する処理の選択を受け付ける（Ｓ４０１）。例えば、このメニュー画面で「新規作成」の処理が選択されたとすると、更新指示受付部１１４は、データ蓄積部１２１に存在しない新規な内部データ１２６の作成処理を実行する（Ｓ４０２）。具体的には、ユーザは、新規な空欄の項目を作成して、その空欄にコードを記入する。次いで、また新規な空欄の項目を作成して、その空欄にコードを記入し、先に作成した上位項目とのひも付けを行う。この処理を繰り返すことにより、互いにひも付けされた項目からなる、階層構造を有するデータが作成される。この処理が終了すると、ここで作成された新規データにファイル名が付けられ、更新指示を示すコマンドと、新規データのファイル名と、ファイルの内容である新規データとがホストコンピュータ１２０に送信される（Ｓ４０３）。ホストコンピュータ１２０では、端末１１０から受信されたデータおよび更新指示コマンドに従って、判定部１２４がデータ蓄積部１２１内を検索し、データ蓄積部１２１内に同じファイル名のファイルが存在するか否かを判定する（Ｓ４０４）。データ蓄積部１２１内に同じファイル名のファイルが存在しなければ、更新部１２５は、端末１１０から受信したファイルをデータ蓄積部１２１に格納することにより、データ蓄積部１２１内のデータを更新する（Ｓ４０５）。データ蓄積部１２１内に同じファイル名のファイルが存在する場合には、判定部１２４は、エラーが発生したと判定し、エラーが発生したことを端末１１０に通知し、処理のやり直しを促す。端末１１０では、図２（ａ）のメニュー画面（Ｓ４０１）に戻り、データの編集処理をやり直す。また、ステップＳ４０５において更新が正常に終了した場合でも、選択された処理が「新規作成」の場合には、図２（ａ）のメニュー画面（Ｓ４０１）に戻り、新たな編集処理を開始する。
【００２６】
また、メニュー画面で「変更」の処理が選択されたとすると、更新指示受付部１１４は、表示部１１３に図２（ｂ）の画面を表示させ、「変更」の対象となるデータの選択をユーザから受け付ける。図２（ｂ）の画面から「変更」の対象となるデータが選択されると、階層解析部１１２は、選択された内部データ１２６を特定し、特定された内部データ１２６のＧＵＩ表示用データ１２７の送信を、ホストコンピュータ１２０に要求する。ホストコンピュータ１２０では、要求された内部データ１２６のＧＵＩ表示用データ１２７をデータ蓄積部１２１から抽出し（Ｓ４０６）、端末１１０に送信する。端末１１０では、ホストコンピュータ１２０から受信したＧＵＩ表示用データ１２７を、表示部１１３がモニタに表示する（Ｓ４０７）。更新指示受付部１１４は、モニタに表示されているＧＵＩ表示用データ１２７に対するマウスなどを用いたユーザの操作を検知し、検知された操作に対応する座標値を出力する。階層解析部１１２は、更新指示受付部１１４から出力された座標値を解析して、データの「変更」に対応する更新指示コマンドおよびデータをホストコンピュータ１２０に送信する（Ｓ４０８）。端末１１０では、データの「変更」に対応する更新指示コマンドおよびデータをホストコンピュータ１２０に送信した後は、再びステップＳ４０８の処理に戻り、データの「変更」に対応するデータの入力を受け付ける。ホストコンピュータ１２０の方では、「変更」に対応する更新指示コマンドおよびデータを端末１１０から受信すると、判定部１２４が、「変更」の対象になるデータがデータ蓄積部１２１に存在するか否かを判定し（Ｓ４０９）、「変更」の対象になるデータが存在すれば、端末１１０からの更新指示コマンドに従って「変更」の対象になるデータを更新する（Ｓ４１０）。ステップＳ４０９において、「変更」の対象になるデータが存在しなければ、判定部１２４はエラーが発生したことを端末１１０に通知し、処理のやり直しを促す。エラー発生の通知を受信した端末１１０では、図２（ａ）のメニュー画面（Ｓ４０１）に戻り、データの編集処理をやり直す。
【００２７】
さらに、メニュー画面で「削除」の処理が選択された場合、ステップＳ４１１およびＳ４１２の処理は、メニュー画面で「変更」が選択された場合のステップＳ４０６およびＳ４０７の処理と同じであるので説明を省略する。更新指示受付部１１４は、モニタに表示されているＧＵＩ表示用データ１２７に対するユーザの操作を検知し、検知された操作に対応する座標値を出力する。例えば、「削除」の対象となるデータの選択を受け付け、選択されたデータの座標値などを出力する。階層解析部１１２は、更新指示受付部１１４から出力された座標値を解析して、データの「削除」に対応する更新指示コマンドおよびデータをホストコンピュータ１２０に送信する（Ｓ４１３）。端末１１０では、データの「削除」に対応する更新指示コマンドおよびデータをホストコンピュータ１２０に送信した後は、再びステップＳ４１３の処理に戻り、データの「削除」に対応するデータの入力を受け付ける。ホストコンピュータ１２０の方では、「削除」に対応する更新指示コマンドおよびデータを端末１１０から受信すると、判定部１２４は、「削除」の対象になるデータを本当に削除してもよいか否かを判定する（Ｓ４１４）。具体的には、判定部１２４は、「削除」の対象になるデータがデータ蓄積部１２１に存在するか否か、および「削除」の対象になるデータが保護されていないか否かなどにより、対象データの削除の可否を判定する。「削除可能」であると判定すれば、端末１１０からの更新指示コマンドに従って「削除」の対象データを削除することによってデータ蓄積部１２１の内部データ１２６を更新する（Ｓ４１５）。「削除」の対象データが「削除不可」であると判定すれば、エラーが発生したことを端末１１０に通知し、処理のやり直しを促す。エラー発生の通知を受信した端末１１０では、図２（ａ）のメニュー画面（Ｓ４０１）に戻り、データの編集処理をやり直す。
【００２８】
図１４は、階層データの編集処理として「変更」を行う場合の処理手順を示すフローチャートである。具体的には例えば、図２（ａ）の画面において「変更」の処理が選択され、編集対象データとして「人事データ」がグラフィック表示された場合の端末１１０でのフローチャートで、図１３に示したフローチャートのステップＳ４０８における処理のより詳細な手順を示している。まず、端末１１０のモニタには、図３（ｂ）のように、図２（ｂ）の画面で選択された「人事データ」がグラフィック表示される。また、モニタの画面には、図３（ｂ）および（ｃ）では図示されない「終了」ボタンが表示されているものとする。なお、端末１１０がパソコンの場合、「終了」ボタンは、キーボードの「ESC」キーなどであってもよい。図２（ｂ）で選択された内部データ１２６のＧＵＩ表示用データ１２７がホストコンピュータ１２０から受信され、モニタに表示されると、更新指示受付部１１４は、「終了」ボタンが押されたか否かを判定する（Ｓ５０１）。「終了」ボタンが押されていれば、更新指示受付部１１４は、階層データの「変更」処理を終了し、図２（ｂ）に示した画面の表示に戻る。
【００２９】
「終了」ボタンが押されていなければ、更新指示受付部１１４はさらに、画面内にグラフィック表示されている項目のいずれかがマウスなどによって選択されたか否かを判定する（Ｓ５０２）。いずれの項目も選択されていない場合には、選択されたか否かの判定を繰り返しながら、いずれかが選択されるまで待機する。いずれかの項目が選択された場合、更新指示受付部１１４は選択された範囲を示す座標を出力する。階層解析部１１２は更新指示受付部１１４から出力された座標に基づいて、選択された項目のコードを特定し、特定したコードをメモリに保持する（Ｓ５０３）。
【００３０】
更新指示受付部１１４は、さらに、選択された項目がドラッグアンドドロップされたか否かを判定し（Ｓ５０４）、ドラッグアンドドロップされたと判定した場合、選択されたうちの最上位の項目がドロップされた位置の座標を検出し、メモリに保持する（Ｓ５０５）。ドラッグアンドドロップされていないと判定した場合、更新指示受付部１１４はさらに、選択された項目のうち最上位の項目とその直上の項目とのひも付けが変更されたか否かを判定する（Ｓ５０６）。ひも付けが変更されたと判定した場合、更新指示受付部１１４は選択された最上位項目と反対側の線の端部の座標、すなわち、直上の項目に接する側の線の端部の座標を検出する（Ｓ５０７）。ひも付けが変更されていないと判定した場合、更新指示受付部１１４はさらに、選択された項目のコードが変更されたか否かを判定する（Ｓ５０８）。コードが変更されていないと判定した場合、更新指示受付部１１４は、ステップＳ５０４の処理に戻り、選択された項目のドラッグアンドドロップ、直上項目とのひも付けの変更、およびコード変更のいずれかが行われるまで、ステップＳ５０４、Ｓ５０６およびＳ５０８の判定を繰り返す。他方、更新指示受付部１１４は、コードが変更されたと判定した場合、変更後のコードを選択された項目の数だけメモリに保持する（Ｓ５０９）。続いて、階層解析部１１２は、データの更新を指示するコマンドと、選択された項目のコードとともに、ドロップされた最上位項目の座標、選択された最上位項目の上位コード、および各項目について変更後のコードのいずれかをホストコンピュータ１２０に送信する（Ｓ５１０）。ステップＳ５１０の処理が完了すると、端末１１０では、Ｓ５０１の処理に戻り、「終了」ボタンが押されていなければ、次に「終了」ボタンが押されるまで以降の処理を実行する。また、ステップＳ５１０において、ホストコンピュータ１２０からエラーが生じた旨の通知を受けた場合には、エラーが生じたことをモニタに表示し、ステップＳ５０１の処理に戻る。
【００３１】
以上のように、本実施の形態の階層データ編集システム１００によれば、編集の対象である内部データ１２６の階層構造を端末１１０のモニタにグラフィック表示するので、ユーザは編集の対象であるデータの階層構造を容易に把握することができる。また、ユーザは、グラフィック表示された階層データの複数の項目を、範囲指定などを用いて一度に指定した上、指定した複数のデータを１動作で変更することができるので、手間が省け、使い勝手がよいという効果がある。
【００３２】
図１５は、階層データの編集処理として「削除」を行う場合の処理手順を示すフローチャートである。具体的には例えば、図２（ａ）の画面において「削除」の処理が選択され、編集対象データとして「人事データ」がグラフィック表示された場合の端末１１０でのフローチャートで、図１３に示したフローチャートのステップＳ４１３における処理のより詳細な手順を示している。端末１１０のモニタには、図３（ｂ）のように、図２（ｂ）の画面で選択された「人事データ」がグラフィック表示され、図示されない「終了」ボタンが表示されているものとする。更新指示受付部１１４は、「終了」ボタンが押されたか否かを判定する（Ｓ６０１）。「終了」ボタンが押されていれば、更新指示受付部１１４は、階層データの「削除」処理を終了し、図２（ｂ）に示した画面の表示に戻る。
【００３３】
「終了」ボタンが押されていなければ、更新指示受付部１１４はさらに、画面内にグラフィック表示されている項目のいずれかがマウスなどによって選択されたか否かを判定する（Ｓ６０２）。いずれの項目も選択されていない場合には、選択されたか否かの判定を繰り返しながら、いずれかが選択されるまで待機する。いずれかの項目が選択された場合、更新指示受付部１１４は選択された範囲を示す座標を出力する。階層解析部１１２は更新指示受付部１１４から出力された座標に基づいて、選択された項目のコードを特定し、特定したコードをメモリに保持する（Ｓ６０３）。
【００３４】
更新指示受付部１１４は、さらに、選択された項目を削除してもよいか否かを確認するための問い合わせの表示を行い（Ｓ６０４）、ユーザからの入力を受け付ける。階層解析部１１２は、ユーザからの入力が「ＯＫ」を示すか否かを判定し（Ｓ６０５）、「ＯＫ」であると判定した場合、選択された項目のコードと、その項目を削除する旨の更新指示コマンドとをホストコンピュータ１２０に送信する（Ｓ６０６）。ステップＳ６０６の処理が完了するか、または、ステップＳ６０５において「ＮＧ」を示す値が入力された場合には、ステップＳ６０１の処理に戻り、「終了」ボタンが押されていなければ、次に「終了」ボタンが押されるまで以降の処理を実行する。また、ステップＳ６０６において、ホストコンピュータ１２０からエラーが生じた旨の通知を受けた場合には、エラーが生じたことをモニタに表示し、ステップＳ６０１の処理に戻る。
【００３５】
以上のように、本発明の階層データ編集システム１００によれば、図１４に示した「変更」の場合と同様に、複数の項目を一度に削除することができるので、同様の効果を得ることができる。
【００３６】
図１６は、階層データの編集処理として「追加」を行う場合の処理手順を示すフローチャートである。端末１１０のモニタには、図３（ｂ）のように、図２（ｂ）の画面で選択された「人事データ」がグラフィック表示され、図示されない「終了」ボタンが表示されているものとする。更新指示受付部１１４は、「終了」ボタンが押されたか否かを判定する（Ｓ７０１）。「終了」ボタンが押されていれば、更新指示受付部１１４は、階層データの「追加」処理を終了し、図２（ｂ）に示した画面の表示に戻る。ここで、ＧＵＩ画面上において、新規データ追加のための空白の項目の作成は、例えば、マウスの右クリックでプルダウンウィンドウを画面に表示させ、プルダウンウィンドウのメニューの中からその処理を選択するものとする。更新指示受付部１１４は、マウスが右クリックされて空白項目の作成指示が入力されたか否かを判定しながら（Ｓ７０２）、空白項目の作成指示が入力されるまで待機する。マウスが右クリックされて空白項目の作成指示が入力されると、更新指示受付部１１４は、マウスが右クリックされたときのポインタの座標を検出し（Ｓ７０３）、検出された座標で表される位置に空白の項目を表示部１１３に表示させる（Ｓ７０４）。
【００３７】
さらに、更新指示受付部１１４は、表示された空白項目に新たなコードが記入されたか否かを判定しながら（Ｓ７０５）、記入されていなければ記入されるまで待機する。新たなコードが記入されると、更新指示受付部１１４は、そのコードをメモリに保持する（Ｓ７０６）。次いで、更新指示受付部１１４は、新規に作成された項目が既存の項目にひも付けされたか否かを判定し（Ｓ７０７）、ひも付けされていなければ、ひも付けされるまで待機する。新規に作成された項目が既存の項目にひも付けされると、更新指示受付部１１４は新規に作成された項目とその直上の項目とを結ぶ線分の直上の項目側の端部の座標を検出し、階層解析部１１２は検出された座標で示される項目を特定する（Ｓ７０８）。階層解析部１１２は、新規に作成された項目の座標、新規項目のコード、新規項目の上位コードおよび新規項目の追加に対応する更新指示コマンドをホストコンピュータ１２０に送信する（Ｓ７０９）。ステップＳ７０９の処理が完了すると、ステップＳ７０１の処理に戻り、「終了」ボタンが押されていなければ、次に「終了」ボタンが押されるまで以降の処理を実行する。また、ステップＳ７０９において、ホストコンピュータ１２０からエラーが生じた旨の通知を受けた場合、エラーが生じたことをモニタに表示し、ステップＳ７０１の処理に戻る。
【００３８】
なお、上記実施の形態１では、階層データ編集システム１００が、内部データ１２６を蓄積および更新するホストコンピュータ１２０と、ホストコンピュータ１２０にＬＡＮやＷＡＮなどを介して接続される複数の端末１１０とから構成されると説明したが、本発明は必ずしもこの構成に限定されない。例えば、ホストコンピュータ１２０と端末１１０との間にサーバを介する構成としてもよい。図１７は、本発明の階層データ編集システムのハードウェア構成および機能的構成の他の例を示す図である。同図に示すように、階層データ編集システム８００は、ホストコンピュータ１２０、サーバ８２０および端末８１０を備える。階層データ編集システム８００では、ホストコンピュータ１２０に備えられる機能は、図１に示したホストコンピュータ１２０とまったく同じである。サーバ８２０には、端末８１０側とホストコンピュータ１２０側とのそれぞれにトランザクション管理部が備えられ、さらに階層解析部が備えられる。トランザクション管理部は、ホストコンピュータ１２０と端末８１０との間のデータの受け渡しを管理する。また、階層解析部は、ホストコンピュータ１２０から受信されたＧＵＩ表示用データ１２７の階層を解析し端末８１０に通知したり、端末８１０のＧＵＩの表示画面上で検知された座標を解析して項目を特定したりする。一方、端末８１０には、トランザクション管理部、表示部および更新指示受付部が備えられる。端末８１０において端末１１０と異なる点は、階層解析部がサーバに移ったため、更新指示受付部はＧＵＩ画面上で検知された座標を、トランザクション管理部を介してサーバ８２０に送信し、表示部はサーバを介して受信される通知に従ってＧＵＩ表示用データ１２７をグラフィック表示する点である。また、本発明の階層データ編集システムは、複数の装置によって構成される必要はなく、例えば、ホストコンピュータ１２０および端末などの単体で実現することもできる。
【００３９】
なお、上記実施の形態１では、まず、選択された項目を目的とする位置にドラッグアンドドロップし、次に、選択されたうちの最上位項目と直上の項目とのひも付けを行うことによって階層データの移動に関するデータを取得した。しかし、本発明はこれに限定されず、他の手順で取得するとしてもよい。例えば、データの移動を特定するには、選択された最上位項目の上位コードが分かればよいのであるから、（１）対象とする項目を選択し、ドラッグアンドドロップをせず、最上位項目のひも付けだけを変更することにより、選択された範囲内の項目を移動するためのデータを取得するとしてもよい。このようにすれば、項目間のひも付けの線が他の項目の上を横切って画面が見づらくなるデメリットはあるが、１動作でデータの移動を決定することができるというメリットがある。また、（２）選択された範囲内の項目を、移動先とは関係のない空き領域に一旦移動し、その状態で最上位項目のひも付けを変更することにより、移動に関するデータを取得するとしてもよい。この場合、選択された範囲内の項目を空き領域に移動するので、選択されている項目がどれであるかを視認しやすいというメリットがある。さらに、（３）最上位項目と直上の項目とのひも付けの変更を行わず、単に、選択された項目をドラッグアンドドロップする。これにより、最上位項目のドロップされた座標に応じて、その上方の所定の範囲内にある項目を新たな直上の項目であるとしてもよい。この場合、直上の項目と判定されうる項目を着色して表示するようにすれば、なお良い。このようにすれば、１動作でデータの移動を決定することができるというメリットがある。
【００４０】
なお、上記実施の形態の階層データ編集システム１００は、さらに、過去に変更または追加されたデータが再度、端末１１０に表示されるとき、変更または追加されたデータを、変更の加えられていないデータと区別して表示するようにしてもよい。具体的には、変更又は追加された項目を、色文字または太文字などのフォントを用いて表示する。この場合、ホストコンピュータ１２０の更新部１２５は、データ蓄積部１２１に格納されている内部データ１２６を更新する際に、変更または追加された項目、更新指示コマンドを送信してきた端末１１０のＩＤ、および更新日時などをリストアップし、履歴テーブルを作成しておく。表示データ送信部１２２は、ＧＵＩ表示用データ１２７を端末１１０に送信する際に、履歴テーブルを参照して、送信すべきＧＵＩ表示用データ１２７の中に、例えば、現在から遡って３日前までの間に変更又は追加された項目があるか否かを調べ、あれば、その項目が着色して表示されるよう、フォントデータを付加して送信する。
【００４１】
なお、上記実施の形態の更新指示受付部１１４は、さらに、データの編集により、階層構造におけるデータの上下関係が途中で途切れた場合などに、上位の項目にひも付けされていない下位項目を検出し、該当する項目の点滅表示などによって、ひも付けされていない不完全な項目が残っていることをユーザに通知する機能を備えるとしてもよい。
【００４２】
なお、上記実施の形態１では、更新の対象となる複数の項目を選択する場合、ユーザがＧＵＩ画面上で範囲指定することによってその範囲内の項目が選択されると説明した。しかし、本発明はこれに限定されず、他の方法によって選択されるとしてもよい。例えば、ＧＵＩ画面上でマウスなどを用いてユーザが１つの項目をポイントした場合、ポイントされた項目を含み、その項目にひも付けされた下位のすべての項目がデフォルトで選択されるとしてもよい。
（実施の形態２）
実施の形態１では、端末１１０において特定の処理が実行される都度、例えば、上位項目とのひも付けが行われる都度、それまでの処理において取得されたデータと更新指示コマンドとがホストコンピュータ１２０に送信され、ホストコンピュータ１２０の内部データ１２６がリアルタイムに更新される場合について説明した。実施の形態２が実施の形態１と異なる点は、内部データ１２６の更新がリアルタイム処理でなく、バッチ処理で行われる点である。なお、実施の形態２の階層データ編集システムの構成は、実施の形態１の階層データ編集システムと同じであるので、図示および説明を省略する。図１８は、実施の形態２において端末のモニタに表示されるＧＵＩ画面の一例を示す図である。同図は、実施の形態１の図３（ｂ）および（ｃ）で説明したＧＵＩ画面の他の例を示している。図１８（ａ）および（ｂ）では、図３（ｂ）および（ｃ）で示した例とは異なり、ＧＵＩ画面内に「チェック」ボタンが表示されている。例えば、図１８（ａ）に示すように、項目「Ａ１１１」、「Ａ１１１１」および「Ａ１１１２」が選択され、図１８（ｂ）に示すように、他の場所に一括して移動された後、直上の項目「Ａ２２」にひも付けされたとする。実施の形態１では、このタイミングで、それまでに取得されたデータである、（１）選択された項目のコード「Ａ１１１」、「Ａ１１１１」および「Ａ１１１２」と、（２）選択された項目のうちの最上位の項目である項目「Ａ１１１」が移動された先の座標と、（３）最上位の項目「Ａ１１１」がひも付けされた直上の項目「Ａ２２」とがデータの更新指示コマンドとともに、ホストコンピュータ１２０に送信された。しかし、バッチ処理においては、それまでに取得されたデータ（１）、（２）および（３）は、端末１１０のメモリに保存されるだけで、ホストコンピュータ１２０に送信されない。上記処理に引き続いて別の更新処理、例えば、「削除」や「追加」などを行った場合も同様であり、ＧＵＩ画面から取得されたデータおよび選択された処理に対応する更新指示コマンドはすべてメモリ内に保存される。具体的には、図１４のフローチャートのステップＳ５１０、図１５のフローチャートのステップＳ６０６および図１６のフローチャートのステップＳ７０９においてホストコンピュータ１２０に送信されたコマンドおよびデータは、それぞれメモリ内に保存される。次いで、画面上に表示されているチェックボタンが押されると、それまでメモリに保存されていたデータがすべて、ホストコンピュータ１２０に送信される。このデータを端末１１０から受信したホストコンピュータ１２０では、データの更新指示コマンド毎に判定部１２４がエラー判定を行い、更新部１２５は、エラーが発生しなかった更新指示コマンドに従って内部データ１２６を更新する。
【００４３】
以上のように本実施の形態の階層データ編集システムによれば、バッチ処理の場合であっても、階層構造を有するデータをグラフィック表示するとともに、複数のデータを一度に編集することができる。
【産業上の利用可能性】
【００４４】
本発明は、コンピュータシステムおよびパーソナルコンピュータなどのファイル管理ユーザインタフェースとして有用である。また、ハードディスク、半導体メモリおよびＤＶＤ等を備えた、カーナビゲーションシステムおよびＳＴＢ(Set Top Box)などのファイル管理ユーザインタフェースとして有用である。また、本発明は、このようなファイル管理ユーザインタフェースを備えるカーナビゲーションシステム、ＳＴＢおよびパーソナルコンピュータなどとして有用である。さらに、本発明は、上記端末およびホストコンピュータの各機能をプログラムによって実現したファイル管理アプリケーションとして、また、そのファイル管理アプリケーションを格納した記録媒体として有用である。
【図面の簡単な説明】
【００４５】
【図１】本実施の形態の階層データ編集システムの概略的構成を示すブロック図である。
【図２】図１に示した端末において、本実施の形態の階層データ編集プログラムを起動した際にモニタに表示されるメニュー画面の一例を示す図である。（ａ）は、階層データに対して行われる具体的なデータ編集の内容をユーザが選択するための画面を示している。（ｂ）は、（ａ）で選択された処理に応じて、ホストコンピュータにＧＵＩ表示用データの送信を要求するための画面の一例を示す図である。
【図３】図１に示した階層データ編集システムにおけるホストコンピュータと端末との処理の内容を示す図である。（ａ）は、ホストコンピュータのデータ蓄積部に格納されている内部データの一例を示す図である。（ｂ）は、（ａ）に示された内部データの階層構造を端末においてグラフィック表示した場合の一例を示す図である。（ｃ）は、（ｂ）で選択された範囲内の全項目が他の場所に一括して移動された状態をグラフィック表示で示す図である。（ｄ）は、（ｂ）のようにグラフィック表示された画面において、（ｃ）のように内部データの中の一部の項目が更新された場合、その更新結果が反映された内部データの例を示す図である。
【図４】（ａ）は、編集の開始時に、端末からの要求に応じて、データ蓄積部から読み出された内部データの一部を示す図である。（ｂ）は、階層解析部が範囲指定によって選択された項目を（ａ）のテーブルに保持している様子を示す図である。
【図５】（ａ）および（ｂ）は、範囲指定によりＧＵＩ上の複数の項目を選択する場合の具体例を示す図である。
【図６】範囲指定により選択された複数の項目をドラッグアンドドロップで一括して移動する具体例を示す図である。
【図７】（ａ）は、範囲指定により選択された複数の項目が一括してドラッグされている状態を、階層解析部がテーブルに保持している様子を示す図である。（ｂ）は、ドラッグされていた複数の項目がドロップされた状態を、階層解析部がテーブルに保持している様子を示す図である。
【図８】移動前の項目間の関連付けを示していた線を、新たな関連付けを示すように付け替える場合の途中の段階の具体例を示す図である。
【図９】移動前の項目間の関連付けを示していた線を、新たな関連付けを示すように付け替える場合の途中の段階の他の具体例を示す図である。
【図１０】（ａ）は、項目「Ａ１１」と項目「Ａ１１１」とを結んでいた線がドラッグされている状態を示す図である。（ｂ）は、ドラッグされていた線分が、項目「Ａ２２」と項目「Ａ２２２」とを結ぶ線に重なる位置でドロップされた状態を示す図である。
【図１１】（ａ）は、上位コード「Ａ２２」に接続される側の一方端を固定しておき、線分の多端のドラッグが開始された状態を示す図である。（ｂ）は、移動された項目とその上位コードとの関連付けを示す線分が決定されたとき、その線分をメモリ上に記述する階層解析部の動作を示す図である。
【図１２】（ａ）は、上位コードとの接続が切断されていた最上位項目「Ａ１１１」に、別の上位コードが改めて接続されたことをメモリ内のデータとして示す図である。（ｂ）は、同一の項目について上段の線分の欄と下段の項目の欄とに分離されていたテーブルが、元の１つの欄にまとめられた状態を示す図である。
【図１３】図２（ａ）の画面から起動される各編集処理の概略的処理手順を示すフローチャートである。
【図１４】階層データの編集処理として「変更」を行う場合の処理手順を示すフローチャートである。
【図１５】階層データの編集処理として「削除」を行う場合の処理手順を示すフローチャートである。
【図１６】階層データの編集処理として「追加」を行う場合の処理手順を示すフローチャートである。
【図１７】本発明の階層データ編集システムのハードウェア構成および機能的構成の他の例を示す図である。
【図１８】実施の形態２において端末のモニタに表示されるＧＵＩ画面の一例を示す図である。（ａ）は、実施の形態１の図３（ｂ）に対応するＧＵＩ画面を示す。（ｂ）は、実施の形態１の図３（ｃ）に対応するＧＵＩ画面を示す。
【図１９】従来の階層データの更新方法を示す図である。（ａ）は、例えば、人事担当者の端末に表示される人事データを示し、（ｂ）は、ホストコンピュータのリレーショナルデータベースに格納されている人事データを示している。
【符号の説明】
【００４６】
１００    階層データ編集システム
１１０    端末
１１１    トランザクション管理部
１１２    階層解析部
１１３    表示部
１１４    更新指示受付部
１２０    ホストコンピュータ
１２１    データ蓄積部
１２２    表示データ送信部
１２３    トランザクション管理部
１２４    判定部
１２５    更新部
１２６    内部データ
１２７    ＧＵＩ表示用データ
８００    階層データ編集システム
８１０    端末
８２０    サーバ
【図１】
2006040118.tif 000003
【図２】
2006040118.tif 000004
【図３】
2006040118.tif 000005
【図４】
2006040118.tif 000006
【図５】
2006040118.tif 000007
【図６】
2006040118.tif 000008
【図７】
2006040118.tif 000009
【図８】
2006040118.tif 000010
【図９】
2006040118.tif 000011
【図１０】
2006040118.tif 000012
【図１１】
2006040118.tif 000013
【図１２】
2006040118.tif 000014
【図１３】
2006040118.tif 000015
【図１４】
2006040118.tif 000016
【図１５】
2006040118.tif 000017
【図１６】
2006040118.tif 000018
【図１７】
2006040118.tif 000019
【図１８】
2006040118.tif 000020
【図１９】
2006040118.tif 000021