(57)【特許請求の範囲】
【請求項１】
プロセッサと記憶装置を備えた計算機で、製品を構成する少なくとも一つの第１構成品及び前記第１構成品を構成する少なくとも一つの第２構成品の生産予定情報を前記記憶装置の生産予定情報格納部に格納し、前記製品の注文を受け付けて当該製品の生産工程を生成する生産計画立案方法であって、
前記計算機が、
前記製品の生産時情報を受注条件に含む前記注文を受注情報として受け付ける第１のステップと、
前記受注情報の製品の生産予定情報を前記生産予定情報格納部から検索する第２のステップと、
前記検索した生産予定情報に、前記第１構成品または第２構成品の工程毎の生産予定情報を引き当てる第３のステップと、
前記引き当てた前記工程毎の生産予定情報に生産時情報を引き継がせる第４のステップと、を含み、
前記第３のステップは、
前記受注情報の受注条件に含まれる生産時情報を満たす生産予定情報を前記工程毎に引き当て、
前記第４のステップは、
前記製品の最初の工程の生産時情報を、前記引き当てた前記工程毎に順次引き継いで、最終的な製品の生産時情報として設定することを特徴とする生産計画立案方法。
【請求項２】
請求項１に記載の生産計画立案方法であって、
前記第３のステップは、
前記第１構成品の在庫情報を格納した在庫情報格納部から前記受注条件の生産時情報を満たす在庫情報を検索し、前記受注条件の生産時情報を満たす在庫情報が存在する場合には前記生産予定情報に優先して前記在庫情報を前記工程に引き当てることを特徴とする生産計画立案方法。
【請求項３】
請求項１に記載の生産計画立案方法であって、
前記第３のステップは、
前記受注情報の受注条件に含まれる生産時情報を満たす生産予定情報を前記工程に引き当てられない場合には、当該工程に引き当てる生産予定情報を新たに生成することを特徴とする生産計画立案方法。
【請求項４】
請求項２に記載の生産計画立案方法であって、
前記第３のステップは、
前記受注情報の受注条件に含まれる生産時情報を満たす生産予定情報及び前記在庫情報を前記工程に引き当てられない場合には、当該工程に引き当てる生産予定情報を新たに生成することを特徴とする生産計画立案方法。
【請求項５】
請求項３に記載の生産計画立案方法であって、
前記受注情報の受注条件に含まれる生産時情報を満たす生産予定情報を前記工程に引き当てられない場合には、引き当てが不能である通知を出力することを特徴とする生産計画立案方法。
【請求項６】
請求項２に記載の生産計画立案方法であって、
前記第３のステップは、
前記受注条件の生産時情報を満たす在庫情報が複数存在する場合には、前記在庫情報の生産時情報が古いものを前記工程に引き当てることを特徴とする生産計画立案方法。
【請求項７】
請求項１に記載の生産計画立案方法であって、
前記計算機が、前記受け付けた受注情報と、前記引き当てた生産予定情報を時系列に沿って表示する画面情報を出力する第５のステップをさらに含むことを特徴とする生産計画立案方法。
【請求項８】
プロセッサと記憶装置を備えて、製品を構成する少なくとも一つの第１構成品及び前記第１構成品を構成する少なくもと一つの第２構成品の生産予定情報を前記記憶装置の生産予定情報格納部に格納し、前記製品の注文を受け付けて当該製品の生産工程を生成する生産計画立案装置であって、
前記製品の生産時情報を受注条件に含む前記注文を受注情報として受け付ける受注情報取得部と、
前記受注情報の製品の生産予定情報を前記生産予定情報格納部から検索し、前記検索した生産予定情報に、前記第１構成品または第２構成品の工程毎の生産予定情報を引き当て、前記引き当てた前記工程毎の生産予定情報に生産時情報を引き継がせる引当処理部と、を備え、
前記引当処理部は、
前記受注情報の受注条件に含まれる生産時情報を満たす生産予定情報を前記工程毎に引き当て、前記製品の最初の工程の生産時情報を、前記引き当てた前記工程毎に順次引き継いで、最終的な製品の生産時情報として設定することを特徴とする生産計画立案装置。
【請求項９】
プロセッサと記憶装置を備えた計算機で、製品を構成する少なくとも一つの第１構成品及び前記第１構成品を構成する少なくとも一つの第２構成品の生産予定情報を前記記憶装置の生産予定情報格納部に格納し、前記製品の注文を受け付けて当該製品の生産工程を生成するプログラムであって、
前記製品の生産時情報を受注条件に含む前記注文を受注情報として受け付ける第１の手順と、
前記受注情報の製品の生産予定情報を前記生産予定情報格納部から検索する第２の手順と、
前記検索した生産予定情報に、前記第１構成品または第２構成品の工程毎の生産予定情報を引き当てる第３の手順と、
前記引き当てた前記工程毎の生産予定情報に生産時情報を引き継がせる第４の手順と、
を前記計算機に実行させるプログラムを格納した非一時的な計算機読み取り可能な記憶媒体であって、
前記第３の手順は、
前記受注情報の受注条件に含まれる生産時情報を満たす生産予定情報を前記工程毎に引き当て、
前記第４の手順は、
前記製品の最初の工程の生産時情報を、前記引き当てた前記工程毎に順次引き継いで、最終的な製品の生産時情報として設定することを特徴とするプログラム。
【請求項１０】
請求項９に記載のプログラムであって、
前記第３の手順は、
前記第１構成品の在庫情報を格納した在庫情報格納部から前記受注条件の生産時情報を満たす在庫情報を検索し、前記受注条件の生産時情報を満たす在庫情報が存在する場合には前記生産予定情報に優先して前記在庫情報を前記工程に引き当てることを特徴とするプログラム。
【請求項１１】
請求項９に記載のプログラムであって、
前記第３の手順は、
前記受注情報の受注条件に含まれる生産時情報を満たす生産予定情報を前記工程に引き当てられない場合には、当該工程に引き当てる生産予定情報を新たに生成することを特徴とするプログラム。
【請求項１２】
請求項１０に記載のプログラムであって、
前記第３の手順は、
前記受注情報の受注条件に含まれる生産時情報を満たす生産予定情報及び前記在庫情報を前記工程に引き当てられない場合には、当該工程に引き当てる生産予定情報を新たに生成することを特徴とするプログラム。
【請求項１３】
請求項１１に記載のプログラムであって、
前記受注情報の受注条件に含まれる生産時情報を満たす生産予定情報を前記工程に引き当てられない場合には、引き当てが不能である通知を出力することを特徴とするプログラム。
【請求項１４】
請求項１０に記載のプログラムであって、
前記第３の手順は、
前記受注条件の生産時情報を満たす在庫情報が複数存在する場合には、前記在庫情報の生産時情報が古いものを前記工程に引き当てることを特徴とするプログラム。
【請求項１５】
請求項９に記載のプログラムであって、
前記計算機が、前記受け付けた受注情報と、前記引き当てた生産予定情報を時系列に沿って表示する画面情報を出力する第５の手順を、さらに含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品を製造する生産計画を計算機で管理する技術に関し、特に、受注条件を満たす生産予定または在庫を管理する技術の改良に関する。
【背景技術】
【０００２】
近年、製造業では受注に対して引当可能な製品在庫または生産予定製品が存在する場合は、単純に先入れ先出しでそれらを引き当てることで生産計画を立案している。しかし、従来の生産計画立案システムのように、単純なアルゴリズムだけでは顧客ニーズを満たせない事例が増加している。顧客のニーズに対応するためには、例えば、顧客の需要が変化し、急な受注の引き合いがあった場合に対応する生産管理システムとして、製品受注条件の変化に応じて算出した部品調達条件を部品ベンダー側で更新させる技術が提案されている（例えば、特許文献１）。【０００３】
また、製品として食品を製造する生産計画立案システムでは、製品の生産が完了した生産完了日を起点とする有効期間を設け、有効期間内に出荷または納品していた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３９８６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の生産計画立案システムにおいては、製品、数量及び納期をもとに生産完了日を基準にしてバックワード展開(未来から過去)または、フォワード展開(過去から未来)によるいずれか一方向のみの展開で生産計画を立案していた。このため、顧客から受注時に部品または製品の生産時情報として生産開始日の条件が付加された場合では、当該条件を考慮してどの製品を出荷するかを選択できず、引当数量の過不足の抑制や、部品廃棄の最小化を両立することが難しいという問題があった。【０００６】
特に、一つの製品が複数の部品（または中間製品）から製造される場合では、複数の部品のそれぞれの生産開始日が、受注条件を満足する必要がある。しかしながら、上記従来例では、一つの製品を構成する部品の全てについて生産開始日を把握することができない、という問題があった。
【課題を解決するための手段】
【０００７】
本発明は、プロセッサと記憶装置を備えた計算機で、製品を構成する少なくとも一つの第１構成品及び前記第１構成品を構成する少なくとも一つの第２構成品の生産予定情報を前記記憶装置の生産予定情報格納部に格納し、前記製品の注文を受け付けて当該製品の生産工程を生成する生産計画立案方法であって、前記計算機が、前記製品の生産時情報を受注条件に含む前記注文を受注情報として受け付ける第１のステップと、前記受注情報の製品の生産予定情報を前記生産予定情報格納部から検索する第２のステップと、前記検索した生産予定情報に、前記第１構成品または第２構成品の工程毎の生産予定情報を引き当てる第３のステップと、前記引き当てた前記工程毎の生産予定情報に生産時情報を引き継がせる第４のステップと、を含み、前記第３のステップは、前記受注情報の受注条件に含まれる生産時情報を満たす生産予定情報を前記工程毎に引き当て、前記第４のステップは、前記製品の最初の工程の生産時情報を、前記引き当てた前記工程毎に順次引き継いで、最終的な製品の生産時情報として設定する。
【発明の効果】
【０００８】
本発明によれば、受注の際に製品の生産時情報の条件が付加された場合でも、当該条件を考慮して最適な製品を容易に選択することが可能となり、引当数量の過不足の抑制と、廃棄する部品や原材料の最小化を両立することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態を示し、生産計画立案装置を中心とする計算機システムの一例を示すブロック図である。
【図２】本発明の第１実施形態を示し、受注情報記録部の一例を示す図である。
【図３】本発明の第１実施形態を示し、在庫情報記録部の一例を示す図である。
【図４】本発明の第１実施形態を示し、引当情報記録部の一例を示す図である。
【図５】本発明の第１実施形態を示し、部品情報記録部の一例を示す図である。
【図６】本発明の第１実施形態を示し、工程情報記録部の一例を示す図である。
【図７】本発明の第１実施形態を示し、生産予定情報記録部の一例を示す図である。
【図８】本発明の第１実施形態を示し、生産指示情報記録部の一例を示す図である。
【図９】本発明の第１実施形態を示し、受注情報取得部で行われる処理の一例を示すフローチャートである。
【図１０】本発明の第１実施形態を示し、受注情報解析部で行われる処理の一例を示すフローチャートである。
【図１１】本発明の第１実施形態を示し、生産予定情報取得部で行われる処理の一例を示すフローチャートである。
【図１２】本発明の第１実施形態を示し、引当処理実行部で行われる処理の一例を示すフローチャートである。
【図１３Ａ】本発明の第１実施形態を示し、引当処理実行部で行われる処理の前半部を示すフローチャートである。
【図１３Ｂ】本発明の第１実施形態を示し、引当処理実行部で行われる処理の後半部を示すフローチャートである。
【図１４】本発明の第１実施形態を示し、受注及び生産予定一覧画面の一例を示す画面イメージである。
【図１５】本発明の第１実施形態を示し、受注情報入力画面の一例を示す画面イメージである。
【図１６】本発明の第１実施形態を示し、受注情報詳細画面の一例を示す画面イメージである。
【図１７】本発明の第１実施形態を示し、生産予定入力画面の一例を示す画面イメージである。
【図１８】本発明の第１実施形態を示し、生産予定詳細画面の一例を示す画面イメージである。
【図１９】本発明の第１実施形態を示し、受注と部品及び製品の引当の一例を示すタイムチャートである。
【図２０Ａ】本発明の第２実施形態を示し、引当処理実行部で行われる処理の前半部を示すフローチャートである。
【図２０Ｂ】本発明の第２実施形態を示し、引当処理実行部で行われる処理の後半部を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態について添付図面を用いて説明する。
【００１１】
＜第１実施形態＞
【００１２】
図１は、本発明の第１の実施形態における生産計画立案装置１を中心とする計算機システムの構成の一例を示すブロック図である。
【００１３】
生産計画立案装置１は、ネットワーク２００を介して管理端末装置１００に接続される。管理端末装置１００は、ユーザや管理者からの入力を受け付ける図示しない入力装置と表示装置を備えて、生産計画立案装置１へ各種要求を入力する。
【００１４】
生産計画立案装置１は、演算処理を行うプロセッサ４と、プログラムやデータを保持する主記憶装置２と、不揮発性の記憶媒体を備えてデータやプログラムを保持する補助記憶（ストレージ）装置３と、キーボードやマウスなどで構成された入力装置６と、ディスプレイやプリンタで構成された出力装置５を備える。
【００１５】
主記憶装置２には、受注情報取得部２１と、生産予定情報取得部２４と、受注条件解析部２２と、引当処理実行部２５が保持される。補助記憶装置３には、受注情報記録部３１と、生産予定情報記録部３５と、在庫情報記録部３２と、引当情報記録部３６と、生産指示情報記録部３３と、部品情報記録部３７と、工程情報記録部３４が格納される。
【００１６】
受注情報取得部２１と、生産予定情報取得部２４と、受注条件解析部２２と、引当処理実行部２５の各機能部はプログラムとして補助記憶装置３から主記憶装置２にロードされる。
【００１７】
プロセッサ４は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサ４は、受注情報取得プログラムに従って動作することで受注情報取得部２１として機能する。他のプログラムについても同様である。さらに、プロセッサ４は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００１８】
上記各機能を実現するプログラム、テーブル等の情報は、補助記憶装置３や不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００１９】
各機能部の概要は次の通りである。受注情報取得部２１は、管理端末装置１００で入力された受注情報（または注文情報）から、入力値の妥当性をチェックして受注情報記録部３１に情報を格納する。生産予定情報取得部２４は、管理端末装置１００から入力された生産予定情報から、入力値の妥当性をチェックして生産予定情報記録部３５に生産予定情報を記録する。受注条件解析部２２は、受注情報記録部３１から受注情報に含まれる受注条件を取得し、生産計画立案装置１の内部で扱うための所定の情報に変換する。引当処理実行部２５は、部品情報記録部３７と、工程情報記録部３４と、受注情報記録部３１と、生産予定情報記録部３５からそれぞれ情報を取得し、引当処理の実行を管理する。引当処理は、受注情報に製品の生産予定情報を引き当てて、この生産予定情報を起点として、部品または原料を生産する工程の引き当てと、工程毎の生産時期を決定する。そして、引当処理では、生産開始の工程から最終製品の生産工程に向けて生産時情報の引き継ぎを行う。最後に、引当処理では、各部品及び製品の生産時情報が受注情報に含まれる受注条件を満たす工程の組み合わせを生成する。
【００２０】
ここで、生産時情報は、生産開始の日（または時刻もしくは日時）と、生産完了の日（または時刻若しくは日時）を含み、各工程間では生産開始日が次工程へ引き継がれる。生産完了日は製品または部品の製造が完了する日を示す。これに対して、生産開始日は、製品を構成する部品または材料、原料のうち最も古い生産開始日（または時刻若しくは日時）が各工程に引き継がれる。例えば、製品Ａが原料Ｃから製造された材料Ｂから製造されるとき、原料Ｃの加工開始の日が生産開始日として材料Ｂ及び製品Ａに引き継がれるのである。なお、各機能部の詳細については後述する。
【００２１】
一方、工程毎の生産時期は、各工程の生産開始の日（または時刻若しくは日時）と、生産完了の日（または時刻若しくは日時）で構成され、各工程間で引き継がれることはない。
【００２２】
なお、本実施の形態では、最終製品と、その最終製品を構成する部品と、その部品を構成する原料を例として説明するが、本発明はこれに限らず、このような構成関係にある種々の生産物、物資、生産物に適用できるものである。即ち製品、その製品を構成する第１構成品、その第１構成品を構成する第２構成品の関係にあればよい。
【００２３】
補助記憶装置３に格納されるテーブルなどの情報は、次の通りである。受注情報記録部３１は管理端末装置１００から入力された受注に関する情報を格納する。生産予定情報記録部３５は、管理端末装置１００から入力された生産予定の製品（または部品、材料、原料を含む）に関する情報を格納する。在庫情報記録部３２は、原料、材料または中間製品あるいは製品の在庫に関する情報を格納する。
【００２４】
引当情報記録部３６は、受注、在庫、生産予定あるいは生産指示に対する引当元及び引当先の情報を格納する。生産指示情報記録部３３は、引当処理実行部２５で生成された生産指示情報を格納する。なお、生産指示情報は、引当処理実行部２５が自動的に生成した生産予定であり、引き当て先が確定した生産予定情報として扱うようにしても良い。部品情報記録部３７は、部品（または製品、材料）の親子関係を示す情報を格納する。工程情報記録部３４は、部品または製品を生産する作業に必要な時間(リードタイム)を格納する。
【００２５】
図２は、受注情報記録部３１の一例を示す図である。受注情報記録部３１は、受注情報の識別子を格納する受注ＩＤ３１１と、製品の名称を格納する品名３１２と、受注した製品の量を格納する数量３１３と、納入する期限を格納する納期３１４と、受注条件を満足する引き当て対象がない場合の不足数を格納する引当不可３１５と、受注時に顧客から指定された条件を格納する受注条件３１６と、受注条件から演算した製品の生産開始日時を格納する生産開始日時３１７と、当該エントリの受注に対して引き当てが完了したか否かを示す処理済３１８から一つのエントリが構成される。なお、生産開始日時３１７の演算は、受注条件３１６がＸ日以内に生産開始という条件の場合、受注時点からＸ日以内の日時を受注情報取得部２１が演算する。
【００２６】
受注ＩＤ３１１は、受注情報取得部２１が付与するユニークな値である。引当不可３１５は、引当が実施できなかった数量が格納される。引当不可３１５が０であれば、受注した数量３１３が引き当てられたことを示し、引当不可３１５が０より大きい場合には引き当てられなかった製品の数量を示す。また、生産開始日時３１７は、受注を受け付けたときに生産計画立案装置１が演算した生産の開始日時を格納する。処理済３１８は、「１」であれば当該エントリの受注に対して引き当てが完了したことを示し、「０」であれば引き当てが未処理であることを示す。
【００２７】
図３は、本発明の第１実施形態を示し、在庫情報記録部３２の一例を示す図である。在庫情報記録部３２は、在庫の識別子を格納する在庫ＩＤ３２１と、製品または部品の名称を格納する品名３２２と、在庫の量を格納する数量３２３と、当該製品の生産が開始された日付またはタイムスタンプを格納する生産日３２４から一つのエントリが構成される。なお、在庫ＩＤ３２１は、引当処理実行部２５が付与するユニークな値である。
【００２８】
図４は、引当情報記録部３６の一例を示す図である。引当情報記録部３２は、引き当て元となる受注情報、生産予定情報または生産指示情報の識別子を格納する引当元３６１と、引き当て先となる生産予定情報、生産指示情報または在庫情報の識別子を格納する引当先３６２と、引当数量３６３から一つのエントリが構成される。例えば、図中ひとつめのエントリは、受注１に対して生産予定１から２５個が引き当てられることを示す。
【００２９】
図５は、部品情報記録部３７の一例を示す図である。部品情報記録部３７は、部品表の識別子を格納する部品表ＩＤ３７１と、当該部品表で親となる品名を格納する親品名３７２と、当該部品表で子となる品名を格納する子品名３７３から一つのエントリが構成される。部品表ＩＤ３７１は予め設定されたユニークな値である。図中、最初のエントリは、親品名Ａは、子品名Ｂを用いて生産されることを示す。
【００３０】
図６は、工程情報記録部３４の一例を示す図である。工程情報記録部３４は、工程の識別子を格納する工程ＩＤ３４１と、当該工程で生産される製品または部品の名称を格納する生産製品３４２と、当該製品を製造するのに必要な時間（リードタイム）を格納する製造ＬＴ３４３から一つのエントリが構成される。工程ＩＤ３４１は予め設定されたユニークな値である。
【００３１】
図７は、生産予定情報記録部３５の一例を示す図である。生産予定情報記録部３５は、生産予定情報の識別子を格納する生産予定ＩＤ３５１と、当該生産予定情報によって生産される製品または部品の名称を格納する品名３５２と、当該製品を製造する量を格納する数量３５３と、生産が完了する予定日を格納する完了日３５４と、受注条件を満足する引き当て対象がない場合の不足数を格納する引当不可３５５と、当該製品の生産が開始された日付またはタイムスタンプを格納する生産日３５６と、当該エントリの生産予定情報に対して引き当てが完了したか否かを示す処理済３５７から一つのエントリが構成される。
【００３２】
生産予定ＩＤ３４１は、生産予定情報取得部２４が設定したユニークな値である。引当不可３５５が０であれば、生産予定の製品または部品の数量（または容量）３５３が引き当てられたことを示し、引当不可３５５が０より大きい場合には引き当てられなかった製品の数量を示す。処理済３５７は、「１」であれば当該エントリの生産予定情報に対して引き当てが完了したことを示し、「０」であれば引き当てが未処理であることを示す。
【００３３】
図８は、生産指示情報記録部３３の一例を示す図である。生産指示情報記録部３３は、生産指示の識別子を格納する生産指示ＩＤ３３１と、当該生産指示で生産される製品または部品の名称を格納する品名３３２と、当該製品を製造する量を格納する数量３３３と、生産が完了する予定日を格納する完了日３３４と、当該製品の生産が開始される日付またはタイムスタンプを格納する生産日３３５から一つのエントリが構成される。生産指示ＩＤ３３１は、引当処理実行部２５が設定したユニークな値である。
【００３４】
図９は、受注情報取得部２１で行われる処理の一例を示すフローチャートである。この処理は、管理端末装置１００から入力を要求されたときにプロセッサ４によって実行される。まず、ステップＳ１では、プロセッサ４で実行される受注情報取得部２１は、管理端末装置１００へ受注情報入力画面を送信し、管理端末装置１００からの入力を受け付ける。ステップＳ２では、受注情報取得部２１が管理端末装置１００から受け付けた情報を解析する。ステップＳ３では、受注情報取得部２１が上記解析の結果、受け付けた受注情報が正当な受注情報であるか否かを判定する。正当な受注情報であればステップＳ４へ進み、誤りを含む受注情報であればステップＳ１へ戻って入力を促す。
【００３５】
ステップＳ４では、受注情報取得部２１が受注情報記録部３１に新たなエントリを追加して、上記受け付けた受注情報を格納する。
【００３６】
上記処理により、生産計画立案装置１には、管理端末装置１００から入力された新たな受注情報が受注情報記録部３１へ格納される。
【００３７】
図１０は、受注条件解析部２２で行われる処理の一例を示すフローチャートである。この処理は、受注情報記録部３１に新たな受注情報が格納されるとプロセッサ４によって実行される。まず、ステップＳ１０では、プロセッサ４で実行される受注条件解析部２２が、受注情報記録部３１から受注情報の一覧を取得する。
【００３８】
ステップＳ１１では、受注条件解析部２２が受注情報記録部３１の生産開始日時３１７が空欄のエントリを選択し、受注条件３１６の生産開始の期間のうち最も古い日時を生産開始日時として演算する。そして、ステップＳ１２では、受注条件解析部２２が受注情報記録部３１を生産開始日時３１７が早い順にソートする。なお、上記処理において、受注情報記録部３１のうち納品が未処理（処理済３１８＝０）のエントリを処理対象とすることが望ましい。
【００３９】
図１１は、生産予定情報取得部２４で行われる処理の一例を示すフローチャートである。この処理は、生産計画立案装置１が入力装置６から入力を受け付けたときにプロセッサ４によって実行される。まず、ステップＳ２１では、プロセッサ４で実行される生産予定情報取得部２４が、出力装置５へ生産予定入力画面を送信して表示させ、入力装置６からの入力を受け付ける。ステップＳ２２では、生産予定情報取得部２４が入力装置６から受け付けた生産予定に関連する情報を解析する。ステップＳ２３では、生産予定情報取得部２４が上記解析の結果、受け付けた生産予定情報が正当な情報であるか否かを判定する。正当な生産予定情報であればステップＳ２４へ進み、誤りを含む受注情報であればステップＳ２１へ戻って入力を促す。
【００４０】
ステップＳ２４では、生産予定報取得部２４が生産予定情報３５に新たなエントリを追加して、上記受け付けた生産予定情報を格納する。
【００４１】
上記処理により、生産計画立案装置１には、入力装置６から入力された新たな生産予定情報が生産予定情報記録部３１へ格納される。
【００４２】
図１２は、引当処理実行部２５で行われる処理の一例を示すフローチャートである。この処理は、生産計画立案装置１の管理者の指示や、受注情報記録部３１に新たな受注情報が格納されたとき、あるいは生産予定情報記録部３５へ新たな生産予定情報が格納されたときなどの所定のタイミングでプロセッサ４によって実行される。
【００４３】
ステップＳ３１では、引当処理実行部２５が受注条件解析部２２からステップＳ１２でソートした受注情報を取得する。次に、ステップＳ３２では、引当処理実行部２５が受注条件解析部２２から取得した受注情報のうち、引当が未処理、換言すれば、図２の受注情報記録部３１で処理済３１８が「０」のエントリが存在するか否かを判定する。引当が未処理の受注情報が存在する場合には、ステップＳ３３へ進み、引当が未処理の受注情報が存在しなければ、ステップＳ３４へ進む。
【００４４】
ステップＳ３３では、未処理の受注情報に生産予定情報を引き当てるため、引当処理実行部２５は、パラメータ(図中ＰＡＲＭ)を「受注」に設定して引当処理を実行する。ひとつの受注情報について引当処理が完了するとステップＳ３２へ戻って上記処理を繰り返す。また、引当処理では、引き当てが完了した受注情報の処理済３１８を「１」に更新する。
【００４５】
一方、ステップＳ３４では、引当処理実行部２５が、生産予定情報記録部３５を参照して引当処理が未処理、換言すれば、図７の生産予定情報記録部３５で処理済３５７が「０」のエントリが存在するか否かを判定する。引当が未処理の生産予定情報が存在する場合には、ステップＳ３６へ進み、引当が未処理の生産予定情報が存在しなければ、処理を終了する。
【００４６】
ステップＳ３６では、未処理の生産予定情報に製品または部品を引き当てるため、引当処理実行部２５は、パラメータ(図中ＰＡＲＭ)を「生産予定」に設定して引当処理を実行する。ひとつの受注情報について引当処理が完了するとステップＳ３５へ戻って上記処理また、引当処理では、引き当てが完了した受注情報の処理済３１８を「１」に設定する。
を繰り返す。なお、引当処理では、上記ステップＳ３３と同様に、引き当てが完了した生産予定情報の処理済３５７を「１」に更新する。
【００４７】
図１３Ａ、図１３Ｂは、引当処理で行われる処理の一例を示すフローチャートである。この処理は、図１２のステップＳ３３、Ｓ３６の引当処理で呼び出される処理であり、また、後述のように再帰的に呼び出される処理である。
【００４８】
まず、ステップＳ４１では、引当処理実行部２５は、引当処理を呼び出す際のパラメータ（図中、ＰＡＲＭ）に応じて補助記憶装置３から情報を取得する。例えば、パラメータが「受注」であれば受注情報記録部３１を参照し、「生産予定」であれば生産予定情報記録部３５を参照し、「生産指示」であれば生産指示情報取得部３３を参照して引当処理の対象となる情報を取得する。
【００４９】
ステップＳ４２では、引当処理実行部２５が現在の処理対象について前工程が存在するか否かを判定する。ここで、処理対象が「受注」であれば前工程として工程情報記録部３４を検索し、生産製品３４２と一致する工程ＩＤの有無を判定する。なお、処理対象が「生産予定」または、「生産指示」であれば前工程として部品情報記録部３７から現工程の生産製品を親品名３７２とする部品表ＩＤ３７１を検索し、存在する場合、工程情報記録部３４からその子品名３７３を生産製品３４２とする工程ＩＤの有無を判定する。
【００５０】
引当処理実行部２５は、処理対象に前工程が存在すればステップＳ４３へ進み、前工程が存在しない場合には処理を終了する。
【００５１】
ステップＳ４３では、引当処理実行部２５が処理対象へ引き当て可能な生産予定情報を生産予定情報記録部３５から検索する。そして、引当処理実行部２５は、検索された生産予定情報の生産予定ＩＤ３５１を選択する。なお、引き当て可能な生産予定情報が複数存在する場合には、これらの情報の中から、生産予定情報記録部３５の完了日３５４が最も古いものを優先して選択する。
【００５２】
ステップＳ４４では、現在の処理対象（例えば、生産予定情報）へ、引き当て可能な他の生産予定情報があるか否かを引当処理実行部２５が判定する。引当処理実行部２５は、現在の処理対象の前工程となる子品名３７３を部品情報記録部３７から検索し、当該子品名３７３と一致する生産予定情報を生産予定情報記録部３５から検索し、当該生産予定情報の有無を判定する。そして、引き当て可能な生産予定情報があればステップＳ４５へ進み、引き当て可能な生産予定情報がない場合には図１３ＢのステップＳ５０へ進む。
【００５３】
ステップＳ４５では、引当処理実行部２５が引き当て可能な生産予定情報をパラメータに設定して、当該引当処理を再帰的に呼び出して、生産予定情報（または生産指示情報）に対して引当処理を実行する。
【００５４】
ステップＳ４６では、引当処理実行部２５が、上記再帰的な引当処理により引き当て処理が完了した生産予定情報について、生産時情報が受注条件を満足しているか否かを判定する。ここで、生産時情報は、上述のように、生産開始日と生産完了日を含んでいる。ステップＳ４６では、生産予定情報記録部３５の生産日３５６（生産開始日）が、受注情報記録部３１の生産開始日時３１７以降で、生産予定情報記録部３５の完了日３５４が、受注情報記録部３１の納期３１４以前であれば、受注条件を満足すると判定し、ステップＳ４７へ進む。生産時情報が受注条件を満足しない場合には、ステップＳ４４へ戻って、次に割り当て可能な生産予定情報を検索する。
【００５５】
ステップＳ４７では、引当処理実行部２５が要求条件を満たした生産予定ＩＤ３５１を、引き当て先３６２とし、前工程の生産予定情報を引き当て元３６１とするエントリを引当情報記録部３６に追加し、生産予定情報の数量を引当数量３６３に格納し、引当情報を生成する。なお、生産予定情報の数量３５３が受注情報の数量３１３よりも大きい場合に、生産予定情報の数量３５３から受注情報の数量３１３を差し引いた分が未引当の生産予定製品または部品となる。未引当の生産予定製品は、生産予定の在庫として管理することができる。
【００５６】
次に、ステップＳ４８では、引当処理実行部２５が上記ステップＳ４７で登録した引当情報に対応する生産予定情報の生産開始日を、次工程に引き継ぐ。この処理は、生産予定情報記録部３５において、時系列的に古い生産予定情報の生産日３５６（生産開始日）を、次工程となる新しい生産予定情報の生産日３５６（生産開始日）に複製する。
【００５７】
ステップＳ４９では、引当処理実行部２５が、引当情報記録部３６の引当数量３６３が、受注情報記録部３１の受注ＩＤ３１１に対応する数量３１３（要求量）を満たすか否かを判定する。引当処理実行部２５は、引当数量３６３が要求量を満たしていれば処理を終了する。一方、引当処理実行部２５は、引当数量３６３が要求量を満たしていない場合には、ステップＳ４４へ戻って、次に割り当て可能な生産予定情報を検索する。
【００５８】
次に、図１３Ｂは、ステップＳ４４の判定で、引当処理実行部２５が次に割り当て可能な生産予定情報が存在しない、と判定した場合の処理を示す。ステップＳ５０では、引当処理実行部２５が、前工程であるステップＳ４３で選択した生産予定ＩＤ３５１の生産予定情報に対して、生産指示情報を生成する。生産指示情報の生成は、引当処理実行部２５が、生産予定ＩＤ３５１の生産予定情報記録部３５の品名３５２を取得し、部品情報記録部３７から品名３５２を必要な部品（または材料）を抽出する。例えば、生産予定情報の品名３５２が「Ａ」の場合、部品情報記録部３７から「Ａ」を親品名３７２にもつエントリから子品名３７３が「Ｂ」の部品を抽出する。次に、「Ｂ」を親品名３７２にもつエントリから子品名３７３が「Ｃ」の部品を抽出する。そして、子品名３７３を親品名３７２にもつエントリが無くなるまで上記処理を引当処理実行部２５が繰り返す。
【００５９】
引当処理実行部２５は、生産予定情報の製品「Ａ」を製造する部品「Ｂ」と、部品「Ｂ」を製造する部品（または原料）「Ｃ」の生産指示を生成する。ここで、引当処理実行部２５は、工程情報記録部３４を参照して部品「Ｂ」と部品「Ｃ」の工程ＩＤ３４１と製造リードタイム（図中ＬＴ）を取得する。ここでは、部品「Ｂ」の工程ＩＤ３４１＝「工程２」、製造リードタイム３４３＝「２日」、部品「Ｃ」の工程ＩＤ３４１＝「工程３」、製造リードタイム３４３＝「１日」を抽出する。
【００６０】
引当処理実行部２５は、既に存在する生産予定情報の生産開始を起点として、日時を遡る方向に部品「Ｂ」の生産指示情報を生成してから、部品「Ｃ」の生産指示情報を生成する。つまり、現在着目している受注１に生産予定２を引き当てた例では、製品「Ａ」の生産開始までに、部品「Ｂ」の完了日３３４が設定され、かつ、部品「Ｂ」の生産開始までに部品「Ｃ」の完了日３３４が設定されるように、製造リードタイム３４３の和から部品「Ｃ」の生産開始日を示す生産日３３５を決定する。この例では、部品「Ｃ」の生産に「１日」、部品「Ｂ」の生産に「２日」を要することから、図８で示すように、製品「Ａ」の生産開始よりも３日前に部品「Ｃ」の生産を開始するように生産指示情報記録部３３に部品「Ｂ」と部品「Ｃ」のエントリを生成する。この例では、生産指示情報記録部３３の生産指示ＩＤ３３１に、「生産指示１」と「生産指示２」のエントリが追加される。これらのエントリの数量は、ステップＳ４３で選択された生産予定情報の数量３５３を満たす値が設定される。
【００６１】
次に、引当処理実行部２５は、ステップＳ５１で、新たに生成した「生産指示１」と「生産指示２」をパラメータとして図１３Ａ及び図１３Ｂの引当処理を再帰的に呼び出して、「生産予定２」に「生産指示１」を引き当て、「生産指示１」に「生産指示２」を引き当てる。
【００６２】
次に、引当処理実行部２５は、ステップＳ５２で、引当処理が完了した生産指示情報が受注条件を満足するか否かを判定する。この判定は、引当処理実行部２５が、生産指示情報記録部３３から該当する生産指示情報と生産予定情報を読み込んで、原料となる部品「Ｃ」の生産が完了する完了日３３４が、部品「Ｂ」の生産開始日（完了日−製造リードタイム）以前で、かつ、部品「Ｂ」の生産が完了する完了日３３４が、製品「Ａ」の生産開始日（完了日３５４−製造リードタイム３４３）以前であれば、生産指示情報が受注条件を満足すると判定し、ステップＳ５３へ進む。一方、生産指示情報の生産時情報が受注条件を満足しない場合には、ステップＳ５５へ進む。
【００６３】
ステップＳ５３では、引当処理実行部２５が、上記ステップＳ５１で引き当てた生産指示情報に基づいて引当情報を引当情報記録部３６に格納する。次に、ステップＳ５４では、部品（または原料）「Ｃ」から製品「Ａ」までの、各工程の生産指示情報記録部３３と生産予定情報記録部３５の該当するエントリの生産日３３５、３５６に、最初に生産を開始する部品「Ｃ」の生産開始日を設定し、部品「Ｃ」の次工程となる、部品「Ｂ」と、さらに部品「Ｂ」の次工程となる製品「Ａ」に、最古の生産開始日を引き継がせる。つまり、最終的な製品「Ａ」の生産開始日を示す生産日３５６には、原料または部品のうち生産開始日が最も古い値が引き継がれる。
【００６４】
一方、ステップＳ５２の判定で、生産指示情報の生産時情報が受注条件を満足しない場合のステップＳ５５では、引当処理実行部２５が生産予定情報に対する引き当てが失敗したため、引当情報記録部３６に当該生産予定情報の引き当てが不能となった部品の量を格納する。そして、ステップＳ５６では、引き当て不能となった生産指示情報を引当処理実行部２５が生産指示情報記録部３３から削除して処理を終了する。このとき、引き当てが失敗したことを、引当処理実行部２５が出力装置５や管理端末装置１００に通知しても良い。
【００６５】
以上の処理により、受注情報に対して生産予定情報（または生産指示情報）が引き当てられ、生産予定情報で指定された製品を生産するための部品（または原料）の生産指示情報あるいは生産予定情報がさらに引き当てられる。そして、各生産予定情報及び生産指示情報は、部品情報記録部３７の製品と部品間の親子関係と、工程情報記録部３４に設定された生産製品の工程ＩＤと製造リードタイムから、引当処理実行部２５によって生産開始日と生産の完了日が決定される。引当処理実行部２５は、受注情報に引き当てた生産予定情報（または生産指示情報）から前工程となる各工程毎に生産開始日と生産の完了日を順次決定する。そして、引当処理実行部２５は、生産開始の起点となる工程に達すると、当該生産開始の起点となる工程の生産開始日を、次工程に向けて順次引き継がせ、最終的な製品の生産開始日として反映させる。つまり、引当処理実行部２５は、受注情報に紐付けた生産予定情報（または生産指示情報）から前工程へ向けて順次生産日程を決定した後、生産開始の起点となる工程の生産開始日を次工程から最終的な製品まで引き継がせるのである。
【００６６】
図１４は、図９のステップＳ１で管理端末装置１００の表示装置及び図１１のステップＳ２１で生産計画立案装置１の出力装置５に出力される画面の一例を示す画面イメージである。
【００６７】
図１４において、受注及び生産予定の画面２１０は上下に二分され、受注情報を表示する表示領域３１０と、生産予定情報を表示する表示領域３５０を備える。
【００６８】
表示領域３１０には、時系列の順序で受注情報３１１０が表示される。受注情報３１１０内には、図中上から順に、受注ＩＤ３１１、品名３１２及び数量３１３、納期３１４が表示される。
【００６９】
表示領域３５０には、時系列の順序で生産予定情報３５１０が表示される。生産予定情報３５１０内には、図中上から順に、生産予定ＩＤ３３１、品名３３２及び数量３３３、生産日（生産開始日）３３４が表示される。
【００７０】
表示領域３１０の右側には、受注情報入力ボタン２１１と、受注情報詳細ボタン２１２が配置される。受注情報入力ボタン２１１をマウスなどの入力装置で操作すると、図１５の受注情報入力画面へ遷移する。受注情報詳細ボタン２１２を操作すると、図１６の受注情報詳細表示画面へ遷移する。
【００７１】
表示領域３５０の右側には、生産予定情報入力ボタン２１３と、生産予定情報詳細ボタン２１４が配置される。生産予定情報入力ボタン２１３をマウスなどの入力装置で操作すると、図１７の生産予定情報入力画面へ遷移する。生産予定情報詳細ボタン２１４を操作すると、図１８の生産予定情報詳細表示画面へ遷移する。
【００７２】
なお、図１４では、ひとつの画面またはウィンドウに受注情報と生産予定情報を入出力する例を示したが、図示はしないが、受注情報の表示及び入力を行う表示領域３１０と、生産予定情報の表示及び入力を行う表示領域３５０を異なる画面として、表示領域３１０を管理端末装置１００の表示装置に出力し、表示領域３５０を出力装置５へ出力するようにしてもよい。
【００７３】
また、図１４の画面は、前記図１３Ａ、図１３Ｂの処理が終了した後に、前記出力装置５または管理端末装置１００へ出力するようにしても良い。
【００７４】
図１５は、受注情報入力画面の一例を示す画面イメージである。受注情報入力画面２１００は、製品名の入力欄２１０１と、納入期限の年月日及び時刻を入力する入力欄２１０２と、数量の入力欄２１０３と、受注条件の日にちを入力する入力欄２１０４を備える。
【００７５】
管理端末装置１００や入力装置６から各入力欄２１０１〜２１０４へ入力した後に、実行ボタンを操作することで、受注情報記録部３１に新たな受注情報が格納される。
【００７６】
図１６は、受注情報詳細表示画面３１００の一例を示す画面イメージである。受注情報詳細表示画面３１００は、受注情報と、当該受注情報に対応する生産予定情報及び生産指示情報を時系列と工程の順序で表示する領域３１０１と、受注した製品の引当情報を表示する領域３１０２と、を含む。
【００７７】
領域３１０１は、縦軸が工程を示し、横軸が時系列を示す。図示の例では、生産開始日が１０／１以降の製品Ａを５０個生産する受注ＩＤ＝「受注３」の例を示す。製品Ａは、部品情報記録部３７と工程情報記録部３４より、工程３の部品Ｃから部品Ｂ（工程３）を製造し、工程１で部品Ｂから製品Ａを製造する。上述した引当処理により、まず、工程１の部品Ｃは生産指示２で１０／１に生産され、工程２の部品Ｂは生産指示１で１０／２〜３に生産され、工程３の製品Ａは生産予定２により１０／４に生産されることを示す。
【００７８】
そして、領域３１０２には、受注３に引き当てた製品Ａの生産予定２と、生産予定２に引き当てた部品Ｂの生産指示１と、生産指示１に引き当てた部品Ｃの生産指示２について、生産日（生産開始日）と、受注条件と、生産の完了日と、引き当て可能数（図中引当ＯＫ）と、引当の不能数（図中引当ＮＧ）が表示される。
【００７９】
図１７は、生産予定情報入力画面の一例を示す画面イメージである。生産予定情報入力画面２４００は、製品名の入力欄２４０１と、生産完了の年月日及び時刻を入力する入力欄２４０２と、数量の入力欄２４０３と、を備える。
【００８０】
管理端末装置１００や入力装置６から各入力欄２４０１〜２４０３へ入力した後に、実行ボタンを操作することで、生産予定情報記録部３５に新たな生産予定情報が格納される。
【００８１】
図１８は、生産予定情報詳細表示画面３２００の一例を示す画面イメージである。生産予定情報詳細表示画面３２００は、生産予定情報と、当該生産予定情報に対応する生産指示情報または在庫情報を時系列と工程の順序で表示する領域３２０１と、生産予定の製品または部品の引当情報を表示する領域３２０２と、を含む。
【００８２】
領域３２０１は、縦軸が工程を示し、横軸が時系列を示す。図示の例では、生産開始日が９／２８の製品Ｄを５０個生産する生産予定ＩＤ＝「生産予定４」の例を示す。製品Ｄは、部品情報記録部３７と工程情報記録部３４より、工程２の部品Ｅから製品Ｄを製造する。なお、図５の部品情報記録部３７と、図６の工程情報記録部３４では、製品Ｄと部品Ｅの図示を省略した。
【００８３】
図１９は、受注と部品及び製品の引当の一例を示すタイムチャートである。図１９は、受注ＩＤ＝「受注１」に対して、上記図１３Ａ、図１３Ｂの引当処理によって、新たな生産指示１と生産指示２を生成して、引き当てる例を示す。図中縦軸が工程を示し、横軸が時系列を示す。
【００８４】
まず、引当処理では、受注ＩＤ＝「受注１」として納期３１４が１０／６で、５０個の製品Ａについて、引当可能な生産予定情報を生産予定情報記録部３５から検索する。図示の例では、１０／４に生産が完了（完了日３５４）する生産予定１と、完了日が１０／６の生産予定２が抽出される。ここで、引当処理実行部２５は、上記ステップＳ４３により完了日３５４が最も古い生産予定１を選択し、受注ＩＤ＝受注１に生産予定１を引き当てる。
【００８５】
次に、引当処理実行部２５は、製品Ａを生産するために必要な部品Ｂを部品情報記録部３７から取得する。そして、生産予定１に引き当て可能な生産予定を検索する。生産予定１に対して引当可能な部品（図中材料）Ｂの生産予定が存在しないため、引当処理実行部２５は、生産予定１の前工程として部品Ｂを生産するための生産指示１を新たに生成する（Ｓ５０）。そして、当該生産指示１を生産予定１に引き当てる（Ｓ５１）。ここで、引当処理実行部２５は、工程情報記録部３４を参照して生産製品３４２が「Ｂ」の製造リードタイムが２日であることを取得し、生産予定１の生産開始日が１０／４であるので、これより２日前の１０／２を部品Ｂの生産開始日に設定する。
【００８６】
次に、引当処理実行部２５は、部品Ｂを生産するために必要な部品Ｃを部品情報記録部３７から取得する。そして、生産指示１に引き当て可能な生産予定を生産予定情報記録部３５から検索する。生産指示１に対して引当可能な部品（図中原料）Ｃの生産予定が存在しないため、引当処理実行部２５は、生産指示１の前工程として部品Ｃを生産するための生産指示２を新たに生成する（Ｓ５０）。そして、当該生産指示２を生産指示１に引き当てる（Ｓ５１）。ここで、引当処理実行部２５は、工程情報記録部３４を参照して生産製品３４２が「Ｃ」の製造リードタイムが１日であることを取得し、生産指示１の生産開始日が１０／２であるので、これより１日前の１０／１を部品Ｃの生産開始日に設定する。
【００８７】
次に、引当処理実行部２５は、部品Ｃの生産開始日＝「１０／１」が、「５日以内に生産開始」という受注条件３１６を満足していることを判定する（Ｓ５２）。そして、引当処理実行部２５は、製品Ａの生産の始点となる生産開始日（生産日）を１０／１に設定して、生産指示２の次工程である生産指示１の生産開始日（生産日３３５）に引き継ぎ、さらに生産指示１の次工程である生産予定１の生産日３５６に、生産指示２の生産開始日を引き継ぐ。
【００８８】
以上のように、本発明では、受注情報から生産予定情報を検索し、製品Ａを構成する部品の前工程を順次選択または生成して引き当てて、生産する製品Ａの工程と日程を前工程へ向けて順次決定する。次に、製品Ａを構成する部品のうち最初の生産開始日または生産開始時刻を、当該製品Ａの生産開始日として次工程に向けて順次引き継ぐのである。つまり、前工程へ向けて工程を決定した後に、最初の部品の生産開始日（生産時情報）を次工程へ向けて順次引き継いでいき、最終的な製品の生産開始日として設定する。
【００８９】
このように、製品Ａを構成する部品（原料または材料）のうち最初の工程となる部品または原材料の生産開始日または生産開始時刻を、次工程へ引き継いで製品Ａの生産開始日として扱う。これにより、食品など生産開始からの経過日数または経過時間を受注条件に含む場合であっても、生産計画を自動的に生成することが可能となる。
【００９０】
なお、上記第１実施形態では、補助記憶装置３に各種テーブル類（受注情報記録部３１〜部品情報記録部３７）を格納した例を示したが、主記憶装置２にこれらのテーブル類を格納しても良い。
【００９１】
また、上記第１実施形態では、生産開始日が受注条件を満足する生産計画を生成する例を示したが、受注条件として時刻の条件を加えて、生産開始日時が受注条件を満足する生産計画を生成してもよい。
【００９２】
＜第２実施形態＞
【００９３】
図２０Ａ、図２０Ｂは、本発明の第２実施形態を示し、引当処理実行部で行われる処理の前半部を示すフローチャートである。図２０Ａは、引当処理実行部で行われる処理の前半部を示し、図２０Ｂは、引当処理実行部で行われる処理の後半部を示す。
【００９４】
第２実施形態では、前記第１実施形態の構成に加えて、在庫の製品や部品（あるいは原料または材料）を利用するようにしたもので、その他の構成は前記第１実施形態と同様である。
【００９５】
図２０Ａ、図２０Ｂの処理は、前記第１実施形態の図１３Ａ、図１３Ｂと同様に、図１２のステップＳ３３、Ｓ３６の引当処理で呼び出される処理であり、また、前記第１実施形態と同様に再帰的に呼び出される処理である。
【００９６】
まず、ステップＳ６１、Ｓ６２では、前記第１実施形態の図１３ＡのステップＳ４１、Ｓ４２と同様に、引当処理実行部２５が、引当処理を呼び出す際のパラメータ（図中、ＰＡＲＭ）に応じて補助記憶装置３から該当する情報を取得し（Ｓ６１）、現在の処理対象について前工程が存在するか否かを判定する（Ｓ６２）。引当処理実行部２５は、処理対象に前工程が存在すればステップＳ６３へ進み、前工程が存在しない場合には処理を終了する。
【００９７】
ステップＳ６３では、引当処理実行部２５が処理対象へ引き当て可能な在庫情報を在庫情報記録部３２から検索する。そして、引当処理実行部２５は、検索された在庫情報の在庫ＩＤ３２１を選択する。なお、引き当て可能な在庫情報が複数存在する場合には、これらの情報の中から在庫情報記録部３２の生産日３２４が最も古いものを優先して選択する。
【００９８】
ステップＳ６４では、現在の処理対象（例えば、生産予定情報）へ、引き当て可能な他の在庫情報があるか否かを引当処理実行部２５が判定する。この判定は、現在の処理対象（例えば、生産予定情報）へ、引き当て可能な他の在庫情報があるか否かを引当処理実行部２５が判定する。引当処理実行部２５は、現在の処理対象の前工程となる子品名３７３を部品情報記録部３７から検索し、当該子品名３７３と一致する在庫情報を在庫情報記録部３２から検索し、当該在庫情報の有無を判定する。そして、引き当て可能な在庫情報があればステップＳ６５へ進み、引き当て可能な在庫情報がない場合には図２０ＢのステップＳ４３へ進む。
【００９９】
ステップＳ６５では、引当処理実行部２５が、引き当て可能な在庫情報について、在庫情報記録部３２から生産日（生産開始日）３２４を生産時情報として取得し、この生産時情報が受け条件を満たすか否かを判定する。ここで、在庫情報記録部３２の生産時情報は、生産日（生産開始日）３２４のみである。したがって、引当処理実行部２５は、生産予定情報記録部３５の生産日（生産開始日）３２４が、受注情報記録部３１の生産開始日時３１７以降であれば、受注条件を満足すると判定する。そして、生産時情報が受注条件を満足する場合にはステップＳ６６へ進む。一方、在庫情報が受注条件を満足しない場合には、ステップＳ６４へ戻って、次に割り当て可能な在庫情報を検索する。
【０１００】
ステップＳ６６では、引当処理実行部２５が要求条件を満たした在庫情報ＩＤ３２１を、引き当て先３６２とし、前工程の生産予定情報（または生産指示情報）を引き当て元３６１とするエントリを引当情報記録部３６に追加し、在庫情報記録部（または生産予定情報記録）の数量を引当数量３６３に格納し、引当情報を生成する。なお、生産予定情報（在庫情報）の数量３５３が受注情報の数量３１３よりも大きい場合には、在庫情報の数量３５３から受注情報の数量３１３を差し引いた分が未引当の在庫は部品となる。未引当の在庫は、在庫情報記録部３２での在庫として管理することができる。
【０１０１】
次に、ステップＳ６７では、引当処理実行部２５が上記ステップＳ６６で登録した引当情報に対応する在庫情報の生産開始日を、次工程に引き継ぐ。この処理は、在庫情報記録部３２の生産日（生産開始日）３２４を、次工程となる生産予定の生産日（生産開始日）３５６または生産指示の生産日（生産開始日）３３５に複製する。
【０１０２】
ステップＳ６８では、引当処理実行部２５が、引当情報記録部３６の引当数量３６３が、受注情報記録部３１の受注ＩＤ３１１に対応する数量３１３（要求量）を満たすか否かを判定する。引当処理実行部２５は、引当数量３６３が要求量を満たしていれば処理を終了する。一方、引当処理実行部２５は、引当数量３６３が要求量を満たしていない場合には、ステップＳ６４へ戻って、次に割り当て可能な在庫情報を検索する。
【０１０３】
ステップＳ６４の判定で、次に引き当て可能な在庫情報が存在しない場合に進む図２０ＢのステップＳ４３〜Ｓ５６は、前記第１実施形態の図１３Ａ、図１３Ｂの処理と同一である。つまり、処理対象に引き当て可能な在庫情報の検索を行った後、引き当て可能な在庫情報が存在しなくなると、処理対象に引き当て可能な生産予定情報を検索する。そして、処理対象に引き当て可能な生産予定情報が無くなると、生産指示情報を生成する。
【０１０４】
以上のように、本発明の第２の実施形態では、受注情報から在庫情報と生産予定情報の順で引き当て可能な製品または部品を検索し、在庫情報が存在する場合には生産予定情報に優先して製品または部品に在庫情報を引き当てる。そして、引当処理実行部２５は、製品Ａを構成する部品の前工程を順次選択または生成して、生産する製品の工程と日程（生産時期）を前工程へ向けて順次決定する。次に、製品Ａを構成する部品のうち最初の生産開始日または生産開始時刻を、当該製品Ａの生産開始日として次工程に向けて順次引き継ぐのである。つまり、前工程へ向けて工程を決定した後に、最初の部品の生産開始日を次工程へ向けて順次引き継いでいき、最終的な製品の生産開始日として設定する。
【０１０５】
このように、製品Ａを構成する部品（原料または材料）のうち最初の生産開始日または生産開始時刻を、次工程へ引き継いで製品Ａの生産開始日として扱う。これにより、食品など生産開始からの経過日数または経過時間を受注条件に含む場合であっても、生産計画を自動的に生成することが可能となる。
【図１】
0005872677.tif 000002
【図２】
0005872677.tif 000003
【図３】
0005872677.tif 000004
【図４】
0005872677.tif 000005
【図５】
0005872677.tif 000006
【図６】
0005872677.tif 000007
【図７】
0005872677.tif 000008
【図８】
0005872677.tif 000009
【図９】
0005872677.tif 000010
【図１０】
0005872677.tif 000011
【図１１】
0005872677.tif 000012
【図１２】
0005872677.tif 000013
【図１３Ａ】
0005872677.tif 000014
【図１３Ｂ】
0005872677.tif 000015
【図１４】
0005872677.tif 000016
【図１５】
0005872677.tif 000017
【図１６】
0005872677.tif 000018
【図１７】
0005872677.tif 000019
【図１８】
0005872677.tif 000020
【図１９】
0005872677.tif 000021
【図２０Ａ】
0005872677.tif 000022
【図２０Ｂ】
0005872677.tif 000023