(57)【特許請求の範囲】
【請求項１】
多数の店舗の店舗端末が夫々送信してきた、店舗の店番号，商品名，個数を記述してなる発注データを、本部のサーバ装置においてとりまとめて、仕入れ先へ発注を行う小売チェーンの発注システムにおいて、誤発注を防止する方法であって、
前記サーバ装置がアクセス可能な記憶装置に、個々の店舗の店番号毎に比較対象店舗の店番号をリストアップした第１データマスタ，及び、個々の店舗における現在の在庫数を特定するための情報をリストアップした第２データマスタを記憶しておくとともに、所定期間内に各店舗端末から受信した発注データを発注トランザクションとして記憶しておき、
前記発注トランザクション中の何れかの発注データを、チェック対象発注データとして読み出すと、
前記チェック対象発注データ中に記載されているチェック対象店舗の店番号に対する比較対象店舗の店番号を第一データマスタから読み出し、
チェック対象店舗及び全ての比較対象店舗について、夫々、チェック対象発注データ中に記載されているチェック対象商品名に対応する現在の在庫数を前記第２データマスタ中のデータに基づいて特定し、チェック対象商品名に対応する発注数を発注トランザクション中の各発注データから求めて、前記現在の在庫数に前記発注数を加算することによって発注後在庫数を算出し、
各比較対象店舗について算出された発注後在庫数の平均に対するチェック対象店舗について算出された発注後在庫数の比率が所定の閾値を超えているか否かを判定し、
前記比率が前記閾値を超えている場合に、チェック対象発注データの内容を、過剰発注データとして出力する
ことを特徴とする誤発注防止方法。
【請求項２】
前記第１データマスタは、個々の店舗の店番号毎に、その店舗と類似した店舗の店番号，及び、その店舗と同エリア内に存在する店舗の店番号をリストアップしているとともに、
各店舗及び商品名の組み合わせ毎に、類似した店舗を比較対象店舗とするか同エリア内に存在する店舗を比較対象店舗とするかを特定した商品マスタを前記記憶装置に更に記憶しておき、
前記チェック対象発注データ中に記載されているチェック対象店舗の店番号に対する比較対象店舗の店番号を第一データマスタから読み出す場合には、当該チェック対象店舗の店番号及び当該チェック対象発注データ中に記載されている商品名の組み合わせに対して前記商品マスタにおいて特定されている比較対象店舗の種別を読み出し、読み出した比較対象店舗の種別に対応した比較対象店舗の店番号を前記第一データマスタから読み出す
ことを特徴とする請求項１記載の誤発注防止方法。
【請求項３】
各店舗及び商品名の組み合わせ毎に、前記閾値を特定した商品マスタを前記記憶装置に更に記憶しておく
ことを特徴とする請求項１記載の誤発注防止方法。
【請求項４】
前記発注トランザクション中の全ての発注データを順次チェック対象発注データとする
ことを特徴とする請求項１記載の誤発注防止方法。
【請求項５】
前記過剰発注データの出力後に、
前記発注トランザクションの修正を受け付ける
ことを特徴とする請求項１記載の誤発注防止方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一小売チェーンに属する複数の小売店舗の支配人又は代表者が商品の仕入れのために夫々発する発注要求を、当該小売チェーンの本部において一括し、商品の種類毎に仕入先業者に対して商品の発注を行うシステムにおける、誤発注防止方法に、関する。
【背景技術】
【０００２】
かかる小売チェーンとしては、単一の小売業者が複数の小売店舗を経営するものや、同一のフランチャイザーと契約した複数のフランチャイジーが夫々小売店舗を経営するフランチャイズチェーンが、知られている。
【０００３】
前者の小売チェーンにおいては、各小売店舗の経営者は小売業者であるが、各小売店舗は、商法上の営業所に該当する場合が多く、その場合には、小売業者によって選任された支配人がその小売店舗の経営を代理し、第三者との間での商取引を行う。この場合、小売チェーンの本部は、小売業者の本社又は当該小売チェーンを統轄する事業部に置かれることになる。他方、後者のフランチャイズチェーンにおいては、各フランチャイジーが小売店舗の経営者であるので、その代表者が、第三者との商取引を行う。この場合、小売チェーンの本部は、フランチャイザーの本社又は当該小売チェーンを統轄する事業部に置かれることになる。以下、両者を区別せずに説明を行うので、「店舗」なる文言は、小売店舗の物理的施設を意味する他、小売店舗において商取引を行う主体（支配人，代表者）のことをも意味するものとする。
【０００４】
上述した何れの場合においても、小売チェーンの本部（以下、単に「本部」という）としては、小売チェーンの均質性を維持するため、また、商品を大量発注することによってより安い仕入値で仕入れるために、各店舗が商品を仕入れるための発注の要求を集約し、各商品毎の発注数を大きくした上で、各商品毎に、最も安い仕入値を提示した仕入業者に対して仕入商品の発注を掛けることを望む。そのため、各店舗は、販売している各商品の在庫が少なくなると、本部に対して、発注対象商品の商品名及び発注個数を特定して、発注要求を行う。この発注要求は、ネットワーク技術の普及を背景に、店舗に設置された端末から本部に設置されたサーバへ電文を送信することによって、行われる。
【０００５】
図１５は、従来の、小売チェーンにおける発注の手順を示す概略図である。この図１５に示すように、店舗１００は、その端末から本部１０１に対して、発注の電文（店舗発注データ１０２）を送信する。すると、本部１０１では、受信された店舗発注データ１０２が発注トランザクション１０３に追加される。この発注トランザクション１０３は、原則として、定期的に各商品毎にソートされて、夫々の商品に対応した仕入先１０７へ、送信される。各仕入先１０７は、受信した発注トランザクションに含まれる各店舗発注データ１０２毎に、その店舗発注データ１０２を発行した店舗へ、その店舗発注データ１０２において特定された数の商品を、納入することになる。
【０００６】
ところで、店舗発注データ１０２を作成する作業は原則として人間が行うので、入力ミスにより、発注個数の桁を間違って店舗発注データ１０２を作成してしまうことが避けられない。このような入力ミスに因る過剰発注がなされた場合には、販売を期待できる数を在庫数が大きく上回ってしまうので、在庫がだぶつき、その後に廃棄しなければならなくなり、店舗の利益を大きく圧迫する。
【０００７】
そのため、従来、かかる過剰発注を防ぐための仕組みが工夫されていた。例えば、下記特許文献１においては、図１５に示すように、発注トランザクション１０３から抽出した発注データの内容がリスト形式（発注プルーフリスト）でプリンタ出力され（発注データプルーフ出力１０４）、本部の担当者が当該発注プルーフリストを各発注元店舗の過去の発注実績と比較し、過去の発注実績と比較して明らかに多すぎる発注については、入力ミスによる過剰発注とみなし、コンソール１０６を通じて発注トランザクション１０３を修正することが、記載されている。また、下記特許文献２においては、店舗において端末への入力に基づいて発注トランザクション１０３が生成される際に、登録されたイベント（例えば、小学校の運動会等）についての情報（イベント情報）が考慮され、イベントと無関係な商品について過剰発注が発生した場合には入力ミスに因るものであると判断し、イベントと関係のある商品について過剰発注が発生した場合には入力ミスに因るものではないと、判断していた。
【特許文献１】特開平５−２１６９０５号
【特許文献２】特開平９−９７２２６号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の発明によると、店舗発注データ１０２を生成した店舗１００において過去に販売実績のない商品については、過去に販売実績がないので、その多少に拘わらず、過剰発注であるか否かの判断を行うことはできない。また、全発注データの発注プルーフリストの分量は莫大であるので、事実上、人間が全件判断を行ってチェックする事は、大変難しかった。
【０００９】
また、特許文献２に記載の発明によると、イベント情報が登録されていない場合には、比較対象がないので、やはり、過剰発注であるか否かの判断を行うことは困難であった。
【００１０】
本発明は、従来における以上の問題点に鑑みてなされたものであり、その課題は、個々の店舗に販売実績のない商品についても過剰発注であるか否かのチェックを自動的に行って仕入担当者に警告することができる過誤発注防止方法を、提供することである。
【課題を解決するための手段】
【００１１】
本発明による過誤発注防止方法は、多数の店舗の店舗端末が夫々送信してきた、店舗の店番号，商品名，個数を記述してなる発注データを、本部のサーバ装置においてとりまとめて、仕入れ先へ発注を行う小売チェーンの発注システムにおいて、誤発注を防止する方法であって、前記サーバ装置がアクセス可能な記憶装置に、個々の店舗の店番号毎に比較対象店舗の店番号をリストアップした第１データマスタ，及び、個々の店舗における現在の在庫数を特定するための情報をリストアップした第２データマスタを記憶しておくとともに、所定期間内に各店舗端末から受信した発注データを発注トランザクションとして記憶しておき、前記発注トランザクション中の何れかの発注データを、チェック対象発注データとして読み出すと、前記チェック対象発注データ中に記載されているチェック対象店舗の店番号に対する比較対象店舗の店番号を第一データマスタから読み出し、チェック対象店舗及び全ての比較対象店舗について、夫々、チェック対象発注データ中に記載されているチェック対象商品名に対応する現在の在庫数を前記第２データマスタ中のデータに基づいて特定し、チェック対象商品名に対応する発注数を発注トランザクション中の各発注データから求めて、前記現在の在庫数に前記発注数を加算することによって発注後在庫数を算出し、各比較対象店舗について算出された発注後在庫数の平均に対するチェック対象店舗について算出された発注後在庫数の比率が所定の閾値を超えているか否かを判定し、前記比率が前記閾値を超えている場合に、チェック対象発注データの内容を、過剰発注データとして出力することを、特徴とする。
【００１２】
このように構成されると、チェック対象発注データに記述された発注数が過剰であるかどうかが、この発注数にチェック対象店舗の現在の在庫数を加算した結果である発注後在庫数，即ち、発注数通りに納品された後の在庫数が、全比較対象店舗につき夫々算出された発注後在庫数の平均と比較して多すぎるかどうかに基づいて、判定される。従って、判定基準が相対的になるので、立地条件等に起因して元々チェック対象商品の発注数が全国平均よりも多い場合や少ない場合であっても、相対的に過剰であるか否かを判断することができる。また、チェック対象店舗において過去に発注実績がない商品について発注された場合であっても、過剰であるか否かを判断することができる。
【発明の効果】
【００１３】
以上のように構成された本発明の誤発注防止方法によると、個々の店舗に販売実績のない商品についても過剰発注であるか否かのチェックを自動的に行って仕入担当者に警告することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明による過誤発注防止方法が適用される小売チェーンにおける発注システムを、図面を参照して説明する。
【００１５】
＜発注システムの構成＞
図１は、本実施形態による発注システムの概略構成を示すシステム図である。この図１に示されたように、この発注システムは、複数の店舗に夫々設置された複数の店舗端末１（図１においては１台のみ図示），本部に設置されたサーバ装置４及びコンソール２，商品の納入業者が受注のために設置しているサーバ装置（仕入先サーバ３）を、相互にネットワークＮにより接続することにより、構成されている。
【００１６】
以下、これら各装置毎に、その回路構成を説明する。
【００１７】
（店舗端末）
店舗端末１は、相互にバスＢを通じて接続されたＣＰＵ１０，ＲＡＭ１１，通信インタフェース１６，ハードディスク１２，ディスプレイ１３及び入力装置１４を、主要構成として備えている。ＣＰＵ１０は、プログラム１５に従って一定の処理を実行する処理装置である。ＲＡＭ１１は、ＣＰＵ２０が処理を実行するに際してその作業領域が展開される主記憶装置である。通信インタフェース１６は、バスＢとネットワークＮとの間でデータ形式を変換する装置である。
【００１８】
ディスプレイ１３は、ＣＰＵ１０による処理結果を表示するための表示装置である。入力装置１４は、ＣＰＵ１０に対して各種コマンドや各種データを入力するためのキーボード及びポインティングデバイスである。
【００１９】
ハードディスク１２は、ＣＰＵ１０によって読み込まれて実行される上記プログラム１５の他、プログラム１５を実行しているＣＰＵ１０が、入力装置１４を通じて店舗の仕入担当者により入力された商品名及び数値に基づいて生成した各種データ１７〜１９を、記憶する。例えば、店舗発注データ１７は、店舗が商品を発注するために本部へ送信される電文であり、図６に示すように、当該店舗の店番号，発注対象商品名，発注個数の各情報から構成される。
また、店舗売上データ１８は、店舗が各商品毎の売上実績（販売した該当商品の個数）を報告するために本部へ送信される電文であり、当該店舗の店番号，売上報告対象商品の商品名，販売個数の各情報から構成される。同様に、廃棄仕入データは、納入業者への発注に基づき当該納入業者が当該店舗に納入した商品の商品名及び納入個数又は当該店舗において廃棄された在庫商品の商品名及び廃棄個数を報告するために本部へ送信される電文であり、当該店舗の店番号，納入又は廃棄の報告対象商品名，納入個数又は廃棄個数の各情報から構成される。
【００２０】
上記プログラム１５は、ＣＰＵ１０に対して、入力装置１４を介して入力されたデータに基づいて上述した各データ１７〜１９を生成するとともに、入力されたコマンドに応じて、作成したこれらデータ１７〜１９を、ネットワークＮを介してサーバ装置４へ送信する。
【００２１】
（サーバ装置）
サーバ装置４は、バスＢにより相互に接続されたＣＰＵ４０，ＲＡＭ４１，通信インタフェース４２，及びハードディスク４３を、主要構成として備えている。ＣＰＵ４０は、プログラム４４に従って一定の処理を実行する処理装置である。ＲＡＭ４１は、ＣＰＵ４０が処理を実行するに際してその作業領域が展開される主記憶装置である。通信インタフェース４２は、バスＢとＬＡＮとの間でデータ形式を変換する装置である。
【００２２】
ハードディスク４３（記憶装置に相当する）は、上記プログラム４４を格納する他、各種データを格納している。このハードディスク４３に格納されているデータには、発注トランザクション４５，商品マスタ４６，チェック対象店マスタ４７（第１データマスタに相当する），単品在庫データ４８，当日売上データ４９（単品在庫データ４８と当日売上データ４９とが第２データマスタに相当する），過剰発注データ５０が、含まれている。
【００２３】
発注トランザクション４５は、各店舗に設置されている店舗端末１から送信されてきた店舗発注データ１７を集約したデータであり、図７に示すようなデータ構造を有する。即ち、発注トランザクション４５の各レコード（行）が、個々の店舗発注データ１７に相当する。図２に示すように、この発注トランザクション４５は、各店舗端末１から店舗発注データ１７が送信されてくる毎に、そのレコードが追加される。
【００２４】
商品マスタ４６は、各店舗における各商品の発注が過剰発注であるか否かの判断基準が登録されたテーブルである。即ち、図８に示すように、この商品マスタ４６は、「店」，「商品名」，「チェック対象」及び「過剰発注率」の各フィールドからなるレコードを有している。そして、「店」フィールドには、当該レコードに対応した店舗の店番号が登録され、「商品名」フィールドには、当該レコードに対応した商品の商品名が登録され、「チェック対象」フィールドには、過剰発注か否かを判断するための比較対象が、当該店舗に類似した他の店舗（類似店）での当該商品の販売実績であることを示す文字“類似店”又は当該店舗と同じエリアに存在する他の店舗での当該商品の販売実績であることを示す文字“エリア”が登録され、「過剰発生率」フィールドには、当該店舗における発注後の在庫数と比較対象店舗での発注後の在庫数平均との比率が過剰であるか否かを区切る閾値が登録される。
【００２５】
チェック対象店マスタ４７は、各店舗とにとって類似店となる他の店舗の店番号及び当該店舗と同じエリアに存在する他の店舗の店番号が登録されたテーブルである。即ち、図９に示すように、このチェック対象店マスタ４７は、「店」，「チェック対象」及び「チェック店」の各フィールドからなるレコードを有している。そして、「店」フィールドには、当該レコードに対応した店舗の店番号が登録され、「チェック店」フィールドには、他の店舗の店番号が登録され、「チェック対象」フィールドには、当該レコードに対応した店舗に対して「チェック店」フィールドに店番号が登録されている店舗が類似店に該当することを示す文字“類似店”又は同じエリアに存在する店舗に該当することを示す文字“エリア”が登録される。なお、ここで類似店とは、立地，客層，規模が同じ店舗のことである。
【００２６】
単品在庫データ４８は、各店舗における各商品についての在庫個数が登録されたデータである。即ち、図１０に示すように、この単品在庫データ４８は、「店」，「商品名」及び「在庫数」の各フィールドからなるレコードを有している。そして、「店」フィールドには、当該レコードに対応した店舗の店番号が登録され、「商品名」フィールドには、当該レコードに対応した商品の商品名が登録され、「在庫数」フィールドには、当該店舗における当該商品の在庫数が登録される。なお、この単品在庫データ４８は、図２に示すように、各店舗端末１から上述した廃棄仕入れデータ１９が送信されてくると、その廃棄仕入れデータ１９の内容に応じて更新される。即ち、その廃棄仕入れデータ１９の内容に対応する店及び商品についての新たなレコードが追加されたり、既存のレコードの在庫数が増減される。
【００２７】
当日売上データ４９は、各店舗における本日の各商品の売上個数が登録されたデータである。即ち、図１１に示すように、この当日売上データ４８は、「店」，「商品名」及び「売上数」の各フィールドからなるレコードを有している。そして、「店」フィールドには、当該レコードに対応した店舗の店番号が登録され、「商品名」フィールドには、当該レコードに対応した商品の商品名が登録され、「売上数」フィールドには、当該店舗における当該商品の当日の売上数が登録される。この当日売上データ４９は、毎日２４時に初期化されて、登録されている全てのレコードが削除される。また、この当日売上データ４９は、図２に示すように、各店舗端末１から上述した店舗売上データ１８が送信されてくると、その店舗売上データ１８の内容に応じて更新される。即ち、その店舗売上データ１８の内容に対応する店及び商品についての新たなレコードが追加されたり、既存のレコードの売上数が増加される。
【００２８】
過剰発生データ５０は、図２に示すように、後述する過剰発注データ抽出処理２０によりその発注数が過剰であると判断されたために発注トランザクション４５から抽出されたレコードからなる。従って、この過剰発生データ５０は、図１２に示すように、「店」，「商品名」及び「発注数」の各フィールドから構成されている。
【００２９】
＜処理＞
以下、サーバ装置４のＣＰＵ４０がハードディスク４３内のプログラム４４に従って実行する処理（データ更新処理，過剰発注データ抽出処理２０，発注修正処理２１）について、フローチャートを参照して説明する。
【００３０】
（データ更新処理）
先ず、発注トランザクション４５，単品在庫データ４８及び当日売上データ４９を実行するためにＣＰＵ４０が実行するデータ更新処理を説明する。このデータ更新処理は、サーバ装置４の起動とともにスタートする。そして、スタート後最初のＳ００１では、ＣＰＵ４０は、何れかの店舗端末１から未処理のデータ１７〜１９を受信したか否かをチェックする。そして、未処理のデータ１７〜１９を受信していなければ、このＳ００１の処理を繰り返すが、未処理の店舗発注データ１７を受信していれば処理をＳ００２へ進め、未処理の店舗売上データ１８を受信していれば処理をＳ００３へ進め、未処理の廃棄仕入データ１９を受信していれば処理をＳ００４へ進める。
【００３１】
Ｓ００２では、ＣＰＵ１０は、受信した店舗発注データ１７を発注トランザクション４５に追加する。また、Ｓ００３では、ＣＰＵ１０は、受信した店舗売上データ１８と同じ店番号及び商品名を有する当日売上データ４９中のレコードにおける「売上数」の値に、、受信した店舗売上データ１８中の販売個数を加算する。また、Ｓ００４では、ＣＰＵ１０は、受信した廃棄仕入データ１９中に納入個数が記述されていれば、同廃棄仕入データ１９と同じ店番号及び商品名を有する単品在庫データ４８中の「在庫数」の値に、この納入個数を加算し、同廃棄仕入データ１９中に廃棄個数が記述されていれば、同廃棄仕入データ１９と同じ店番号及び商品名を有する単品在庫データ４８中の「在庫数」の値から、この廃棄個数を減算する。
【００３２】
Ｓ００２乃至Ｓ００４の何れかを完了すると、ＣＰＵ４０は、処理をＳ００１に戻し、次のデータ１７〜１９の受信を待つ。このようにしてデータ更新処理が繰り返されることにより、サーバ装置１のハードディスク４３内の発注トランザクション４５，単品在庫データ４８及び当日売上データ４９は、各店舗における最新の状態を反映することになる。
【００３３】
（過剰発注データ抽出処理）
次に、発注トランザクション４５から過剰発注データ５０を抽出するためにＣＰＵ４０によって実行される過剰発注データ抽出処理を、図４のフローチャートに基づいて説明する。この過剰発注データ抽出処理は、例えば１時間の感覚を空けて定期的に実行される。そして、スタート後最初のＳ１０１では、ＣＰＵ４０は、店番号を示す変数ｎを初期化して、“１”を代入する。続いて、ＣＰＵ４０は、各店舗毎に過剰発注データ５０を抽出するために、Ｓ１０２乃至Ｓ１１５のループ処理を実行する。
【００３４】
このループ処理に入って最初のＳ１０２では、ＣＰＵ４０は、発注トランザクション４５から店番号がｎであるレコードのみからなる部分を、ＲＡＭ４１上に読み込む。上述した図７は、このようにして読み込まれた発注トランザクション４５の内容を示す例である。続いて、ＣＰＵ４０は、Ｓ１０２にて読み込んだ発注トランザクション４５に含まれる各レコードの「商品名」フィールドに記載されている各商品名が示す商品毎に、過剰発注データ５０を抽出するためのサブループに入る。
【００３５】
このサブループに入って最初のＳ１０３では、ＣＰＵ４０は、Ｓ１０２にて読み込んだ発注トランザクション４５に含まれる各レコードの「商品名」フィールドから、未処理の商品名を一つ特定する。
【００３６】
次のＳ１０４では、ＣＰＵ４０は、処理対象店舗における処理対象商品についての、発注及び納品後の在庫数（以下、「発注後在庫数」という）を算出して、ＲＡＭ４１上の変数ｉに代入する。即ち、ＣＰＵ４０は、単品在庫データ４８における店番号がｎであるレコードの在庫数に対して、当日売上データ４９における店番号がｎであるレコードの売上数を減算するとともに、ＲＡＭ４１上の発注トランザクション４５における店番号がｎであるレコードの「発注数」を加算することにより発注後在庫数を算出して、ＲＡＭ４１上の変数ｉに代入する。
【００３７】
例えば、いま、単品在庫データ４８が図１０に示す通りであり、当日売上データ４９が図１１に示す通りであり、発注トランザクション４５が図１３に示す通りであったとする。この場合には、店番号１及びキャベツについて算出される発注後在庫数は、図１４に示すように“４０”であるので、ＣＰＵ４０は、この値“４０”を変数ｉに代する。
【００３８】
次のＳ１０５では、ＣＰＵ４０は、商品マスタ４６における店番号がｎであるとともに処理対象商品名を含むレコードの「チェック対象」に記載されている文字を読み出す。
【００３９】
次のＳ１０６では、ＣＰＵ４０は、チェック対象店マスタ４７における店番号がｎであるとともにＳ１０５にて読み出した文字を「チェック対象」フィールドに含む全レコードから、「チェック店」フィールドの値（チェック店の店番号）を読み出す。
【００４０】
次のＳ１０７では、ＣＰＵ４０は、Ｓ１０６にて店番号を読み出したチェック店毎に、当該チェック店における処理対象商品についての発注後在庫数を夫々算出する。即ち、ＣＰＵ４０は、Ｓ１０６にて読み出した各店番号ｍ毎に、単品在庫データ４８における店番号がｍであるレコードの在庫数に対して、当日売上データ４９における店番号がｍであるレコードの売上数を減算するとともに、ＲＡＭ４１上の発注トランザクション４５における店番号がｍであるレコードの「発注数」を加算することにより発注後在庫数を算出する。
【００４１】
例えば、いま、処理対象店舗の店番号が“１”であるとともに処理対象商品がキャベツであったとする。そして、これら店番号“１”及びキャベツについての商品マスタ４６及びチェック対象店マスタ４７の内容が夫々図８，図９に示す通りであったとする。この場合、チェック店の店番号は、“２”，“４”，“６”，“７”となる。よって、単品在庫データ４８が図１０に示す通りであり、当日売上データ４９が図１１に示す通りであり、発注トランザクション４５が図１３に示す通りであったとすると、各チェック店の店番号について算出される発注後在庫数は、夫々、図１４に示すように“１５”，“３０”，“１５”，“１５”となる。
【００４２】
次のＳ１０８では、ＣＰＵ４０は、Ｓ１０７にて各チェック店の店番号について算出された発注後在庫数の平均を算出して、ＲＡＭ４１上の変数ｊに代入する。図１４の例の場合には、算出される発注後在庫の平均は、“１８．７５”となる。
【００４３】
次のＳ１０９では、ＣＰＵ４０は、商品マスタ４６における店番号がｎであるとともに処理対象商品名を含むレコードの「過剰発生率」に記載されている値を読み出し、変数ｋに代入する。
【００４４】
次のＳ１１０では、ＣＰＵ４０は、Ｓ１０８にて代入した変数ｊに対するＳ１０４にて代入した変数ｉの比，即ち、複数のチェック店についての発注後在庫の平均に対する処理対象店舗についての発注後在庫のズレの比率がＳ１０９にて代入したが変数ｋの値（閾値）よりも大きいかどうかを、チェックする。そして、変数ｊに対する変数ｉの比が変数ｋ以下であれば、ＣＰＵ４０は、処理をそのままＳ１１２へ進める。これに対して、変数ｊに対する変数ｉの比が変数ｋよりも大きい場合には、ＣＰＵ４０は、Ｓ１１１において、店番号がｎであるとともに処理対象商品名を含むレコードをＲＡＭ４１上の発注トランザクション４５から抽出して、ハードディスク４３上の過剰発注データ５０に出力する。Ｓ１１１の完了後、ＣＰＵ４０は、処理をＳ１１２へ進める。
【００４５】
Ｓ１１２では、ＣＰＵ４０は、Ｓ１０２にてＲＡＭ４１上に読み込んだ店番号が“ｎ”であるレコードのみからなる発注トランザクション４５に含まれる全ての商品名について、Ｓ１０３以下の処理を完了したか否かをチェックする。そして、未だ全ての商品名にて処理を完了していない場合には、ＣＰＵ４０は、処理をＳ１０３に戻し、次の商品名に対する処理を行う。これに対して、Ｓ１０３乃至Ｓ１１２のサブループ処理を繰り返した結果として全ての商品名についての処理を完了した場合には、ＣＰＵ４０は、処理をＳ１１３へ進める。
【００４６】
Ｓ１１３では、ＣＰＵ４０は、変数ｎを一つインクリメントする。
【００４７】
次のＳ１１４では、ＣＰＵ４０は、変数ｎが、店番号の最大値を超えているか否かをチェックする。そして、未だ変数ｎが店番号の最大値を超えていない場合には、ＣＰＵ４０は、未だ全ての店舗について過剰発注データ５０を抽出する処理を完了していないと判断して、処理をＳ１０２に戻し、次の店番号の店舗についての処理を行う。これに対して、Ｓ１０２乃至Ｓ１１４のループ処理を繰り返した結果として変数ｎが店番号の最大値を超えた場合には、ＣＰＵ４０は、全ての店舗について過剰発注データ５０を抽出する処理を完了したと判断して、処理を終了する。
【００４８】
（発注修正処理）
次に、ハードディスク４３上に出力された過剰発注データ５０に基づいて、発注トランザクション４５中の対応するレコードについての修正を促すためにＣＰＵ４０によって実行される発注修正処理を、図５に基づいて説明する。この発注修正処理は、過剰発注データ抽出処理２０が完了したことをトリガにスタートする。
【００４９】
スタート後最初のＳ２０１では、ＣＰＵ４０は、ハードディスク４３上の過剰発注データ５０をＲＡＭ４１上に読み込む。
【００５０】
次のＳ２０２では、ＣＰＵ４０は、過剰発注データ５０に含まれる全てのレコードについて、夫々、そのレコード中の店番号が示す店舗の店舗端末１及びコンソール２へ、そのレコード中の発注数が過剰発注である疑いがある旨の警告メッセージを送信する。この警告メッセージの内容は、店舗端末１及びコンソール２のディスプレイ１３上に表示される。
【００５１】
次のＳ２０３では、ＣＰＵ４０は、Ｓ２０２で警告メッセージを出力してからの経過時間が所定のタイムリミットに達したか否かをチェックする。そして、未だタイムリミットに達していなければ、ＣＰＵ４０は、Ｓ２０４において、何れか店舗端末１又はコンソール２から、発注トランザクション４５における何れかの店番号及び商品名についてのレコード中の発注数に対する修正要求があったか否かをチェックする。そして、修正要求が全くなければ、処理をＳ２０３へ戻す。これに対して、何れかのレコード中の発注数に対する修正要求があれば、Ｓ２０５において、ハードディスク４３上の発注トランザクション４５における修正要求があったレコード中の発注数を、修正する。Ｓ２０５を完了すると、ＣＰＵ４０は、処理をＳ２０３へ戻す。これに対して、Ｓ２０３乃至Ｓ２０５の処理を繰り返した結果、経過時間が所定のタイムリミットに達したとＳ２０３にて判断した場合には、ＣＰＵ４０は、Ｓ２０６において、ハードディスク４３上の発注トランザクション４５を実行する。即ち、発注トランザクション４５中のレコードを商品名によってソートし、商品名毎に分割し、分割された各レコード群を、夫々、商品名に対応した仕入先サーバ３へ送信する。Ｓ２０６を完了すると、ＣＰＵ４０は、発注修正処理を終了する。
【００５２】
（動作）
上述したように構成された本実施形態の発注システムによると、図２に示すように、各店舗端末１からサーバ装置４へ送信されてきた店舗発注データ１７は、発注トランザクション４５としてハードディスク４３に格納される。そして、定期的に、各店舗及び各商品名毎に、その店舗におけるその商品名についての発注トランザクション４５のレコード中の発注数が過剰であるか否かが、その数の商品が納品された後における当該店舗における当該商品の在庫数の当該店舗と同類又は同エリアの他の店舗における当該商品の在庫数（それら店舗において発注された商品が納品された後における当該店舗における当該商品の在庫数）の平均に対する比率が当該店舗における当該商品名について予め設定された基準値（過剰発注率）を超えたか否かに基づいて、判断される。そして、発注過剰であると判断された発注トランザクション４５中のレコードについては、過剰発注である可能性が高い旨の警告メッセージが当該店舗端末１又はコンソール２のディスプレイ１３上で表示されるので、店舗及び本部の仕入れ担当者は、単にディスプレイ１３上に表示されるメッセージを見るだけで、過剰発生の可能性のある発注を全て認識することができ、見逃すことがない。しかも、過剰発生の可能性の判定は、発注を行った処理対象店舗以外の店舗，更に言えば、処理対象店舗と立地，客層，規模等が類似した一又は複数の他店舗（「チェック対象」＝“類似点”の場合），若しくは、処理対象店舗と同エリアにある一又は複数の他店舗（「チェック対象」＝“エリア”の場合）における発注・納品後の在庫平均と比較して、処理対象店舗における当該発注に基づく納品後の在庫が多くなりすぎる（両者の比率が「過剰発生率」の値を超えた）か否かに基づいて行われるので、たとえ、処理対象店舗において発注の実績がない商品を初めて発注した場合であったとしても、過剰発生の可能性の判定を行うことができる。
【図面の簡単な説明】
【００５３】
【図１】本発明による過誤発注防止方法が適用される小売チェーンにおける発注システムを示すブロック図
【図２】過剰発注チェックのための手順を示すデータフロー図
【図３】サーバ装置のＣＰＵが実行するデータ更新処理を示すフローチャート
【図４】サーバ装置のＣＰＵが実行する過剰発注データ抽出処理を示すフローチャート
【図５】サーバ装置のＣＰＵが実行する発注修正処理を示すフローチャート
【図６】店舗発注データのデータ構造を示す図
【図７】発注トランザクションのデータ構造を示す図
【図８】商品マスタのデータ構造を示す図
【図９】チェック対象店マスタのデータ構造を示す図
【図１０】単品在庫データのデータ構造を示す図
【図１１】当日売上データのデータ構造を示す図
【図１２】過剰発注データのデータ構造を示す図
【図１３】発注トランザクションのデータ構造を示す図
【図１４】発注後在庫数の計算例を示す図
【図１５】従来における過剰チェックのための手順を示すデータフロー図の
【符号の説明】
【００５４】
１    店舗端末
２    コンソール
３    仕入先サーバ
４    サーバ装置
４０    ＣＰＵ
４１    ＲＡＭ
４３    ハードディスク
４４    プログラム
４５    発注トランザクション
４６    商品マスタ
４７    チェック対象店マスタ
４８    単品在庫データ
４９    当日売上データ
【図１】
0004664847.tif 000002
【図２】
0004664847.tif 000003
【図３】
0004664847.tif 000004
【図４】
0004664847.tif 000005
【図５】
0004664847.tif 000006
【図６】
0004664847.tif 000007
【図７】
0004664847.tif 000008
【図８】
0004664847.tif 000009
【図９】
0004664847.tif 000010
【図１０】
0004664847.tif 000011
【図１１】
0004664847.tif 000012
【図１２】
0004664847.tif 000013
【図１３】
0004664847.tif 000014
【図１４】
0004664847.tif 000015
【図１５】
0004664847.tif 000016