(57)【要約】【課題】製品に関する部品の階層構造を示すデータの検索時の、検索時間、検索の負荷を削減可能な部品データ処理装置を提供する。【解決手段】現在用いられている製品に関する部品の階層構造を示す階層構造データを含む現用部品データを記憶している現用部品データ記憶部１１と、打切り製品に関する部品の階層構造を示す階層構造データを含む非現用部品データを記憶している非現用部品データ記憶部１２と、受付部１３が受け付けた検索の指示に応じて、現用部品データ、非現用部品データの検索を行う検索部１４と、検索結果を出力する出力部１５とを備え、現用部品データと非現用部品データとで共用できるデータについては、現用部品データに含まれるようにし、検索部１４は、非現用部品データの検索時に、現用部品データと共用されている階層構造データについては、現用部品データから検索する。【選択図】図１
2006031217.tif 000002
【特許請求の範囲】
【請求項１】
現在用いられている製品に関する部品の階層構造を示すデータである階層構造データを含む現用部品データを記憶している現用部品データ記憶部と、
打切り製品に関する部品の階層構造を示すデータである階層構造データを含む非現用部品データを記憶している非現用部品データ記憶部と、
前記現用部品データ、及び前記非現用部品データに関する検索の指示を受け付ける受付部と、
前記受付部が受け付けた検索の指示に応じて、前記現用部品データ、及び前記非現用部品データの検索を行う検索部と、
前記検索部が検索した検索結果を出力する出力部と、を備え、
前記現用部品データと、前記非現用部品データとにおいて、共用できる階層構造データについては、前記現用部品データのみに含まれ、
前記検索部は、前記非現用部品データの検索時に、前記現用部品データと共用されている階層構造データについては、前記現用部品データから検索する、部品データ処理装置。
【請求項２】
前記現用部品データは、各部品に関連する情報である部品関連情報を含み、
前記非現用部品データは、前記部品関連情報を含まない、請求項１記載の部品データ処理装置。
【請求項３】
用いられていた製品が打切り製品となった場合に、当該打切り製品となった製品に関する階層構造データのうち、現在用いられている製品に関する階層構造データと共用できる階層構造データ以外の階層構造データを、前記現用部品データから前記非現用部品データに移行させるデータ移行部をさらに備えた、請求項１または２記載の部品データ処理装置。
【請求項４】
打切り製品が用いられるようになった場合に、当該用いられるようになった製品に関する階層構造データを、前記非現用部品データから前記現用部品データに復帰させるデータ復帰部をさらに備えた、請求項１から３のいずれか１項に記載の部品データ処理装置。
【請求項５】
前記出力部は、前記検索結果を送信する、請求項１から４のいずれか１項に記載の部品データ処理装置。
【請求項６】
現在用いられている製品に関する部品の階層構造を示すデータである階層構造データを含む現用部品データ、及び打切り製品に関する部品の階層構造を示すデータである階層構造データを含む非現用部品データに関する検索の指示を受け付ける受付ステップと、
前記受付ステップで受け付けた検索の指示に応じて、前記現用部品データ、及び前記非現用部品データの検索を行う検索ステップと、
前記検索ステップで検索した検索結果を出力する出力ステップと、を備え、
前記現用部品データと、前記非現用部品データとにおいて、共用できる階層構造データについては、前記現用部品データのみに含まれ、
前記検索ステップにおいて、前記非現用部品データの検索時に、前記現用部品データと共用されている階層構造データについては、前記現用部品データから検索する、部品データ処理方法。
【請求項７】
コンピュータに、
現在用いられている製品に関する部品の階層構造を示すデータである階層構造データを含む現用部品データ、及び打切り製品に関する部品の階層構造を示すデータである階層構造データを含む非現用部品データに関する検索の指示を受け付ける受付ステップと、
前記受付ステップで受け付けた検索の指示に応じて、前記現用部品データ、及び前記非現用部品データの検索を行う検索ステップと、
前記検索ステップで検索した検索結果を出力する出力ステップと、を実行させるプログラムであって、
前記現用部品データと、前記非現用部品データとにおいて、共用できる階層構造データについては、前記現用部品データのみに含まれ、
前記検索ステップにおいて、前記非現用部品データの検索時に、前記現用部品データと共用されている階層構造データについては、前記現用部品データから検索する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品に関する部品の階層構造を示すデータに対して検索を行う部品データ処理装置等に関する。
【背景技術】
【０００２】
従来、製品に関する部品の階層構造を示すデータである階層構造データを記憶しておき、ある製品がどのような部品から構成されているのかについて、検索を行うことができる装置が用いられていた。その従来の装置においては、現在用いられている製品に関する階層構造データと、打切り製品に関する階層構造データとは一緒に管理されていた。
なお、関連する先行技術として、簡便に部品表の改定を行うことができる部品表作成システムが開示されている（例えば、特許文献１参照）。
【特許文献１】特開平８−６９４８３号公報（第１頁、第１図等）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、打切り製品に関するデータは、どんどん累積していくものであり、膨大なデータ容量となり、データの参照時における検索に要する時間や、検索の負荷が大きくなってしまうという問題があった。
本発明は、上記問題点を解決するためになされたもので、検索時間、検索の負荷を削減することができる部品データ処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するため、本発明による部品データ処理装置は、現在用いられている製品に関する部品の階層構造を示すデータである階層構造データを含む現用部品データを記憶している現用部品データ記憶部と、打切り製品に関する部品の階層構造を示すデータである階層構造データを含む非現用部品データを記憶している非現用部品データ記憶部と、前記現用部品データ、及び前記非現用部品データに関する検索の指示を受け付ける受付部と、前記受付部が受け付けた検索の指示に応じて、前記現用部品データ、及び前記非現用部品データの検索を行う検索部と、前記検索部が検索した検索結果を出力する出力部と、を備え、前記現用部品データと、前記非現用部品データとにおいて、共用できる階層構造データについては、前記現用部品データのみに含まれ、前記検索部は、前記非現用部品データの検索時に、前記現用部品データと共用されている階層構造データについては、前記現用部品データから検索するものである。
【０００５】
このような構成により、高い頻度で実行されると考えられる現用部品データの検索時に、検索対象に非現用部品データが含まれないこととなり、検索時間、検索負荷を削減することができ得る。特に、非現用部品データをいつまでも保管するような場合には、非現用部品データのデータ容量が膨大なものになると考えられるが、そのような場合であっても、現用部品データと、非現用部品データを別に管理することによって、現用部品データの検索時には、非現用部品データの影響を受けることなく検索を実行することができ得る。また、現用部品データと非現用部品データとにおいて、共用可能な階層構造データを、現用部品データのみが含むことによって、現用部品データ、及び非現用部品データの全体としてのデータ容量を削減することができる。
【０００６】
また、本発明による部品データ処理装置では、前記現用部品データが、各部品に関連する情報である部品関連情報を含み、前記非現用部品データが、前記部品関連情報を含まなくてもよい。
【０００７】
このような構成により、部品関連情報の更新を行う場合には、現用部品データについてのみ行えばよいこととなり、現用部品データと非現用部品データとが一緒に記憶されており、その両者に含まれる部品関連情報を更新する場合に比べて、部品関連情報の更新時における処理負担が軽減され得る。
【０００８】
また、本発明による部品データ処理装置では、用いられていた製品が打切り製品となった場合に、当該打切り製品となった製品に関する階層構造データのうち、現在用いられている製品に関する階層構造データと共用できる階層構造データ以外の階層構造データを、前記現用部品データから前記非現用部品データに移行させるデータ移行部をさらに備えてもよい。
【０００９】
このような構成により、用いられていた製品が打ち切り製品となった場合に、その打切り製品に関する階層構造のデータを移行することによって、現用部品データに不適切なデータ（まれにしか用いられないデータ）が含まれる事態を回避でき得る。
【００１０】
また、本発明による部品データ処理装置では、打切り製品が用いられるようになった場合に、当該用いられるようになった製品に関する階層構造データを、前記非現用部品データから前記現用部品データに復帰させるデータ復帰部をさらに備えてもよい。
【００１１】
このような構成により、打切り製品が用いられるようになった場合に、その用いられるようになった製品に関する階層構造のデータを現用部品データに復帰することによって、その用いられるようになった製品に関する検索時間を削減することができる。
【発明の効果】
【００１２】
本発明による部品データ処理装置等によれば、高い頻度で実行されると考えられる現用部品データの検索時に、検索対象に非現用部品データが含まれないこととなり、検索時間、検索負荷を削減することができ得る。
【発明を実施するための最良の形態】
【００１３】
本発明の一実施の形態による部品データ処理装置について、図面を参照しながら説明する。
図１は、本実施の形態による部品データ処理装置の構成を示すブロック図である。図１において、本実施の形態による部品データ処理装置は、現用部品データ記憶部１１と、非現用部品データ記憶部１２と、受付部１３と、検索部１４と、出力部１５と、データ移行部１６と、データ復帰部１７とを備える。
【００１４】
現用部品データ記憶部１１は、現用部品データを記憶している。ここで、現用部品データとは、現在用いられている製品に関する部品の階層構造を示すデータである階層構造データを含むデータである。現在用いられている製品とは、現在もその製品に関する部品の階層構造のデータを一定の高い頻度で見ることが予測される製品のことであり、例えば、現在生産中の製品であってもよく、現在設計中の製品であってもよく、製品の生産は終了しているが、その製品の部品についてはまだ保管している製品であってもよい。製品に関する部品の階層構造とは、製品を構成する各部品の階層構造のことであり、例えば、製品がどのような部品から構成されるのか、またその製品を構成する部品がさらにどのような部品から構成されるのか、という階層構造のことである。また、現用部品データは、部品関連情報を含んでいてもよい。ここで、部品関連情報とは、製品を構成する各部品に関連する情報であり、例えば、部品の単価、部品の購入先、部品の配送や製造等のリードタイム等の情報である。この部品関連情報は、所定のタイミング（例えば、１年に１回など）で最新の情報に更新されてもよい。現用部品データ記憶部１１は、所定の記録媒体（例え
ば、半導体メモリや磁気ディスク、光ディスクなど）によって実現され得る。
【００１５】
非現用部品データ記憶部１２は、非現用部品データを記憶している。ここで、非現用部品データとは、打切り製品に関する部品の階層構造を示すデータである階層構造データを含むデータである。打切り製品とは、その製品に関する部品の階層構造のデータをまれにしか見ないことが予測される製品のことであり、例えば、生産の打切られた製品であってもよく、生産が終了し、さらにその製品を構成する各部品の保管期限の終了した製品であってもよい。この非現用部品データは、例えば、生産の打切られた製品について何らかのトラブル等が発生した場合などに用いられる。非現用部品データには、前述の部品関連情報が含まれていなくてもよい。非現用部品データ記憶部１２は、所定の記録媒体（例えば、半導体メモリや磁気ディスク、光ディスクなど）によって実現され得る。
【００１６】
なお、現用部品データと、非現用部品データとにおいて、共用できる階層構造データについては、現用部品データのみに含まれる。図２は、現用部品データと、非現用部品データとによるデータの共用の一例について説明するための図である。図２（ａ）は、現用部品データに含まれる製品番号「Ａ００２」の製品に関する階層構造の一例を示す図である。図２（ａ）では、製品番号「Ａ００２」の製品は、品番「Ｂ００２」、「Ｂ０１８」の部品から構成され、品番「Ｂ００２」の部品はさらに、品番「Ｂ００６」、「Ｂ００７」の部品から構成されることなどが示されている。図２（ｂ）は、非現用部品データに含まれる製品番号「Ａ００１」の製品に関する階層構造の一例を示す図である。図２（ｂ）において、例えば、四角で囲まれた品番「Ｂ００３」の部品等については、その部品を構成する品番が記載されていない。この場合には、品番「Ｂ００３」の部品を構成する部品の階層構造データは、現用部品データと、非現用部品データとにおいて共用されており、現用部品データにのみ含まれている。したがって、非現用部品データにおける製品番号「Ａ００１」の製品の全階層構造を知るには、品番「Ｂ００３」の部品以下の構造については、現用部品データを参照しなければならないことになる。
【００１７】
また、現用部品データ記憶部１１と、非現用部品データ記憶部１２とは、同一の記録媒体によって実現されてもよく、別々の記録媒体によって実現されてもよい。前者の場合には、現用部品データを記憶している領域が現用部品データ記憶部１１となり、非現用部品データを記憶している領域が非現用部品データ記憶部１２となる。また、後者の場合には、現用部品データ記憶部１１と、非現用部品データ記憶部１２とのアクセススピードは、異なっていてもよい。例えば、現用部品データ記憶部１１における現用部品データへのアクセススピードが、非現用部品データ記憶部１２における非現用部品データへのアクセススピードよりも速くてもよい。また、現用部品データ記憶部１１、非現用部品データ記憶部１２における記憶は、外部のストレージデバイス等から読み出した現用部品データ等のＲＡＭ等による一時的な記憶でもよく、あるいは、磁気ディスク等による長期的な記憶でもよい。
【００１８】
受付部１３は、現用部品データ、及び非現用部品データに関する検索の指示を受け付ける。受付部１３は、例えば、入力デバイス（例えば、キーボードやマウス、タッチパネルなど）から入力された指示を受け付けてもよく、有線もしくは無線の通信回線を介して送信された指示を受け付けてもよい。なお、受付部１３は、その他の指示（例えば、データを移行する旨の指示や、データを復帰する旨の指示など）を受け付けてもよい。
【００１９】
検索部１４は、受付部１３が受け付けた検索の指示に応じて、現用部品データ、及び非現用部品データの検索を行う。この検索では、例えば、ある製品に含まれる部品の階層が検索される。ここで、製品に含まれる部品の階層を検索するとは、製品にどのような部品が含まれているのかに関する情報と、部品の階層関係の情報（ある部品にどのような部品が含まれているのかに関する情報）とを取得することである。検索部１４は、非現用部品
データの検索時に、現用部品データと共用されている階層構造データについては、現用部品データから検索する。すなわち、非現用部品データに含まれる製品について検索を行う場合に、その製品に含まれる部品の階層構造を示す階層構造データのうち、現用部品データと共用されている階層構造データについては、現用部品データを検索することによって、その検索を行う。この検索処理の詳細については後述する。
【００２０】
出力部１５は、検索部１４が検索した検索結果を出力する。ここで、この検索結果によって、例えば、ある製品に含まれる部品の階層関係の情報が示される。ここで、この出力は、例えば、表示デバイス（例えば、ＣＲＴや液晶ディスプレイなど）への表示でもよく、通信回線を介した所定の機器に対する送信であってもよく、プリンタによる印刷でもよい。なお、出力部１５は、出力を行うデバイス（例えば、表示デバイスやプリンタなど）を含んでもよく、あるいは含まなくてもよい。また、出力部１５は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【００２１】
データ移行部１６は、用いられていた製品が打切り製品となった場合に、その打切り製品となった製品に関する階層構造データのうち、現在用いられている製品に関する階層構造データと共用できる階層構造データ以外の階層構造データ（すなわち、共用できない階層構造データ）を、現用部品データから非現用部品データに移行させる。データ移行部１６がこのデータの移行を行うタイミングは、例えば、あらかじめ定められていた移行の時期が到来したことであってもよく、所定のイベント（例えば、データを移行する旨の指示が受け付けられたこと）をトリガーとするものであってもよく、その他のタイミングであってもよい。
【００２２】
データ復帰部１７は、打切り製品が用いられるようになった場合に、その用いられるようになった製品に関する階層構造データを、非現用部品データから現用部品データに復帰させる。データ復帰部１７がこのデータの復帰を行うタイミングは、例えば、あらかじめ定められていた復帰の時期が到来したことであってもよく、所定のイベント（例えば、データを復帰する旨の指示が受け付けられたこと）をトリガーとするものであってもよく、その他のタイミングであってもよい。
【００２３】
次に、本実施の形態による部品データ処理装置の動作について、図３〜図７を用いて説明する。
図３は、本実施の形態による部品データ処理装置の動作を示すフローチャートである。
（ステップＳ１０１）受付部１３は、検索の指示を受け付けたかどうか判断する。そして、検索の指示を受け付けた場合には、その指示を検索部１４に渡してステップＳ１０２に進み、そうでない場合には、ステップＳ１０７に進む。なお、この検索の指示には、例えば、検索対象である製品を特定する製品番号が含まれている。
【００２４】
（ステップＳ１０２）検索部１４は、受付部１３が受け付けた検索の指示が現用部品データを検索する旨の指示であるのか、非現用部品データを検索する旨の指示であるのかについて判断する。この判断は、例えば、現用部品データを検索する旨の指示を受け付けたのか、非現用部品データを検索する旨の指示を受け付けたのかによって判断してもよく、あるいは、検索の指示に含まれている製品番号が現用部品データに含まれるのか、あるいは、非現用部品データに含まれるのかによって判断してもよい。そして、検索の指示が現用部品データを検索する旨の指示である場合にはステップＳ１０３に進み、検索の指示が非現用部品データを検索する旨の指示である場合には、ステップＳ１０５に進む。
【００２５】
（ステップＳ１０３）検索部１４は、現用部品データの検索を行う。この検索処理の詳細については後述する。
（ステップＳ１０４）出力部１５は、検索部１４による検索結果を出力する。そして、ステップＳ１０１に戻る。
【００２６】
（ステップＳ１０５）検索部１４は、非現用部品データの検索を行う。この検索処理の詳細については後述する。
（ステップＳ１０６）検索部１４は、ステップＳ１０５における非現用部品データの検索を行った後に、現用部品データの検索を行う。
【００２７】
（ステップＳ１０７）データ移行部１６は、データ移行のタイミングであるかどうか判断する。そして、データ移行のタイミングである場合には、ステップＳ１０８に進み、そうでない場合には、ステップＳ１１０に進む。ここで、データ移行のタイミングであるかどうかは、例えば、データを移行する旨の指示が受け付けられたかどうか、あるいは、あらかじめ定められている移行時期が到来したかどうかなどによって判断される。
【００２８】
（ステップＳ１０８）データ移行部１６は、移行する製品に関する階層構造データを、現用部品データにおける他の製品と共用されているデータ（すなわち、非現用部品データに移行しないデータ）と、共用されていないデータ（すなわち、非現用部品データに移行するデータ）とに切り分ける。
【００２９】
（ステップＳ１０９）データ移行部１６は、共用されていないデータを現用部品データ記憶部１１から非現用部品データ記憶部１２に移行させる。そして、ステップＳ１０１に戻る。
【００３０】
（ステップＳ１１０）データ復帰部１７は、データ復帰のタイミングであるかどうか判断する。そして、データ復帰のタイミングである場合には、ステップＳ１１１に進み、そうでない場合には、ステップＳ１０１に戻る。ここで、データ復帰のタイミングであるかどうかは、例えば、データを復帰する旨の指示が受け付けられたかどうかや、あるいは、あらかじめ定められている復帰の時期が到来したかどうかなどによって判断される。
【００３１】
（ステップＳ１１１）データ復帰部１７は、復帰する製品に関する階層構造データを、非現用部品データ記憶部１２から現用部品データ記憶部１１に復帰させる。そして、ステップＳ１０１に戻る。
【００３２】
なお、図３のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。また、受付部１３が受け付けた指示に応じてデータの移行や、データの復帰を行う場合には、データの移行を行う旨の指示等を受け付ける処理も行われる。
【００３３】
図４は、図３のフローチャートにおけるステップＳ１０３、及びステップＳ１０５に関する詳細な処理を説明するためのフローチャートである。なお、ステップＳ１０３の場合には、検索の対象は現用部品データ記憶部１１が記憶している現用部品データであり、ステップＳ１０５の場合には、検索の対象は非現用部品データ記憶部１２が記憶している非現用部品データである。ここでは、ステップＳ１０３の場合について説明するが、ステップＳ１０５の場合についても、現用部品データが非現用部品データに代わる以外、同様である。
【００３４】
なお、フローチャートの説明の前に、現用部品データの構造について説明する。図８は、現用部品データの一例を示す図である。図８の現用部品データでは、親品番と子品番とが対応している。例えば、親品番「Ａ００２」には子品番「Ｂ００２」、「Ｂ０１８」が対応しているため、製品番号「Ａ００２」の製品は、品番「Ｂ００２」、「Ｂ０１８」の部品を含むことがわかる。また、各親品番と子品番には、その適用が開始される年月日を
示す「適用開始」フィールド、その適用が終了する年月日を示す「適用終了」フィールド、親品番の製品あるいは部品に含まれる子品番の個数を示す「員数」フィールド、子品番の部品の単価を示す「単価」フィールド、子品番の部品の購入先を示す「購入先」フィールドが対応している。この単価と購入先が前述の部品関連情報である。なお、単価と購入先は、子品番を有しない部品についてのみ設定されている。また、親品番や子品番を番号で示す場合について説明しているが、親品番や子品番は、各部品や製品を示す名称等であってもよい。また、適用開始の年月日の「１９０１年１月１日」は、適用開始の期限がないことを示している。また、適用終了の年月日の「３９９９年１２月３１日」は、適用終了の期限がないことを示している。また、親品番「Ｂ００５」には、品番「Ｂ０１２」が１個対応しているだけであるが、このような状況としては、例えば、品番「Ｂ０１２」の部品に対して所定の加工（例えば、曲げる加工、表面加工、孔を開ける加工など）を行ったものが品番「Ｂ００５」の部品となる場合などがある。図８で示される現用部品データの各レコードが、現用部品データに含まれる各階層構造データである。
【００３５】
（ステップＳ２０１）検索部１４は、カウンタＩを「１」に設定する。
（ステップＳ２０２）検索部１４は、現用部品データのＩ番目のレコードにおける親品番が、検索を行う製品番号と一致するかどうか判断する。そして、一致する場合には、ステップＳ２０３に進み、一致しない場合には、ステップＳ２０４に進む。
【００３６】
（ステップＳ２０３）検索部１４は、Ｉ番目のレコードから子品番を取得し、その子品番を検索部１４が有する図示しないメモリで一時的に記憶しておく。
（ステップＳ２０４）検索部１４は、Ｉ番目のレコードが現用部品データの最後のレコードであるかどうか判断する。そして、最後のレコードである場合には、ステップＳ２０６に進み、そうでない場合には、ステップＳ２０５に進む。
【００３７】
（ステップＳ２０５）検索部１４は、カウンタＩを１だけインクリメントする。そして、ステップＳ２０２に戻る。
（ステップＳ２０６）検索部１４は、カウンタＪを「１」に設定する。なお、検索部１４は、ステップＳ２０１〜Ｓ２０５の処理で取得し、一時的に記憶している一連の子品番について、１から順番に数値を対応付けているものとする。
【００３８】
（ステップＳ２０７）検索部１４は、カウンタＩを「１」に設定する。
（ステップＳ２０８）検索部１４は、現用部品データのＩ番目のレコードの親品番が、Ｊ番目の子品番と一致するかどうか判断する。そして、一致する場合には、ステップＳ２０９に進み、一致しない場合には、ステップＳ２１０に進む。
【００３９】
（ステップＳ２０９）検索部１４は、Ｉ番目のレコードから子品番を取得し、その子品番を検索部１４が有する図示しないメモリで一時的に記憶しておく。
（ステップＳ２１０）検索部１４は、Ｉ番目のレコードが現用部品データの最後のレコードであるかどうか判断する。そして、最後のレコードである場合には、ステップＳ２１２に進み、そうでない場合には、ステップＳ２１１に進む。
【００４０】
（ステップＳ２１１）検索部１４は、カウンタＩを１だけインクリメントする。そして、ステップＳ２０８に戻る。
（ステップＳ２１２）検索部１４は、Ｊ番目の子品番が最後の子品番であるかどうか判断する。そして、最後の子品番である場合には、ステップＳ２１４に進み、そうでない場合には、ステップＳ２１３に進む。
【００４１】
（ステップＳ２１３）検索部１４は、カウンタＪを１だけインクリメントする。そして、ステップＳ２０７に戻る。
（ステップＳ２１４）検索部１４は、ステップＳ２０６〜Ｓ２１３の一連の処理において、子品番の取得が行われたかどうか判断する。そして、少なくとも１つの子品番の取得が行われた場合には、ステップＳ２０６に戻り、子品番の取得がまったく行われなかった場合には、終了となる。
【００４２】
なお、ステップＳ２１４からステップＳ２０６に戻った場合には、検索部１４は、直前に実行されたステップＳ２０６〜Ｓ２１３の処理で取得し、一時的に記憶している一連の子品番について、１から順番に数値を対応付けるものとする。そして、その一連の子品番について、ステップＳ２０８の判断処理を行うものとする。
【００４３】
また、ステップＳ２０２、Ｓ２０８の判断処理において、現用部品データ等の各レコードに適用開始や適用終了のフィールドが含まれない場合には、上述のとおりに判断を行えばよいが、現用部品データ等の各レコードに適用開始や適用終了のフィールドが含まれる場合（例えば、図８で示される現用部品データの場合）には、判断時の年月日が各レコードの適用開始の年月日から適用終了の年月日に含まれないレコードについては、「Ｎｏ」と判断する（すなわち、ステップＳ２０４、あるいはステップＳ２１０に進む）ものとする。
【００４４】
図５は、図３のフローチャートにおけるステップＳ１０６に関する詳細な処理を説明するためのフローチャートである。なお、ステップＳ３０１〜Ｓ３０９の処理は、図４のフローチャートにおけるステップＳ２０６〜Ｓ２１４の処理と同様であり、その説明を省略する。ただし、ステップＳ３０１からの処理を初めて行う場合には、ステップＳ１０５において最後に取得され、一時的に記憶された一連の子品番について、１から順番に数値を対応付けているものとする。また、ステップＳ３０９からステップＳ３０１に戻った場合には、直前に実行されたステップＳ３０１〜Ｓ３０８の処理で取得され、一時的に記憶された一連の子品番について、１から順番に数値を対応付けており、その一連の子品番について、ステップＳ３０３の判断処理を行うものとする。
【００４５】
図６は、図３のフローチャートにおけるステップＳ１０８に関する詳細な処理を説明するためのフローチャートである。なお、この図６のフローチャートの処理（関数）の引数として、親品番とネストレベルＮとが与えられているとする。その親品番とネストレベルＮとは、バッファメモリで記憶されているものとする。その引数としての親品番の初期値は、データの切り分けを行う製品の製品番号であるとする。ネストレベルとは、階層構造のレベルを示すものであり、０が最上位であり、階層が下になるごとに１だけ増えるものとする。引数としての親品番が製品番号であるときのネストレベルは、その親品番に対応する子品番のネストレベル「１」であるとする（すなわち、ネストレベルの初期値は「１」である）。
【００４６】
（ステップＳ４０１）データ移行部１６は、カウンタＩを「１」に設定する。
（ステップＳ４０２）データ移行部１６は、現用部品データ記憶部１１が記憶している現用部品データのＩ番目のレコードの親品番が、バッファで記憶されている親品番と一致するかどうか判断する。そして、一致する場合には、ステップＳ４０３に進み、一致しない場合には、ステップＳ４０７に進む。
【００４７】
（ステップＳ４０３）データ移行部１６は、現用部品データのＩ番目のレコードの子品番を取得する。
（ステップＳ４０４）バッファで記憶されているネストレベルＮと、ステップＳ４０３で取得した子品番とを対応付けて一時的に記憶する。
【００４８】
（ステップＳ４０５）データ移行部１６は、ステップＳ４０４において一時的に記憶し
た子品番が共用されている子品番であるかどうか判断する。ここで、その判断は、後述する図７のフローチャートで示される処理によって行われる。そして、共用されている子品番である場合には、ステップＳ４０６に進み、そうでない場合には、ステップＳ４０７に進む。
【００４９】
（ステップＳ４０６）データ移行部１６は、ステップＳ４０４において一時的に記憶した子品番に共用フラグを付加する。
（ステップＳ４０７）データ移行部１６は、Ｉ番目のレコードが現用部品データの最後のレコードであるかどうか判断する。そして、最後のレコードである場合には、ステップＳ４０９に進み、そうでない場合には、ステップＳ４０８に進む。
【００５０】
（ステップＳ４０８）データ移行部１６は、カウンタＩを１だけインクリメントする。そして、ステップＳ４０２に戻る。
（ステップＳ４０９）データ移行部１６は、ステップＳ４０２からステップＳ４０７までの処理によって、１以上の子品番を取得したかどうか判断する。そして、１以上の子品番を取得した場合には、ステップＳ４１０に進み、そうでない場合には、リターンとなる。具体的には、ステップＳ４０１〜Ｓ４０９の処理を後述するステップＳ４１３における処理として行っていた場合には、ステップＳ４１４に進み、そうでない場合には、ステップＳ１０９に進む。
【００５１】
（ステップＳ４１０）データ移行部１６は、カウンタＪを「１」に設定する。ここで、データ移行部１６は、ステップＳ４０１〜Ｓ４０９において取得した１以上の子品番について、１から順番に数値を対応付けているものとする。
（ステップＳ４１１）データ移行部１６は、Ｊ番目の子品番を引数としての親品番として、バッファメモリに記憶する。
【００５２】
（ステップＳ４１２）データ移行部１６は、Ｊ番目の子品番に共用フラグが対応付けられているかどうか判断する。そして、共用フラグが対応付けられている場合には、ステップＳ４１４に進み、そうでない場合には、ステップＳ４１３に進む。
【００５３】
（ステップＳ４１３）データ移行部１６は、図６のフローチャートのステップＳ４０１から、再帰的に処理を行う。ここで、そのときの引数としては、親品番はステップＳ４１１で記憶されたものを用い、ネストレベルは、１だけインクリメントした値を用いる。
【００５４】
（ステップＳ４１４）データ移行部１６は、Ｊ番目の子品番が最後の子品番であるかどうか判断する。そして、最後の子品番である場合には、リターンとなる。具体的には、ステップＳ４０１〜Ｓ４１４の処理をステップＳ４１３における処理として行っていた場合には、ステップＳ４１４に進み、そうでない場合には、ステップＳ１０９に進む。
（ステップＳ４１５）データ移行部１６は、カウンタＪを１だけインクリメントする。そして、ステップＳＳ４１１に戻る。
【００５５】
図７は、図６のフローチャートにおけるステップＳ４０５に関する詳細な処理を説明するためのフローチャートである。なお、この図７のフローチャートの処理（関数）の引数として、図６のフローチャートの処理（関数）の引数である親品番と、ステップＳ４０３で取得した子品番とが与えられているとする。
【００５６】
（ステップＳ５０１）データ移行部１６は、カウンタＩを「１」に設定する。
（ステップＳ５０２）データ移行部１６は、現用部品データにおけるＩ番目のレコードの親品番、子品番を取得する。
【００５７】
（ステップＳ５０３）データ移行部１６は、ステップＳ５０２で取得した子品番が、引数の子品番と一致するかどうか判断する。そして、一致する場合には、ステップＳ５０４に進み、そうでない場合には、ステップＳ５０６に進む。
（ステップＳ５０４）データ移行部１６は、ステップＳ５０２で取得した親品番が、引数の親品番と一致しないかどうか判断する。そして、一致しない場合には、ステップＳ５０５に進み、そうでない場合には、ステップＳ５０６に進む。
【００５８】
（ステップＳ５０５）データ移行部１６は、ステップＳ４０３で取得した子品番の部品が共用されていると判断する。そして、ステップＳ４０５に戻る。
（ステップＳ５０６）データ移行部１６は、Ｉ番目のレコードが現用部品データの最後のレコードであるかどうか判断する。そして、最後のレコードである場合には、ステップＳ５０７に進み、そうでない場合には、ステップＳ５０８に進む。
【００５９】
（ステップＳ５０７）データ移行部１６は、ステップＳ４０３で取得した子品番の部品が共用されていないと判断する。そして、ステップＳ４０５に戻る。
（ステップＳ５０８）データ移行部１６は、カウンタＩを１だけインクリメントする。そして、ステップＳ５０２に戻る。
【００６０】
次に、本実施の形態による部品データ処理装置の動作について、具体例を用いて説明する。この具体例では、図９で示されるように、部品データ処理装置１と、１以上の端末装置２とが、有線または無線の通信回線３によって接続されているものとする。したがって、出力部１５は、送信を行うものとする。また、現用部品データ記憶部１１が記憶している現用部品データは、図８で示され、非現用部品データ記憶部１２が記憶している非現用部品データは、図１０で示されるものとする。図１０の非現用部品データにおいて、現用部品データに含まれていた単価と購入先のフィールドが含まれないのは、データ容量を削減するためである。なお、非現用部品データは、打切り製品に関する部品の階層構造データを含むため、購入などを行うことは一般に考えられないため、それらのフィールドが含まれていなくても問題はない。
【００６１】
部品データ処理装置１における検索を行いたいユーザは、端末装置２を操作し、検索を行うソフトウェアを起動する。その結果、図１１で示されるように、検索画面がディスプレイに表示される。
【００６２】
まず、現用部品データの検索を行う場合について説明する。ユーザが現用部品データの検索を行いたい場合には、検索画面において、「現用部品データ」の記載の左側のラジオボタンをクリックする。また、製品番号として「Ａ００２」を入力したとする。その後、ユーザがマウスを操作し、「検索」ボタンをクリックすると、現用部品データの製品番号「Ａ００２」の製品について検索を行う旨の指示が端末装置２から部品データ処理装置１に送信される。
【００６３】
現用部品データの製品番号「Ａ００２」の製品について検索を行う旨の指示は受付部１３で受け付けられ、検索部１４に渡される（ステップＳ１０１）。検索部１４は、現用部品データの検索であると判断し（ステップＳ１０２）、現用部品データ記憶部１１が記憶している現用部品データから、製品番号「Ａ００２」の製品について、ある製品に含まれる部品の階層を検索する（ステップＳ１０３）。
【００６４】
具体的には、検索部１４は、図８で示される現用部品データを参照し、親品番が製品番号「Ａ００２」である子品番「Ｂ００２」、「Ｂ０１８」を取得し、検索部１４が有する図示しないメモリで一時的に記憶する（ステップＳ２０１〜Ｓ２０５）。そして、子品番「Ｂ００２」を１番目の子品番とし、子品番「Ｂ０１８」を２番目の子品番とする。なお
、図８で示される現用部品データにおいて、親品番「Ｂ０１８」と子品番「Ｂ００３」とを含むレコードが２個存在するが、検索部１４は、検索を行う時点において適用されるレコードのみを参照する。例えば、検索を２００４年４月１５日に行った場合には、員数が「２」であるレコードを参照するものとする。なお、ここでは員数の取得は行わないため、どちらのレコードを参照しても同じ結果となる。
【００６５】
次に、検索部１４は、親品番が一時的に記憶している１番目の子品番「Ｂ００２」である子品番「Ｂ００６」、「Ｂ００７」を取得し、それらを一時的に記憶する（ステップＳ２０６〜Ｓ２１３におけるＪ＝１の場合）。また、検索部１４は、親品番が一時的に記憶している２番目の子品番「Ｂ０１８」である子品番「Ｂ００３」、「Ｂ００５」を取得し、それらを一時的に記憶する（ステップＳ２０６〜Ｓ２１３におけるＪ＝２の場合）。これらの処理により、品番「Ｂ００２」、「Ｂ０１８」に対する子品番の取得は終了する。ここで、子品番「Ｂ００６」、「Ｂ００７」、「Ｂ００３」、「Ｂ００５」は、それぞれ１番目から４番目の子品番とされる。
【００６６】
次に、検索部１４は、取得して一時的に記憶している品番「Ｂ００６」、「Ｂ００７」、「Ｂ００３」、「Ｂ００５」に関する子品番の取得を行う（ステップＳ２０６〜Ｓ２１３におけるＪ＝１〜４の場合）。
【００６７】
このようにして、製品番号「Ａ００２」の製品に含まれる部品の品番の検索が、取得した子品番を親品番とする子品番が存在しなくなるまで、再帰的に行われる（ステップＳ２０６〜Ｓ２１４）。そして、製品番号「Ａ００２」の製品に含まれる部品の階層が検索される。なお、検索部１４が子品番を一時的に記憶する場合には、親品番に対応付けて、子品番を記憶するものとする。そのようにすることで、各品番の親品番がどの品番であるのかがわかることになる。
【００６８】
出力部１５は、検索部１４による検索結果を、検索の指示を送信した端末装置２に送信する。その結果、端末装置２のディスプレイにおいて、図１２で示される検索結果が表示される。この検索結果の表示において、「レベル」は、階層構造のレベルを示しており、値の小さい方が階層構造の上位レベルとなる。すなわち、製品番号「Ａ００２」がレベル「０００」であり、製品番号「Ａ００２」を親品番とする品番「Ｂ００２」、「Ｂ０１８」がレベル「００１」である。また、レベル「００１」の品番を親品番とする品番「Ｂ００６」等がレベル「００２」であある。検索結果において、それぞれの品番は、その品番の親品番に対応付けられて表示されている。例えば、品番「Ｂ００６」の親品番は、品番「Ｂ００２」であるため、品番「Ｂ００６」は、品番「Ｂ００２」の次に表示されている。また、品番「Ｂ００７」の親品番も品番「Ｂ００２」であるため、品番「Ｂ００７」は、品番「Ｂ００２」の下に表示されている。ただし、品番「Ｂ００７」と品番「Ｂ００２」との間には、品番「Ｂ００６」と、その子品番とが含まれている。ユーザは、この検索結果の表示を見ることにより、製品番号「Ａ００２」の製品にどのような品番の部品がどのような階層構造によって含まれるのかを知ることができる。
【００６９】
次に、非現用部品データの検索を行う場合について説明する。ユーザが非現用部品データの検索を行いたい場合には、図１１で示される検索画面において、「非現用部品データ」の記載の左側のラジオボタンをクリックする。また、製品番号として「Ａ００１」を入力したとする。その後、ユーザがマウスを操作し、「検索」ボタンをクリックすると、非現用部品データの製品番号「Ａ００１」の製品について検索を行う旨の指示が端末装置２から部品データ処理装置１に送信される。
【００７０】
非現用部品データの製品番号「Ａ００１」の製品について検索を行う旨の指示は受付部１３で受け付けられ、検索部１４に渡される（ステップＳ１０１）。検索部１４は、非現
用部品データの検索であると判断し（ステップＳ１０２）、非現用部品データ記憶部１２が記憶している非現用部品データから、製品番号「Ａ００１」の製品に含まれる部品の階層を検索する（ステップＳ１０５）。
【００７１】
なお、検索部１４による図１０で示される非現用部品データの検索の検索処理については、現用部品データが非現用部品データとなった以外、現用部品データに対する処理と同様であり、その説明を省略する。この検索処理では、製品番号「Ａ００１」に対して子品番「Ｂ００１」、「Ｂ００２」が取得され、品番「Ｂ００１」に対して子品番「Ｂ００３」、「Ｂ００４」、「Ｂ００５」が取得され、品番「Ｂ００４」に対して子品番「Ｂ０１０」、「Ｂ０１１」が取得される。ここで、非現用部品データの検索において、品番「Ｂ００２」、「Ｂ００３」、「Ｂ００５」、「Ｂ０１０」、「Ｂ０１１」に関する子品番が含まれていないため、これらの品番が、非現用部品データの検索において取得された最後の子品番となる。これらの品番「Ｂ００２」、「Ｂ００３」、「Ｂ００５」、「Ｂ０１０」、「Ｂ０１１」は、それぞれ１番目から５番目の子品番とされる。
【００７２】
次に、検索部１４は、現用部品データ記憶部１１が記憶している現用部品データの検索を行う（ステップＳ１０６）。具体的には、親品番が一時的に記憶している１番目の子品番「Ｂ００２」である子品番「Ｂ００６」、「Ｂ００７」を取得し、それらを一時的に記憶する（ステップＳ３０１〜Ｓ３０８におけるＪ＝１の場合）。また、親品番が一時的に記憶している２番目の子品番「Ｂ００３」である子品番「Ｂ００８」、「Ｂ００９」を取得し、それらを一時的に記憶する（ステップＳ３０１〜Ｓ３０８におけるＪ＝２の場合）。このような処理を繰り返し、取得した子品番を親品番とする子品番が存在しなくなるまで、現用部品データの検索処理が繰り返される（ステップＳ３０１〜Ｓ３０９）。そして、非現用部品データの検索と、現用部品データの検索とによって、製品番号「Ａ００１」の製品に含まれる部品の階層が検索される。
【００７３】
出力部１５は、現用部品データの検索結果と同様に、検索部１４による検索結果を、検索の指示を送信した端末装置２に送信する。その結果、端末装置２のディスプレイにおいて、図１３で示される検索結果が表示される。ユーザは、この検索結果の表示を見ることにより、製品番号「Ａ００１」の製品にどのような品番の部品がどのような階層構造によって含まれるのかを知ることができる。
【００７４】
次に、データを移行する処理について説明する。製品番号「Ａ００３」の製品について、生産が打切られ、製品番号「Ａ００３」の階層構造データを現用部品データから非現用部品データに移行することになったとする。すると、ユーザは、端末装置２を操作し、データの移行・復帰を行うソフトウェアを起動する。その結果、図１４で示されるように、データの移行・復帰を行う画面がディスプレイに表示される。この表示において、ユーザは、「データ移行」の記載の左側のラジオボタンをクリックし、製品番号「Ａ００３」を入力して、「実行」ボタンをクリックしたとする。すると、製品番号「Ａ００３」の製品について現用部品データから非現用部品データへのデータ移行を行う旨の指示が端末装置２から部品データ処理装置１に送信される。その指示は、受付部１３で受け付けられ、データ移行部１６に渡される。データ移行部１６は、その指示を受け取ると、データ移行のタイミングであると判断し（ステップＳ１０７）、現用部品データと、非現用部品データとにおいて、共用できる階層構造データと、共用できない階層構造データとの切り分けを行う（ステップＳ１０８）。
【００７５】
このステップＳ１０８の処理について、具体的に説明する。
データ移行部１６は、まず、製品番号「Ａ００３」と、ネストレベル「１」を引数として、データ切り分け処理を開始する。データ移行部１６は、製品番号「Ａ００３」が親品番である子品番「Ｂ００２」を取得し（ステップＳ４０２、Ｓ４０３）、その取得した子
品番「Ｂ００２」を、ネストレベル「１」に対応付けて一時的に記憶する（ステップＳ４０４）。また、その取得した子品番「Ｂ００２」が共用されているかどうかを判断する（ステップＳ４０５）。
【００７６】
具体的には、データ移行部１６は、親品番「Ａ００２」、子品番「Ｂ００２」を引数として図７のフローチャートの処理を行う。この場合には、図８で示される現用部品データの１番目のレコードの子品番が「Ｂ００２」と一致し（ステップＳ５０３）、かつ、そのレコードの親品番「Ａ００２」が、引数の親品番「Ａ００３」と一致しないため、子品番が共用されていると判断される（ステップＳ５０５）。したがって、図１５の２行目で示されるように、品番「Ｂ００２」に共用フラグが付加される（ステップＳ４０６）。
【００７７】
また、子品番「Ｂ００２」と同様にして、子品番「Ｂ０１９」も取得され、ネストレベル「１」に対応付けられて一時的に記憶される（ステップＳ４０２〜Ｓ４０４）。なお、子品番「Ｂ０１９」は共用されていないため、共用フラグは付加されない。
【００７８】
次に、データ移行部１６は、品番「Ｂ００２」を１番目の子品番とし、品番「Ｂ０１９」を２番目の子品番とする。そして、まず品番「Ｂ００２」について、共用フラグが付加されているかどうか判断する（ステップＳ４１２）。品番「Ｂ００２」には共用フラグが付加されているため、品番「Ｂ００２」より下の階層については、共用されているかどうかを判断しない。品番「Ｂ００２」が共用されている場合には、その品番「Ｂ００２」よりも下の階層の品番（すなわち、品番「Ｂ００２」の部品に含まれる部品の品番）についても共用されているため、それらの品番については、判断を行わなくてよいからである。
【００７９】
次に、品番「Ｂ０１９」について、共用フラグが付加されているかどうか判断する（ステップＳ４１４、Ｓ４１５、Ｓ４１１、Ｓ４１２）。品番「Ｂ０１９」には共用フラグが付加されていないため、データ移行部１６は、品番「Ｂ０１９」と、ネストレベル「２」を引数として、図６のフローチャートのステップＳ４０１からの処理を開始する（ステップＳ４１３）。この処理により、品番「Ｂ０１９」を親品番とする子品番「Ｂ００３」、「Ｂ０２０」が取得される。また、子品番「Ｂ００３」は、品番「Ｂ０１９」以外の親品番「Ｂ０１８」を有するため、共用されていると判断され（ステップＳ４０５）、共用フラグが付加される（ステップＳ４０６）。このような処理が繰り返されることにより、図１５で示されるように共用フラグが付加される。ここで、図１５において、共用フラグが付加されている品番が共用している品番であり、それ以外の品番が共用されていないため、移行しなければならない品番である。
【００８０】
このようにして、共用されている階層構造データと、共用されていない階層構造データとの切り分けが行われ、この場合には、現用部品データのうち、親品番が「Ａ００３」、「Ｂ０１９」、「Ｂ０２０」のレコードが共用されていない階層構造データであると判断される。
【００８１】
データ移行部１６は、共用されていない階層構造データ、すなわち、親品番が「Ａ００３」、「Ｂ０１９」、「Ｂ０２０」のレコードを、現用部品データ記憶部１１から非現用部品データ記憶部１２に移行させる（ステップＳ１０９）。すなわち、それらのレコードを現用部品データ記憶部１１から読み出して、非現用部品データ記憶部１２に追加する。そして、それらのレコードを現用部品データ記憶部１１から削除する。図１６、図１７は、それぞれ、データ移行後の現用部品データ、非現用部品データを示す図である。
【００８２】
なお、移行されるレコードのうち、単価や購入先の設定されているレコードに関して、単価や購入先のフィールドの移行は行われない。したがって、レコードを移行することによって、その単価や購入先の部品関連情報が失われることになる。非現用部品データにお
いては、前述のように、それらの情報は重要ではないからである。
【００８３】
次に、データを復帰する処理について説明する。製品番号「Ａ００３」の製品について、生産が再開され、製品番号「Ａ００３」の階層構造データを非現用部品データから現用部品データに移行することになったとする。すると、ユーザは、端末装置２を操作し、データの移行・復帰を行うソフトウェアを起動する。すると、図１４で示されるデータの移行・復帰を行う画面がディスプレイに表示される。その表示において、ユーザは、「データ復帰」の記載の左側のラジオボタンをクリックし、製品番号「Ａ００３」を入力して、「実行」ボタンをクリックしたとする。すると、製品番号「Ａ００３」の製品について非現用部品データから現用部品データへのデータ移行を行う旨の指示が端末装置２から部品データ処理装置１に送信される。その指示は、受付部１３で受け付けられ、データ復帰部１７に渡される。データ復帰部１７は、その指示を受け取ると、データ復帰のタイミングであると判断し（ステップＳ１１０）、製品番号「Ａ００３」の製品に関する階層構造データについて、非現用部品データから現用部品データへの復帰を行う（ステップＳ１１１）。
【００８４】
具体的には、データ復帰部１７は、検索部１４による検索と同様にして、非現用部品データを参照することにより、製品番号「Ａ００３」の製品に含まれる部品の階層関係を示すデータを取得する。その結果、図１８で示されるように、検索部１４による検索結果と同様の結果が得られる。そして、データ復帰部１７は、この検索によって、子品番の取得を行った全レコードを、非現用部品データから現用部品データに移行することによって、データの復帰を行う。すなわち、データ復帰部１７は、非現用部品データから、親品番が「Ａ００３」、「Ｂ０１９」、「Ｂ０２０」のレコードを読み出し、それらのレコードを現用部品データに追加する。そして、それらのレコードを非現用部品データから削除する。このようにして、データの復帰が行われる。なお、非現用部品データでは、部品関連情報が記憶されていないため、データが復帰された場合であっても、現用部品データは厳密には図８で示されるものではなく、親品番が「Ｂ０２０」のレコードについては、単価や購入先が含まれないことになる。この場合には、別の処理により、復帰されたレコードについて、部品関連情報を追加してもよい。
【００８５】
また、この具体例において、データ復帰部１７が非現用部品データの検索を行う場合について説明したが、この検索の処理については、検索部１４で行い、その検索結果を用いてデータ復帰部１７がデータの移行や復帰を行ってもよい。
【００８６】
また、この具体例では、検索結果によって、ある製品に含まれる部品の階層関係の情報が示される場合について説明したが、さらに、検索部１４は員数をも取得し、ある製品に対してどのような部品が何個含まれるのかを示すようにしてもよい。この場合には、員数をそのまま表示してもよく、あるいは、ある製品について各部品の使われている個数を表示してもよい。後者としては、例えば、ある製品に部品Ｘが２個用いられており、その部品Ｘが２個の部品Ｙから構成される場合に、部品Ｙの個数「４個」を検索結果で表示してもよい。
【００８７】
また、この具体例では、非現用部品データが部品関連情報（例えば、部品の単価や購入先など）を含まない場合について説明したが、非現用部品データが、部品関連情報を含んでもよい。
【００８８】
また、この具体例では、検索結果を図１２のように表示する場合について説明したが、これは一例であって、検索結果を、例えば、図２のようなツリー構造で示してもよく、他の形式で示してもよい。
【００８９】
また、この具体例では、ユーザから指示を受け取ったタイミングで、データの移行やデータの復帰を行う場合について説明したが、例えば、図１９で示されるように、データの移行を行う製品番号と、移行年月日とが対応付けられた情報が所定の記録媒体で記憶されており、データ移行部１６がその情報を参照し、移行年月日が到来したタイミングで、データ移行を行うようにしてもよく、あるいは、その他のタイミングで行ってもよい。
【００９０】
また、この具体例では、現用部品データ、非現用部品データに適用開始、員数、単価、購入先等のフィールドが含まれる場合について説明したが、現用部品データ、非現用部品データは、それらのフィールドを含まず、親品番と子品番との対応のみを有するデータであってもよい。
【００９１】
以上のように、本実施の形態による部品データ処理装置によれば、現用部品データと、非現用部品データとを、それぞれ現用部品データ記憶部１１と、非現用部品データ記憶部１２とで記憶することによって、高い頻度で検索すると考えられる現用部品データの検索時に、検索対象に非現用部品データが含まれないこととなり、検索時間、検索負荷を削減することができ得る。また、現用部品データが部品の単価や購入先などの部品関連情報を含んでおり、非現用部品データが部品関連情報を含んでいない場合には、その部品関連情報の更新を現用部品データについてのみ行えばよいこととなり、部品関連情報の更新時における処理負担を軽減することができ得る。
【００９２】
また、現用部品データと非現用部品データとにおいて、共用できる階層構造データを、現用部品データのみが含むことによって、非現用部品データのデータ容量を削減することができる。一方、データを共用することによって、打切り製品に関する検索を行う場合には、非現用部品データの検索の後に、現用部品データの検索をも行うこととなり、検索に時間がかかることとなり得るが、打切り製品に関する検索はまれにしか行わないであると考えられるため、全体としては得られるメリットの方が大きいと考えられる。
【００９３】
なお、本実施の形態における図３のフローチャートでは、ステップＳ１０２において、現用部品データの検索であるかどうかの判断を行ってから検索処理を行う場合について説明したが、この判断を行わず、はじめに現用部品データについて検索を行い、検索対象の製品番号が現用部品データに含まれる場合には、現用部品データの検索（ステップＳ１０３に対応）が終了した後に検索結果の出力を行い、検索対象の製品番号が現用部品データに含まれない場合に、非現用部品データを検索し（ステップＳ１０５に対応）、その後に再度非現用部品データを検索（ステップＳ１０６に対応）してから検索結果の出力を行うようにしてもよい。
【００９４】
また、本実施の形態では、検索の処理を図４、図５のフローチャートによって行う場合について説明したが、例えば、現用部品データ、非現用部品データの構造が図８等で示されるものでない場合には、他の処理シーケンスによって、検索を行ってもよい。
【００９５】
また、本実施の形態では、図４、図５のフローチャートにおいて、子品番の取得を行う場合について説明したが、子品番の取得に代えて、対応するレコードを取得し、その取得したレコードに基づいて、検索結果を構成するようにしてもよい。そのレコードの取得については、必要なフィールド（例えば、親品番と子品番のフィールドなど）のみの取得を行うようにしてもよい。
【００９６】
また、本実施の形態では、非現用部品データについての検索を行う場合に、非現用部品データの検索を行った後に現用部品データの検索を行う場合について説明したが、例えば、現用部品データとの階層構造データの共用を行っていない製品については、非現用部品データのみの検索を行い、現用部品データの検索を行わなくてもよい。なお、非現用部品
データに含まれる製品が、現用部品データとのデータ共用を行っているかどうかについては、例えば、非現用部品データにおいて、製品番号に対応する親品番に設定された所定のフラグによって示されてもよい。
【００９７】
また、本実施の形態では、図３のフローチャートにおいて示されるように、非現用部品データの検索を行う場合に、まず非現用部品データを検索し、次に現用部品データを検索すると説明したが、これは一例であって、例えば、非現用部品データの検索と、現用部品データの検索とを交互に行いながら、非現用部品データに含まれる製品に関する検索を行ってもよい。具体的には、図２において、品番「Ｂ００３」について現用部品データを検索し、その後に品番「Ｂ００４」について非現用部品データを検索し、さらにその後に品番「Ｂ００５」について現用部品データを検索するようにしてもよい。
【００９８】
また、上記実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【００９９】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、現在用いられている製品に関する部品の階層構造を示すデータである階層構造データを含む現用部品データ、及び打切り製品に関する部品の階層構造を示すデータである階層構造データを含む非現用部品データに関する検索の指示を受け付ける受付ステップと、前記受付ステップで受け付けた検索の指示に応じて、前記現用部品データ、及び前記非現用部品データの検索を行う検索ステップと、前記検索ステップで検索した検索結果を出力する出力ステップと、を実行させるプログラムであって、前記現用部品データと、前記非現用部品データとにおいて、共用できる階層構造データについては、前記現用部品データのみに含まれ、前記検索ステップにおいて、前記非現用部品データの検索時に、前記現用部品データと共用されている階層構造データについては、前記現用部品データから検索する、ものである。
【０１００】
また、このプログラムでは、コンピュータに、用いられていた製品が打切り製品となった場合に、当該打切り製品となった製品に関する階層構造データのうち、現在用いられている製品に関する階層構造データと共用できる階層構造データ以外の階層構造データを、前記現用部品データから前記非現用部品データに移行させるデータ移行ステップをさらに実行させてもよい。
【０１０１】
また、このプログラムでは、コンピュータに、打切り製品が用いられるようになった場合に、当該用いられるようになった製品に関する階層構造データを、前記非現用部品データから前記現用部品データに復帰させるデータ復帰ステップをさらに実行させてもよい。
【０１０２】
なお、上記プログラムにおいて、情報を出力する出力ステップや、情報を受け付ける受付ステップなどでは、ハードウェアによって行われる処理、例えば、出力ステップにおけるモデムやインターフェースカードなどで行われる処理（ハードウェアでしか行われない処理）は含まれない。
【０１０３】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導
体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。
【０１０４】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１０５】
以上のように、本発明による部品データ処理装置等は、製品に関する部品の階層構造を示すデータから、ある製品にどのような部品が含まれるのかについて検索するものとして有用である。
【図面の簡単な説明】
【０１０６】
【図１】本発明の一実施の形態による部品データ処理装置の構成を示すブロック図
【図２】同実施の形態における現用部品データと非現用部品データとについて説明するための図
【図３】同実施の形態における部品データ処理装置の動作を示すフローチャート
【図４】同実施の形態における部品データ処理装置の動作を示すフローチャート
【図５】同実施の形態における部品データ処理装置の動作を示すフローチャート
【図６】同実施の形態における部品データ処理装置の動作を示すフローチャート
【図７】同実施の形態における部品データ処理装置の動作を示すフローチャート
【図８】同実施の形態における現用部品データの一例を示す図
【図９】同実施の形態におけるシステムの構成を示す図
【図１０】同実施の形態における非現用部品データの一例を示す図
【図１１】同実施の形態における端末装置の外観の一例を示す模式図
【図１２】同実施の形態における表示の一例を示す図
【図１３】同実施の形態における表示の一例を示す図
【図１４】同実施の形態における表示の一例を示す図
【図１５】同実施の形態におけるデータの移行について説明するための図
【図１６】同実施の形態における現用部品データの一例を示す図
【図１７】同実施の形態における非現用部品データの一例を示す図
【図１８】同実施の形態におけるデータの復帰について説明するための図
【図１９】同実施の形態におけるデータ移行のタイミングを示す情報の一例を示す図
【符号の説明】
【０１０７】
１  部品データ処理装置
２  端末装置
１１  現用部品データ記憶部
１２  非現用部品データ記憶部
１３  受付部
１４  検索部
１５  出力部
１６  データ移行部
１７  データ復帰部
【図１】
2006031217.tif 000003
【図２】
2006031217.tif 000004
【図３】
2006031217.tif 000005
【図４】
2006031217.tif 000006
【図５】
2006031217.tif 000007
【図６】
2006031217.tif 000008
【図７】
2006031217.tif 000009
【図８】
2006031217.tif 000010
【図９】
2006031217.tif 000011
【図１０】
2006031217.tif 000012
【図１１】
2006031217.tif 000013
【図１２】
2006031217.tif 000014
【図１３】
2006031217.tif 000015
【図１４】
2006031217.tif 000016
【図１５】
2006031217.tif 000017
【図１６】
2006031217.tif 000018
【図１７】
2006031217.tif 000019
【図１８】
2006031217.tif 000020
【図１９】
2006031217.tif 000021