(57)【要約】【課題】  部品表の多段階展開を行うことなく、部品表が正しく登録されているかを判定する。【解決手段】  部品表テーブルを構成する品目コードを全て作業テーブル１に記憶する。そして、作業テーブル１に記憶されている品目コードが子品目コードである部品表テーブル中のレコードを取得し、そのレコードの親品目レコードに設定されている品目コードを作業テーブル２に記憶する。そして、作業テーブル１と作業テーブル２が一致するか、若しくは作業テーブル２のレコード数が０でない場合には、作業テーブル２の品目コードを作業テーブル１に代入し、上記処理を、作業テーブル１と作業テーブル２が一致する、若しくは作業テーブル２のレコード数が０であると判定するまで繰り返す。【選択図】  図５
2011108090.tif 000002
【特許請求の範囲】
【請求項１】
アイテムを構成する部品表テーブルの登録が正常に行われているかを判定する情報処理装置であって、
前記部品表に登録されている品目を一意に示す識別情報である品目コードを取得し、第１の記憶領域に記憶する第１の記憶手段と、
前記第１の記憶領域に記憶されている品目コードが子品目コードとして記憶されている前記部品表テーブル中のレコードを特定する特定手段と、
前記特定手段で特定した特定したレコードに親品目コードとして記憶されている品目コードを取得し、第２の記憶領域に記憶する第２の記憶手段と、
前記第１の記憶領域に記憶された品目コードと、前記第２の記憶領域に記憶された品目コードとが一致するかを判定し、一致した場合には前記部品表テーブルが異常であると判定する第１の判定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１の判定手段で、前記第１の記憶領域に記憶された品目コードと、前記第２の記憶領域に記憶された品目コードとが一致しないと判定した場合に、前記第２の記憶領域に記憶されている品目コードを前記第１の記憶領域に代入する代入手段と、
前記特定手段は、前記代入手段による代入後に、前記第１の記憶領域に記憶されている品目コードが子品目コードとして記憶されている前記部品表テーブル中のレコードを特定すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の記憶領域に記憶されている品目コード数が０であるかを判定し、０である場合に前記部品表が正常であると判定する第２の判定手段
をさらに備えることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
アイテムを構成する部品表テーブルを記憶する記憶手段を備え、前記部品表テーブルの登録が正常に行われているかを判定する情報処理装置によって行われる情報処理方法であって、
前記部品表テーブルに登録されている品目を一意に示す識別情報である品目コードを取得し、第１の記憶領域に記憶する第１の記憶工程と、
前記第１の記憶領域に記憶されている品目コードが子品目コードとして記憶されている前記部品表テーブル中のレコードを特定する特定工程と、
前記特定工程で特定した特定したレコードに親品目コードとして記憶されている品目コードを取得し、第２の記憶領域に記憶する第２の記憶工程と、
前記第１の記憶領域に記憶された品目コードと、前記第２の記憶領域に記憶された品目コードとが一致するかを判定し、一致した場合には前記部品表テーブルが異常であると判定する第１の判定工程と
を備えることを特徴とする情報処理方法。
【請求項５】
コンピュータを、アイテムを構成する部品表テーブルの登録が正常に行われているかを判定する情報処理装置として機能させるためのコンピュータプログラムであって、
前記コンピュータを
前記部品表に登録されている品目を一意に示す識別情報である品目コードを取得し、第１の記憶領域に記憶する第１の記憶手段と、
前記第１の記憶領域に記憶されている品目コードが子品目コードとして記憶されている前記部品表テーブル中のレコードを特定する特定手段と、
前記特定手段で特定した特定したレコードに親品目コードとして記憶されている品目コードを取得し、第２の記憶領域に記憶する第２の記憶手段と、
前記第１の記憶領域に記憶された品目コードと、前記第２の記憶領域に記憶された品目コードとが一致するかを判定し、一致した場合には前記部品表テーブルが異常であると判定する第１の判定手段と
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生産管理システム等で用いられる部品表テーブルの管理をするための技術に関し、特に部品表テーブルが正しく登録されているかを判定するための技術に関する。
【背景技術】
【０００２】
従来より、生産管理システム等で、製品に使用する部品の発注や製造工程のある工程で投入する材料や部品の管理を行うために、製品（または中間品）で使用される部品の構成を示す部品表テーブルを作成している。
【０００３】
しかし、製品に使用される部品が多くなると、部品表を登録する際に人為的なミスが発生してしまうことがある。そのミスの代表例としては、ある製品を構成する部品に使用される部品としてその部品自体が登録されてしまうというものである。このような状態をループ状態という。
【０００４】
部品表が、ループ状態が含まれてしまっているような異常な状態で登録されてしまっていないかを判定するために、例えば、次のような方法で部品表の確認を行っている。代表的な方法としては、部品表に登録されている全ての製品（または中間品）に対して、１品目ごとに多段階正展開を行い、部品表がループ状態になっていないことを確認するという方法や、確認したい全ての品目に対して、多段階正展開を実行し、下位レベルの品目にチェック対象とした当該品目が、若しくは多段階逆展開を実行し上位の品目に当該品目が出現しないかをチェックする方法などがある。しかし、いずれの方法も部品表を多段階展開しなければならず、処理の実行に時間が要するという問題があった。
【０００５】
そこで、特許文献１にはレベルコードを利用して、ループチェックの要否を判定し、ループチェックが必要であると判定された場合にのみ処理を実行する部品表のループチェックに関する発明が開示されている。また、特許文献２および特許文献３にはそれぞれ、部品表を構成する品目にさらに部品を有するか否かを示す展開区分および上位にさらに品目を有するか否かの展開区分を設け、展開区分に応じて上位若しくは下位に品目が存在するかを判定することにより、部品表を探索することなく注目部品の下位部品（または上位品目）の存在を判定させることを可能にし、それによりループチェックの判定のための処理を軽減するための発明が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開昭６３−９３５３１号公報
【特許文献２】特開平１−１１２３６４号公報
【特許文献３】特開平１−１１２３６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１、特許文献２、及び特許文献３のいずれで開示されている発明でも、部品表のループチェックを行う際に、部品表テーブルを多段階展開する必要がある。部品表テーブルを多段階展開するためのプログラムはソースコードが複雑になってしまうことが多く、その複雑性ゆえに、ソースコードの改変等を行う際の保守性が悪かった。
【０００８】
また、１つの製品で使用されている部品数が多い場合や、複数の製品で共通して使用される部品が多くある場合には、作成したプログラムを用いて部品表のループチェックを行う際に、上位部品や下位部品への展開が必要であるかの判定を行う回数が増え、多段階展開の要否判定負荷が増大してしまう。本願発明は上記した課題に鑑み、部品表の部品表のループチェックを行う際に多段階展開を必要とせず、効率的に部品表の確認を行うことを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本願発明の情報処理装置は以下の構成を備える。即ち、
アイテムを構成する部品表テーブルの登録が正常に行われているかを判定する情報処理装置であって、
前記部品表に登録されている品目を一意に示す識別情報である品目コードを取得し、第１の記憶領域に記憶する第１の記憶手段と、
前記第１の記憶領域に記憶されている品目コードが子品目コードとして記憶されている前記部品表テーブル中のレコードを特定する特定手段と、
前記特定手段で特定した特定したレコードに親品目コードとして記憶されている品目コードを取得し、第２の記憶領域に記憶する第２の記憶手段と、
前記第１の記憶領域に記憶された品目コードと、前記第２の記憶領域に記憶された品目コードとが一致するかを判定し、一致した場合には前記部品表テーブルが異常であると判定する第１の判定手段と
を備えることを特徴とする。
【００１０】
また、上記の目的を達成するために、本願発明の情報処理方法は以下の構成を備える。即ち、
アイテムを構成する部品表テーブルを記憶する記憶手段を備え、前記部品表テーブルの登録が正常に行われているかを判定する情報処理装置によって行われる情報処理方法であって、
前記部品表テーブルに登録されている品目を一意に示す識別情報である品目コードを取得し、第１の記憶領域に記憶する第１の記憶工程と、
前記第１の記憶領域に記憶されている品目コードが子品目コードとして記憶されている前記部品表テーブル中のレコードを特定する特定工程と、
前記特定工程で特定した特定したレコードに親品目コードとして記憶されている品目コードを取得し、第２の記憶領域に記憶する第２の記憶工程と、
前記第１の記憶領域に記憶された品目コードと、前記第２の記憶領域に記憶された品目コードとが一致するかを判定し、一致した場合には前記部品表テーブルが異常であると判定する第１の判定工程と
を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、部品表の多段階展開を行うことなく、部品表のループチェックを行うことが可能となり、もって、効率的に部品表テーブルの異常を確認することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本願発明のシステム構成図の一例を示す図である。
【図２】図１の管理サーバ１０１のハードウェア構成の一例を示すブロック図である。
【図３】本願発明における部品表（異常）の構成の一例を示す図である。
【図４】図３に示す部品表に係る品目の階層図である。
【図５】管理サーバ１０１のＣＰＵ２０１によって行われる部品表が正常に登録されているかを判定する判定処理の一例を示すフローチャートである。
【図６】図５の判定処理のフローチャートにより図３に示す部品表の判定処理を行った場合のデータ遷移の例を示す模式図である。
【図７】本願発明における部品表（正常）の構成の一例を示す図である。
【図８】図７に示す部品表に係る品目の階層図である。
【図９】図５の判定処理のフローチャートにより図７に示す部品表の判定処理を行った場合のデータ遷移の例を示す模式図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本願発明の実施の形態の一例について説明する。
【００１４】
図１は、本願発明における部品表管理システムの構成の一例を示すシステム構成図である。図中、１０１は管理サーバであって、本システムで取り扱う部品表を管理するサーバ装置である。１０２−１、１０２−２はクライアント装置であって（以下、まとめてクライアント装置１０２とする）、管理サーバ１０１に対して部品表の登録、変更、削除や、部品表が正常に登録されているかを判定する後述する判定処理の要求を行うために、ユーザが使用するコンピュータである。１０３はサーバ装置１０１、クライアント装置１０２を相互に通信可能に接続するための、例えばＬＡＮ（Local Area Network）等のネットワークである。
【００１５】
図２は、図１の管理サーバ１０１として適用可能な情報処理装置のハードウェアの構成の一例を示す模式図である。
【００１６】
ＣＰＵ２０１は、システムバス２０４に接続される後述の各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Basic Input / Output System）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００１７】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０２にロードして、プログラムを実行することで各種動作を実現するものである。また、入力コントローラ（入力Ｃ）２０５は、キーボード２０９や不図示のマウス等のポインティングデバイスからの入力を制御する。ビデオコントローラ（ＶＣ）２０６は、ディスプレイ装置２１０等の表示装置への表示を制御する。ディスプレイ装置は、例えばＣＲＴディスプレイや液晶ディスプレイ等である。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
【００１８】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフロッピーディスク（登録商標  ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ２１１へのアクセスを制御する。
【００１９】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２０】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ装置２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２１】
本発明の管理サーバ１０１の各種処理を実行するために用いられるプログラムは外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００２２】
図３は、本願発明におけるアイテムを構成する部品の構成情報を示す部品表テーブルの一例を示す図である。本願発明では、部品表テーブル３００には、親品目コード３０１とその親品目コード３０１で特定される品目の部品として利用されている品目を示す子品目コード３０２とが対応付けられて記憶されている。この部品表は、製品ごとに異なる部品表テーブルとして登録しても、複数の製品の部品表を１つのテーブルに登録してもかまわない。ここでいうアイテムとは例えば、製品や中間部品を意味する。
【００２３】
図３は、正常に登録されなかった（つまりは異常である）部品表の例を示すものである。図に示すように、品目コードＡで特定される品目の部品として品目コードＢで特定される品目が（図中３１０のレコード）、同じく品目コードＢで特定される品目の部品として品目コードＤで特定される品目が（図中３１１のレコード）、同じく品目コードＤで特定される品目の部品として品目コードＡで特定される品目が（図中３１２のレコード）部品表に登録されている。
【００２４】
つまり、図３の例では品目コードＡで特定される品目の部品として、品目コードＡで特定される品目が設定されていることになる。一部の化学薬品等を除き、このようなある品目を構成する部品としてその品目自身が設定されているということは、部品表が正しく登録されていないということを示している。
【００２５】
図４は、図３に示す部品表で示されている品目の構成を階層図として表現したものである。図に示すように、Ｘの部品としてＡとＣが、Ａの部品としてＢとＥが登録されている。また、その他の品目間の親子関係は、図に示すとおりである。
【００２６】
図中の品目コードＡの品目（４０１）を構成する品目として品目コードＡの品目（４０２）が登録されており、部品表が異常な状態で登録されていることが理解できよう。
【００２７】
図５は、本願発明の管理サーバ１０１のＣＰＵ２０１によって行われる判定処理の一例を示すフローチャートである。本処理を行うためのプログラムは外部メモリ２１１に記憶されており、本処理の実行要求をクライアント装置１０２より受け付けた場合に、ＣＰＵ２０１は、当該プログラムをＲＡＭ２０２にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。
【００２８】
まず、ＣＰＵ２０１は、本処理を行うための使用する変数である作業テーブル１と作業テーブル２の領域を、ＲＡＭ２０２上に確保し、初期化処理を行う（ステップＳ５０１）。その後、処理対象とする部品表テーブルを取得し、ＲＡＭ２０２に記憶する（ステップＳ５０２）。部品表テーブルに登録されている全ての品目コードを作業テーブル１に記憶する（ステップＳ５０３）。
【００２９】
その後、ＣＰＵ２０１は、ＲＡＭ２０２に記憶されている部品表テーブルから、作業テーブル１に記憶されている品目コードが子品目コードとして登録されているレコードを探索し、そのレコードに設定されている親品目コードを取得し、作業テーブル２に記憶する（ステップＳ５０４）。
【００３０】
そしてその後、作業テーブル１に記憶されている品目コードと作業テーブル２に記憶されている品目コードが一致しているかを判定する（ステップＳ５０５）。ここで一致とは、作業テーブル１に記憶されている品目コードが作業テーブル２に過不足なく記憶されていることを言う。なお、フローチャート中の「＝＝」は一致を意味する。
【００３１】
ステップＳ５０５の判定処理で、ＣＰＵ２０１がＮＯ（即ち一致していない）と判定した場合には、処理をステップＳ５０６に進め、作業テーブル２に記憶されている品目コードの件数が０件であるかを判定する。
【００３２】
ステップＳ５０６の判定処理で、ＣＰＵ２０１がＮＯ（即ち０件ではない）と判定した場合には、処理をステップＳ５０７に進め、作業テーブル２に記憶されている品目コードを作業テーブル１に代入し、その後、作業テーブル２を初期化し、ステップＳ５０４に移行する。そして、ＣＰＵ２０１は、作業テーブル１と作業テーブル２が一致する（ステップＳ５０５でＹＥＳ）と判定するか、若しくは、ステップＳ５０４の結果の作業テーブル２に記憶されている品目コードの件数が０件である（ステップＳ５０６でＹＥＳ）と判定するまで、ステップＳ５０４からステップＳ５０８の処理を繰り返すことになる。
【００３３】
ＣＰＵ２０１は、ステップＳ５０５の判定処理でＹＥＳと判定した場合には、ＣＰＵ２０１は、部品表テーブルが異常状態であると判定する（ステップＳ５１０）。また、ステップＳ５０６でＹＥＳと判定した場合には、部品表テーブルが正常に登録されていると判定する（ステップＳ５０９）。以上が、管理サーバ１０１のＣＰＵ２０１によって行われる判定処理の一例である。
【００３４】
次に、実際に図３の部品表テーブル３００を用いて図５のフローチャートに示される判定処理をＣＰＵ２０１が行った場合の、作業テーブル１と作業テーブル２のデータ変遷について説明する。
【００３５】
まず、ＣＰＵ２０１は部品表テーブル３００をＲＡＭ２０２にロードし、その部品表に含まれる品目コードを取得し、作業テーブル１に設定する（図５のステップＳ５０３）。その際の作業テーブル１の状態は図中６０１−１に示すとおりである。そして、その後作業テーブル１に記憶されている品目コードが子品目コードとして登録されているレコードを探索する。その探索結果として図中６０１に示す通り、全てのレコードが該当レコードとされ、そのレコードに親品目コードとして設定されている品目コードを作業テーブル２に記憶する（図５のステップＳ５０４）。その結果は６０１−２に示す通りであり、品目コードＸ、Ａ、Ｂ、Ｃ、Ｄ、Ｅが作業テーブル２に記憶されることになる。
【００３６】
その後、作業テーブル１と作業テーブル２とが一致するかと判定する（図５のステップＳ５０５）。図６の６０１−１と６０１−２では、品目コードが一致しないので、（図５のステップＳ５０５でＮＯ）、作業テーブル２の品目コードを作業テーブル１に代入する（図５のステップＳ５０７）。その結果を６０２−１に示す。
【００３７】
その後、部品表テーブル６０２に記憶されているレコードのうち（記憶されているレコードは６０１と同様）、作業テーブル１（６０２−１）に記憶されている品目コードが子品目コードとして記憶されているレコードを探索する（図５のステップＳ５０４）。そしてその探索結果としては、６０２の斜線部のレコードが該当レコードとされ、そのレコードに親品目コードとして設定されている品目コードを作業テーブル２に記憶する（図５のステップＳ５０４）。その結果は６０２−２に示す通りであり、品目コードＸ、Ａ、Ｂ、Ｃ、Ｄが作業テーブル２に記憶されることになる。
【００３８】
その後、作業テーブル１（６０２−１）と作業テーブル２（６０２−２）とが一致しないので、作業テーブル２（６０２−２）に記憶された品目コードを代入した作業テーブル１（６０３−１）の品目コードを子品目コードに持つレコードを同様にして探索し、その結果として、品目コードＸ、Ａ、Ｂ、Ｄが作業テーブル２（６０３−２）に記憶されることになる。
【００３９】
その処理が終了後、作業テーブル２（６０３−２）に記憶された品目コードを作業テーブル１に代入し（結果は６０４−１）、代入処理後の作業テーブル１に記憶されている品目コードが子品目コードに登録されているレコードを探索する。その結果は、図中の６０４−２に示すとおりであり、作業テーブル１に記憶されている品目コードと作業テーブル２に記憶されている品目コードとが一致している。ＣＰＵ２０１は、このような状態になった場合に、部品表は異常状態で登録されていると判定することになる。
【００４０】
作業テーブル１に記憶されている品目コードと作業テーブル２に記憶されている品目コードとが一致したのちにも、図５の処理を繰り返した場合には、図中の６０５、６０５−１、６０５−２に示す通り、図中の６０４、６０４−１、６０４−２に示される結果と全く同じとなる。つまりは、作業テーブル１に記憶されている品目コードと作業テーブル２に記憶されている品目コードとが一致したのちに図５の処理を繰り返した場合には、永久にその処理をループすることになってしまう。
【００４１】
正常な部品表テーブルに対して図５に示す判定処理を行った場合の例も示しておく。
【００４２】
図７は正常に登録されている部品表テーブルの一例を示す図である。７０１に示す通り、図３で親品目コードがＤ、子品目コードがＡとなっていたレコードの子品目コードがＩになっており、この部品表テーブルでは、品目Ａを構成する部品に品目Ａ自体が含まれていない。図８は図７の部品表テーブルを階層図で表現したものであり、図に示す通り、図４の４０２に該当する部品が品目コードＩで示される品目に変わっている（８０２）。
【００４３】
次に、実際に図７の部品表テーブル７００を用いて図５のフローチャートに示される判定処理をＣＰＵ２０１が行った場合の、作業テーブル１と作業テーブル２のデータ変遷について説明する。
【００４４】
まず、ＣＰＵ２０１は部品表テーブル７００をＲＡＭ２０２にロードし、その部品表に含まれる品目コードを取得し、作業テーブル１に設定する（図５のステップＳ５０３）。その際の作業テーブル１の状態は図中９０１−１に示すとおりである。そして、その後作業テーブル１に記憶されている品目コードが子品目コードとして登録されているレコードを探索する。その探索結果として図中９０１に示す通り、全てのレコードが該当レコードとされ、そのレコードに親品目コードとして設定されている品目コードを作業テーブル２に記憶する（図５のステップＳ５０４）。その結果は９０１−２に示す通りであり、品目コードＸ、Ａ、Ｂ、Ｃ、Ｄ、Ｅが作業テーブル２に記憶されることになる。
【００４５】
その後、作業テーブル１と作業テーブル２とが一致するかと判定する（図５のステップＳ５０５）。図９の９０１−１と９０１−２では、品目コードが一致しないので、（図５のステップＳ５０５でＮＯ）、作業テーブル２の品目コードを作業テーブル１に代入する（図５のステップＳ５０７）。その結果を９０２−１に示す。
【００４６】
その後、部品表テーブル９０２に記憶されているレコードのうち（記憶されているレコードは９０１と同様）、作業テーブル１（９０２−１）に記憶されている品目コードが子品目コードとして記憶されているレコードを探索する（図５のステップＳ５０４）。そしてその探索結果としては、９０２の斜線部のレコードが該当レコードとされ、そのレコードに親品目コードとして設定されている品目コードを作業テーブル２に記憶する（図５のステップＳ５０４）。その結果は９０２−２に示す通りであり、品目コードＸ、Ａ、Ｂ、Ｃが作業テーブル２に記憶されることになる。
【００４７】
その後、作業テーブル１（９０２−１）と作業テーブル２（９０２−２）とが一致しないので、作業テーブル２（９０２−２）に記憶された品目コードを代入した作業テーブル１（９０３−１）の品目コードを子品目コードに持つレコードを同様にして探索し、その結果として、品目コードＸ、Ａが作業テーブル２（９０３−２）に記憶されることになる。
【００４８】
その処理が終了後、作業テーブル２（６０３−２）に記憶された品目コードを作業テーブル１に代入し（結果は９０４−１）、代入処理後の作業テーブル１に記憶されている品目コードが子品目コードに登録されているレコードを探索する。その結果は、図中の９０４−２に示すとおりであり、作業テーブル２（９０４−２）にはＸのみが記憶されることになる。
【００４９】
その後、まだ作業テーブル１と作業テーブル２とが一致せず、作業テーブル２に記憶されている品目コード数も０件ではないので、作業テーブル２（９０４−２）に記憶されている品目コードを作業テーブル１（９０５−１）に代入する。そして、品目コードＸを子品目コードであるレコードを探索することになるが、品目コードＸを子品目コードとしているレコードは存在しないので、図中の９０５−２に示すように作業テーブル２には品目コードが記憶されない（即ち、品目コード数が０件である）。よって、ＣＰＵ２０１によって、部品表テーブル７００は正常に登録されていると判定されることになる。
【００５０】
以上説明したように、部品表が正常に登録されている、即ちある品目を構成する部品としてその品目自体が設定されていない場合には、図５の判定処理を行うことで最終的に作業テーブル２に記憶される品目コードの件数は０件になり、部品表が異常な形で登録されていると、図５の判定処理を行うと作業テーブル１に記憶される品目コードと作業テーブル２に記憶される品目コードとが一致する。本願発明では、このような性質を利用することで、部品表の正常／異常を、従来のようにルート（製品）から当該製品を構成する部品の多段階展開を行うことなく、判定することが可能となる。また、部品表を多段階展開する必要がないので、プログラムを作成する際のソースコードが複雑とならないため、改良等の保守性も高くなる。
【００５１】
尚、実施例では、作業テーブル１に記憶されている品目コードを子品目コードとする部品表中のレコードを探索し、その親品目コードに設定されている品目コードに対して当該処理前、処理後の品目コードが一致する若しくは処理後の品目コードが０件になるまで処理を行うという説明を行ったが、作業テーブル１に記憶されている品目コードを親レコードとするレコードを探索するという手法で行っても同様の効果が得られることは言うまでもない。
【００５２】
また、本実施例では、クライアント装置１０２からの要求に従って管理サーバ１０１が図５に示す判定処理を行うという形態の説明を行ったが、管理サーバ１０１で管理されている部品表テーブルをクライアント装置１０２に送信し、クライアント装置１０２がおこなうようにしても、勿論構わない。
【００５３】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００５４】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図５に示すフローチャートに対応したプログラム）を、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００５５】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００５７】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００５８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００５９】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００６３】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６４】
１０１  管理サーバ
１０２−１、１０２−２  クライアント装置
１０３  ＬＡＮ
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆ（インターフェース）コントローラ
２０９  キーボード
２１０  ディスプレイ装置
２１１  外部メモリ
【図１】
2011108090.tif 000003
【図２】
2011108090.tif 000004
【図３】
2011108090.tif 000005
【図４】
2011108090.tif 000006
【図５】
2011108090.tif 000007
【図６】
2011108090.tif 000008
【図７】
2011108090.tif 000009
【図８】
2011108090.tif 000010
【図９】
2011108090.tif 000011