(57)【要約】【課題】共通倉庫の在庫数及び保管倉庫の在庫数に基づき、受注商品の在庫を共通倉庫から保管倉庫に移動する必要があるか、必要な場合は移動可能かを判断し、移動可能な場合は商品の移動数を含む在庫移動指示データを自動的に作成できるデータ作成装置、データ作成方法及びデータ作成プログラムの提供を課題とする。【解決手段】本実施形態では（１）在庫データから、元データ中の商品コード及び保管倉庫コードと同じものと紐付く共通倉庫の在庫数及び保管倉庫の在庫数を取得して退避データに退避させ（２）退避データ中の保管倉庫の在庫数が商品の受注残数より少ないかを判断し（３）前記少ない場合、退避データ中の共通倉庫の在庫数が前記受注残数以上であるかを判断し（４）前記以上である場合、前記受注残数を共通倉庫から保管倉庫への商品の移動可能数に更新し（５）前記更新した移動可能数を商品の移動数として含む在庫移動指示データを作成する。【選択図】図２
2019204213.tif 000002
【特許請求の範囲】
【請求項１】
制御部および記憶部を備え、第一の倉庫から第二の倉庫への在庫の移動についての指示内容を含む在庫移動指示データを作成するデータ作成装置であって、
前記記憶部には、
商品を識別するための商品識別データと前記第二の倉庫を識別するための第二倉庫識別データと前記商品の前記第一の倉庫における在庫数と前記商品の前記第二の倉庫における在庫数とを含む在庫データと、
商品識別データと第二倉庫識別データと前記商品の受注についての数量とを含み、前記在庫移動指示データ作成の元となるデータである元データと、
が格納されており、
前記制御部は、
前記在庫データから、前記元データに含まれる商品識別データおよび第二倉庫識別データと同じものと紐付く前記第一の倉庫における在庫数および前記第二の倉庫における在庫数を取得して退避データに退避させる退避手段と、
前記退避データに含まれる前記第二の倉庫における在庫数が前記数量より少ないか否かの判断を行う第一判断手段と、
前記第一判断手段で前記少ないと判断した場合、前記退避データに含まれる前記第一の倉庫における在庫数が前記数量以上であるか否かの判断を行う第二判断手段と、
前記第二判断手段で前記以上であると判断した場合、前記数量を、前記第一の倉庫から前記第二の倉庫への前記商品の移動可能数に更新する第一更新手段と、
前記第一更新手段で更新した前記移動可能数を前記商品の移動数として含む前記在庫移動指示データを作成する指示データ作成手段と、
を備えること、
を特徴とするデータ作成装置。
【請求項２】
前記記憶部には、
前記第一の倉庫を識別するための第一倉庫識別データと商品識別データと前記商品の前記第一の倉庫における在庫数とを含む第一倉庫データと、
第二倉庫識別データと商品識別データと前記商品の前記第二の倉庫における在庫数とを含む第二倉庫データと、
商品識別データと第二倉庫識別データとを含む受注データと、
が更に格納されており、
前記制御部は、
前記第一倉庫データから、所定の第一倉庫識別データおよび前記受注データに含まれる商品識別データと同じものと紐付く前記第一の倉庫における在庫数を取得し、前記第二倉庫データから、前記受注データに含まれる第二倉庫識別データおよび商品識別データと同じものと紐付く前記第二の倉庫における在庫数を取得することにより、前記受注データに含まれる商品識別データおよび第二倉庫識別データと前記取得した前記第一の倉庫における在庫数と前記取得した前記第二の倉庫における在庫数とを含む前記在庫データを作成する在庫データ作成手段
を更に備えること、
を特徴とする請求項１に記載のデータ作成装置。
【請求項３】
前記記憶部には、
商品識別データと移動可能品不可品フラグとを含む商品マスタが更に格納されており、
前記移動可能品不可品フラグは、前記商品が前記第一の倉庫から前記第二の倉庫へ移動できる商品であることを示すフラグである可能品フラグまたは前記商品が前記第一の倉庫から前記第二の倉庫へ移動できない商品であることを示すフラグである不可品フラグであり、
前記在庫データ作成手段は、
前記商品マスタにおいて前記可能品フラグが付されている商品識別データと同じものと紐付く在庫数を取得すること、
を特徴とする請求項２に記載のデータ作成装置。
【請求項４】
前記記憶部には、
事業所を識別するための事業所識別データと第一倉庫識別データとを含む事業所マスタが更に格納されており、
前記在庫データ作成手段は、
前記受注データに含まれる事業所識別データと同じものと紐付く前記事業所マスタ中の第一倉庫識別データを取得し、当該取得した第一倉庫識別データを前記所定の第一倉庫識別データとすることにより、前記所定の第一倉庫識別データと同じものと紐付く前記第一の倉庫における在庫数を取得すること、
を特徴とする請求項２または３に記載のデータ作成装置。
【請求項５】
前記数量が、前記商品の受注数および当該受注数から前記商品の売上数を差し引いた数値である受注残数であり、
前記第一判断手段および前記第二判断手段は、
前記受注数および前記受注残数のうち、値の小さい方を前記数量として、前記判断を行うこと、
を特徴とする請求項１から４のいずれか１つに記載のデータ作成装置。
【請求項６】
前記制御部は、
前記第一判断手段で少なくないと判断した場合、前記在庫データおよび前記退避データに含まれる前記第二の倉庫における在庫数から前記数量を減算することにより当該在庫数の更新をし、前記第二判断手段で前記以上であると判断した場合、前記在庫データおよび前記退避データに含まれる前記第一の倉庫における在庫数から前記数量を減算することにより当該在庫数の更新をする第二更新手段
を更に備え、
前記退避手段、前記第一判断手段、前記第二判断手段および前記第一更新手段は、前記第二更新手段が更新した前記在庫数に基づいて処理を実行すること、
を特徴とする請求項１から５のいずれか１つに記載のデータ作成装置。
【請求項７】
前記記憶部には、
前記第一の倉庫を識別するための第一倉庫識別データと第二倉庫識別データと事業所を識別するための事業所識別データとを含む倉庫マスタ
が更に格納されており、
前記指示データ作成手段は、
前記倉庫マスタにおいて前記元データに含まれる第二倉庫識別データが有する事業所識別データと同じものを有する第一倉庫識別データと、前記元データに含まれる第二倉庫識別データと、前記元データに含まれる商品識別データと、前記移動数と、を含む前記在庫移動指示データを作成すること、
を特徴とする請求項１から６のいずれか１つに記載のデータ作成装置。
【請求項８】
制御部および記憶部を備える情報処理装置で実行される、第一の倉庫から第二の倉庫への在庫の移動についての指示内容を含む在庫移動指示データを作成するデータ作成方法であって、
前記記憶部には、
商品を識別するための商品識別データと前記第二の倉庫を識別するための第二倉庫識別データと前記商品の前記第一の倉庫における在庫数と前記商品の前記第二の倉庫における在庫数とを含む在庫データと、
商品識別データと第二倉庫識別データと前記商品の受注についての数量とを含み、前記在庫移動指示データ作成の元となるデータである元データと、
が格納されており、
前記制御部で実行される、
前記在庫データから、前記元データに含まれる商品識別データおよび第二倉庫識別データと同じものと紐付く前記第一の倉庫における在庫数および前記第二の倉庫における在庫数を取得して退避データに退避させる退避ステップと、
前記退避データに含まれる前記第二の倉庫における在庫数が前記数量より少ないか否かの判断を行う第一判断ステップと、
前記第一判断ステップで前記少ないと判断した場合、前記退避データに含まれる前記第一の倉庫における在庫数が前記数量以上であるか否かの判断を行う第二判断ステップと、
前記第二判断ステップで前記以上であると判断した場合、前記数量を、前記第一の倉庫から前記第二の倉庫への前記商品の移動可能数に更新する第一更新ステップと、
前記第一更新ステップで更新した前記移動可能数を前記商品の移動数として含む前記在庫移動指示データを作成する指示データ作成ステップと、
を含むこと、
を特徴とするデータ作成方法。
【請求項９】
制御部および記憶部を備える情報処理装置に実行させるための、第一の倉庫から第二の倉庫への在庫の移動についての指示内容を含む在庫移動指示データを作成するデータ作成プログラムであって、
前記記憶部には、
商品を識別するための商品識別データと前記第二の倉庫を識別するための第二倉庫識別データと前記商品の前記第一の倉庫における在庫数と前記商品の前記第二の倉庫における在庫数とを含む在庫データと、
商品識別データと第二倉庫識別データと前記商品の受注についての数量とを含み、前記在庫移動指示データ作成の元となるデータである元データと、
が格納されており、
前記制御部に実行させるための、
前記在庫データから、前記元データに含まれる商品識別データおよび第二倉庫識別データと同じものと紐付く前記第一の倉庫における在庫数および前記第二の倉庫における在庫数を取得して退避データに退避させる退避ステップと、
前記退避データに含まれる前記第二の倉庫における在庫数が前記数量より少ないか否かの判断を行う第一判断ステップと、
前記第一判断ステップで前記少ないと判断した場合、前記退避データに含まれる前記第一の倉庫における在庫数が前記数量以上であるか否かの判断を行う第二判断ステップと、
前記第二判断ステップで前記以上であると判断した場合、前記数量を、前記第一の倉庫から前記第二の倉庫への前記商品の移動可能数に更新する第一更新ステップと、
前記第一更新ステップで更新した前記移動可能数を前記商品の移動数として含む前記在庫移動指示データを作成する指示データ作成ステップと、
を含むこと、
を特徴とするデータ作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ作成装置、データ作成方法およびデータ作成プログラムに関する。
【背景技術】
【０００２】
特許文献１には、配送車の在庫を補充する必要がある場合には、主倉庫その他からの在庫の移動を行い、第３在庫データ記憶手段の車載在庫データを更新することが開示されている（特許文献１の段落００２０参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−１０１５１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１では、主倉庫から配送車への移動の対象となる商品が移動できる商品であるか否かを帳票等で確認する必要があり、１商品ずつ移動処理を手動で行う必要がり、大変な時間と労力を要していた。
【０００５】
移動できる商品であるか否かの確認とは、具体的には、まず、担当者別またはエリア別の倉庫である保管倉庫における在庫数が、商品の受注についての数量（例えば、受注数や受注残数）より少ないか否かを判断する。言い換えると、保管倉庫への在庫移動が必要であるか否かを判断する。次に、前記少ない場合（すなわち、前記保管倉庫の在庫が足りていない場合）、センター倉庫である共通倉庫における在庫数が前記受注についての数量以上であるか否かを判断する。言い換えると、共通倉庫からの在庫移動が可能であるか否かを判断する。そして、前記以上である場合、受注した商品を前記共通倉庫から前記保管倉庫へと前記受注についての数量分移動できるという内容を含む在庫移動指示データを作成する。しかしながら、これら一連の作業は、従来、担当者が手作業で行っており、大変な時間と労力を要していた。
【０００６】
本発明は、上記問題点に鑑みてなされたものであって、第一の倉庫における在庫数および第二の倉庫における在庫数に基づいて、受注した商品の在庫を前記第一の倉庫から前記第二の倉庫に移動する必要があるか否か、必要な場合は移動可能か否かを判断し、更に、移動可能な場合は商品の移動数を含む在庫移動指示データを自動的に作成できるデータ作成装置、データ作成方法およびデータ作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明に係るデータ作成装置は、制御部および記憶部を備え、第一の倉庫から第二の倉庫への在庫の移動についての指示内容を含む在庫移動指示データを作成するデータ作成装置であって、前記記憶部には、商品を識別するための商品識別データと前記第二の倉庫を識別するための第二倉庫識別データと前記商品の前記第一の倉庫における在庫数と前記商品の前記第二の倉庫における在庫数とを含む在庫データと、商品識別データと第二倉庫識別データと前記商品の受注についての数量とを含み、前記在庫移動指示データ作成の元となるデータである元データと、が格納されており、前記制御部は、前記在庫データから、前記元データに含まれる商品識別データおよび第二倉庫識別データと同じものと紐付く前記第一の倉庫における在庫数および前記第二の倉庫における在庫数を取得して退避データに退避させる退避手段と、前記退避データに含まれる前記第二の倉庫における在庫数が前記数量より少ないか否かの判断を行う第一判断手段と、前記第一判断手段で前記少ないと判断した場合、前記退避データに含まれる前記第一の倉庫における在庫数が前記数量以上であるか否かの判断を行う第二判断手段と、前記第二判断手段で前記以上であると判断した場合、前記数量を、前記第一の倉庫から前記第二の倉庫への前記商品の移動可能数に更新する第一更新手段と、前記第一更新手段で更新した前記移動可能数を前記商品の移動数として含む前記在庫移動指示データを作成する指示データ作成手段と、を備えること、特徴とする。
【０００８】
また、本発明に係るデータ作成装置は、前記記憶部には、前記第一の倉庫を識別するための第一倉庫識別データと商品識別データと前記商品の前記第一の倉庫における在庫数とを含む第一倉庫データと、第二倉庫識別データと商品識別データと前記商品の前記第二の倉庫における在庫数とを含む第二倉庫データと、商品識別データと第二倉庫識別データとを含む受注データと、が更に格納されており、前記制御部が、前記第一倉庫データから、所定の第一倉庫識別データおよび前記受注データに含まれる商品識別データと同じものと紐付く前記第一の倉庫における在庫数を取得し、前記第二倉庫データから、前記受注データに含まれる第二倉庫識別データおよび商品識別データと同じものと紐付く前記第二の倉庫における在庫数を取得することにより、前記受注データに含まれる商品識別データおよび第二倉庫識別データと前記取得した前記第一の倉庫における在庫数と前記取得した前記第二の倉庫における在庫数とを含む前記在庫データを作成する在庫データ作成手段を更に備えること、を特徴とする。
【０００９】
また、本発明に係るデータ作成装置は、前記記憶部には、商品識別データと移動可能品不可品フラグとを含む商品マスタが更に格納されており、前記移動可能品不可品フラグは、前記商品が前記第一の倉庫から前記第二の倉庫へ移動できる商品であることを示すフラグである可能品フラグまたは前記商品が前記第一の倉庫から前記第二の倉庫へ移動できない商品であることを示すフラグである不可品フラグであり、前記在庫データ作成手段が、前記商品マスタにおいて前記可能品フラグが付されている商品識別データと同じものと紐付く在庫数を取得すること、を特徴とする。
【００１０】
また、本発明に係るデータ作成装置は、前記記憶部には、事業所を識別するための事業所識別データと第一倉庫識別データとを含む事業所マスタが更に格納されており、前記在庫データ作成手段が、前記受注データに含まれる事業所識別データと同じものと紐付く前記事業所マスタ中の第一倉庫識別データを取得し、当該取得した第一倉庫識別データを前記所定の第一倉庫識別データとすることにより、前記所定の第一倉庫識別データと同じものと紐付く前記第一の倉庫における在庫数を取得すること、を特徴とする。
【００１１】
また、本発明に係るデータ作成装置は、前記数量が、前記商品の受注数および当該受注数から前記商品の売上数を差し引いた数値である受注残数であり、前記第一判断手段および前記第二判断手段が、前記受注数および前記受注残数のうち、値の小さい方を前記数量として、前記判断を行うこと、を特徴とする。
【００１２】
また、本発明に係るデータ作成装置は、前記制御部が、前記第一判断手段で少なくないと判断した場合、前記在庫データおよび前記退避データに含まれる前記第二の倉庫における在庫数から前記数量を減算することにより当該在庫数の更新をし、前記第二判断手段で前記以上であると判断した場合、前記在庫データおよび前記退避データに含まれる前記第一の倉庫における在庫数から前記数量を減算することにより当該在庫数の更新をする第二更新手段を更に備え、前記退避手段、前記第一判断手段、前記第二判断手段および前記第一更新手段が、前記第二更新手段が更新した前記在庫数に基づいて処理を実行すること、を特徴とする。
【００１３】
また、本発明に係るデータ作成装置は、前記記憶部には、前記第一の倉庫を識別するための第一倉庫識別データと第二倉庫識別データと事業所を識別するための事業所識別データとを含む倉庫マスタが更に格納されており、前記指示データ作成手段が、前記倉庫マスタにおいて前記元データに含まれる第二倉庫識別データが有する事業所識別データと同じものを有する第一倉庫識別データと、前記元データに含まれる第二倉庫識別データと、前記元データに含まれる商品識別データと、前記移動数と、を含む前記在庫移動指示データを作成すること、を特徴とする。
【００１４】
また、本発明に係るデータ作成方法は、制御部および記憶部を備える情報処理装置で実行される、第一の倉庫から第二の倉庫への在庫の移動についての指示内容を含む在庫移動指示データを作成するデータ作成方法であって、前記記憶部には、商品を識別するための商品識別データと前記第二の倉庫を識別するための第二倉庫識別データと前記商品の前記第一の倉庫における在庫数と前記商品の前記第二の倉庫における在庫数とを含む在庫データと、商品識別データと第二倉庫識別データと前記商品の受注についての数量とを含み、前記在庫移動指示データ作成の元となるデータである元データと、が格納されており、前記制御部で実行される、前記在庫データから、前記元データに含まれる商品識別データおよび第二倉庫識別データと同じものと紐付く前記第一の倉庫における在庫数および前記第二の倉庫における在庫数を取得して退避データに退避させる退避ステップと、前記退避データに含まれる前記第二の倉庫における在庫数が前記数量より少ないか否かの判断を行う第一判断ステップと、前記第一判断ステップで前記少ないと判断した場合、前記退避データに含まれる前記第一の倉庫における在庫数が前記数量以上であるか否かの判断を行う第二判断ステップと、前記第二判断ステップで前記以上であると判断した場合、前記数量を、前記第一の倉庫から前記第二の倉庫への前記商品の移動可能数に更新する第一更新ステップと、前記第一更新ステップで更新した前記移動可能数を前記商品の移動数として含む前記在庫移動指示データを作成する指示データ作成ステップと、を含むこと、を特徴とする。
【００１５】
また、本発明に係るデータ作成プログラムは、制御部および記憶部を備える情報処理装置に実行させるための、第一の倉庫から第二の倉庫への在庫の移動についての指示内容を含む在庫移動指示データを作成するデータ作成プログラムであって、前記記憶部には、商品を識別するための商品識別データと前記第二の倉庫を識別するための第二倉庫識別データと前記商品の前記第一の倉庫における在庫数と前記商品の前記第二の倉庫における在庫数とを含む在庫データと、商品識別データと第二倉庫識別データと前記商品の受注についての数量とを含み、前記在庫移動指示データ作成の元となるデータである元データと、が格納されており、前記制御部に実行させるための、前記在庫データから、前記元データに含まれる商品識別データおよび第二倉庫識別データと同じものと紐付く前記第一の倉庫における在庫数および前記第二の倉庫における在庫数を取得して退避データに退避させる退避ステップと、前記退避データに含まれる前記第二の倉庫における在庫数が前記数量より少ないか否かの判断を行う第一判断ステップと、前記第一判断ステップで前記少ないと判断した場合、前記退避データに含まれる前記第一の倉庫における在庫数が前記数量以上であるか否かの判断を行う第二判断ステップと、前記第二判断ステップで前記以上であると判断した場合、前記数量を、前記第一の倉庫から前記第二の倉庫への前記商品の移動可能数に更新する第一更新ステップと、前記第一更新ステップで更新した前記移動可能数を前記商品の移動数として含む前記在庫移動指示データを作成する指示データ作成ステップと、を含むこと、を特徴とする。
【発明の効果】
【００１６】
本発明によれば、第一の倉庫における在庫数および第二の倉庫における在庫数に基づいて、受注した商品の在庫を前記第一の倉庫から前記第二の倉庫に移動する必要があるか否か、必要な場合は移動可能か否かを判断し、更に、移動可能な場合は商品の移動数を含む在庫移動指示データを自動的に作成できるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】図１は、データ作成装置の構成の一例を示すブロック図である。
【図２】図２は、本実施形態に係る処理の流れの一例を示す図である。
【図３】図３は、共通倉庫データ、保管倉庫データ、保管倉庫の受注データ、商品マスタ、事業所マスタおよび倉庫マスタの一例を示す図である。
【図４】図４は、在庫データの一例を示す図である。
【図５】図５は、受注残数データの一例を示す図である。
【図６】図６は、出荷可能数データの一例を示す図である。
【図７】図７は、在庫データ、受注残数データおよび出荷可能数データをまとめることにより作成される、在庫移動指示データ作成の元となるデータである元データの一例を示す図である。
【図８】図８は、退避データの一例を示す図である。
【図９】図９は、元データの１行目のレコードを元にして、保管倉庫からの在庫数等を取得して退避させた場合等における退避データの一例を示す図である。
【図１０】図１０は、元データの１行目のレコードを元にして、共通倉庫からの在庫数等を取得して退避させた場合等における退避データの一例を示す図である。
【図１１】図１１は、元データの２行目のレコードを元にして、保管倉庫からの在庫数等を取得して退避させた場合等における退避データの一例を示す図である。
【図１２】図１２は、元データの２行目のレコードを元にして、共通倉庫からの在庫数等を取得して退避させた場合等における退避データの一例を示す図である。
【図１３】図１３は、元データの２行目のレコードを元にして更新した、元データ、退避データおよび在庫データの一例を示す図である。
【図１４】図１４は、元データの３行目のレコードを元にして、保管倉庫からの在庫数等を取得して退避させた場合等における退避データの一例を示す図である。
【図１５】図１５は、元データの３行目のレコードを元にして、共通倉庫からの在庫数等を取得して退避させた場合等における退避データの一例を示す図である。
【図１６】図１６は、元データの３行目のレコードを元にして更新した、元データ、退避データおよび在庫データの一例を示す図である。
【図１７】図１７は、元データの４行目のレコードを元にして、保管倉庫からの在庫数等を取得して退避させた場合等における退避データの一例を示す図である。
【図１８】図１８は、元データの４行目のレコードを元にして、共通倉庫からの在庫数等を取得して退避させた場合等における退避データの一例を示す図である。
【図１９】図１９は、元データの４行目のレコードを元にして更新した、元データ、退避データおよび在庫データの一例を示す図である。
【図２０】図２０は、元データの５行目のレコードを元にして、処理を行った場合における退避データの一例を示す図である。
【図２１】図２１は、移動可能ＦＬＧおよび移動可能数がセットされることにより更新された元データにおけるレコードを、所定の条件に従い並び替えた後の元データ（並替後元データ）の一例を示す図である。
【図２２】図２２は、退避データの一例を示す図である。
【図２３】図２３は、移動番号および行番号の作成の仕方の一例を示す図である。
【図２４】図２４は、並替後元データの２行目のレコードを元にして作成される在庫移動指示データの一例を示す図である。
【図２５】図２５は、移動番号および行番号の作成の仕方の一例を示す図である。
【図２６】図２６は、並替後元データの３行目のレコードを元にして作成される在庫移動指示データの一例を示す図である。
【図２７】図２７は、行番号の作成の仕方の一例を示す図である。
【図２８】図２８は、並替後元データの４行目のレコードを元にして作成される在庫移動指示データの一例を示す図である。
【発明を実施するための形態】
【００１８】
以下に、データ作成装置、データ作成方法およびデータ作成プログラムの実施形態を、図面に基づいて詳細に説明する。なお、本実施形態により本発明が限定されるものではない。
【００１９】
［１．概要］
商品を受注した際には、従来においては、受注商品が移動できる商品かどうかを帳票等で確認し、１商品ずつ入力しながら移動処理を行う必要があったため、時間がかかるという問題があった。
【００２０】
そこで、本実施形態においては、例えば、受注入力画面において保管（出荷待ち）倉庫を指定し、保管倉庫の在庫数が受注商品の数量より少ない場合、条件に従い共通倉庫から保管倉庫への在庫移動の指示データを自動的に作成できるようにした。なお、本実施形態においては、自動的に在庫移動指示データを作成できる商品を、移動可能品として設定されている商品のみに限定することも可能である。
【００２１】
また、本実施形態においては、例えば、在庫移動指示データの作成を定期的に実行することにより、受注伝票入力後、人の手を介さず自動的に在庫移動指示データを作成することができる。
【００２２】
そして、本実施形態においては、例えば、受注伝票入力順に移動可能か否かの判断を行い在庫移動することにより、受注入力担当者間での在庫移動の不公平感なく適正な在庫のやり取りをすることができ、この結果、業務の効率化に繋がる。以下、具体的な構成および動作について説明する。
【００２３】
［２．構成］
本実施形態に係るデータ作成装置１００の構成の一例について、図１を参照して説明する。図１は、データ作成装置１００の構成の一例を示すブロック図である。
【００２４】
データ作成装置１００は、市販のデスクトップ型パーソナルコンピュータである。なお、データ作成装置１００は、デスクトップ型パーソナルコンピュータのような据置型情報処理装置に限らず、市販されているノート型パーソナルコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、スマートフォン、タブレット型パーソナルコンピュータなどの携帯型情報処理装置であってもよい。
【００２５】
データ作成装置１００は、制御部１０２と通信インターフェース部１０４と記憶部１０６と入出力インターフェース部１０８と、を備えている。データ作成装置１００が備えている各部は、任意の通信路を介して通信可能に接続されている。
【００２６】
通信インターフェース部１０４は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、データ作成装置１００をネットワーク３００に通信可能に接続する。通信インターフェース部１０４は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク３００は、データ作成装置１００とサーバ２００とを相互に通信可能に接続する機能を有し、例えばインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等である。なお、後述する各種マスタ等のデータは、例えばサーバ２００に格納されてもよい。
【００２７】
入出力インターフェース部１０８には、入力装置１１２および出力装置１１４が接続されている。出力装置１１４には、モニタ（家庭用テレビを含む）の他、スピーカやプリンタを用いることができる。入力装置１１２には、キーボード、マウス、及びマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置１１４をモニタ１１４とし、入力装置１１２をキーボード１１２またはマウス１１２として記載する場合がある。
【００２８】
記憶部１０６には、各種のデータベース、テーブルおよびファイルなどが格納される。記憶部１０６には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と協働してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部１０６として、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。
【００２９】
記憶部１０６は、例えば、受注データ１０６ａと、第一倉庫データとしての共通倉庫データ１０６ｂと、第二倉庫データとしての保管倉庫データ１０６ｃと、商品マスタ１０６ｄと、事業所マスタ１０６ｅと、倉庫マスタ１０６ｆと、在庫データ１０６ｇと、受注残数データ１０６ｈと、出荷可能数データ１０６ｉと、元データ１０６ｊと、退避データ１０６ｋと、在庫移動指示データ１０６ｍと、を備えている。
【００３０】
本実施形態に係るデータ作成装置１００によれば、第一の倉庫から第二の倉庫への在庫の移動についての指示内容を含む在庫移動指示データ１０６ｍを作成することができる。
【００３１】
本実施形態においては、前記第一の倉庫から前記第二の倉庫へ移動できる商品のことを、移動可能品という。前記移動可能品は、例えば、共通して使用可能な商品である共通品である。これに対して、前記第一の倉庫から前記第二の倉庫へ移動できない商品のことを移動不可品という。
【００３２】
前記第一の倉庫は、例えば、前記移動可能品である前記共通品を管理するためのセンター倉庫である。このため、以下においては、前記第一の倉庫を「共通倉庫」ということがある。
【００３３】
前記第二の倉庫は、例えば、担当者別や地域別等に設置された倉庫であり、出荷待ちの商品を一時的に保管するための倉庫である。このため、以下においては、前記第二の倉庫を「保管倉庫」ということがある。
【００３４】
なお、本実施形態でいう倉庫とは、仮想上（データ上）の倉庫であってもよいし、物理的に実在する倉庫であってもよい。
【００３５】
受注データ１０６ａは、商品の受注に関するデータであり、例えば、商品の受注伝票等のデータである。受注データ１０６ａは、図３に示すように、例えば、受注番号、同一の受注番号を有する受注明細内での行番号、事業所を識別するための事業所識別データ（事業所コード）、前記第二の倉庫を識別するための第二倉庫識別データ（倉庫コード）、前記商品を識別するための商品識別データ（商品コード）、前記商品の受注についての数量（商品の受注数および受注残数）、前記商品の売上数、取消ＦＬＧおよび完納ＦＬＧ等を含む。
【００３６】
前記受注残数は、例えば、前記商品の受注数から前記商品の売上数を差し引いた数値である。
【００３７】
前記取消ＦＬＧは、前記商品の受注が取り消されていないことを意味するフラグ（０）または前記商品の受注が取り消されたことを意味するフラグ（１）である。
【００３８】
前記完納ＦＬＧは、前記商品の売上が完了していないことを示すフラグ（０）または前記商品の売上が完了したことを示すフラグ（１）である。なお、以下においては、前記完納ＦＬＧを「売上完了区分」ということがある。
【００３９】
共通倉庫データ１０６ｂは、前記第一の倉庫（前記共通倉庫）における在庫を管理するためのデータである。共通倉庫データ１０６ｂは、図３に示すように、例えば、前記事業所識別データ（事業所コード）、前記第一の倉庫を識別するための第一倉庫識別データ（倉庫コード）、前記商品識別データ（商品コード）および前記商品の前記第一の倉庫における在庫数等を含む。
【００４０】
保管倉庫データ１０６ｃは、前記第二の倉庫（前記保管倉庫）における在庫を管理するためのデータである。保管倉庫データ１０６ｃは、図３に示すように、例えば、前記事業所識別データ（事業所コード）、前記第二倉庫識別データ（倉庫コード）、前記商品識別データ（商品コード）および前記商品の前記第二の倉庫における在庫数等を含む。
【００４１】
商品マスタ１０６ｄは、前記商品が前記移動可能品と前記移動不可品のどちらに該当するかを指定するためのマスタである。商品マスタ１０６ｄは、図３に示すように、例えば、前記商品識別データ（商品コード）および移動可能品不可品フラグ（移動可能品フラグ）等を含む。前記移動可能品不可品フラグは、前記商品が前記第一の倉庫から前記第二の倉庫へ移動できる商品であることを示すフラグである可能品フラグ（１）または前記商品が前記第一の倉庫から前記第二の倉庫へ移動できない商品であることを示すフラグである不可品フラグ（０）である。図３に示す商品マスタ１０６ｄにおいては、商品コード10001、10002および10003の商品が移動可能品として指定され、一方で、商品コード1D001の商品が移動不可品として指定されている。
【００４２】
事業所マスタ１０６ｅは、各事業所に対応する前記共通倉庫を管理するためのマスタである。事業所マスタ１０６ｅは、図３に示すように、例えば、前記事業所識別データ（事業所コード）および前記第一倉庫識別データ（共通倉庫コード）等を含む。
【００４３】
倉庫マスタ１０６ｆは、前記倉庫を管理するためのマスタである。倉庫マスタ１０６ｆは、図３に示すように、例えば、前記第一倉庫識別データ（倉庫コード1000）、前記第二倉庫識別データ（倉庫コードT01、T02およびT03）ならびに前記事業所識別データ（事業所コード1）等を含む。図３に示す倉庫マスタ１０６ｆにおいては、倉庫コード1000の倉庫が共通倉庫として指定され、倉庫コードT01、T02およびT03の倉庫が保管倉庫として指定されている。
【００４４】
在庫データ１０６ｇは、前記商品および前記保管倉庫の組合せごとに、前記商品の在庫数を管理するためのデータである。在庫データ１０６ｇは、図４に示すように、例えば、前記商品識別データ（商品コード）、前記第二倉庫識別データ（倉庫コード）、前記商品の前記第一の倉庫における在庫数（現在庫数（共通））および前記商品の前記第二の倉庫における在庫数（現在庫数（保管））等を含む。なお、在庫データ１０６ｇは、共通倉庫データ１０６ｂおよび保管倉庫データ１０６ｃを元にして後述する在庫データ作成部１０２ａが作成することができるが、当該作成の仕方の詳細については、以下の［４．処理詳細］で説明する。
【００４５】
受注残数データ１０６ｈは、前記商品および前記保管倉庫の組合せごとに、前記受注残数等を管理するためのデータである。受注残数データ１０６ｈは、図５に示すように、例えば、前記商品識別データ（商品コード）、前記第二倉庫識別データ（倉庫コード）、前記受注番号、前記行番号、前記受注数、前記売上数、レコード番号（ＳＥＱ）および前記受注残数等を含む。なお、受注残数データ１０６ｈは、受注データ１０６ａを元にして作成することができるが、当該作成の仕方の詳細については、以下の［４．処理詳細］で説明する。
【００４６】
出荷可能数データ１０６ｉは、前記商品および前記保管倉庫の組合せごとに、前記商品の出荷可能数等を管理するためのデータである。前記出荷可能数は、前記商品の前記保管倉庫における在庫数から前記受注残数を差し引くことにより算出することができる。出荷可能数データ１０６ｉは、図６に示すように、例えば、前記商品識別データ（商品コード）、前記第二倉庫識別データ（倉庫コード）および前記出荷可能数等を含む。なお、出荷可能数データ１０６ｉは、在庫データ１０６ｇおよび受注残数データ１０６ｈを元にして作成することができるが、当該作成の仕方の詳細については、以下の［４．処理詳細］で説明する。
【００４７】
元データ１０６ｊは、在庫データ１０６ｇ、受注残数データ１０６ｈおよび出荷可能数データ１０６ｉをまとめることにより作成されるデータであって、在庫移動指示データ１０６ｍ作成の元となるデータである。元データ１０６ｊは、図７に示すように、例えば、前記商品識別データ（商品コード）、前記受注番号、前記行番号、前記第二倉庫識別データ（倉庫コード）、前記商品の受注についての数量（前記商品の受注数および受注残数）、前記商品の前記第一の倉庫における在庫数（現在庫数（共通））、前記商品の前記第二の倉庫における在庫数（現在庫数（保管））、前記出荷可能数、前記レコード番号（ＳＥＱ）、移動可能ＦＬＧならびに移動可能数等を含む。
【００４８】
前記移動可能ＦＬＧは、前記商品を前記共通倉庫から前記保管倉庫へ移動できることを示すフラグ（１）または前記商品を前記共通倉庫から前記保管倉庫へ移動できないことを示すフラグ（０）である。
【００４９】
前記移動可能数は、前記共通倉庫から前記保管倉庫へ移動可能な前記商品の数である。
【００５０】
退避データ１０６ｋは、在庫データ１０６ｇおよび元データ１０６ｊにおけるデータを一時的に退避させたデータであって、在庫移動指示データ１０６ｍ作成の際に用いるデータである。退避データ１０６ｋは、図８および図２２に示すように、退避用変数として、例えば、退避用第二倉庫識別データ（退避_倉庫コード）、退避用商品識別データ（退避_商品コード）、退避用の前記商品の前記共通倉庫における在庫数（退避_現在庫数（共通））、退避用の前記商品の前記保管倉庫における在庫数（退避_現在庫数（保管））、倉庫が変わったことを示すフラグ（退避_倉庫変更ＦＬＧ）、在庫移動の単位を示す仮番号である仮移動番号（移動番号）および同一の仮移動番号を有するレコード内での行番号（行番号）等を含む。なお。退避データ１０６ｋにおける初期値としては、図８および図２２に示すように、退避_倉庫コードおよび退避_商品コードには空データが設定され、退避_現在庫数（共通）、退避_現在庫数（保管）、退避_倉庫変更ＦＬＧ、移動番号および行番号には０が設定される。
【００５１】
在庫移動指示データ１０６ｍは、在庫の移動についての指示内容を含むデータである。在庫移動指示データ１０６ｍは、図２４、図２６および図２８に示すように、例えば、在庫移動の単位を示す番号である移動指示番号、同一の移動指示番号内を有するレコード内での行番号、移動指示日、前記事業所識別データ（事業所コード）、前記第一倉庫識別データ（出庫倉庫コード）、前記第二倉庫識別データ（入庫倉庫コード）、前記商品識別データ（商品コード）および前記商品の移動数（移動数）等を含む。
【００５２】
制御部１０２は、データ作成装置１００を統括的に制御するＣＰＵ等である。制御部１０２は、ＯＳ等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。
【００５３】
制御部１０２は、機能概念的に、例えば、（１）前記第一倉庫データから、所定の第一倉庫識別データおよび前記受注データに含まれる商品識別データと同じものと紐付く前記第一の倉庫における在庫数を取得し、前記第二倉庫データから、前記受注データに含まれる第二倉庫識別データおよび商品識別データと同じものと紐付く前記第二の倉庫における在庫数を取得することにより、前記受注データに含まれる商品識別データおよび第二倉庫識別データと前記取得した前記第一の倉庫における在庫数と前記取得した前記第二の倉庫における在庫数とを含む前記在庫データを作成する在庫データ作成手段としての在庫データ作成部１０２ａと、（２）前記在庫データから、前記元データに含まれる商品識別データおよび第二倉庫識別データと同じものと紐付く前記第一の倉庫における在庫数および前記第二の倉庫における在庫数を取得して退避データに退避させる退避手段としての退避部１０２ｂと、（３）前記退避データに含まれる前記第二の倉庫における在庫数が前記数量より少ないか否かの判断を行う第一判断手段としての第一判断部１０２ｃと、（４）前記第一判断手段で前記少ないと判断した場合、前記退避データに含まれる前記第一の倉庫における在庫数が前記数量以上であるか否かの判断を行う第二判断手段としての第二判断部１０２ｄと、（５）前記第二判断手段で前記以上であると判断した場合、前記数量を、前記第一の倉庫から前記第二の倉庫への前記商品の移動可能数に更新する第一更新手段としての第一更新部１０２ｅと、（６）前記第一判断手段で少なくないと判断した場合、前記在庫データおよび前記退避データに含まれる前記第二の倉庫における在庫数から前記数量を減算することにより当該在庫数の更新をし、前記第二判断手段で前記以上であると判断した場合、前記在庫データおよび前記退避データに含まれる前記第一の倉庫における在庫数から前記数量を減算することにより当該在庫数の更新をする第二更新手段としての第二更新部１０２ｆと、（７）前記第一更新手段で更新した前記移動可能数を前記商品の移動数として含む前記在庫移動指示データを作成する指示データ作成手段としての指示データ作成部１０２ｇと、を備えている。
【００５４】
在庫データ作成部１０２ａは、共通倉庫データ１０６ｂから、所定の共通倉庫の倉庫コードおよび受注データ１０６ａに含まれる商品コードと同じものと紐付く共通倉庫における在庫数を取得し、保管倉庫データ１０６ｃから、受注データ１０６ａに含まれる保管倉庫の倉庫コードおよび商品コードと同じものと紐付く保管倉庫における在庫数を取得することにより、在庫データ１０６ｇを作成する。
【００５５】
在庫データ作成部１０２ａは、商品マスタ１０６ｄにおいて移動可能品フラグ１が付されている商品コードと同じものと紐付く在庫数のみを取得してもよい。これにより、例えば、移動可能品についての在庫数のみを取得することができ、この結果、移動可能品についてのみ在庫移動指示データ１０６ｍを作成するという柔軟な対応が可能となる。
【００５６】
在庫データ作成部１０２ａは、受注データ１０６ａに含まれる事業所コードと同じものと紐付く事業所マスタ１０６ｅ中の共通倉庫の倉庫コードを取得し、当該取得した共通倉庫の倉庫コードを前記所定の共通倉庫の倉庫コードとすることにより、前記所定の共通倉庫の倉庫コードと同じものと紐付く共通倉庫における在庫数を取得してもよい。これにより、例えば、各事業所（または各部門）に対応する適切な共通倉庫からの移動指示の内容を含む在庫移動指示データ１０６ｍを作成することができる。
【００５７】
退避部１０２ｂは、在庫データ１０６ｇから、元データ１０６ｊに含まれる商品コードおよび保管倉庫の倉庫コードと同じものと紐付く共通倉庫における在庫数および保管倉庫における在庫数を取得して退避データ１０６ｋに退避させる。
【００５８】
第一判断部１０２ｃは、退避データ１０６ｋに含まれる保管倉庫における在庫数が、前記商品の受注についての数量より少ないか否かの判断を行う。
【００５９】
第二判断部１０２ｄは、第一判断部１０２ｃで前記少ないと判断した場合、退避データ１０６ｋに含まれる共通倉庫における在庫数が、前記商品の受注についての数量以上であるか否かの判断を行う。
【００６０】
第一判断部１０２ｃおよび第二判断部１０２ｄは、前記商品の受注数および当該受注数から前記商品の売上数を引いた数値である受注残数のうち、値の小さい方を前記商品の受注についての数量として、前記判断を行ってもよい。
【００６１】
第一更新部１０２ｅは、第二判断部１０２ｄで前記以上であると判断した場合、前記商品の受注についての数量を、共通倉庫から保管倉庫への商品の移動可能数に更新する。
【００６２】
第二更新部１０２ｆは、第一判断部１０２ｃで少なくないと判断した場合、在庫データ１０６ｇおよび退避データ１０６ｋに含まれる保管倉庫における在庫数から前記商品の受注についての数量を減算することにより当該在庫数の更新をし、第二判断部１０２ｄで前記以上であると判断した場合、在庫データ１０６ｇおよび退避データ１０６ｋに含まれる共通倉庫における在庫数から前記商品の受注についての数量を減算することにより当該在庫数の更新をする。そして、退避部１０２ｂ、第一判断部１０２ｃ、第二判断部１０２ｄおよび第一更新部１０２ｅは、第二更新部１０２ｆが更新した前記在庫数に基づいて処理を実行してもよい。これにより、例えば、在庫移動後の在庫数（すなわち、最新の在庫数）に基づいて、在庫移動をするか否かの判断および在庫移動指示データ１０６ｍの作成を行うことができる。
【００６３】
指示データ作成部１０２ｇは、第一更新部１０２ｅで更新した前記移動可能数を商品の移動数として含む在庫移動指示データ１０６ｍを作成する。
【００６４】
具体的には、指示データ作成部１０２ｇは、倉庫マスタ１０６ｆにおいて元データ１０６ｊに含まれる保管倉庫の倉庫コードが有する事業所コードと同じものを有する共通倉庫の倉庫コードと、元データ１０６ｊに含まれる保管倉庫の倉庫コードと、元データ１０６ｊに含まれる商品コードと、前記移動数と、を含む在庫移動指示データ１０６ｍを作成してもよい。これにより、例えば、どこから（＝共通倉庫の倉庫コード）どこに（＝保管倉庫の倉庫コード）何を（＝商品コード）何個（＝移動数）移動するべきかという情報を、在庫移動の担当者は正確かつ迅速に把握することができる。
【００６５】
［３．処理概要］
以下、本実施形態に係る処理の概要について説明する。
【００６６】
［３−１．前提条件］
本実施形態に係る処理における前提条件について説明する。
【００６７】
前提条件の一つ目として、本実施形態においては、倉庫を前記共通倉庫と前記保管倉庫（出荷待ち倉庫）とに分けて運用する。前記共通倉庫においては、前記移動可能品を保管する。前記保管倉庫においては、担当者別や地域別等で区別し、出荷待ちの商品を保管する。
【００６８】
前提条件の二つ目として、本実施形態においては、受注入力画面において指定する倉庫は、保管倉庫とする。
【００６９】
前提条件の三つ目として、本実施形態においては、受注時自動在庫移動指示データの作成は毎日実行されるものとし、受注データも当日入力分のみを対象に処理を行うものとする。
【００７０】
前提条件の四つ目として、本実施形態においては、商品マスタ１０６ｄにおける移動可能品フラグの設定により、移動可能な商品を限定することができる。具体的には、移動可能品を設定する場合には、前記移動可能品フラグを「１（移動可能）」に設定し、これに対して、移動不可品を設定する場合には、前記移動可能品フラグを「０（移動不可）」に設定すればよい。
【００７１】
［３−２．処理の流れ］
受注入力から出荷入力までの流れについて、図２を参照して説明する。
【００７２】
まず、図２の「受注入力」において、受注伝票登録を行うことにより、保管倉庫を指定し、受注商品（移動可能品）の数量を入力することができる。
【００７３】
次に、図２の「移動条件？」において、受注データ１０６ａ、共通倉庫データ１０６ｂおよび保管倉庫データ１０６ｃを元にして、移動可能品が移動条件を満たすか否かの判断が行われる。移動条件が満たされる場合（図２の移動条件？に対するＹｅｓ）、在庫移動指示データ１０６ｍの作成が行われる。なお、前記判断および前記作成は、前記受注伝票の受注番号順に行われる。
【００７４】
図２の点線で囲った箇所の処理（受注時自動在庫指示データ作成処理）は、例えば、Ｗｉｎｄｏｗｓのタスクスケジュール等にて定期的に実行されるものとする。
【００７５】
次に、図２の「出荷指示入力」において、作成された在庫移動指示データ１０６ｍを元に、共通倉庫から保管倉庫への出荷指示データが作成される。
【００７６】
最後に、図２の「出荷入力」において、作成された出荷指示データを元に、出荷入力が行われることで、共通倉庫から保管倉庫への在庫移動が行われる。
【００７７】
［３−３．受注時自動在庫移動指示データ作成処理の流れ］
図２の点線で囲った箇所の処理（受注時自動在庫指示データ作成処理）の流れについて説明する。
【００７８】
まず、受注入力画面において、新規受注伝票の登録および受注伝票の修正に伴う受注明細の追加が行われる。
【００７９】
次に、商品が移動可能品であるか否か（すなわち、商品マスタ１０６ｄにおける移動可能品フラグが１であるか否か）がチェックされる。
【００８０】
次に、保管倉庫における在庫数−保管倉庫における受注残数（Σ（受注数−売上数）））を計算することにより、Ｗ出荷可能在庫が算出される。
【００８１】
次に、入力受注数＞Ｗ出荷可能在庫という条件が満たされるかが判断される。前記条件が満たされる場合（すなわち、保管倉庫の在庫が足りない場合）、以下のようにして、共通倉庫の在庫が確認される。
【００８２】
最後に、入力受注数≦共通倉庫における在庫数という条件が満たされるかが判断される。前記条件が満たされる場合（すなわち、入力受注数を満たす在庫が共通倉庫にある場合）、保管倉庫へ入力受注数分在庫移動を行うための在庫移動指示データ１０６ｍが作成される。これに対して、前記条件が満たされない場合（すなわち、入力受注数を満たす在庫が共通倉庫にない場合）、在庫移動指示データ１０６ｍの作成は行われない。なお、受注数全体の在庫がなくても、一部出荷が必要な場合は、移動入力画面において手入力により在庫移動を行うことができる。
【００８３】
［４．処理詳細］
以下、本実施形態に係る処理の詳細について説明する。なお、本項目［４．処理詳細］において、受注データ１０６ａ、共通倉庫データ１０６ｂ、保管倉庫データ１０６ｃ、商品マスタ１０６ｄ、事業所マスタ１０６ｅおよび倉庫マスタ１０６ｆにおける具体的内容は、図３に示すとおりであるとする。
【００８４】
［４−１．在庫データ１０６ｇの作成］
まず、在庫データ１０６ｇの作成について説明する。在庫データ１０６ｇには、［２．構成］で説明したように、共通倉庫における在庫数と保管倉庫における在庫数とが含まれるため、以下においては、これらの各在庫数をそれぞれどのように取得するかについて項目立てて説明をする。
【００８５】
［４−１−１．共通倉庫における在庫数の取得］
在庫データ作成部１０２ａは、受注データ１０６ａを元に、以下の（１）〜（４）で説明するようにして共通倉庫における在庫数を取得する。
【００８６】
（１）移動可能品フラグの取得
まず、在庫データ作成部１０２ａは、商品マスタ１０６ｄを「商品マスタ１０６ｄ中の商品コード＝受注データ１０６ａ中の商品コード」という条件で参照し、商品マスタ１０６ｄに含まれる移動可能品フラグを取得する。
【００８７】
具体的には、図３の受注データ１０６ａには４つの商品コード10001、10002、10003および1D001が含まれる。このため、在庫データ作成部１０２ａは、図３の商品マスタ１０６ｄから、商品コード10001、10002および10003についての移動可能品フラグとして「１（移動可能品であることを示すフラグ）」を取得し、これに対して、商品コード1D001についての移動可能品フラグとして「０（移動不可品であることを示すフラグ）」を取得する。
【００８８】
（２）移動可能品フラグの指定
次に、商品マスタ１０６ｄにおける移動可能品フラグが指定される。
【００８９】
具体的には、在庫データ作成部１０２ａは、移動可能品フラグ「１」が付されている商品コード10001、10002および10003と紐付く在庫数のみを以下の（４）で説明するように取得し、これに対して、移動可能品フラグ「０」が付されている商品コード1D001と紐付く在庫数は取得しない。
【００９０】
（３）共通倉庫コードの取得
次に、在庫データ作成部１０２ａは、事業所マスタ１０６ｅを「事業所マスタ１０６ｅ中の事業所コード＝受注データ１０６ａ中の事業所コード」という条件で参照し、共通倉庫コードを取得する。
【００９１】
具体的には、図３の受注データ１０６ａに含まれる事業所コードは「１」である。このため、在庫データ作成部１０２ａは、図３の事業所マスタ１０６ｅから、事業所コード「１」と紐付く共通倉庫コードとして「1000」を取得する。
【００９２】
（４）共通倉庫における在庫数の取得
最後に、在庫データ作成部１０２ａは、共通倉庫データ１０６ｂを「共通倉庫データ１０６ｂ中の倉庫コード＝事業所マスタ１０６ｅ中の共通倉庫コード」かつ「共通倉庫データ１０６ｂ中の商品コード＝受注データ１０６ａ中の商品コード（移動可能品に限る）」かつ「共通倉庫データ１０６ｂ中の事業所コード＝受注データ１０６ａ中の事業所コード」という条件で参照し、共通倉庫における在庫数を取得する。
【００９３】
具体的には、在庫データ作成部１０２ａは、図３の共通倉庫データ１０６ｂから、前記（３）で取得した共通倉庫コード「1000」と紐付き、かつ、図３の受注データ１０６ａ中の商品コードのうち（２）で説明した移動可能品フラグ１が付されている商品コード「10001、10002または10003」と紐付き、かつ、図３の受注データ１０６ａ中の事業所コード「１」と紐付く在庫数を取得する。すなわち、在庫データ作成部１０２ａは、商品コード10001の商品の共通倉庫コード1000の倉庫における在庫数として１００を取得し、商品コード10002の商品の共通倉庫コード1000の倉庫における在庫数として５０を取得し、商品コード10003の商品の共通倉庫コード1000の倉庫における在庫数として１２を取得する。
【００９４】
［４−１−２．保管倉庫における在庫数の取得］
在庫データ作成部１０２ａは、受注データ１０６ａを元に、以下の（５）〜（７）で説明するようにして保管倉庫における在庫数を取得する。
【００９５】
（５）移動可能品フラグの取得
まず、在庫データ作成部１０２ａは、［４−１−１］の（１）で説明した方法と同様の方法により、商品コード10001、10002および10003についての移動可能品フラグとして「１（移動可能品であることを示すフラグ）」を取得し、これに対して、商品コード1D001についての移動可能品フラグとして「０（移動不可品であることを示すフラグ）」を取得する。
【００９６】
（６）移動可能品フラグの指定
次に、在庫データ作成部１０２ａは、［４−１−１］の（２）で説明した方法と同様の方法により、移動可能品フラグ「１」が付されている商品コード10001、10002および10003と紐付く在庫数のみを以下の（７）で説明するように取得し、これに対して、移動可能品フラグ「０」が付されている商品コード1D001と紐付く在庫数は取得しない。
【００９７】
（７）保管倉庫における在庫数の取得
最後に、在庫データ作成部１０２ａは、保管倉庫データ１０６ｃを「保管倉庫データ１０６ｃ中の倉庫コード＝受注データ１０６ａ中の保管倉庫コード」かつ「保管倉庫データ１０６ｃ中の商品コード＝受注データ１０６ａ中の商品コード（移動可能品に限る）」かつ「保管倉庫データ１０６ｃ中の事業所コード＝受注データ１０６ａ中の事業所コード」という条件で参照し、保管倉庫における在庫数を取得する。
【００９８】
具体的には、在庫データ作成部１０２ａは、図３の保管倉庫データ１０６ｃから、図３の受注データ１０６ａ中の保管倉庫コード「T01、T02またはT03」と紐付き、かつ、図３の受注データ１０６ａ中の商品コードのうち（６）で説明した移動可能品フラグ１が付されている商品コード「10001、10002または10003」と紐付き、かつ、図３の受注データ１０６ａ中の事業所コード「１」と紐付く在庫数を取得する。すなわち、在庫データ作成部１０２ａは、商品コード10001の商品の保管倉庫コードT01の倉庫における在庫数として２０を取得し、商品コード10002の商品の保管倉庫コードT02の倉庫における在庫数として０を取得し、商品コード10002の商品の保管倉庫コードT03の倉庫における在庫数として０を取得する。
【００９９】
［４−１−３．取得した在庫数に基づく在庫データ１０６ｇの作成］
在庫データ作成部１０２ａは、受注データ１０６ａに含まれる商品コードおよび保管倉庫の倉庫コードと前記取得した共通倉庫における在庫数と前記取得した保管倉庫における在庫数とを含む在庫データ１０６ｇを作成する。
【０１００】
具体的には、在庫データ作成部１０２ａは、図４に示すように、前記取得した共通倉庫における在庫数と前記取得した保管倉庫における在庫数とを、商品コード＞倉庫コード順に（すなわち、商品コードの若い順に、商品コードが同じ場合は保管倉庫の倉庫コードの若い順に）並び替えた在庫データ１０６ｇを作成する。すなわち、在庫データ作成部１０２ａは、図４のａに示すように、商品コード10001および保管倉庫の倉庫コードT01の組合せについては、共通倉庫の在庫数が１００および保管倉庫の在庫数が２０であり、図４のｂに示すように、商品コード10002および保管倉庫の倉庫コードT02の組合せについては、共通倉庫の在庫数が５０および保管倉庫の在庫数が０であり、図４のｃに示すように、商品コード10002および保管倉庫の倉庫コードT03の組合せについては、共通倉庫の在庫数が５０および保管倉庫の在庫数が０であり、図４のｄに示すように、商品コード10003および保管倉庫の倉庫コードT03の組合せについては、共通倉庫の在庫数が１２および保管倉庫の在庫数が−（データ無し）である在庫データ１０６ｇを作成する。なお、データ無しについては、０扱いとする。
【０１０１】
なお、本項目［４−１］において、（１）、（３）および（５）の処理は内部結合による処理であり、一方で、（４）および（７）の処理は外部結合による処理である。
【０１０２】
［４−２．受注残数の取得］
次に、受注残数の取得について説明する。受注残数は、受注データ１０６ａ元に、以下の（１）〜（５）で説明するようにして受注数および売上数を取得することにより、算出することができる。
【０１０３】
（１）受注データ中の明細の取得
まず、受注データ１０６ａ中の取消ＦＬＧが０（受注の取消をしていない）であり、かつ、受注データ１０６ａ中の完納ＦＬＧである売上完了区分が０（売上が完了していない）であるという条件を満たす明細が、受注データ１０６ａから取得される。具体的には、図３の受注データ１０６ａ中のすべての明細が取得される。
【０１０４】
（２）移動可能品フラグの取得
次に、商品マスタ１０６ｄが「商品マスタ１０６ｄ中の商品コード＝受注データ１０６ａ中の商品コード」という条件で参照され、商品マスタ１０６ｄに含まれる移動可能品フラグが取得される。具体的には、図３の受注データ１０６ａ中の商品コード10001、10002および10003についての移動可能品フラグとして「１」が取得され、これに対して、商品コード1D001についての移動可能品フラグとして「０」が取得される。
【０１０５】
（３）移動可能品フラグの指定
次に、移動可能品フラグ「１」が付されている商品コード10001、10002および10003の商品の受注残数のみが以下の（５）説明するように取得され、これに対して、商品コード1D001の商品の受注残数は取得されない。
【０１０６】
（４）共通倉庫コードの取得
次に、事業所マスタ１０６ｅが「事業所マスタ１０６ｅ中の事業所コード＝受注データ１０６ａ中の事業所コード」という条件で参照され、共通倉庫コードが取得される。
【０１０７】
（５）受注残数の取得
最後に、図３の受注データ１０６ａ中の明細のうち、（１）および（３）の条件を満たす明細である、７〜１１の番号を付した明細（以下、それぞれ単に「明細７〜１１」という。）について、商品コードおよび保管倉庫の倉庫コードの組合せごとに、受注数−売上数を計算することにより、受注残数が取得される。具体的には、まず、明細７〜１１は、図５に示すように、商品コード＞受注番号＞行番号順に（すなわち、商品コードの若い順に、商品コードが同じ場合は受注番号の若い順に、商品コードと受注番号が同じ場合は行番号の若い順に）並び替えられて、明細７、８、１０、９および１１という順序となる。そして、商品コード10001および保管倉庫の倉庫コードT01の明細７については、受注数２０−売上数０＝受注残数２０が取得され、商品コード10002および保管倉庫の倉庫コードT03の明細８については、受注数１０−売上数４＝受注残数６が取得され、商品コード10002および保管倉庫の倉庫コードT02の明細１０については、受注数３０−売上数０＝受注残数３０が取得され、商品コード10003および保管倉庫の倉庫コードT03の明細９および明細１１については、受注数１６−売上数０＝受注残数１６が取得される。なお、明細９および明細１１の２明細については、商品コードと保管倉庫の倉庫コードの組合せが同じであるため、当該２明細間で受注数は集計されて１０＋６＝１６となり、売上数も集計されて０＋０＝０となる。そして、当該２明細間で、受注残数は、集計後の受注数１６−集計後の売上数０＝１６という同じ値となる。このようにして、図５に示す受注残数データ１０６ｈが作成される。
【０１０８】
なお、本項目［４−２］において、（２）、（４）および（５）の処理は内部結合による処理である。
【０１０９】
［４−３．出荷可能数の取得］
次に、出荷可能数の取得について説明する。出荷可能数は、［４−１］で取得した保管倉庫の在庫数から［４−２］で取得した受注残数を差し引くことにより、以下のようにして算出することができる。
【０１１０】
具体的には、商品コード10001および保管倉庫の倉庫コードT01の組合せについては、［４−１−３］で説明したように保管倉庫における在庫数は２０であり、［４−２］の（５）で説明したように受注残数は２０であるため、出荷可能数は、２０−２０＝０である。また、商品コード10002および保管倉庫の倉庫コードT02の組合せについては、［４−１−３］で説明したように保管倉庫における在庫数は０であり、［４−２］の（５）で説明したように受注残数は３０であるため、出荷可能数は、０−３０＝−３０である。そして、商品コード10002および保管倉庫の倉庫コードT03の組合せについては、［４−１−３］で説明したように保管倉庫における在庫数は０であり、［４−２］の（５）で説明したように受注残数は６であるため、出荷可能数は、０−６＝−６である。更に、商品コード10003および保管倉庫の倉庫コードT03の組合せについては、［４−１−３］で説明したように保管倉庫における在庫数は０であり、［４−２］の（５）で説明したように受注残数は１６であるため、出荷可能数は、０−１６＝−１６である。そして、算出した出荷可能数は、商品コード＞倉庫コード順に（すなわち、商品コードの若い順に、商品コードが同じ場合は保管倉庫の倉庫コードの若い順に）並び替えられて、図６に示す出荷可能数データ１０６ｉが作成される。
【０１１１】
なお、出荷可能数とは、保管倉庫から売上できる商品のフリー在庫数を表す。このため、詳細は以下の［４−５］で説明するが、出荷可能数＜０となっている、商品コードおよび保管倉庫の倉庫コードの組合せについては、当該倉庫コードの倉庫における当該商品コードの商品在庫が不足していることを表し、当該組合せは、受注時自動在庫移動指示データ作成の対象となる。
【０１１２】
［４−４．元データ１０６ｊの作成］
次に、在庫移動指示データ１０６ｍ作成の元となるデータである元データ１０６ｊの作成について説明する。元データ１０６ｊは、［４−１］で作成した在庫データ１０６ｇと［４−２］で作成した受注残数データ１０６ｈと［４−３］で作成した出荷可能数データ１０６ｉとを、商品コードおよび保管倉庫の倉庫コードの組合せ単位でまとめることにより、図７に示すように作成される。
【０１１３】
作成された元データ１０６ｊにおけるレコードのうち、共通倉庫の在庫数（現在庫数（共通））＞０を満たすレコードが在庫移動指示データ１０６ｍの作成対象となる。すなわち、図７に示すすべてのレコードが在庫移動指示データ１０６ｍの作成対象となる。
【０１１４】
そして、図７に示すレコードは、商品コード＞受注番号＞受注行番号＞倉庫コード順に（すなわち、商品コードの若い順に、商品コードが同じ場合は受注番号の若い順に、商品コードと受注番号とが同じ場合は受注行番号が若い順に、商品コードと受注番号と受注行番号とが同じ場合は保管倉庫の倉庫コードが若い順に）に取得され、以下の［４−５］の処理が実行される。すなわち、図７に示すレコードは、１〜５の番号の順に取得され、以下の［４−５］の処理が実行される。
【０１１５】
［４−５．在庫移動指示データ作成の前半処理］
次に、在庫移動指示データ１０６ｍ作成の前半処理として、図７に示す元データ１０６ｊを元にして、読み取るレコードがなくなるまで、以下の(i)〜(iii)の処理が繰り返し実行される。なお、以下の説明において、「Ｘ＜＞Ｙ」は、「Ｘ＜Ｙ、または、Ｘ＞Ｙ」を意味するものとする。
【０１１６】
(i)退避データ１０６ｋにおける退避_倉庫コード＜＞元データ１０６ｊにおける保管倉庫の倉庫コードという条件が満たされるとき、以下の(i-1)〜(i-3)の処理が実行される。
(i-1)退避部１０２ｂは、元データ１０６ｊにおける保管倉庫の倉庫コードを退避データ１０６ｋにおける退避_倉庫コードに退避させる。退避させた保管倉庫の倉庫コードは、ブレイク条件に使用する。
(i-2)退避部１０２ｂは、現在庫数（保管）を在庫データ１０６ｇから再取得し、退避データ１０６ｋにおける退避_現在庫数（保管）に退避させる。
(i-3)退避データ１０６ｋにおける退避_倉庫変更ＦＬＧに１をセットし、倉庫が変わった印とする。
【０１１７】
(ii)退避データ１０６ｋにおける退避_倉庫変更ＦＬＧ＝１、または、退避データ１０６ｋにおける退避_商品コード＜＞元データ１０６ｊにおける商品コードという条件が満たされるとき、以下の(ii-1)〜(ii-4)の処理が実行される。
(ii-1)退避部１０２ｂは、現在庫数（共通）を在庫データ１０６ｇから再取得し、退避データ１０６ｋにおける退避_現在庫数（共通）に退避させる。
(ii-2)退避部１０２ｂは、現在庫数（保管）を在庫データ１０６ｇから再取得し、退避データ１０６ｋにおける退避_現在庫数（保管）に退避させる。
(ii-3)退避部１０２ｂは、元データ１０６ｊにおける商品コードを退避データ１０６ｋにおける退避_商品コードに退避させる。退避させた商品コードは、ブレイク条件に使用する。
(ii-4)退避データ１０６ｋにおける退避_倉庫変更ＦＬＧに０をセットし、ＦＬＧを初期化する。
【０１１８】
(iii)元データ１０６ｊにおける出荷可能数＜０という条件が満たされる場合（すなわち、保管倉庫に受注残数を満たすだけの在庫がない場合）、以下の(iii-1)〜(iii-3)で説明するように、受注数、受注残数および現在庫数（保管）が確認され、在庫が不足している場合には、共通倉庫から在庫移動が行えるかの判断が実行される。
【０１１９】
(iii-1)元データ１０６ｊにおける受注数および受注残数のうち、値の小さい方が取得され、W_受注残数となる。
【０１２０】
(iii-2)第一判断部１０２ｃが、退避データ１０６ｋにおける退避_現在庫数（保管）≧W_受注残数という条件が満たされると判断したとき（言い換えると、第一判断部１０２ｃが、退避データ１０６ｋにおける退避_現在庫数（保管）がW_受注残数より少なくないと判断したとき）、第二更新部１０２ｆは、以下の更新を行う。
・第二更新部１０２ｆは、一つ目に、退避データ１０６ｋにおける退避_現在庫数（保管）からW_受注残数を減算することにより、退避データ１０６ｋにおける退避_現在庫数（保管）を更新する。
・第二更新部１０２ｆは、二つ目に、在庫データ１０６ｇを更新する。
【０１２１】
(iii-3)第一判断部１０２ｃが、(iii-2)の条件は満たされていないと判断し（言い換えると、第一判断部１０２ｃが、退避データ１０６ｋにおける退避_現在庫数（保管）がW_受注残数より少ないと判断し）、かつ、第二判断部１０２ｄが、退避データ１０６ｋにおける退避_現在庫数（共通）≧W_受注残数という条件が満たされると判断したとき（言い換えると、第二判断部１０２ｄが、退避データ１０６ｋにおける退避_現在庫数（保管）がW_受注残数以上であると判断したとき）、第一更新部１０２ｅおよび第二更新部１０２ｆは、以下の更新を行う。
・第一更新部１０２ｅは、元データ１０６ｊにおける移動可能ＦＬＧを１に更新し、W_受注残数を移動可能数に更新する。
・第二更新部１０２ｆは、一つ目に、退避データ１０６ｋにおける退避_現在庫数（共通）からW_受注残数を減算することにより、退避データ１０６ｋにおける退避_現在庫数（共通）を更新する。
・第二更新部１０２ｆは、二つ目に、在庫データ１０６ｇを更新する。
【０１２２】
以下、図７に示す元データ１０６ｊにおける５つのレコードそれぞれについて、在庫移動指示データ作成の前半処理が実行される場合を例にとって、具体的に説明する。
【０１２３】
［４−５−１．元データ１０６ｊにおけるレコード１についての処理］
まず、図７に示す元データ１０６ｊにおいて１の番号を付したレコード（以下、単に「レコード１」という。）が読み込まれ、以下の(i)および(ii)の処理が実行される。なお、退避データ１０６ｋの初期状態は、図８に示すとおりであるとする。
【０１２４】
(i)退避データ１０６ｋにおける退避_倉庫コード：空データ＜＞図７のレコード１における保管倉庫の倉庫コード：T01であるため、以下の(i-1)〜(i-3)の処理が実行される。
【０１２５】
(i-1)倉庫コードを退避
退避部１０２ｂは、図９に示すように、図７のレコード１における倉庫コードT01を退避データ１０６ｋにおける退避_倉庫コードに退避させる。
【０１２６】
(i-2)在庫データ１０６ｇから現在庫数（保管）を再取得して退避
退避部１０２ｂは、図４の在庫データ１０６ｇから、図７のレコード１に含まれる商品コード10001および保管倉庫の倉庫コードT01と同じものと紐付く現在庫数（保管）の２０を取得して、図９に示すように、退避データ１０６ｋにおける退避_現在庫数（保管）に退避させる。
【０１２７】
(i-3)退避_倉庫変更ＦＬＧに１をセット
図９に示すように、退避データ１０６ｋにおける退避_倉庫変更ＦＬＧに１がセットされる。
【０１２８】
(ii)退避データ１０６ｋにおける退避_商品コード＝空データ＜＞図７のレコード１における商品コード10001であるため、以下の(ii-1)〜(ii-4)の処理が実行される。
【０１２９】
(ii-1)在庫データ１０６ｇから現在庫数（共通）を再取得して退避
退避部１０２ｂは、図４の在庫データ１０６ｇから、図７のレコード１に含まれる商品コード10001および保管倉庫の倉庫コードT01と同じものと紐付く現在庫数（共通）の１００を取得して、図１０に示すように、退避データ１０６ｋにおける退避_現在庫数（共通）に退避させる。
【０１３０】
(ii-2)在庫データ１０６ｇから現在庫数（保管）を再取得して退避
退避部１０２ｂは、図４の在庫データ１０６ｇから、図７のレコード１に含まれる商品コード10001および保管倉庫の倉庫コードT01と同じものと紐付く現在庫数（保管）の２０を取得して、図１０に示すように、退避データ１０６ｋにおける退避_現在庫数（保管）に退避させる。なお、この時点で、現在庫数（保管）は既に退避済だが、再セットを行う。
【０１３１】
(ii-3)商品コードを退避
退避部１０２ｂは、図１０に示すように、図７のレコード１における商品コード10001を退避データ１０６ｋにおける退避_商品コードに退避させる。
【０１３２】
(ii-4)退避_倉庫変更ＦＬＧに０をセット
図１０に示すように、退避データ１０６ｋにおける退避_倉庫変更ＦＬＧに０がセットされる。
【０１３３】
(iii)図７のレコード１における出荷可能数：０＜０とならないため（すなわち、保管倉庫に受注残数を満たすだけの在庫があるため）、以降の処理は実行されず、元データ１０６ｊにおける次のレコードが読み込まれる。
【０１３４】
［４−５−２．元データ１０６ｊにおけるレコード２についての処理］
次に、図７に示す元データ１０６ｊにおいて２の番号を付したレコード（以下、単に「レコード２」という。）が読み込まれ、以下の(i)〜(iii)の処理が実行される。なお、退避データ１０６ｋの状態は、図１０の(ii-4)に示すとおりである。
【０１３５】
(i)退避データ１０６ｋにおける退避_倉庫コード：T01＜図７のレコード２における保管倉庫の倉庫コード：T03であるため、以下の(i-1)〜(i-3)の処理が実行される。
【０１３６】
(i-1)倉庫コードを退避
退避部１０２ｂは、図１１に示すように、図７のレコード２における倉庫コードT03を退避データ１０６ｋにおける退避_倉庫コードに退避させる。
【０１３７】
(i-2)在庫データ１０６ｇから現在庫数（保管）を再取得して退避
退避部１０２ｂは、図４の在庫データ１０６ｇから、図７のレコード２に含まれる商品コード10002および保管倉庫の倉庫コードT03と同じものと紐付く現在庫数（保管）の０を取得して、図１１に示すように、退避データ１０６ｋにおける退避_現在庫数（保管）に退避させる。
【０１３８】
(i-3)退避_倉庫変更ＦＬＧに１をセット
図１１に示すように、退避データ１０６ｋにおける退避_倉庫変更ＦＬＧに１がセットされる。
【０１３９】
(ii)退避データ１０６ｋにおける退避_倉庫変更ＦＬＧ＝１であり、更には、退避データ１０６ｋにおける退避_商品コード:10001＜図７のレコード２における商品コード10002であるため、以下の(ii-1)〜(ii-4)の処理が実行される。
【０１４０】
(ii-1)在庫データ１０６ｇから現在庫数（共通）を再取得して退避
退避部１０２ｂは、図４の在庫データ１０６ｇから、図７のレコード２に含まれる商品コード10002および保管倉庫の倉庫コードT03と同じものと紐付く現在庫数（共通）の５００を取得して、図１２に示すように、退避データ１０６ｋにおける退避_現在庫数（共通）に退避させる。
【０１４１】
(ii-2)在庫データ１０６ｇから現在庫数（保管）を再取得して退避
退避部１０２ｂは、図４の在庫データ１０６ｇから、図７のレコード２に含まれる商品コード10002および保管倉庫の倉庫コードT03と同じものと紐付く現在庫数（保管）の０を取得して、図１２に示すように、退避データ１０６ｋにおける退避_現在庫数（保管）に退避させる。なお、この時点で、現在庫数（保管）は既に退避済だが、再セットを行う。
【０１４２】
(ii-3)商品コードを退避
退避部１０２ｂは、図１２に示すように、図７のレコード２における商品コード10002を退避データ１０６ｋにおける退避_商品コードに退避させる。
【０１４３】
(ii-4)退避_倉庫変更ＦＬＧに０をセット
図１２に示すように、退避データ１０６ｋにおける退避_倉庫変更ＦＬＧに０がセットされる。
【０１４４】
(iii)図７のレコード２における出荷可能数：−６＜０であるため（すなわち保管倉庫に受注残数を満たすだけの在庫がないため）、以下の(iii-1)〜(iii-3)で説明するように、共通倉庫から在庫移動が行えるかの判断が実行される。
【０１４５】
(iii-1)W_受注残数を取得
図７のレコード２における受注数：１０および受注残数：６のうち、値の小さい「６」が、W_受注残数として取得される。
【０１４６】
(iii-2)保管倉庫における在庫数を確認
退避データ１０６ｋにおける退避_現在庫数（保管）:０≧W_受注残数：６とならないため、第一判断部１０２ｃは、(iii-2)の条件が満たされないと判断し、以下の(iii-3)の処理に進む。
【０１４７】
(iii-3)共通倉庫における在庫数を確認
(iii-2)の条件が満たされず、かつ、退避_現在庫数（共通）:５０≧W_受注残数：６となるため、第二判断部１０２ｄは、(iii-3)の条件が満たされると判断する。この場合、第一更新部１０２ｅおよび第二更新部１０２ｆは、以下の更新を行う。
【０１４８】
第一更新部１０２ｅは、図１３の元データ１０６ｊに示すように、レコード２における移動可能ＦＬＧに１を更新し、また、レコード２における移動可能数にW_受注残数：６を更新する。なお、更新条件は、以下に示すとおりである。
【０１４９】
（更新条件）
元データ１０６ｊにおける受注番号＝レコード２における受注番号：100011
元データ１０６ｊにおける受注行番号＝レコード２における受注行番号：１
元データ１０６ｊにおける倉庫コード＝レコード２における倉庫コード：T03
元データ１０６ｊにおける商品コード＝レコード２における商品コード：10002
元データ１０６ｊにおけるＳＥＱ＝レコード２におけるＳＥＱ：２
【０１５０】
第二更新部１０２ｆは、退避データ１０６ｋにおける退避_現在庫数（共通）：５０からW_受注残数：６を減算することにより、図１３の退避データ１０６ｋに示すように、退避データ１０６ｋにおける退避_現在庫数（共通）を、４４に更新する。
【０１５１】
また、第二更新部１０２ｆは、在庫データ１０６ｇにおける現在庫数（共通）：５０からW_受注残数：６を減算することにより、図１３の在庫データ１０６ｇに示すように、在庫データ１０６ｇにおける現在庫数（共通）を、４４に更新する。なお、更新条件は、以下に示すとおりである。
【０１５２】
（更新条件）
在庫データ１０６ｇにおける商品コード＝レコード２における商品コード：10002
なお、図１３の在庫データ１０６ｇにおいて、商品コード10002を有するレコード間で（ｂを付したレコードとｃを付したレコード間で）、共通倉庫は同じになるため、共通倉庫の倉庫コードの指定はしない。
【０１５３】
続いて、元データ１０６ｊにおける次のレコードが読み込まれる。
【０１５４】
［４−５−３．元データ１０６ｊにおけるレコード３についての処理］
次に、図７に示す元データ１０６ｊにおいて３の番号を付したレコード（以下、単に「レコード３」という。）が読み込まれ、以下の(i)〜(iii)の処理が実行される。なお、退避データ１０６ｋの状態は、図１３に示すとおりである。
【０１５５】
(i)退避データ１０６ｋにおける退避_倉庫コード：T03＞図７のレコード３における保管倉庫の倉庫コード：T02であるため、以下の(i-1)〜(i-3)の処理が実行される。
【０１５６】
(i-1)倉庫コードを退避
退避部１０２ｂは、図１４に示すように、図７のレコード３における倉庫コードT02を退避データ１０６ｋにおける退避_倉庫コードに退避させる。
【０１５７】
(i-2)在庫データ１０６ｇから現在庫数（保管）を再取得して退避
退避部１０２ｂは、［４−５−２］の(iii-3)で更新した在庫データ１０６ｇ（図１３に示す）から、図７のレコード３に含まれる商品コード10002および保管倉庫の倉庫コードT02と同じものと紐付く現在庫数（保管）の０を取得して、図１４に示すように、退避データ１０６ｋにおける退避_現在庫数（保管）に退避させる。
【０１５８】
(i-3)退避_倉庫変更ＦＬＧに１をセット
図１４に示すように、退避データ１０６ｋにおける退避_倉庫変更ＦＬＧに１がセットされる。
【０１５９】
(ii)退避データ１０６ｋにおける退避_倉庫変更ＦＬＧ＝１であるため、以下の(ii-1)〜(ii-4)の処理が実行される。
【０１６０】
(ii-1)在庫データ１０６ｇから現在庫数（共通）を再取得して退避
退避部１０２ｂは、［４−５−２］の(iii-3)で更新した在庫データ１０６ｇ（図１３に示す）から、図７のレコード３に含まれる商品コード10002および保管倉庫の倉庫コードT02と同じものと紐付く現在庫数（共通）の４４を取得して、図１５に示すように、退避データ１０６ｋにおける退避_現在庫数（共通）に退避させる。
【０１６１】
(ii-2)在庫データ１０６ｇから現在庫数（保管）を再取得して退避
退避部１０２ｂは、［４−５−２］の(iii-3)で更新した在庫データ１０６ｇ（図１３に示す）から、図７のレコード３に含まれる商品コード10002および保管倉庫の倉庫コードT02と同じものと紐付く現在庫数（保管）の０を取得して、図１５に示すように、退避データ１０６ｋにおける退避_現在庫数（保管）に退避させる。なお、この時点で、現在庫数（保管）は既に退避済だが、再セットを行う。
【０１６２】
(ii-3)商品コードを退避
退避部１０２ｂは、図１５に示すように、図７のレコード３における商品コード10002を退避データ１０６ｋにおける退避_商品コードに退避させる。
【０１６３】
(ii-4)退避_倉庫変更ＦＬＧに０をセット
図１５に示すように、退避データ１０６ｋにおける退避_倉庫変更ＦＬＧに０がセットされる。
【０１６４】
(iii)図７のレコード３における出荷可能数：−３０＜０であるため（すなわち保管倉庫に受注残数を満たすだけの在庫がないため）、以下の(iii-1)〜(iii-3)で説明するように、共通倉庫から在庫移動が行えるかの判断が実行される。
【０１６５】
(iii-1)W_受注残数を取得
図７のレコード３における受注数：３０および受注残数：３０は、同じ値であるため、「３０」が、W_受注残数として取得される。
【０１６６】
(iii-2)保管倉庫における在庫数を確認
退避データ１０６ｋにおける退避_現在庫数（保管）:０≧W_受注残数：３０とならないため、第一判断部１０２ｃは、(iii-2)の条件が満たされないと判断し、以下の(iii-3)の処理に進む。
【０１６７】
(iii-3)共通倉庫における在庫数を確認
(iii-2)の条件が満たされず、かつ、退避_現在庫数（共通）:４４≧W_受注残数：３０となるため、第二判断部１０２ｄは、(iii-3)の条件が満たされると判断する。この場合、第一更新部１０２ｅおよび第二更新部１０２ｆは、以下の更新を行う。
【０１６８】
第一更新部１０２ｅは、図１６の元データ１０６ｊに示すように、レコード３における移動可能ＦＬＧに１を更新し、また、レコード３における移動可能数にW_受注残数：３０を更新する。なお、更新条件は、以下に示すとおりである。
【０１６９】
（更新条件）
元データ１０６ｊにおける受注番号＝レコード３における受注番号：100012
元データ１０６ｊにおける受注行番号＝レコード３における受注行番号：2
元データ１０６ｊにおける倉庫コード＝レコード３における倉庫コード：T02
元データ１０６ｊにおける商品コード＝レコード３における商品コード：10002
元データ１０６ｊにおけるＳＥＱ＝レコード３におけるＳＥＱ：３
【０１７０】
第二更新部１０２ｆは、退避データ１０６ｋにおける退避_現在庫数（共通）：４４からW_受注残数：３０を減算することにより、図１６の退避データ１０６ｋに示すように、退避データ１０６ｋにおける退避_現在庫数（共通）を、１４に更新する。
【０１７１】
また、第二更新部１０２ｆは、在庫データ１０６ｇにおける現在庫数（共通）：４４からW_受注残数：３０を減算することにより、図１６の在庫データ１０６ｇに示すように、在庫データ１０６ｇにおける現在庫数（共通）を、１４に更新する。なお、更新条件は、以下に示すとおりである。
【０１７２】
（更新条件）
在庫データ１０６ｇにおける商品コード＝レコード３における商品コード：10002
なお、図１６の在庫データ１０６ｇにおいて、商品コード10002を有するレコード間で（ｂを付したレコードとｃを付したレコード間で）、共通倉庫は同じになるため、共通倉庫の倉庫コードの指定はしない。
【０１７３】
続いて、元データ１０６ｊにおける次のレコードが読み込まれる。
【０１７４】
［４−５−４．元データ１０６ｊにおけるレコード４についての処理］
次に、図７に示す元データ１０６ｊにおいて４の番号を付したレコード（以下、単に「レコード４」という。）が読み込まれ、以下の(i)〜(iii)の処理が実行される。なお、退避データ１０６ｋの状態は、図１６に示すとおりである。
【０１７５】
(i)退避データ１０６ｋにおける退避_倉庫コード：T02＜図７のレコード４における保管倉庫の倉庫コード：T03であるため、以下の(i-1)〜(i-3)の処理が実行される。
【０１７６】
(i-1)倉庫コードを退避
退避部１０２ｂは、図１７に示すように、図７のレコード４における倉庫コードT03を退避データ１０６ｋにおける退避_倉庫コードに退避させる。
【０１７７】
(i-2)在庫データ１０６ｇから現在庫数（保管）を再取得して退避
退避部１０２ｂは、［４−５−３］の(iii-3)で更新した在庫データ１０６ｇから、図７のレコード４に含まれる商品コード10003および保管倉庫の倉庫コードT03と同じものと紐付く現在庫数（保管）の０を取得して、図１７に示すように、退避データ１０６ｋにおける退避_現在庫数（保管）に退避させる。なお、［４−５−３］の(iii-3)で更新した在庫データ１０６ｇは、図１６に示すとおりであるものの、商品コード10003および保管倉庫の倉庫コードT03の組合せについての内容は更新されていないため、図４の在庫データ１０６ｇに示すとおりの内容である。
【０１７８】
(i-3)退避_倉庫変更ＦＬＧに１をセット
図１７に示すように、退避データ１０６ｋにおける退避_倉庫変更ＦＬＧに１がセットされる。
【０１７９】
(ii)退避データ１０６ｋにおける退避_倉庫変更ＦＬＧ＝１であり、更には、退避データ１０６ｋにおける退避_商品コード:10002＜図７のレコード４における商品コード10003であるため、以下の(ii-1)〜(ii-4)の処理が実行される。
【０１８０】
(ii-1)在庫データ１０６ｇから現在庫数（共通）を再取得して退避
退避部１０２ｂは、［４−５−３］の(iii-3)で更新した在庫データ１０６ｇから、図７のレコード４に含まれる商品コード10003および保管倉庫の倉庫コードT03と同じものと紐付く現在庫数（共通）の１２を取得して、図１８に示すように、退避データ１０６ｋにおける退避_現在庫数（共通）に退避させる。なお、［４−５−３］の(iii-3)で更新した在庫データ１０６ｇは、図１６に示すとおりであるものの、商品コード10003および保管倉庫の倉庫コードT03の組合せについての内容は更新されていないため、図４の在庫データ１０６ｇに示すとおりの内容である。
【０１８１】
(ii-2)在庫データ１０６ｇから現在庫数（保管）を再取得して退避
退避部１０２ｂは、［４−５−３］の(iii-3)で更新した在庫データ１０６ｇから、図７のレコード４に含まれる商品コード10003および保管倉庫の倉庫コードT03と同じものと紐付く現在庫数（保管）の０を取得して、図１８に示すように、退避データ１０６ｋにおける退避_現在庫数（保管）に退避させる。なお、この時点で、現在庫数（保管）は既に退避済だが、再セットを行う。また、［４−５−３］の(iii-3)で更新した在庫データ１０６ｇは、図１６に示すとおりであるものの、商品コード10003および保管倉庫の倉庫コードT03の組合せについての内容は更新されていないため、図４の在庫データ１０６ｇに示すとおりの内容である。
【０１８２】
(ii-3)商品コードを退避
退避部１０２ｂは、図１８に示すように、図７のレコード４における商品コード10003を退避データ１０６ｋにおける退避_商品コードに退避させる。
【０１８３】
(ii-4)退避_倉庫変更ＦＬＧに０をセット
図１８に示すように、退避データ１０６ｋにおける退避_倉庫変更ＦＬＧに０がセットされる。
【０１８４】
(iii)図７のレコード４における出荷可能数：−１６＜０であるため（すなわち保管倉庫に受注残数を満たすだけの在庫がないため）、以下の(iii-1)〜(iii-3)で説明するように、共通倉庫から在庫移動が行えるかの判断が実行される。
【０１８５】
(iii-1)W_受注残数を取得
図７のレコード４における受注数：１０および受注残数：１６のうち、値の小さい「１０」が、W_受注残数として取得される。
【０１８６】
(iii-2)保管倉庫における在庫数を確認
退避データ１０６ｋにおける退避_現在庫数（保管）:０≧W_受注残数：１０とならないため、第一判断部１０２ｃは、(iii-2)の条件が満たされないと判断し、以下の(iii-3)の処理に進む。
【０１８７】
(iii-3)共通倉庫における在庫数を確認
(iii-2)の条件が満たされず、かつ、退避_現在庫数（共通）:１２≧W_受注残数：１０となるため、第二判断部１０２ｄは、(iii-3)の条件が満たされると判断する。この場合、第一更新部１０２ｅおよび第二更新部１０２ｆは、以下の更新を行う。
【０１８８】
第一更新部１０２ｅは、図１９の元データ１０６ｊに示すように、レコード４における移動可能ＦＬＧに１を更新し、また、レコード４における移動可能数にW_受注残数：１０を更新する。なお、更新条件は、以下に示すとおりである。
【０１８９】
（更新条件）
元データ１０６ｊにおける受注番号＝レコード４における受注番号：100012
元データ１０６ｊにおける受注行番号＝レコード４における受注行番号：1
元データ１０６ｊにおける倉庫コード＝レコード４における倉庫コード：T03
元データ１０６ｊにおける商品コード＝レコード４における商品コード：10003
元データ１０６ｊにおけるＳＥＱ＝レコード４におけるＳＥＱ：４
【０１９０】
第二更新部１０２ｆは、退避データ１０６ｋにおける退避_現在庫数（共通）：１２からW_受注残数：１０を減算することにより、図１９の退避データ１０６ｋに示すように、退避データ１０６ｋにおける退避_現在庫数（共通）を、２に更新する。
【０１９１】
また、第二更新部１０２ｆは、在庫データ１０６ｇにおける現在庫数（共通）：１２からW_受注残数：１０を減算することにより、図１９の在庫データ１０６ｇに示すように、在庫データ１０６ｇにおける現在庫数（共通）を、２に更新する。なお、更新条件は、以下に示すとおりである。
【０１９２】
（更新条件）
在庫データ１０６ｇにおける商品コード＝レコード４における商品コード：10003
なお、図１９の在庫データ１０６ｇにおいて、商品コード10003を有するレコードにおいて（ｄを付したレコードにおいて）、共通倉庫は同じになるため、共通倉庫の倉庫コードの指定はしない。
【０１９３】
続いて、元データ１０６ｊにおける次のレコードが読み込まれる。
【０１９４】
［４−５−５．元データ１０６ｊにおけるレコード５についての処理］
次に、図７に示す元データ１０６ｊにおいて５の番号を付したレコード（以下、単に「レコード５」という。）が読み込まれ、以下の(iii)の処理が実行される。なお、退避データ１０６ｋの状態は、図１９に示すとおりである。
【０１９５】
(i)退避データ１０６ｋにおける退避_倉庫コード：T03＝図７のレコード５における保管倉庫の倉庫コード：T03であるため、(i)の条件は満たされず、(i-1)〜(i-3)の処理はスキップされる。
【０１９６】
(ii)退避データ１０６ｋにおける退避_倉庫変更ＦＬＧ＝０であり、かつ、退避データ１０６ｋにおける退避_商品コード:10003＝図７のレコード５における商品コード10003であるため、(ii)の条件は満たされず、(ii-1)〜(ii-4)の処理はスキップされる。
【０１９７】
(iii)図７のレコード５における出荷可能数：−１６＜０であるため（すなわち保管倉庫に受注残数を満たすだけの在庫がないため）、以下の(iii-1)〜(iii-3)で説明するように、共通倉庫から在庫移動が行えるかの判断が実行される。
【０１９８】
(iii-1)W_受注残数を取得
図７のレコード５における受注数：６および受注残数：１６のうち、値の小さい「６」が、W_受注残数として取得される。
【０１９９】
(iii-2)保管倉庫における在庫数を確認
退避データ１０６ｋにおける退避_現在庫数（保管）:０≧W_受注残数：６とならないため、第一判断部１０２ｃは、(iii-2)の条件が満たされないと判断し、以下の(iii-3)の処理に進む。
【０２００】
(iii-3)共通倉庫における在庫数を確認
退避_現在庫数（共通）:２≧W_受注残数：６とならないため、第二判断部１０２ｄは、(iii-3)の条件が満たされないと判断する。この場合、第一更新部１０２ｅおよび第二更新部１０２ｆが行う更新処理はスキップされる。このため、退避データ１０６ｋは、図２０に示すように、［４−５−４］で更新した図１９に示す退避データ１０６ｋの状態がそのまま引き継がれる。
【０２０１】
［４−５−６．処理の終了］
以上、［４−５−１］〜［４−５−５］で説明した処理により、図７に示す元データ１０６ｊにおけるすべてのレコードの読み込みが終了する。これにより、図７に示す元データ１０６ｊは、レコード２〜４の移動可能ＦＬＧおよび移動可能数が更新された更新後の元データ１０６ｊ（図示せず）となる。
【０２０２】
更新後の元データ１０６ｊにおけるレコードは、倉庫コード＞商品コード＞受注番号＞受注行番号順に（すなわち、保管倉庫の倉庫コードの若い順に、保管倉庫の倉庫コードが同じである場合は商品コードの若い順に、保管倉庫の倉庫コードと商品コードとが同じである場合は受注番号の若い順に、保管倉庫の倉庫コードと商品コードと受注番号とが同じである場合は受注行番号の若い順に）並び替えられて、図２１に示す順序となる。
【０２０３】
［４−６．在庫移動指示データ作成の後半処理］
最後に、在庫移動指示データ１０６ｍ作成の後半処理として、図２１に示す並替後の元データ１０６ｊを元にして、読み取るレコードがなくなるまで、保管倉庫の倉庫コード単位で以下の(iv)および(v)の処理が繰り返し実行される。なお、退避データ１０６ｋにおける退避_倉庫コードは、一旦クリアするものとする。
【０２０４】
在庫移動指示データ１０６ｍ作成の後半処理の概要としては、並替後の元データ１０６ｊにおいて、移動可能ＦＬＧ＝１が付されている保管倉庫を対象として、保管倉庫の倉庫コードがブレイクするごとに（変わるごとに）、伝票番号を採番しながら在庫移動指示データ１０６ｍの作成を行う。
【０２０５】
(iv)退避データ１０６ｋにおける退避_倉庫コード＜＞並替後の元データ１０６ｊにおける保管倉庫の倉庫コードという条件が満たされるとき、以下の(iv-1)〜(iv-3)の処理が実行される。
(iv-1)移動番号を＋１して採番し、行番号に１をセットする。なお、同一の保管倉庫の場合には、行番号をカウントアップする。
(iv-2)並替後の元データ１０６ｊにおける保管倉庫の倉庫コードを退避データ１０６ｋにおける退避_倉庫コードに退避させる。退避させた保管倉庫の倉庫コードは、ブレイク条件に使用する。
(iv-3)移動伝票番号を生成する。なお、移動伝票番号は、「事業所コード＋システム日付ＹＹＭＭＤＤ（年月日）＋移動番号前ゼロ編集５桁」をすることにより、１２桁の数字として生成できる。
【０２０６】
(v)指示データ作成部１０２ｇが、在庫移動指示データ１０６ｍの作成を行う。
【０２０７】
以下、図２１に示す並替後の元データ１０６ｊを元に、在庫移動指示データ作成の後半処理が実行される場合を例にとって、具体的に説明する。
【０２０８】
ここで、在庫移動指示データ作成の後半処理は、移動可能ＦＬＧ＝１を有するレコードのみを対象として実行される。すなわち、図２１に示す並替後の元データ１０６ｊにおいて、７〜９の番号を付したレコード（以下、それぞれ単に「レコード７〜９」という。）のみが、在庫移動指示データ作成の対象となる。これに対して、図２１に示す並替後の元データ１０６ｊにおいて、６および１０の番号を付したレコードは、在庫移動指示データ作成の対象外である。
【０２０９】
［４−６−１．更新された元データ１０６ｊにおけるレコード７についての処理］
まず、図２１に示す更新後の元データ１０６ｊにおけるレコード７が読み込まれ、以下の(iv)および(v)の処理が実行される。なお、退避データ１０６ｋの初期状態は、図２２に示すとおりであるとする。
【０２１０】
(i)退避データ１０６ｋにおける退避_倉庫コード：空データ＜＞図２１のレコード７における保管倉庫の倉庫コード：T02であるため、以下の(iv-1)〜(iv-3)の処理が実行される。
【０２１１】
(iv-1)図２３に示すように、０に１を加算することにより採番された仮移動番号１と、行番号１と、が退避データ１０６ｋにセットされる。
【０２１２】
(iv-2)図２３に示すように、図２１のレコード７における倉庫コードT02が退避データ１０６ｋにおける退避_倉庫コードに退避される。
【０２１３】
(iv-3)図２３に示すように、事業所コード１＋システム日付180201＋仮移動番号前ゼロ５桁編集00001をすることにより、正式な移動番号118020100001が生成される。
【０２１４】
(v)指示データ作成部１０２ｇは、図２４に示す在庫移動指示データ１０６ｍを作成する。なお、図２４に示す在庫移動指示データ１０６ｍに含まれる情報の取得先は以下のとおりである。移動指示番号は、(iv-3)で生成した移動番号118020100001から取得したものである。移動指示行番号は、(iv-1)でセットした行番号１から取得したものである。移動指示日は、システム日付180201から取得したものである。事業所コードは、図３の倉庫マスタ１０６ｆにおいて、レコード７における保管倉庫の倉庫コードT02と紐付く事業所コード１から取得したものである。出庫倉庫コードは、図３の倉庫マスタ１０６ｆにおいて、レコード７における保管倉庫の倉庫コードT02と紐付く事業所コード１を有する共通倉庫の倉庫コード1000を取得したものである。入庫倉庫コードは、レコード７における保管倉庫の倉庫コードT02を取得したものである。商品コードは、レコード７における商品コード10002を取得したものである。移動数は、レコード７における移動可能数３０を取得したものである。
【０２１５】
続いて、更新後の元データ１０６ｊにおける次のレコードが読み込まれる。
【０２１６】
［４−６−２．更新された元データ１０６ｊにおけるレコード８についての処理］
次に、図２１に示す更新後の元データ１０６ｊにおけるレコード８が読み込まれ、以下の(iv)および(v)の処理が実行される。なお、退避データ１０６ｋの初期状態は、図２３の(iv-2)に示すとおりであるとする。
【０２１７】
(i)退避データ１０６ｋにおける退避_倉庫コード：T02＜図２１のレコード８における保管倉庫の倉庫コード：T03であるため、以下の(iv-1)〜(iv-3)の処理が実行される。
【０２１８】
(iv-1)図２５に示すように、１に１を加算することにより採番された仮移動番号２と、行番号１と、が退避データ１０６ｋにセットされる。
【０２１９】
(iv-2)図２５に示すように、図２１のレコード８における倉庫コードT03が退避データ１０６ｋにおける退避_倉庫コードに退避される。
【０２２０】
(iv-3)図２５に示すように、事業所コード１＋システム日付180201＋仮移動番号前ゼロ５桁編集00002をすることにより、正式な移動番号118020100002が生成される。
【０２２１】
(v)指示データ作成部１０２ｇは、図２６に示す在庫移動指示データ１０６ｍを作成する。なお、図２６に示す在庫移動指示データ１０６ｍに含まれる情報の取得先は以下のとおりである。移動指示番号は、(iv-3)で生成した移動番号118020100002から取得したものである。移動指示行番号は、(iv-1)でセットした行番号１から取得したものである。移動指示日は、システム日付180201から取得したものである。事業所コードは、図３の倉庫マスタ１０６ｆにおいて、レコード８における保管倉庫の倉庫コードT03と紐付く事業所コード１から取得したものである。出庫倉庫コードは、図３の倉庫マスタ１０６ｆにおいて、レコード８における保管倉庫の倉庫コードT03と紐付く事業所コード１を有する共通倉庫の倉庫コード1000を取得したものである。入庫倉庫コードは、レコード８における保管倉庫の倉庫コードT03を取得したものである。商品コードは、レコード８における商品コード10002を取得したものである。移動数は、レコード８における移動可能数６を取得したものである。
【０２２２】
続いて、更新後の元データ１０６ｊにおける次のレコードが読み込まれる。
【０２２３】
［４−６−３．更新された元データ１０６ｊにおけるレコード９についての処理］
最後に、図２１に示す更新後の元データ１０６ｊにおけるレコード９が読み込まれ、以下の(iv)および(v)の処理が実行される。なお、退避データ１０６ｋの初期状態は、図２５の(iv-2)に示すとおりであるとする。
【０２２４】
(i)退避データ１０６ｋにおける退避_倉庫コード：T03＝図２１のレコード９における保管倉庫の倉庫コード：T03であるため、以下の(iv-1)の処理のみが実行される。
【０２２５】
(iv-1)図２７に示すように、行番号のみカウントアップされて、１＋１＝２となる。
【０２２６】
(v)指示データ作成部１０２ｇは、図２８に示す在庫移動指示データ１０６ｍを作成する。なお、図２８に示す在庫移動指示データ１０６ｍに含まれる情報の取得先は以下のとおりである。移動指示番号は、［４−６−２］の(iv-3)で生成した移動番号118020100002から取得したものである。移動指示行番号は、(iv-1)でセットした行番号２から取得したものである。移動指示日は、システム日付180201から取得したものである。事業所コードは、図３の倉庫マスタ１０６ｆにおいて、レコード９における保管倉庫の倉庫コードT03と紐付く事業所コード１から取得したものである。出庫倉庫コードは、図３の倉庫マスタ１０６ｆにおいて、レコード９における保管倉庫の倉庫コードT03と紐付く事業所コード１を有する共通倉庫の倉庫コード1000を取得したものである。入庫倉庫コードは、レコード９における保管倉庫の倉庫コードT03を取得したものである。商品コードは、レコード９における商品コード10003を取得したものである。移動数は、レコード９における移動可能数１０を取得したものである。
【０２２７】
［４−６−４．処理の終了］
以上、［４−６−１］〜［４−６−３］で説明した処理により、図２１に示す更新後の元データ１０６ｊにおけるすべてのレコードの読み込みが終了したため、在庫移動指示データ１０６ｍの作成が終了する。
【０２２８】
［４−７．まとめ］
以上説明してきたように、本実施形態に係るデータ作成装置１００によれば、共通倉庫における在庫数および保管倉庫における在庫数に基づいて、受注した商品の在庫を共通倉庫から保管倉庫に移動する必要があるか否か、必要な場合は移動可能か否かを判断し、更に、移動可能な場合は商品の移動数を含む在庫移動指示データ１０６ｍを自動的に作成できる。
【０２２９】
［５．他の実施形態］
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【０２３０】
例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０２３１】
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【０２３２】
また、データ作成装置１００に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【０２３３】
例えば、データ作成装置１００が備える処理機能、特に制御部にて行われる各処理機能については、その全部または任意の一部を、ＣＰＵおよび当該ＣＰＵにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じてデータ作成装置１００に機械的に読み取られる。すなわち、ＲＯＭまたはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶部などには、ＯＳと協働してＣＰＵに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、ＲＡＭにロードされることによって実行され、ＣＰＵと協働して制御部を構成する。
【０２３４】
また、このコンピュータプログラムは、データ作成装置１００に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【０２３５】
また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（登録商標）（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、および、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ等の任意の「可搬用の物理媒体」を含むものとする。
【０２３６】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、ＯＳに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【０２３７】
記憶部に格納される各種のデータベース等は、ＲＡＭ、ＲＯＭ等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【０２３８】
また、データ作成装置１００は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、データ作成装置１００は、当該装置に本実施形態で説明した処理を実現させるソフトウェア（プログラムまたはデータ等を含む）を実装することにより実現してもよい。
【０２３９】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【０２４０】
本発明は、例えば、複数の拠点で在庫を管理する業界等において極めて有用である。
【符号の説明】
【０２４１】
１００  データ作成装置
１０２  制御部
１０２ａ  在庫データ作成部
１０２ｂ  退避部
１０２ｃ  第一判断部
１０２ｄ  第二判断部
１０２ｅ  第一更新部
１０２ｆ  第二更新部
１０２ｇ  指示データ作成部
１０４  通信インターフェース部
１０６  記憶部
１０６ａ  受注データ
１０６ｂ  共通倉庫データ
１０６ｃ  保管倉庫データ
１０６ｄ  商品マスタ
１０６ｅ  事業所マスタ
１０６ｆ  倉庫マスタ
１０６ｇ  在庫データ
１０６ｈ  受注残数データ
１０６ｉ  出荷可能数データ
１０６ｊ  元データ
１０６ｋ  退避データ
１０６ｍ  在庫移動指示データ
１０８  入出力インターフェース部
１１２  入力装置
１１４  出力装置
２００  サーバ
３００  ネットワーク
【図１】
2019204213.tif 000003
【図２】
2019204213.tif 000004
【図３】
2019204213.tif 000005
【図４】
2019204213.tif 000006
【図５】
2019204213.tif 000007
【図６】
2019204213.tif 000008
【図７】
2019204213.tif 000009
【図８】
2019204213.tif 000010
【図９】
2019204213.tif 000011
【図１０】
2019204213.tif 000012
【図１１】
2019204213.tif 000013
【図１２】
2019204213.tif 000014
【図１３】
2019204213.tif 000015
【図１４】
2019204213.tif 000016
【図１５】
2019204213.tif 000017
【図１６】
2019204213.tif 000018
【図１７】
2019204213.tif 000019
【図１８】
2019204213.tif 000020
【図１９】
2019204213.tif 000021
【図２０】
2019204213.tif 000022
【図２１】
2019204213.tif 000023
【図２２】
2019204213.tif 000024
【図２３】
2019204213.tif 000025
【図２４】
2019204213.tif 000026
【図２５】
2019204213.tif 000027
【図２６】
2019204213.tif 000028
【図２７】
2019204213.tif 000029
【図２８】
2019204213.tif 000030