(57)【要約】      （修正有）【課題】非同期処理におけるデータ処理要求であっても、二重発注によるミスやユーザへの処理の煩わしさを防ぐことを可能とする。【解決手段】未発注データの発注処理を、当該未発注データの発注依頼とは非同期で実行する情報処理装置であって、未発注データの発注依頼を受け付けた後に、発注処理を非同期で実行している間は、未発注データを処理待ちとして登録する。発注依頼を受け付けた後に、未発注データの検索依頼を新たに受け付けた場合に、登録された未発注データと、データベースから新たに検索された未発注データとが重複する未発注データがあるか判断し、重複する未発注データがある場合、重複する未発注データを除外する。除外した検索結果をクライアント端末に送信し、非同期での実行が完了した場合に、登録された未発注データを処理完了状態とする。【選択図】なし【特許請求の範囲】
【請求項１】
未発注データの発注処理を、当該未発注データの発注依頼とは非同期で実行する情報処理装置であって、
未発注データの発注依頼を受け付ける受付手段と、
前記発注依頼を受け付けた後に、前記発注依頼を受け付けた未発注データの発注処理を非同期で実行している間は、前記未発注データを処理待ちとして登録する登録手段と、
前記発注依頼を受け付けた後に、未発注データの検索依頼を新たに受け付けた場合に、前記登録手段により登録された未発注データと、データベースから新たに検索された未発注データとが重複する未発注データであるか否かを判断する重複判断手段と、
前記重複していると判断した未発注データを、前記受け付けた検索依頼に対する検索結果から除外処理する除外処理手段と、
前記除外処理した検索結果を表示するべく制御する表示制御手段と、
前記非同期での実行が完了した場合に、前記処理待ちとして登録された未発注データを処理完了状態とする処理完了登録手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記登録手段は、前記未発注データの発注処理が非同期で実行中であることを識別可能な情報として有効化し、前記処理完了登録手段は、前記未発注データの発注処理が非同期で実行中であることを識別可能な情報を無効化することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記受付手段は更に、前記除外処理した検索結果により、前記除外処理された未発注データの発注依頼を受け付けることを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
未発注データの発注処理を、当該未発注データの発注依頼とは非同期で実行する情報処理装置における情報処理方法であって、
未発注データの発注依頼を受け付ける受付ステップと、
前記発注依頼を受け付けた後に、前記発注依頼を受け付けた未発注データの発注処理を非同期で実行している間は、前記未発注データを処理待ちとして登録する登録ステップと、
前記発注依頼を受け付けた後に、未発注データの検索要求を新たに受け付けた場合に、前記登録ステップにより登録された未発注データと、データベースから新たに検索された未発注データとが重複する未発注データであるか否かを判断する重複判断ステップと、
前記重複していると判断した未発注データを、前記受け付けた検索要求に対する検索結果から除外処理する除外処理ステップと、
前記除外処理した検索結果を表示するべく制御する表示制御ステップと、
前記非同期での実行が完了した場合に、前記処理待ちとして登録された未発注データを処理完了状態とする処理完了登録ステップと、
を備えることを特徴とする情報処理方法。
【請求項５】
未発注データの発注処理を、当該未発注データの発注依頼とは非同期で実行する情報処理装置として動作させるプログラムであって、
前記情報処理装置を、
未発注データの発注依頼を受け付ける受付手段と、
前記発注依頼を受け付けた後に、前記発注依頼を受け付けた未発注データの発注処理を非同期で実行している間は、前記未発注データを処理待ちとして登録する登録手段と、
前記発注依頼を受け付けた後に、未発注データの検索要求を新たに受け付けた場合に、前記登録手段により登録された未発注データと、データベースから新たに検索された未発注データとが重複する未発注データであるか否かを判断する重複判断手段と、
前記重複していると判断した未発注データを、前記受け付けた検索要求に対する検索結果から除外処理する除外処理手段と、
前記除外処理した検索結果を表示するべく制御する表示制御手段と、
前記非同期での実行が完了した場合に、前記処理待ちとして登録された未発注データを処理完了状態とする処理完了登録手段として動作させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期処理を受け付ける情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
一般に、基幹システムなどでは、データベース（サーバー）とクライアントのデータが同期していることが望まれるが、実際、処理負荷などを考慮し、同期処理と非同期処理が選択、組み合わせたシステムが構築されている。
【０００３】
非同期処理を行う具体的な処理としては特許文献１で開示されている。
【０００４】
この特許文献１においてはクライアント計算機システムと非同期に処理実行可能とすることで、クライアント計算機システムの処理要求完了後のセッション切断を可能とし、操作端末の占有を解除することで、クライアント計算機システムにおける該処理以外の処理実行を可能としている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−３４７６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＭＲＰ（Ｍａｔｅｒｉａｌ  Ｒｅｑｕｉｒｅｍｅｎｔｓ  Ｐｌａｎｎｉｎｇ）にて大量に生成された発注依頼データに基づく発注作業をサーバに依頼する場合、複数のユーザが操作することになり、単に処理状況を通知するだけでは、対象データがどのような状態なのか確認する作業も負荷となる。
【０００７】
たとえば、あるユーザＡが非同期での発注処理命令を送信した後、別のユーザＢが発注状況確認画面で発注処理を検索すると、ユーザＡにより非同期処理に指定された処理だが、未だに処理されていないデータもユーザＢが検索した発注処理の検索結果に表示されてしまう。その為、複数のユーザで発注画面を操作すると、二重発注が生じてしまう。
【０００８】
この二重発注に対してはエラーチェックをしているサーバもあるが、発注依頼データは大量に指定されて実行されることが多いため、実際には大量のエラーログが出力され、本来確認してユーザが対処しないといけないエラーが判別できなくなるという課題も生じる。
【０００９】
本発明は、上記課題を解決するためになされた発明であり、データベースサーバが、クライアント端末からの非同期でのデータ処理要求を受け付けると、処理要求を受け付けたデータに予約識別情報を付与し、クライアント端末から新たな処理要求があった場合は、予約識別情報が付与されたデータ以外のデータ処理要求を受け付けることにより、二重発注によるミスやユーザへの処理の煩わしさを防ぐことが出来る。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、未発注データの発注処理を、当該未発注データの発注依頼とは非同期で実行する情報処理装置であって、未発注データの発注依頼を受け付ける受付手段と、前記発注依頼を受け付けた後に、前記発注依頼を受け付けた未発注データの発注処理を非同期で実行している間は、前記未発注データを処理待ちとして登録する登録手段と、前記発注依頼を受け付けた後に、未発注データの検索依頼を新たに受け付けた場合に、前記登録手段により登録された未発注データと、データベースから新たに検索された未発注データとが重複する未発注データであるか否かを判断する重複判断手段と、前記重複していると判断した未発注データを、前記受け付けた検索依頼に対する検索結果から除外処理する除外処理手段と、前記除外処理した検索結果を表示するべく制御する表示制御手段と、前記非同期での実行が完了した場合に、前記処理待ちとして登録された未発注データを処理完了状態とする処理完了登録手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本願発明では、非同期処理におけるデータ処理要求であっても、二重発注によるミスやユーザへの処理の煩わしさを防ぐことを可能にする。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る情報処理システムの構成の一例を示すシステム構成図である。
【図２】本発明の実施形態のクライアント端末１００、サーバ１０１の各種端末のハードウエア構成を示す図である。
【図３】本発明の実施形態に係るクライアント端末のソフトウェア構成を示す図である。
【図４】本実施形態における発明が解決しようとする課題を説明するための画面に表示されるイメージの一例を示す模式図である。
【図５】本発明の実施形態のクライアント端末１００およびアプリケーションサーバ１０１における制御処理手段の一例を示す第１のフローチャートである。
【図６】本発明の実施形態のアプリケーションサーバ１０１およびデータベースサーバ１０２における制御処理手段の一例を示す第２のフローチャートである。
【図７】本発明の実施形態のアプリケーションサーバ１０１およびデータベースサーバ１０２における制御処理手段の一例を示す第３のフローチャートである。
【図８】本発明の実施形態のアプリケーションサーバ１０１およびデータベースサーバ１０２における制御処理手段の一例を示す第４のフローチャートである。
【図９】本発明の実施形態に係るクライアント端末１００のディスプレイ２１０に表示される画面のイメージの一例を示す模式図である。
【図１０】本発明の実施形態に係るデータの遷移の一例を示す模式図である。
【図１１】本発明の実施形態に係るデータの遷移の一例を示す模式図である。
【発明を実施するための形態】
【００１３】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００１４】
図１は、本発明に係る情報処理システムの構成の一例を示すシステム構成図である。
【００１５】
図１において、情報処理システムは、ユーザが操作する複数のクライアント端末１００と、ネットワーク１１０を介して接続されるアプリケーションサーバ１０１および、データベースサーバ１０２を有している。
【００１６】
アプリケーションサーバ１０１は、クライアント端末１００からアクセスされ、データベースサーバ１０２が有するデータを参照したり、登録、更新、削除等の処理を命令するサーバであり、クライアント端末１００は、ユーザがデータベースサーバのデータを検索、参照、更新することが可能な情報処理装置である。
【００１７】
データベースサーバ１０２は、クライアント端末１００からの指示により、アプリケーションサーバを介して、データベースサーバ１０２内のデータベースを管理している。
【００１８】
なお、以下では、図１のような複数の筐体で構成されたシステムにおける処理として説明しているが、クライアント端末一つの機器からなる装置に適用しても良いし、複数の機器から構成されるシステムに適用しても良い。
【００１９】
図２は、本発明の実施形態のクライアント端末１００、アプリケーションサーバ１０１、データベースサーバ１０２などの各種端末のハードウエア構成を示す図である。
【００２０】
図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。
【００２１】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各サーバあるいは各クライアントの後述する各種機能を実現するためのプログラムが記憶されている。
【００２２】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００２３】
入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、特に、サーバやクライアント等の端末では、キーボード、マウス等のポインティングデバイスが挙げられる。また、印刷装置等では、タッチパネル、ボタン、スイッチ等が挙げられる。
【００２４】
出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、たとえば、液晶ディスプレイ等が挙げられる。
【００２５】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、各サーバあるいは各クライアントの各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ２１１としては、ハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
【００２６】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器との通信制御処理を実行する。
【００２７】
本発明を実現するためのプログラム（図１４）は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。
【００２８】
図３は、本発明の情報処理システムにおけるソフトウェア構成を示す図である。
【００２９】
図３のアプリケーションサーバ１０１は、以下の構成を有する。すなわち、３０１は、受付部であり、クライアント端末１００からの検索条件などにより検索された発注依頼処理データのＩＤなどを受け付ける。
【００３０】
３０２は、登録部であり、受付部３０１で受け付けた発注依頼処理データを非同期処理の未発注データの処理待ち情報として登録する処理を行う。
【００３１】
３０３は、重複判断部であり、登録部３０２により未発注データの登録を受け付けた後、新たに受付部３０１から検索依頼を受け付けた場合に、過去に登録部３０２で登録された未発注データと重複していないか判断する。
【００３２】
３０４は、除外処理部であり、重複判断部３０３で重複していると判断された場合に、新たに受付部３０１から検索依頼を受け付けた検索結果から重複する未処理データを除外する処理を行う。
【００３３】
３０５は、表示制御部であり、除外処理部で除外されて残った検索結果をクライアント端末１００のディスプレイ２１０に表示させる処理を行う。
【００３４】
３０６は、処理完了登録手段であり、受付部３０１で受け付けた発注依頼処理データ内の非同期処理が終了すると、処理完了状態として登録する処理を実行する。
【００３５】
以下、図４を参照して、本実施形態における発明が解決しようとする課題を説明する。
【００３６】
図４は、本実施形態における発明が解決しようとする課題を説明するための画面に表示されるイメージの一例を示す模式図である。
【００３７】
図４の４００は、ＭＲＰにおける発注画面の例であり、４０１の検索条件欄に発注したい品目や納期、発注先などをユーザが入力して、検索ボタン４０２を押下すると、検索結果一覧が４０３欄に表示される。実際にはこの一覧は１万件を越えるデータが表示される。
【００３８】
検索結果一覧画面４０３から、ユーザが発注を依頼したい項目に４０４のようなチェックボックスにチェックを付けて、発注ボタン４０５を押下することにより、発注処理が開始される。同期処理の場合、例えば１万件のデータについて、図示していないチェックボックスの全選択ボタンの押下により、検索結果の全てを選択して発注処理を行うと、１万件のデータ全ての処理が終わるまで、発注画面４００は操作できなくなる。
【００３９】
そのため、ＭＲＰなどの大量のデータを扱い、画面のレスポンスが悪くなるシステムの場合、非同期に処理実行可能とすることで、クライアント端末１００の処理要求完了後のセッション切断を可能とし、操作端末の占有を解除することで、クライアント端末１００における該処理以外の処理実行を可能としている。非同期処理を正常に受け付けると、４０６のような、正常受付完了の旨をすぐに表示して、引き続き発注画面を操作することができる。
【００４０】
図４の４００のように一度、発注依頼を受け付けて非同期処理の全てが終了していない段階で、再度検索ボタン４１１を押下すると（４１０の画面）、４１４のような検索結果が表示される。すなわち、以前に発注依頼を行った依頼Ｎｏ００１は既に処理が終わっているので表示されていないが、非同期処理により依頼Ｎｏ００２とＮｏ００３は、未だ処理が終了していないことがある（４１２の枠内）。この状態で、例えば、図示していないチェックボックスの全選択ボタンの押下により、検索結果の全てを選択して発注処理を行う（発注ボタン４１３を押下する）と、以前、発注依頼した依頼Ｎｏ００２とＮｏ００３と新たにＮｏ００４の項目が選択されて発注処理を行う。すると、依頼Ｎｏ００２とＮｏ００３（４１２の枠内）は、以前発注依頼をしているので、二重発注となってしまう課題が生じる。
【００４１】
サーバによっては二重発注に対してはエラーチェックをしているが、ＭＲＰなどの場合、大量のエラーログが出力されため、本来確認してユーザが対処しないといけないエラーが判別できなくなるという課題も生じる。
【００４２】
以上の課題を解決するための処理を図５〜図８のフローチャート並びに図１０、図１１のデータ構成図の遷移を参照して説明する。
【００４３】
図５は、本発明の実施形態のクライアント端末１００およびアプリケーションサーバ１０１における制御処理手段の一例を示す第１のフローチャートであり、図中のＳ５０１〜Ｓ５０９は各ステップを示す。各ステップの処理は、それぞれのシステムの外部メモリ２１１に格納されたアプリケーションプログラムを、それぞれのシステムのＣＰＵ２０１がＲＡＭ２０３上にロードして実行することにより実現される。
【００４４】
図５のフローチャートは、クライアント端末１００において、ＭＲＰなどアプリケーションプログラムを起動して、発注依頼処理などを行うために検索画面を表示した際に開始されるフローチャートである。
【００４５】
まず、図５のステップＳ５０１において、クライアント端末１００のＣＰＵ２０１は、ユーザから発注処理する項目を検索する条件の入力を受け付ける。
【００４６】
次に、ステップＳ５０２において、アプリケーションサーバ１０１のＣＰＵ２０１は、ステップＳ５０１で受け付けた検索条件を受信し、データベースサーバ１０２と連携して、該当するデータを抽出する。ステップＳ５０２の処理を図７を参照して説明する。
【００４７】
図７は、本発明の実施形態のアプリケーションサーバ１０１およびデータベースサーバ１０２における制御処理手段の一例を示す第３のフローチャートであり、図中のＳ７０１〜Ｓ７０５は各ステップを示す。各ステップの処理は、それぞれのシステムの外部メモリ２１１に格納されたアプリケーションプログラムを、それぞれのシステムのＣＰＵ２０１がＲＡＭ２０３上にロードして実行することにより実現される。
【００４８】
図７のフローチャートは、アプリケーションサーバ１０１において、クライアント端末１００から検索条件を受信すると開始されるフローチャートである。
【００４９】
まず、図７のステップＳ７０１において、アプリケーションサーバ１０１のＣＰＵ２０１は、クライアント端末１００から受信した検索条件をＳＱＬなどに変換し、データベースサーバ１０２に送信する。送信されたＳＱＬを元に、データベースサーバ１０２のＣＰＵ２０１は、該当する検索を実行し、検索結果を返送する。図７の例では、発注依頼テーブルから検索条件に合う検索結果を返している。返送された結果はステップＳ７０２において、アプリケーションサーバ１０１により受信される。図１０を参照して、検索処理実行後に受信されるデータの例を説明する。
【００５０】
図１０は、本発明の実施形態に係るデータの遷移の一例を示す模式図である。
【００５１】
図１０の１０１０は、クライアント端末１００において、検索ボタンが押下された際にアプリケーションサーバ１０１が受信し、データが遷移する一例である。ステップＳ７０２において、アプリケーションサーバ１０１は、たとえば、１０１１のようなデータを受信する。詳細は後述する。図７のフローチャートの説明に戻る。
【００５２】
次に、図７のステップＳ７０３において、アプリケーションサーバ１０１のＣＰＵ２０１は、データベースサーバ１０２から、非同期処理依頼テーブルから既に発行されている発注依頼情報を取得する。図１０の例を参照すると、１０１２のような既に発行されている発注依頼情報を取得する。非同期処理依頼テーブルについては後述する。
【００５３】
次に、ステップＳ７０４において、アプリケーションサーバ１０１のＣＰＵ２０１は、ステップＳ７０２で取得した検索結果から、ステップＳ７０３で取得した発行されている発注依頼情報を除外する処理を行う。既に発行されている発注依頼情報を発注依頼テーブルから検索した結果から除外することにより、二重に発注処理を行うことを防ぐことができる。詳細は後述する。
【００５４】
次に、ステップＳ７０５において、アプリケーションサーバ１０１のＣＰＵ２０１は、ステップステップＳ７０４において除外した検索結果をクライアント端末１００に送信する命令を発行する。以上の処理により、アプリケーションサーバ１０１は、発注処理を二重に行うことを防ぐ事が可能となる。図５のフローチャートの説明に戻る。
【００５５】
図５のステップＳ５０２の処理を終えると、次にステップＳ５０３において、アプリケーションサーバ１０１のＣＰＵ２０１は、ステップＳ７０５の送信命令に則ってクライアント端末１００に検索結果を送信する。
【００５６】
次に、ステップＳ５０４において、クライアント端末１００のＣＰＵ２０１は、ステップＳ５０３で送信された検索結果をディスプレイ２１０に表示する。表示された画面の例を図９を参照して説明する。
【００５７】
図９は、本発明の実施形態に係るクライアント端末１００のディスプレイ２１０に表示される画面のイメージの一例を示す模式図である。
【００５８】
図９は、以前に図４の４００の発注画面を入力した後で、再検索した際の画面イメージである。
【００５９】
９００は非同期処理中のデータを非表示にするチェックボックスがＯＦＦの場合の例（９０２）である。この場合、ステップＳ７０５で送信される検索結果は、既に発行されている発注依頼情報を発注依頼テーブルから検索した結果から除外する前の結果と、除外した後の結果を受信することになる。その場合でも二重発注にならないように、発注依頼を実行するチェックボックス９０４は非アクティブ化している。
【００６０】
９１０は非同期処理中のデータを非表示にするチェックボックスがＯＮの場合の例（９１１）である。この場合、ステップＳ７０５で送信される検索結果は、既に発行されている発注依頼情報を発注依頼テーブルから検索した結果から除外された結果のみである。この場合、既に発注依頼を受けている情報は表示されていないので、二重発注になることを防ぐことが出来る。どちらの場合でも、図示していないチェックボックスの全選択ボタンの押下した場合でも、二重発注になることを防ぐことができる。図５のフローチャートの説明に戻る。
【００６１】
次に、図５のステップＳ５０５において、クライアント端末１００のＣＰＵ２０１は、ユーザから発注処理を実行するデータを受け付ける。図４や図９を参照して説明する。
【００６２】
たとえば、図４において、ユーザが４０４のように発注依頼を実行するチェックボックスにチェックを入れ、発注ボタン４０５を押下することで発注処理を実行するデータを受け付ける。同様に、図９のチェックボックス９１２などにチェックを入れ、発注ボタン９１３を押下すると、チェックボックスにチェックの入った発注データは発注依頼がなされる。
【００６３】
ステップＳ５０５において受け付けられた発注処理データは、アプリケーションサーバ１０１に送信される。
【００６４】
次に、ステップＳ５０６において、アプリケーションサーバ１０１のＣＰＵ２０１は、データベースサーバ１０２に発注依頼をかける。詳細な処理を図６を参照して説明する。
【００６５】
図６は、本発明の実施形態のアプリケーションサーバ１０１およびデータベースサーバ１０２における制御処理手段の一例を示す第２のフローチャートであり、図中のＳ６０１〜Ｓ６０４は各ステップを示す。各ステップの処理は、それぞれのシステムの外部メモリ２１１に格納されたアプリケーションプログラムを、それぞれのシステムのＣＰＵ２０１がＲＡＭ２０３上にロードして実行することにより実現される。
【００６６】
図６のフローチャートは、アプリケーションサーバ１０１において、クライアント端末１００から発注依頼情報を受信すると開始されるフローチャートである。
【００６７】
まず、図６のステップＳ６０１において、アプリケーションサーバ１０１のＣＰＵ２０１は、データベースサーバ１０２から非同期処理を行う非同期処理Ｎｏの発行を依頼する。
【００６８】
次に、ステップＳ６０２において、アプリケーションサーバ１０１のＣＰＵ２０１は、非同期処理依頼テーブルにステップＳ６０１で発行された非同期処理ＮｏでステップＳ５０５から受信した発注処理データを登録する。非同期処理Ｎｏが発行されて、非同期処理依頼テーブルに発注依頼データを登録する処理を図１０の１０００を参照して説明する。
【００６９】
図１０の１０００は、図６の処理を説明するための模式図である。まず、ステップＳ６０１において、発行された非同期処理Ｎｏである「００００１」を１００１において取得し、ステップＳ６０２において、１００２のように、非同期処理依頼テーブルに登録する。非同期処理依頼テーブルの詳細を説明する。
【００７０】
１列目は発行された非同期処理の非同期処理Ｎｏであり、このテーブルのキーである。２列目は処理区分であり、図１０の例では、発注処理である。３列名は処理パラメータであり、具体的な発注依頼が行われる発注データであり、ステップＳ５０５から受信した発注依頼処理データである。４列目は完了フラグであり、この非同期処理が終了すると完了フラグが立つ（１になる）。すなわち、未発注データを処理待ちとして登録すると完了フラグが０となり、完了フラグが０である非同期処理Ｎｏの発注依頼処理データは処理待ち状態となる。以上のような非同期処理依頼テーブルをステップＳ６０２で登録する。図６のフローチャートの説明に戻る。
【００７１】
次に、図６のステップＳ６０３において、アプリケーションサーバ１０１のＣＰＵ２０１は、ステップＳ６０１で発行された非同期処理Ｎｏの発注処理を起動する。なお、この起動処理は非同期処理であるため、無事に起動した際には、直ぐにステップＳ６０４において、起動完了メッセージをクライアント端末１００に送信する命令を発行する。ステップＳ６０３の発注処理の起動の処理を図８を参照して説明する。
【００７２】
図８は、本発明の実施形態のアプリケーションサーバ１０１およびデータベースサーバ１０２における制御処理手段の一例を示す第４のフローチャートであり、図中のＳ８０１〜Ｓ８０７は各ステップを示す。各ステップの処理は、それぞれのシステムの外部メモリ２１１に格納されたアプリケーションプログラムを、それぞれのシステムのＣＰＵ２０１がＲＡＭ２０３上にロードして実行することにより実現される。
【００７３】
図８のフローチャートは、アプリケーションサーバ１０１において、発注処理が起動された（ステップＳ６０３の処理の）際に開始されるフローチャートである。
【００７４】
まず、図８のステップＳ８０１において、アプリケーションサーバ１０１のＣＰＵ２０１は、ステップＳ６０１で発行された非同期処理Ｎｏを取得する。
【００７５】
次に、ステップＳ８０２において、アプリケーションサーバ１０１のＣＰＵ２０１は、ステップＳ８０１で取得した非同期処理Ｎｏの発注依頼データを非同期処理依頼テーブルから取得する。すなわち、ステップＳ６０２で登録された発注依頼データを取得する。
【００７６】
次に、ステップＳ８０３において、アプリケーションサーバ１０１のＣＰＵ２０１は、非同期処理依頼テーブルから既に採番されている発注依頼データを取得する。この処理は、図７のステップＳ７０３の処理と同様である。
【００７７】
次に、ステップＳ８０４において、アプリケーションサーバ１０１のＣＰＵ２０１は、ステップＳ８０２で取得した発注依頼データから、ステップＳ８０３で取得した発注依頼データを除外する処理を行う。この処理により、非同期処理中に発注依頼データが二重に登録されていても、新規に採番している発注依頼データからデータを除外することにより、二重発注を防ぐことができる。
【００７８】
次に、ステップＳ８０５において、アプリケーションサーバ１０１のＣＰＵ２０１は、発注処理を開始し、各レコード毎に発注処理（ステップＳ８０６）を行い、データベースサーバ１０２の発注テーブルにデータを投入する。ステップＳ８０６の処理を発注依頼データがなくなるまで実行する（ステップＳ８０７）。
【００７９】
図１１を参照して、非同期で処理される検索処理実行後に受信されるデータの例を説明する。
【００８０】
図１１は、本発明の実施形態に係るデータの遷移（非同期処理依頼テーブル）の一例を示す模式図である。
【００８１】
図１１の１１０１は、ステップＳ８０２で取得する発注依頼データであり、非同期処理Ｎｏが「００００２」の場合の例である。
【００８２】
次の１１０２は、ステップＳ８０３で取得する既に発行されている非同期処理Ｎｏの発注依頼データである。図１１の例では、既に発行されている非同期処理Ｎｏである「００００１」の発注依頼データを取得している。
【００８３】
次の１１０３では、ステップＳ８０４において、ステップＳ８０２で取得した１１０１のデータから、ステップＳ８０３で取得したデータを除く処理を実行する。その結果、１行目と２行目のデータは除外されている
【００８４】
１１０４は、ステップＳ８０６において処理される発注依頼データの例であり、図１１の例では、依頼Ｎｏ００４だけとなる。
【００８５】
最後に、１１０５において、依頼Ｎｏ００４の処理が終了すると、非同期処理Ｎｏ「００００２」の発注依頼データが全て終了したので、完了フラグを立てる。すなわち、完了フラグが１である非同期処理Ｎｏの発注依頼処理データを処理完了状態として登録する。この完了フラグにより、非同期処理中かそうでないかを判断することができる。
【００８６】
以上の処理により、非同期処理中に発注依頼データが二重に登録されていても、新規に採番している発注依頼データから二重に登録さているデータを除外することにより、二重発注を防ぐことができる。
【００８７】
なお、本願発明の検索処理（図７）を使用していれば、発注依頼データが二重に登録されることがないので、ステップＳ８０２からステップＳ８０４の処理は省くことも可能であり、他の同期処理システムや本願発明の検索処理（図７）を使用していないシステムと併用している場合などに、ステップＳ８０２からステップＳ８０４の処理が有効になる。
【００８８】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００８９】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００９０】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００９１】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９３】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００９４】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００９５】
１００  クライアント端末
１１０  ネットワーク
１０１  アプリケーションサーバ
１０２  データベースサーバ
【図１】
2018073080.tif 000002
【図２】
2018073080.tif 000003
【図３】
2018073080.tif 000004
【図４】
2018073080.tif 000005
【図５】
2018073080.tif 000006
【図６】
2018073080.tif 000007
【図７】
2018073080.tif 000008
【図８】
2018073080.tif 000009
【図９】
2018073080.tif 000010
【図１０】
2018073080.tif 000011
【図１１】
2018073080.tif 000012