JP4569686B2 - 作業制御プログラム及び作業制御システム - Google Patents

作業制御プログラム及び作業制御システム Download PDF

Info

Publication number
JP4569686B2
JP4569686B2 JP2008208915A JP2008208915A JP4569686B2 JP 4569686 B2 JP4569686 B2 JP 4569686B2 JP 2008208915 A JP2008208915 A JP 2008208915A JP 2008208915 A JP2008208915 A JP 2008208915A JP 4569686 B2 JP4569686 B2 JP 4569686B2
Authority
JP
Japan
Prior art keywords
work
change request
module
accepting
confirmation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008208915A
Other languages
English (en)
Other versions
JP2010044636A (ja
Inventor
隆 宮田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2008208915A priority Critical patent/JP4569686B2/ja
Priority to US12/372,253 priority patent/US8996390B2/en
Publication of JP2010044636A publication Critical patent/JP2010044636A/ja
Application granted granted Critical
Publication of JP4569686B2 publication Critical patent/JP4569686B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Description

本発明は、作業制御プログラム及び作業制御システムに関する。
複数の作業を有する業務プロセスの遂行のために、作業の順序と作業間の情報の受け渡しを定義し、その定義に基づいて作業の状態や担当者の割り当てを管理し実行を制御するワークフローシステムがある。そのワークフローシステムにおいて、既に作業済みの内容に対して、修正を施す必要が生じる場合がある。
これに関連する技術として、例えば、特許文献1には、回覧中の書類に不備があるおそれのあるときでも、キャンセルせずに一時停止して調査することにより、ワークフローシステム上の書類回覧を迅速かつきめ細かに行うことを可能とすることを課題とし、書類の回覧にポーズ(一時停止)を設定し、そのポーズを解除することにより、ポーズ設定中に不備の可能性のある書類の確認を行い、またポーズ設定時に開始可能日時を入力することにより、その日時が過ぎると自動的にポーズを解除し、回覧を再開することができ、さらに書類に追加又は修正があった場合には、ポーズを設定し、回覧が完了している回覧者に対して、同時に追加又は修正された書類を送付し、承認結果を回収した後、前の書類と追加・変更後の書類の回覧を再開することが開示されている。
また、例えば、特許文献2には、ワークフローにおける経路途中の処理者に、申請者による申請内容に対する修正権限を持たせたワークフローシステムを提供することを課題とし、ワークフローシステムにおいて、ワークフローにおける経路上の所定のアクティビティにおいて他のアクティビティにおける処理結果が修正され差し戻された場合に、差し戻し先のアクティビティに対してこの修正に合意するかどうかを問い合わせる問い合わせ手段と、この差し戻し先のアクティビティにおいてこの修正が合意された場合に、この修正が行われたこの所定のアクティビティを飛び越えてワークフローの経路上における次のアクティビティに業務プロセスを進める管理手段とを備えることが開示されている。
特開平09−138824号公報 特開2002−342542号公報
作業手順に基づいて複数の作業を実施する場合にあって、実施済みの作業を再度実施するとき、その作業よりも順番が後の作業を行う作業者に対して、再度作業を実施させるための指示を行わせる必要がないようにした作業制御プログラム及び作業制御システムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、コンピュータは、申請に応じて行われる複数の作業に対する作業手順における遷移元の作業を一意に識別する遷移元作業識別子と遷移先の作業を一意に識別する遷移先作業識別子との対応を示す作業手順表と、該作業手順表によって定義されている作業手順が実行中又は完了であるかを示す状態を記憶する実行状態表と、作業を一意に識別する作業識別子と該作業における現在の状態との対応を示す作業状態表を記憶する記憶装置と、操作者の操作を受け付ける受付手段と、画面を提示する提示手段を具備し、前記コンピュータに、前記受付手段によって受け付けられた操作者の操作に応じて、前記作業手順表によって定義されている作業手順に基づいて実施が許可されている作業よりも前に実施された作業であって、前記作業状態表において作業が完了している作業における作業結果の変更要求を受け付ける変更要求受付機能と、前記作業状態表から実行中である作業を抽出し、前記作業手順表に基づいて、前記変更要求受付機能によって変更要求が受け付けられた変更要求に対応する作業から該抽出した作業までの作業を特定する作業特定機能と、前記変更要求受付機能によって変更要求を受け付けた場合、前記作業特定機能によって特定された作業の作業者の前記受付手段によって受け付けられた操作に応じて、該変更要求の追認又は拒否を受け付ける追認・拒否受付機能と、前記変更要求受付機能によって受け付けられた変更要求を取り下げることを指示する第1の選択肢と前記申請を取り下げることを指示する第2の選択肢を含む選択画面を前記提示手段によって利用者に提示する提示機能と、前記実行状態表に記憶されている前記作業手順の状態が完了であって、前記作業特定機能によって特定された作業のいずれかの作業で、前記追認・拒否受付機能によって拒否が受け付けられた場合であって、前記提示機能によって選択画面を前記提示手段が提示したときに、該選択画面には、前記第2の選択肢を提示しないようにすることによって、前記申請の取り下げの指示が行えないように制御する制御機能と、前記変更要求受付機能によって前記受付手段が変更要求を受け付けた場合、前記作業状態表に基づいて実施が許可されている作業の作業者にその旨を通知する通知機能を実現させることを特徴とする作業制御プログラムである。
請求項2の発明は、前記コンピュータの前記記憶装置に、さらに、各作業と当該各作業に必要なデータとの対応を示す定義表を記憶させ、前記作業特定機能は、作業を特定する場合に、前記定義表に基づいて、作業結果の変更とは独立した作業を除外して、作業を特定することを特徴とする請求項1に記載の作業制御プログラムである。
請求項3の発明は、前記作業特定機能は、実施を許可する作業として特定しようとしている作業が、前記作業状態表に基づいて実施が許可されている作業である場合、又は実施が許可されている作業よりも後の作業である場合には、当該実施が許可されている作業を終点とすることを特徴とする請求項1又は2に記載の作業制御プログラムである。
請求項の発明は、前記コンピュータに、前記作業状態表に基づいて実施が許可されている第1の作業よりも前に実施された作業の中に、前記作業特定機能によって特定された第2の作業がある場合には、当該第1の作業における次への作業の移行を抑制する作業移行抑制機能をさらに実現させることを特徴とする請求項1からのいずれか一項に記載の作業制御プログラムである。
請求項の発明は、前記コンピュータに、前記作業手順表によって定義されている作業手順には分岐があり、前記作業特定機能によって特定された作業が、既に実施された作業とは異なる分岐にある場合は、当該既に実施された作業を取り消す作業取消機能をさらに実現させることを特徴とする請求項1からのいずれか一項に記載の作業制御プログラムである。
請求項の発明は、申請に応じて行われる複数の作業に対する作業手順における遷移元の作業を一意に識別する遷移元作業識別子と遷移先の作業を一意に識別する遷移先作業識別子との対応を示す作業手順表と、該作業手順表によって定義されている作業手順が実行中又は完了であるかを示す状態を記憶する実行状態表と、作業を一意に識別する作業識別子と該作業における現在の状態との対応を示す作業状態表を記憶する記憶装置と、操作者の操作を受け付ける受付装置と、画面を提示する提示装置と、前記受付装置によって受け付けられた操作者の操作に応じて、前記作業手順表によって定義されている作業手順に基づいて実施が許可されている作業よりも前に実施された作業であって、前記作業状態表において作業が完了している作業における作業結果の変更要求を受け付ける変更要求受付手段と、前記作業状態表から実行中である作業を抽出し、前記作業手順表に基づいて、前記変更要求受付手段によって変更要求が受け付けられた変更要求に対応する作業から該抽出した作業までの作業を特定する作業特定手段と、前記変更要求受付手段によって変更要求を受け付けた場合、前記作業特定手段によって特定された作業の作業者の前記受付装置によって受け付けられた操作に応じて、該変更要求の追認又は拒否を受け付ける追認・拒否受付手段と、前記変更要求受付手段によって受け付けられた変更要求を取り下げることを指示する第1の選択肢と前記申請を取り下げることを指示する第2の選択肢を含む選択画面を前記提示装置によって利用者に提示する提示手段と、前記実行状態表に記憶されている前記作業手順の状態が完了であって、前記作業特定手段によって特定された作業のいずれかの作業で、前記追認・拒否受付手段によって拒否が受け付けられた場合であって、前記提示手段によって選択画面を前記提示装置が提示したときに、該選択画面には、前記第2の選択肢を提示しないようにすることによって、前記申請の取り下げの指示が行えないように制御する制御手段と、前記変更要求受付手段によって前記受付装置が変更要求を受け付けた場合、前記作業状態表に基づいて実施が許可されている作業の作業者にその旨を通知する通知手段具備することを特徴とする作業制御システムである。
請求項1記載の作業制御プログラムによれば、作業手順に基づいて複数の作業を実施する場合にあって、実施済みの作業を再度実施するとき、その作業よりも順番が後の作業を行う作業者に対して、再度作業を実施させるための指示を行わせる必要がないようにすることができる。
請求項2記載の作業制御プログラムによれば、本構成を有しない場合と比較して、実施済みの作業を再度実施する場合における作業者の作業を軽減することができる。
請求項3記載の作業制御プログラムによれば、再度実施する作業から本来の作業へと移行させることを担保することができる。
請求項記載の作業制御プログラムによれば、本構成を有しない場合と比較して、継続している作業が無駄な作業となることを抑制することができる。
請求項記載の作業制御プログラムによれば、分岐がある作業手順に適用することができる。
請求項記載の作業制御システムによれば、作業手順に基づいて複数の作業を実施する場合にあって、実施済みの作業を再度実施するとき、その作業よりも順番が後の作業を行う作業者に対して、再度作業を実施させるための指示を行わせる必要がないようにすることができる。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。「あらかじめ定められた」とは、対象としている処理の前であることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
本実施の形態は、図1に示すように、変更要求受付モジュール110、変更作業特定モジュール120、通知モジュール130、標準作業特定モジュール140、作業移行抑制モジュール150、分岐作業処理モジュール160を有している。
なお、ワークフローとは、業務に関連する情報や作業の流れの体系の総称であり、複数の作業に対する作業手順である。その作業手順にはあらかじめ定められた複数の作業項目が含まれ、さらに、その作業項目には作業が含まれている。特に、図2に例示するワークフローエンジンモジュール221では、さらに、その複数の作業項目の作業に対する作業手順に基づいて、実施を許可する作業を特定すること、そして、その作業を行うこと、場合によっては作業者の操作に応じてその作業を行うこと、それらを制御することをいう。グループウェア、スケジュール管理、進捗管理などのモジュールを組み合わせたものであってもよい。なお、作業項目とは、ワークフローにおけるアクティビティに対応し、作業とは、そのアクティビティ毎に行われる実際の作業に対応する。
また、本実施の形態は、ワークフローにおける作業結果の変更についての処理を行うが、変更には修正を含み、主に修正について説明する。
変更要求受付モジュール110は、変更作業特定モジュール120、通知モジュール130と接続されている。
変更要求受付モジュール110は、複数の作業に対する作業手順に基づいて実施が許可されている作業よりも前に実施された作業における作業結果の変更要求を受け付ける。例えば、具体的には、購入申請のワークフローにおいて、購入申請をした者が金額を間違えたことを、申請後に気がついて、その金額を修正するような場合である。その修正である変更要求が行われたときは、既にその後の作業が行われていることとなる。
変更作業特定モジュール120は、変更要求受付モジュール110と接続されており、作業手順解析モジュール122、作業除外モジュール124、変更作業範囲特定モジュール126を有している。変更作業特定モジュール120の作業手順解析モジュール122は、作業移行抑制モジュール150、分岐作業処理モジュール160と接続されている。
作業手順解析モジュール122は、変更作業特定モジュール120、作業除外モジュール124、変更作業範囲特定モジュール126、作業移行抑制モジュール150、分岐作業処理モジュール160からの解析指示にしたがって、ワークフローの解析を行い、その解析結果を渡す。例えば、具体的には、ネットワーク状に接続された作業間の順番、分岐の有無、その分岐箇所等を抽出する等を行う。
変更作業特定モジュール120は、作業手順解析モジュール122による解析結果に基づいて、変更要求受付モジュール110によって変更要求を受け付けられた作業を起点として、前記作業手順に基づいて、実施を許可する作業を特定する。つまり、変更要求が行われた作業から現在行っている作業までの間にある作業が、実施を許可する作業として特定されることとなる。そして、その特定された作業において、変更要求が行われた作業に対して、その変更を許可すること又は否認することが、作業者の操作に応じて行われる。
なお、「実施が許可されている作業」とは、ワークフローにしたがって、現在、作業者に割り当てている作業のことをいう。また、ワークフローにしたがうことの他に、変更作業特定モジュール120によって特定されて、現在、作業者に割り当てている作業を含めてもよい。つまり、実施が許可されている作業には、変更作業以外に現在行っている作業(例えば、具体的には、先の例で、修正前の購入申請に対する作業)が主としてあるが、この他に、変更作業特定モジュール120によって特定された作業であってもよいこととなる。これは、変更中に更なる変更が行われた場合にも対応するためである。
また、「実施が許可されている作業」には、実施が許可されている作業であることという条件の他に、その作業が完了したことを受け付けることが許可された作業であることという条件を付加してもよい。つまり、単に実施が許可されている作業ではなく、その作業が完了することも条件とした作業であることとしてもよい。したがって、この場合は、たとえ実施が許可されている作業であっても、その作業が途中であるものは含まれないこととなる。
また、変更作業特定モジュール120は、作業を特定する場合に、作業除外モジュール124による処理を行わせて、その結果を用いて作業を特定するようにしてもよい。つまり、作業除外モジュール124は、作業手順解析モジュール122による解析結果に基づいて、作業結果の変更とは独立した作業を除外する。なお、作業結果の変更とは独立した作業とは、作業結果が変更されたとしてもそれとは無関係である作業のことをいい、例えば、作業結果の変更による影響(例えば、支配、連鎖等)を受けない作業をいう。つまり、作業結果の変更による影響を受ける作業のみが特定されることになる。
また、変更作業特定モジュール120は、変更作業範囲特定モジュール126による処理を行わせて、その結果を用いて作業の終点を特定するようにしてもよい。つまり、変更作業範囲特定モジュール126は、実施を許可する作業として特定しようとしている作業が、実施が許可されている作業である場合、又は実施が許可されている作業よりも後の作業である場合には、当該実施が許可されている作業を終点とする。なお、「実施が許可されている作業よりも後の作業である場合」とは、前述の作業除外モジュール124による処理の結果、現在行っている作業が除外されてしまい、現在行っている作業よりも後の作業を特定してしまうことを防止するものである。
通知モジュール130は、変更要求受付モジュール110と接続されており、変更要求受付モジュール110が変更要求を受け付けた場合、実施が許可されている作業の作業者にその旨を通知する。つまり、現在行っている作業の作業者に、その対象としたデータについて変更が行われたことを知らせるものである。更に、変更要求受付モジュール110による変更要求の受付の通知の他に、作業移行抑制モジュール150による抑制が行われたことを通知するようにしてもよい。
標準作業特定モジュール140は、作業移行抑制モジュール150、分岐作業処理モジュール160と接続されている。
標準作業特定モジュール140は、作業手順にしたがって、ワークフロー内で現在行われている作業を特定するものである。一般的には、変更作業が行われていない場合に、行うべき作業を特定する。そして、変更作業が行われている場合であっても、行うべき作業を特定するものである。ただし、作業移行抑制モジュール150によって、作業の移行を抑制されることがある。例えば、それ以上の作業の続行を中断することによって、作業の特定を抑制することがある。
作業移行抑制モジュール150は、作業手順解析モジュール122、標準作業特定モジュール140と接続されている。
作業移行抑制モジュール150は、実施が許可されている第1の作業よりも前に実施された作業の中に、変更作業特定モジュール120によって特定された第2の作業がある場合には、当該第1の作業における次への作業の移行を抑制する。つまり、現在行われている作業よりも以前に行われた作業において、変更が生じた場面であるので、それ以降の作業を続行することは無駄となる可能性があるものである。したがって、現在行われている作業以降の作業を抑制するものである。抑制としては、例えば、中止、中断、作業の延期等がある。
分岐作業処理モジュール160は、作業手順解析モジュール122、標準作業特定モジュール140と接続されている。
分岐作業処理モジュール160は、前記作業手順には分岐があり、変更作業特定モジュール120によって特定された作業が、既に実施された作業とは異なる分岐にある場合は、当該既に実施された作業を取り消す。つまり、ワークフロー内に分岐があり、現在行っている作業がその分岐の後のものであり、変更要求のあった作業によって、分岐の条件によっては異なる作業を行わなければならない場合に、分岐から今まで行っていた作業を取り消すようにしたものである。
図2は、システム全体の構成例を示すブロック図である。
ワークフロー管理システムサーバー210、クライアント250A、クライアント250Bは、ネットワーク290を介して、クライアント250Cは、広域通信網291及びネットワーク290を介して、それぞれ接続されている。クライアントは3つに限らず、1つであってもよいし、それ以上であってもよく、また、他の通信網を介して接続されていてもよい。ワークフロー管理システムサーバー210も複数あってもよいし、ワークフロー管理システムサーバー210自体が複数のサーバーによって構成されていてもよい。
ワークフロー管理システムサーバー210は、ワークフロー処理モジュール220、ワークフローデータ格納モジュール230を有している。
ワークフロー処理モジュール220は、ワークフローエンジンモジュール221、ワークフロー定義管理モジュール222、案件操作モジュール223、作業操作モジュール224、追認操作モジュール225を有している。
ワークフローデータ格納モジュール230は、ワークフロー定義格納モジュール232、案件・作業状態・履歴格納モジュール233、属性データ格納モジュール234、修正データ格納モジュール235、追認作業状態格納モジュール236を有している。
作業者は、クライアント250A、250B、250Cのユーザーインターフェイスを介して、ワークフロー管理システムサーバー210を利用する。
ワークフロー管理システムサーバー210は、ワークフロー処理モジュール220内の各モジュールがワークフローデータ格納モジュール230内に格納されている各データを用いてワークフローに関する処理を行う。主に追認操作モジュール225によって修正データ格納モジュール235、追認作業状態格納モジュール236を用いて、図1の例に示した処理を行う。ワークフロー定義管理モジュール222によってワークフロー定義格納モジュール232を用いて、ワークフロー自体の定義を行う。案件操作モジュール223によって案件・作業状態・履歴格納モジュール233を用いて、その案件についてのワークフローを起動等する。そして、作業者からの操作に応じて作業操作モジュール224によって属性データ格納モジュール234又は案件・作業状態・履歴格納モジュール233を用いて、作業を実施する。また、ワークフローに関する基本的な処理、つまり案件のワークフロー又は作業の実行状態を制御する処理をワークフローエンジンモジュール221が担う。なお、案件とは、定義されたワークフローにしたがって、実際に起動されたワークフローをいい、1つのワークフローの定義から複数の案件であるワークフローが起動されることがある。
図3は、本実施の形態の構成例について別の観点からみた場合の概念的なモジュール構成図である。また、図2の例に示したワークフロー管理システムサーバー210内の詳細例を示したものである。
ワークフロー定義格納モジュール232、追認処理データ格納モジュール237、案件・作業状態・履歴格納モジュール233、属性データ格納モジュール234は説明の都合上、別個に記憶装置に記憶されているように図3の例では示しているが、1つの記憶装置に記憶するようにしてもよいし、これらのうちの組み合わせであってもよい。例えば、案件・作業状態・履歴格納モジュール233と追認作業状態格納モジュール236を同じ記憶装置に記憶させ、属性データ格納モジュール234と修正データ格納モジュール235を同じ記憶装置に記憶させるようにしてもよい。
ユーザーインターフェイス251は、クライアント250A等にあり、作業者の操作に応じて、ワークフロー定義管理モジュール222に対して、ワークフローの生成に関する定義登録301、定義取得305等の指示又はデータ取得を行い、案件操作モジュール223に対して、ワークフローの案件(複数の作業を有している)に関する案件起動306、案件一覧312等の指示又はデータ取得を行い、作業操作モジュール224に対して、案件内の作業に関する属性データ受付314、作業完了315、作業一覧320、入力フォーム取得321等の指示又はデータ取得を行い、追認操作モジュール225に対して、修正に関する修正データ受付322、追認完了323、追認一覧330、追認フォーム取得331等の指示又はデータ取得を行う。
ワークフロー定義管理モジュール222は、ワークフローの定義に関するデータについて、ワークフロー定義格納モジュール232に対して、保存302、参照304等を行い、ユーザーインターフェイス251に対して、定義登録301、定義取得305等の指示受付又はデータ提示を行う。
ワークフロー定義格納モジュール232は、ワークフローエンジンモジュール221から定義参照303等され、ワークフロー定義管理モジュール222から保存302、参照304等される。例えば、ワークフロー定義格納モジュール232に格納されるデータ例として、図9の例に示したワークフロー定義テーブル900、図10の例に示した作業定義テーブル1000、図11の例に示したトランジション定義テーブル1100、図12の例に示した属性定義テーブル1200、図13の例に示したフォーム定義テーブル1300がある。これらによって、ワークフローが定義される。
図9は、ワークフロー定義テーブル900のデータ構造例を示す説明図である。ワークフロー定義テーブル900は、ID欄901、定義名欄902を有している。ID欄901は、ワークフロー自体を一意に識別する識別子を記憶する。定義名欄902は、そのワークフローの名称を記憶する。ワークフローを作業者に提示する場合等に利用する。
図10は、作業定義テーブル1000のデータ構造例を示す説明図である。作業定義テーブル1000は、ID欄1001、定義欄1002、作業名欄1003を有している。ワークフローを構成する作業を記憶する。つまり、ID欄1001は、作業を一意に識別する識別子を記憶する。定義欄1002は、その作業が含まれるワークフローの識別子(ワークフロー定義テーブル900のID欄901で定義された識別子)を記憶する。作業名欄1003は、その作業の名称を記憶する。ワークフローの作業を作業者に提示する場合等に利用する。したがって、図10の例では、ワークフロー「購入申請」の作業として「申請」、「課長承認」、「部長承認」、「調達」、「経理」、「総務」がある。
図11は、トランジション定義テーブル1100のデータ構造例を示す説明図である。トランジション定義テーブル1100は、ID欄1101、遷移元欄1102、遷移先欄1103を有している。ワークフローの構造(作業間の順番)を記憶する。つまり、ID欄1101は、ワークフローにおけるある作業からある作業への遷移を一意に識別する識別子を記憶する。遷移元欄1102は、遷移元の作業の識別子を記憶する。遷移先欄1103は、遷移先の作業の識別子を記憶する。したがって、図11の例では、ワークフロー「購入申請」は、「申請」(作業の識別子:111)から「課長承認」(作業の識別子:112)へ遷移し、「課長承認」から「部長承認」(作業の識別子:113)へ遷移し、「部長承認」から「調達」(作業の識別子:114)へ遷移し、「部長承認」から「経理」(作業の識別子:115)へ遷移し、「調達」から「総務」(作業の識別子:116)へ遷移し、「経理」から「総務」へ遷移することを示している。
図12は、属性定義テーブル1200のデータ構造例を示す説明図である。属性定義テーブル1200は、ID欄1201、定義欄1202、属性名欄1203、データ型欄1204を有している。各ワークフロー内で処理されるデータである属性に関する定義を記憶する。つまり、ID欄1201は、そのデータである属性を一意に識別する識別子を記憶する。定義欄1202は、そのデータが用いられるワークフローの識別子を記憶する。属性名欄1203は、そのデータである属性の名称を記憶する。そのデータを作業者に提示する場合等に利用する。データ型欄1204は、そのデータの型(文字列型、整数型等)を記憶する。
図13は、フォーム定義テーブル1300のデータ構造例を示す説明図である。フォーム定義テーブル1300は、ID欄1301、作業定義欄1302、属性欄1303、操作欄1304を有している。ユーザーインターフェイス251に提示するフォーム(文書、書類等の形式)に関する定義を記憶する。つまり、ID欄1301は、そのフォームを一意に識別する識別子を記憶する。作業定義欄1302は、そのフォームが用いられる作業の識別子(作業定義テーブル1000のID欄1001で定義された識別子)記憶する。属性欄1303は、そのフォームで用いられる属性であるデータの識別子(属性定義テーブル1200のID欄1201で定義された識別子)を記憶する。操作欄1304は、そのフォームでの操作の型(「W」はデータの変更が可能であることを示し、「R」はデータの変更ができないこと(表示のみ)を示す)を記憶する。したがって、図13に示す例は、「申請」(作業の識別子:111)の作業において、申請者、所属部門、購入品名、単価、数量、発注先、口座番号、予算区分、希望納期(属性の識別子:511から519まで)が、ユーザーインターフェイス251で記載可能であることを示している。
案件操作モジュール223は、案件のワークフローに関する起動等について、案件・作業状態・履歴格納モジュール233に対して、案件状態変更307、案件情報取得311等を行い、ユーザーインターフェイス251に対して、案件起動306、案件一覧312等の指示受付又はデータ提示を行う。
案件・作業状態・履歴格納モジュール233は、ワークフローエンジンモジュール221から状態参照308、履歴参照309、状態変更310等され、案件操作モジュール223から案件状態変更307、案件情報取得311等され、作業操作モジュール224から作業情報の取得・変更313等される。例えば、案件・作業状態・履歴格納モジュール233に格納されるデータ例として、図15の例に示した案件実行状態テーブル1500、図16の例に示した作業実行状態テーブル1600がある。
図15は、案件実行状態テーブル1500のデータ構造例を示す説明図である。案件実行状態テーブル1500は、ID欄1501、定義欄1502、起案者欄1503、起案日時欄1504、状態欄1505を有している。案件のワークフローにおける実行状態を記憶する。つまり、ID欄1501は、案件毎の実行状態を一意に識別する識別子を記憶する。定義欄1502は、その案件のワークフローの識別子(ワークフロー定義テーブル900のID欄901で定義された識別子)を記憶する。起案者欄1503は、その案件の起案者(本ワークフローにおける最初の作業者になる場合が一般的である)を記憶する。起案日時欄1504は、案件が起案された日時、つまりその案件のワークフローが起動された日時(年、分、秒等を含んでいてもよい)を記憶する。状態欄1505は、その案件のワークフローにおける現在の状態(実行中、完了等)を記憶する。
図16は、作業実行状態テーブル1600のデータ構造例を示す説明図である。作業実行状態テーブル1600は、ID欄1601、案件欄1602、作業定義欄1603、状態欄1604を有している。ワークフローにおける各作業の実行状態を記憶する。つまり、ID欄1601は、作業毎の実行状態を一意に識別する識別子を記憶する。案件欄1602は、その作業が含まれている案件を一意に識別する識別子(案件実行状態テーブル1500のID欄1501で定義された識別子)を記憶する。作業定義欄1603は、その作業を一意に識別する識別子(作業定義テーブル1000のID欄1001で定義された識別子)を記憶する。状態欄1604は、その作業における現在の状態(実行中、完了、待機中等)を記憶する。
作業操作モジュール224は、案件内の作業に関するデータについて、案件・作業状態・履歴格納モジュール233に対して、作業情報の取得・変更313等を行い、属性データ格納モジュール234に対して、属性データ登録316、属性データ更新317、属性データ参照319等を行い、ユーザーインターフェイス251に対して、属性データ受付314、作業完了315、作業一覧320、入力フォーム取得321等の指示受付又はデータ提示を行う。
属性データ格納モジュール234は、ワークフローエンジンモジュール221から属性データ更新(修正データのマージ)318等され、作業操作モジュール224から属性データ登録316、属性データ更新317、属性データ参照319等される。例えば、属性データ格納モジュール234に格納されるデータ例として、図17の例に示した属性データテーブル1700がある。
図17は、属性データテーブル1700のデータ構造例を示す説明図である。属性データテーブル1700は、ID欄1701、案件欄1702、属性定義欄1703、属性値欄1704を有している。フォームに提示された属性に記載されたデータを記憶する。つまり、ID欄1701は、その属性を一意に識別する識別子を記憶する。案件欄1702は、その属性が用いられた案件を一意に識別する識別子(案件実行状態テーブル1500のID欄1501で定義された識別子)を記憶する。属性定義欄1703は、その属性を一意に識別する識別子(属性定義テーブル1200のID欄1201で定義された識別子)を記憶する。属性値欄1704は、その属性に対して記入されたデータを記憶する。
追認操作モジュール225は、追認処理データ格納モジュール237に対して、修正データ登録324、修正データ更新325、追認状態変更326、修正データ参照329等を行い、ユーザーインターフェイス251に対して、修正データ受付322、追認完了323、追認一覧330、追認フォーム取得331等の指示受付又はデータ提示を行う。
追認処理データ格納モジュール237は、修正データ格納モジュール235、追認作業状態格納モジュール236を含んでおり、ワークフローエンジンモジュール221からデータ参照327、状態変更328等され、追認操作モジュール225から修正データ登録324、修正データ更新325、追認状態変更326、修正データ参照329等される。例えば、修正データ格納モジュール235に格納されるデータ例として、図20の例に示した修正データテーブル2000がある。これによって、修正が行われたデータについて記憶される。例えば、追認作業状態格納モジュール236に格納されるデータ例として、図19の例に示した追認状態テーブル1900がある。これによって、修正が行われたデータについての各作業における追認状態が記憶される。
図20は、修正データテーブル2000のデータ構造例を示す説明図である。修正データテーブル2000は、ID欄2001、案件欄2002、属性定義欄2003、属性値欄2004を有している。修正が行われた属性であるデータを記憶する。つまり、ID欄2001は、修正されたデータを一意に識別する識別子を記憶する。案件欄2002は、その修正が行われたデータが用いられた案件を一意に識別する識別子(案件実行状態テーブル1500のID欄1501で定義された識別子)を記憶する。属性定義欄2003は、その修正されたデータである属性を一意に識別する識別子(属性定義テーブル1200のID欄1201で定義された識別子)を記憶する。属性値欄2004は、修正された後のデータを記憶する。
図19は、追認状態テーブル1900のデータ構造例を示す説明図である。追認状態テーブル1900は、ID欄1901、案件欄1902、作業定義欄1903、状態欄1904を有している。修正が行われたデータについての各作業における追認状態を記憶する。つまり、ID欄1901は、各作業において修正に対する追認の状態を一意に識別する識別子を記憶する。案件欄1902は、その追認が含まれている案件を一意に識別する識別子(案件実行状態テーブル1500のID欄1501で定義された識別子)を記憶する。作業定義欄1903は、その追認が行われる作業を一意に識別する識別子(作業定義テーブル1000のID欄1001で定義された識別子)を記憶する。状態欄1904は、追認の状態(実行中、完了、待機中等)を記憶する。なお、追認状態テーブル1900は、属性に対する修正毎に生成されるものとしてもよい。つまり、その場合、修正データテーブル2000の行毎に生成されることとなる。
ワークフローエンジンモジュール221は、ワークフローに基づいて、実行させるべき作業を特定する等を行い、ワークフロー定義格納モジュール232に対して、定義参照303等を行い、案件・作業状態・履歴格納モジュール233に対して、状態参照308、履歴参照309、状態変更310等を行い、属性データ格納モジュール234に対して、属性データ更新(修正データのマージ)318等を行い、追認処理データ格納モジュール237に対して、データ参照327、状態変更328等を行う。
なお、図1に示した実施の形態における変更要求受付モジュール110、変更作業特定モジュール120、通知モジュール130、作業移行抑制モジュール150、分岐作業処理モジュール160における処理は、主に、追認操作モジュール225、ワークフローエンジンモジュール221によって追認処理データ格納モジュール237を用いて行われる。また、ワークフローエンジンモジュール221が属性データ格納モジュール234に対して行う属性データ更新(修正データのマージ)318等も該当する。また標準作業特定モジュール140における処理は、主に、作業操作モジュール224、ワークフローエンジンモジュール221によって属性データ格納モジュール234を用いて行われる。
図4は、対象とする購入申請・承認のワークフロー例を示す説明図である。
図4の例に示したワークフローの定義は、図9から図13に示したテーブルを用いて定義されているものである。つまり、申請410の次に課長承認420、部長承認430が行われ、次に調達440、経理450が並行して行われて最後に総務460が行われるものである。
なお、以下の申請410等の説明では、理解を容易にするために、作業者の動作を説明するが、もちろんのことながら、ユーザーインターフェイス251における作業者の操作に応じて、ワークフロー管理システムサーバー210内の各モジュールが動作するものである。
申請410では、作業者である申請者が、申請内容を入力してワークフローを起動し、物品購入の承認を課長に依頼する(申請411)。
課長承認420では、作業者である課長が、申請内容を確認して、(1)申請を却下する、(2)承認し次の部長承認430へと進める(承認421)、(3)申請内容の修正のために申請者へ差し戻す(やり直しの指示である差し戻し422)、のいずれかを判断する。
部長承認430では、作業者である部長が、課長承認420と同様に承認/却下/差し戻し(差し戻し433)を判断し、承認する場合には決済完了として調達と経理による購入手続きへと進める(決済431、決済432)。
調達440では、作業者である調達が、購入先に対して物品の発注を行う。
経理450では、作業者である経理が、購入先に対して代金の支払処理を行う。
総務460では、作業者である総務が、購入物品の資産管理台帳に登録する。
本実施の形態は、前述の課長承認420又は部長承認430の作業工程において、申請内容に不備があり修正が必要である場合に、特に申請を却下するか承認するかに影響しない些細な修正を申請者が行う場合の手順に関するものである。
図5は、本実施の形態による処理例を示すための購入申請・承認のワークフロー例の説明図である。つまり、課長承認420又は部長承認430では差し戻しを行わずに、申請410を行った作業者である申請者が、申請書の誤りに気付いて、作業結果であるその誤りを修正する。そのために、申請者によって修正要求がなされ、既にその申請書に対する作業を行っている作業者に対して追認を求める。そして、修正に対する追認処理が現在行われている作業を追いかけるようにして進むようにするものである。なお、追認とは、既に承認したデータが修正された場合に、その修正されたデータであっても同様に承認することを認めることをいう。また、この例では、申請者による作業結果である内容の修正であるが、申請者に限る必要はなく、ワークフロー内の経路途中の作業者による修正であってもよい。
より詳細に説明する。
既に完了状態となっている申請410の作業において、作業者である申請者は、既に入力したデータを修正し追認を依頼する。
例えば、図6(a)の例に示す申請及び内容修正画面600のように、「購買ワークフロー」という案件において、申請者欄611、所属部門欄612、購入品名欄613、単価欄614、数量欄615、発注先欄616、口座番号欄617、予算区分欄618、希望納期欄619に対して、申請者はそれぞれ値を記載する。そして、承認依頼ボタン621が選択されることによって、申請411の処理が行われる。
つまり、案件操作モジュール223は、ワークフロー定義テーブル900を用いて、ユーザーインターフェイス251に案件一覧312を提示する。そして、購入申請というワークフローの案件起動306を受け付ける。そして、案件操作モジュール223は、案件実行状態テーブル1500にその案件は実行中であるということを登録し、作業操作モジュール224によって、ワークフローエンジンモジュール221、フォーム定義テーブル1300等を用いて、ユーザーインターフェイス251に対して申請及び内容修正画面600を提示する。そして、作業操作モジュール224は、申請及び内容修正画面600内の各欄について属性データ受付314を行う。
そして、申請411後に、申請者は申請及び内容修正画面600内の単価欄614、口座番号欄617、希望納期欄619に誤りがあることに気づき、これを修正する(修正内容510、図6(b)の例参照)。そして、修正追認依頼ボタン631が選択されることによって、修正追認の処理が行われる。
つまり、追認操作モジュール225は、ユーザーインターフェイス251から申請者の操作に応じて、修正データ受付322し、追認の依頼を受け付ける。このことは、追認操作モジュール225は、既に行われた作業による作業結果の変更要求を受け付けることとなる。追認操作モジュール225は、追認処理データ格納モジュール237に対して、修正データ登録324又は修正データ更新325をする。なお、この時点で、現在行われている作業は、部長承認430とする。つまり、既に課長承認420では修正前の状態で承認作業が終了している状態である。
また、追認操作モジュール225は、ワークフローエンジンモジュール221を用いて、作業実行状態テーブル1600から現在進行している作業を抽出し、データが修正された作業(申請410)を起点として、その抽出した現在進行している作業(部長承認430)までに行われた作業を特定する。つまり、追認が必要となる作業を抽出する。ここでは、課長承認420、部長承認430が抽出されることになる。この処理は、追認操作モジュール225が、ワークフローエンジンモジュール221による処理を行わせて、作業実行状態テーブル1600から現在実行中の作業を抽出して、トランジション定義テーブル1100を用いて作業手順を解析して、起点となっている作業から現在実行中の作業までにある作業を抽出する。この抽出した作業は、追認が必要となる作業の候補である。
そして、修正された一部のデータとは関係ない作業を除外する。修正されたデータが、起点の作業から終点の作業の間にある作業であっても、その作業において含まれない場合には、作業そのものをスキップする。例えば、図6(b)の例で示した申請及び内容修正画面600での修正で、もしも単価欄614の修正がなければ、他に修正された口座番号欄617と希望納期欄619に対する課長の追認は不要と判断し、図7の例に示す追認画面700による課長承認はスキップするように制御してもよい。
つまり、各作業に必要なデータを対応付けてあらかじめ定義しておく。つまり、先の例では、課長承認420には単価の承認のみが対応付けられており、部長承認430には単価、口座番号等の承認が対応付けられている定義のテーブルをあらかじめ用意しておく。追認操作モジュール225は、修正が行われたデータである属性に関係しない作業を、その定義のテーブルや属性データテーブル1700等を用いて取り出す。なお、ここでは、単価の修正があるので、課長承認420、部長承認430は除外されない。したがって、追認が必要とされる作業の終点は部長承認430となる。なお、もしも現在実行中の作業が、修正が行われたデータである属性に関係しない作業である場合であっても、終点は現在実行中の作業とする。
また、作業完了の受付があったものだけを対象とするようにしてもよい。その場合は、部長承認430では作業途中であり、作業完了とはなっていないので、終点はその前にある課長承認420となる。
また、修正承認依頼ボタン631が選択されたことを契機として、追認操作モジュール225は、現在実行中の作業の作業者が操作しているユーザーインターフェイス251に対して、作業中のデータについて修正が行われた旨を提示する。現在実行中の作業については、追認操作モジュール225が、前述のようにワークフローエンジンモジュール221等を用いて抽出する。
また、修正承認依頼ボタン631が選択されたことを契機として、追認操作モジュール225は、現在実行中の作業に対して、次への作業への移行を抑制させる。つまり、作業操作モジュール224による処理を中断させる。
次に、既に承認されている課長承認420の作業では、作業者である課長に対して、修正された箇所が明示され、課長はそれに対して「追認」か「拒否」を選択する。
例えば、図7の例に示す追認画面700のような画面を、追認操作モジュール225が、課長が操作しているユーザーインターフェイス251に提示する。追認画面700は、申請者欄711、所属部門欄712、購入品名欄713、単価欄714、数量欄715、追認ボタン721、拒否ボタン722を有している。つまり、申請者欄711、所属部門欄712で修正をした者に関する情報を提示し、単価欄714で修正されたデータを提示し、その購入に関する購入品名欄713、数量欄715を提示する。なお、これらの他に修正されていないデータを、修正されたデータとは異なる形態で提示するようにしてもよい。なお、修正された属性毎に追認画面700を提示しているが、これを修正された複数の属性を提示するようにしてもよい。
ここで、追認ボタン721が選択された場合には、次の作業工程である部長承認430の追認に進む。
拒否ボタン722が選択された場合には、修正を行った申請者が「修正取り下げ」か「申請取り下げ」を選択する。
例えば、図8の例に示す拒否された場合の修正者の選択画面800のような画面を、追認操作モジュール225が、修正を行った作業者が操作しているユーザーインターフェイス251に提示する。拒否された場合の修正者に対する選択画面800は、単価欄811、選択肢812、選択肢813、実行ボタン821を有している。つまり、修正が行われたデータである単価欄811(他の修正が行われたデータの欄であってもよい)を提示しており、拒否された修正を示している。そして、選択肢812の「修正を取り下げる(修正前の内容で継続します)」又は選択肢813の「申請を取り下げる(案件を中止します)」のいずれかを選択するように提示する。
選択肢812が選択された場合は、修正はなかったことになり、現在の実行中の作業が継続されることになる。つまり、中断されていた作業操作モジュール224による処理が継続されることになる。
承認421で追認ボタン721が選択された場合に、部長承認430による作業が行われる前に追認処理が到達したことになり、それによって購入申請内容に修正内容が置換(又はマージ)され、部長承認430の作業者である部長は修正されたことを関知する必要なく、修正済みの申請内容に対する承認の可否を行う。すなわち、現在実行中の作業において、そこでの作業が終了していない場合は、その作業の前の作業において修正が承認された場合は、修正後のデータで作業を行うようにする。追認操作モジュール225が、修正データ格納モジュール235及び追認作業状態格納モジュール236のデータを書き換えて、ワークフローエンジンモジュール221が修正後のデータで作業操作モジュール224による作業を継続させるものである。
既に全ての作業が完了している場合、全ての作業で追認された場合には、最終的な処理結果に修正が置換されるが、いずれかの作業で拒否された場合には、修正を行った作業者は「申請取り下げ」は行えないように制御してもよい。つまり、図8の例で示した拒否された場合の修正者の選択画面800において、選択肢813を提示しないようにしてもよい。
なお、追認操作モジュール225による追認処理は、作業実行状態テーブル1600及びトランジション定義テーブル1100を用いて、作業が実行された経路を辿って、実行された各作業に対して行われる。
図14は、本実施の形態によって対象となっている購入申請・承認のワークフロー例のワークフロー定義例を示す説明図である。つまり、図5の例に示したワークフローにおいて、ワークフロー定義格納モジュール232内のデータ構造について、具体例を用いて説明するものである。
図14(図5)に示すワークフローそのもののワークフロー定義1410は、図9の例に示したワークフロー定義テーブル900内の第1行目のワークフローのIDが「1」であり、定義名が「購入申請」に該当する(ワークフロー定義:ID=1、定義名=購入申請)。そして、課長承認420の作業定義1420は、図10の例に示した作業定義テーブル1000の第2行目の作業のIDが「112」であり、作業名が「課長承認」に該当する(作業定義:ID=112、作業名=課長承認)。また、承認421の遷移定義1430は、図11の例に示したトランジション定義テーブル1100の第2行目の遷移のIDが「312」であり、遷移元が「112」であり、遷移先が「113」である(遷移定義:ID=312、遷移元=112、遷移先=113)。
図18は、承認画面例と作業定義等のデータ構造例等を示す説明図である。つまり、図5の例に示したワークフローの課長承認420において、ワークフロー定義格納モジュール232、案件・作業状態・履歴格納モジュール233内のデータ構造について、具体例を用いて説明するものである。
「課長承認」作業の承認画面1800は、申請者欄1811、所属部門欄1812、購入品名欄1813、単価欄1814、数量欄1815、承認ボタン1821を有している。これらは、図13の例に示したフォーム定義テーブル1300内の第10行目から第14行目までのもの(フォーム定義:ID=720、作業定義=112、属性=511等)から生成されたものである。つまり、「課長承認」作業の承認画面1800内の申請者欄1811から数量欄1815は、それぞれフォーム定義1853からフォーム定義1857までによって生成されたものである。そして、図5の例に示した課長承認420の作業定義1852は、図10の例に示した作業定義テーブル1000内の第2行目の作業のIDが「112」であり、ワークフロー定義が「1」であり、作業名が「課長承認」に該当する(作業定義:ID=112、定義=1、作業名=課長承認)。また、図5の例に示した課長承認420の作業実行状態1851(つまり、「課長承認」作業の承認画面1800を提示している作業)は、図16の例に示した作業実行状態テーブル1600内の第2行目の作業実行状態のIDが「1102」であり、案件のIDが「1001」であり、作業定義が「112」に該当する(作業実行状態:ID=1102、案件=1001、作業定義=112)。
図21は、本実施の形態による処理例を示すための分岐があるワークフロー例の説明図である。
申請2110から課長承認2120へ遷移し、購入金額が100万円以内である場合は経理2140へ遷移し、100万円超である場合は部長承認2130へ遷移し、部長承認2130の後は経理2140へ遷移する。
このようなワークフローの場合に、
(1)購入金額が20万円で購入依頼の申請2110を行う。
(2)その後、課長承認2120が済み、分岐条件の100万円以内のため部長承認不要として、経理2140で処理中とする。
(3)その場合に、申請2110の申請者が、購入金額を200万円に修正して、追認を依頼した。
という場合を想定する。
この場合の処理は、次のように行う。
(1)追認操作モジュール225が、ワークフローエンジンモジュール221を用いて、修正前と修正後で遷移先が異なることを検知する。つまり、修正前については実行履歴を参照し、修正後については追認がされたとした場合の内容に対する分岐における条件を判定する。なお、実行履歴とは、修正内容(修正項目と修正前後の値)や追認(追認、拒否の選択を含む)処理履歴を通常の実行履歴と共に参照できるように格納しておくものである。
(2)追認操作モジュール225が追認の次作業への遷移を抑制する。そして、追認操作モジュール225が、修正前の遷移先の作業を行っている作業者のユーザーインターフェイス251に対して、「申請取り消し」の画面を提示する。ここで、「申請取り消し」の画面とは、追認と同様に認可又は拒否を選択させることができるものであるが、認可が前述の作業の取り消しを意味する点が異なる。
(A)「認可」の場合には、次の作業工程に対する申請取り消しに進む。
遷移先の全ての作業の申請取り消しが認可された場合には、改めて修正後の内容に基づく遷移先に分岐する。
(B)「拒否」の場合には、修正を行った申請者によって「修正取り下げ」か「申請取り下げ」が選択される。前述した図8の例に示した拒否された場合の修正者の選択画面800と同等のものをユーザーインターフェイス251に提示する。「修正取り下げ」が選択された場合には、元の申請内容で継続する。「申請取り下げ」が選択された場合には、その案件を中止する。
より具体的に図21に示した例に基づいて説明する。
(1)課長承認2120による追認後の分岐において、修正前後で遷移先が異なることを追認操作モジュール225が検知する。
(2)課長承認2120で追認された場合に、部長承認2130での作業への遷移を抑制し、経理2140での作業に遷移する分岐に対して「申請取り消し」を発行する。つまり、経理2140の作業者のユーザーインターフェイス251に対して「申請取り消し」を提示する。
その経理2140の作業者が、金額の支払い取り消しなどにより対応可能な場合には、「申請取り消し」の「認可」が選択される。
(3)修正前の全ての作業に対して「申請取り消し」が認可された場合(以降の作業への遷移がないことから判断してもよい)、修正前の分岐の取り消しが成立しているので、部長承認2130の作業に遷移する。その部長承認2130の作業においては、修正前のデータに対して修正後のデータが置換される。つまり、修正後のデータで作業が始められることとなる。
(4)部長承認2130によって承認された場合には、経理2140の作業に遷移して修正後の購入金額200万円の支払いを行うこととなる。
また、「申請取り消し」の実行状況を管理するために、作業実行状態テーブル1600、追認状態テーブル1900に加えて、申請取り消し状態テーブル2200を設けるようにする。又は、これらのテーブルを集約して、いずれの状態かを判別するための「実行種別」情報を付加した実行種別テーブル2300を利用してもよい。
図22は、申請取り消し状態テーブル2200のデータ構造例を示す説明図である。申請取り消し状態テーブル2200は、ID欄2201、案件欄2202、作業定義欄2203、状態欄2204を有している。「申請取り消し」の実行状況を管理するためのテーブルである。つまり、ID欄2201は、「申請取り消し」の実行状況を一意に識別する識別子を記憶する。案件欄2202は、その「申請取り消し」の作業が含まれている案件を一意に識別する識別子(案件実行状態テーブル1500のID欄1501で定義された識別子)を記憶する。作業定義欄2203は、その「申請取り消し」の判断がされる作業を一意に識別する識別子(作業定義テーブル1000のID欄1001で定義された識別子)を記憶する。状態欄2204は、その「申請取り消し」における現在の状態(実行中、認可、拒否、待機中等)を記憶する。
図23は、実行種別テーブル2300のデータ構造例を示す説明図である。実行種別テーブル2300は、ID欄2301、案件欄2302、作業定義欄2303、状態欄2304、実行種別欄2305を有している。作業実行状態テーブル1600、追認状態テーブル1900、申請取り消し状態テーブル2200の機能を併せ持ったテーブルである。つまり、ID欄2301は、「作業実行」、「追認」、「申請取り消し」の実行状況を一意に識別する識別子を記憶する。案件欄2302は、その「作業実行」等の作業が含まれている案件を一意に識別する識別子(案件実行状態テーブル1500のID欄1501で定義された識別子)を記憶する。作業定義欄2303は、その「作業実行」等がされる作業を一意に識別する識別子(作業定義テーブル1000のID欄1001で定義された識別子)を記憶する。状態欄2304は、その「作業実行」等における現在の状態(実行中、完了、認可、拒否、待機中等)を記憶する。実行種別欄2305は、「作業実行」、「追認」、「申請取り消し」のいずれの実行状態を示しているものであるかを記憶する。
既に全ての作業が完了している場合は、前述の追認の場合と同様に「申請取り消し」は行えないように制御してもよい。
また、作業に着手していない作業に関しては、「申請取り消し」の認可が選択されたものとして取り扱うようにしてもよい。
申請取り消しは、実行履歴から作業が実行された経路の各作業に対して行われる。各作業での申請取り消しに対する認可又は拒否の選択は、実行された順序に限られず、実行された逆の順序でもよいし、一斉に各作業に対して行ってもよい。
修正前の分岐先の複数の作業に対する申請取り消しの確認を行う場合であって、分岐箇所まで全て認可された場合には、追認操作モジュール225がその分岐箇所までの作業の取り消しが確定したことを、分岐後の申請取り消しの確認を行う作業の作業者に通知してもよい。
この機能により、作業者は取り消しが可能である場合に取り消しを「認可」すること、つまり、分岐箇所前の全ての作業において認可されたという通知を受けてから、申請取り消しの認可を行うこととなる。
この場合には、時間の経過により作業取り消しが不可能になる状況に対応するために、申請取り消し「認可」に対して作業取り消しが可能な期限を設定して、その期限が到来すると「拒否」の場合と同等の処理となるようにしてもよい。
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図24に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。変更要求受付モジュール110、変更作業特定モジュール120、通知モジュール130、標準作業特定モジュール140、作業移行抑制モジュール150、分岐作業処理モジュール160等のプログラムを実行するCPU2401(この例では演算部としてCPUを用いた)と、そのプログラムやデータを記憶するRAM2402と、本コンピュータを起動するためのプログラム等が格納されているROM2403と、補助記憶装置であるHD2404(例えばハードディスクを用いることができる)と、キーボード、マウス等のデータを入力する入力装置2406と、CRTや液晶ディスプレイ等の出力装置2405と、通信ネットワークと接続するための通信回線インターフェイス2407(例えばネットワークインターフェイスカードを用いることができる)、そして、それらをつないでデータのやりとりをするためのバス2408により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図24に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図24に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図24に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
前述の実施の形態においては、作業結果の修正の例を主に示したが、修正以外にも追加、削除等の変更であってもよい。
なお、前述のユーザーインターフェイス251への提示には、ディスプレイ等の表示装置に表示することの他に、音声による出力等であってもよいし、それらの組み合わせであってもよい。
また、通知には、前述の提示の他に、電子メール、チャット等による通知を含めてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blue−ray Disk)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
本実施の形態の構成例についての概念的なモジュール構成図である。 システム全体の構成例を示すブロック図である。 本実施の形態の構成例について別の観点からみた場合の概念的なモジュール構成図である。 対象とする購入申請・承認のワークフロー例を示す説明図である。 本実施の形態による処理例を示すための購入申請・承認のワークフロー例の説明図である。 申請及び内容修正の画面例を示す説明図である。 追認画面例を示す説明図である。 拒否された場合の修正者の選択画面例を示す説明図である。 ワークフロー定義テーブルのデータ構造例を示す説明図である。 作業定義テーブルのデータ構造例を示す説明図である。 トランジション定義テーブルのデータ構造例を示す説明図である。 属性定義テーブルのデータ構造例を示す説明図である。 フォーム定義テーブルのデータ構造例を示す説明図である。 本実施の形態によって対象となっている購入申請・承認のワークフロー例のワークフロー定義例を示す説明図である。 案件実行状態テーブルのデータ構造例を示す説明図である。 作業実行状態テーブルのデータ構造例を示す説明図である。 属性データテーブルのデータ構造例を示す説明図である。 承認画面例と作業定義等のデータ構造例等を示す説明図である。 追認状態テーブルのデータ構造例を示す説明図である。 修正データテーブルのデータ構造例を示す説明図である。 本実施の形態による処理例を示すための分岐があるワークフロー例の説明図である。 申請取り消し状態テーブルのデータ構造例を示す説明図である。 実行種別テーブルのデータ構造例を示す説明図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
符号の説明
110…変更要求受付モジュール
120…変更作業特定モジュール
122…作業手順解析モジュール
124…作業除外モジュール
126…変更作業範囲特定モジュール
130…通知モジュール
140…標準作業特定モジュール
150…作業移行抑制モジュール
160…分岐作業処理モジュール
210…ワークフロー管理システムサーバー
220…ワークフロー処理モジュール
221…ワークフローエンジンモジュール
222…ワークフロー定義管理モジュール
223…案件操作モジュール
224…作業操作モジュール
225…追認操作モジュール
230…ワークフローデータ格納モジュール
232…ワークフロー定義格納モジュール
233…案件・作業状態・履歴格納モジュール
234…属性データ格納モジュール
235…修正データ格納モジュール
236…追認作業状態格納モジュール
237…追認処理データ格納モジュール
250A…クライアント
250B…クライアント
250C…クライアント
251…ユーザーインターフェイス
290…ネットワーク
291…広域通信網

Claims (6)

  1. コンピュータは、
    申請に応じて行われる複数の作業に対する作業手順における遷移元の作業を一意に識別する遷移元作業識別子と遷移先の作業を一意に識別する遷移先作業識別子との対応を示す作業手順表と、該作業手順表によって定義されている作業手順が実行中又は完了であるかを示す状態を記憶する実行状態表と、作業を一意に識別する作業識別子と該作業における現在の状態との対応を示す作業状態表を記憶する記憶装置と、
    操作者の操作を受け付ける受付手段と、
    画面を提示する提示手段
    を具備し、
    前記コンピュータに、
    前記受付手段によって受け付けられた操作者の操作に応じて、前記作業手順表によって定義されている作業手順に基づいて実施が許可されている作業よりも前に実施された作業であって、前記作業状態表において作業が完了している作業における作業結果の変更要求を受け付ける変更要求受付機能と、
    前記作業状態表から実行中である作業を抽出し、前記作業手順表に基づいて、前記変更要求受付機能によって変更要求が受け付けられた変更要求に対応する作業から該抽出した作業までの作業を特定する作業特定機能と、
    前記変更要求受付機能によって変更要求を受け付けた場合、前記作業特定機能によって特定された作業の作業者の前記受付手段によって受け付けられた操作に応じて、該変更要求の追認又は拒否を受け付ける追認・拒否受付機能と、
    前記変更要求受付機能によって受け付けられた変更要求を取り下げることを指示する第1の選択肢と前記申請を取り下げることを指示する第2の選択肢を含む選択画面を前記提示手段によって利用者に提示する提示機能と、
    前記実行状態表に記憶されている前記作業手順の状態が完了であって、前記作業特定機能によって特定された作業のいずれかの作業で、前記追認・拒否受付機能によって拒否が受け付けられた場合であって、前記提示機能によって選択画面を前記提示手段が提示したときに、該選択画面には、前記第2の選択肢を提示しないようにすることによって、前記申請の取り下げの指示が行えないように制御する制御機能と、
    前記変更要求受付機能によって前記受付手段が変更要求を受け付けた場合、前記作業状態表に基づいて実施が許可されている作業の作業者にその旨を通知する通知機能
    を実現させることを特徴とする作業制御プログラム。
  2. 前記コンピュータの前記記憶装置に、
    さらに、各作業と当該各作業に必要なデータとの対応を示す定義表を記憶させ、
    前記作業特定機能は、作業を特定する場合に、前記定義表に基づいて、作業結果の変更とは独立した作業を除外して、作業を特定する
    ことを特徴とする請求項1に記載の作業制御プログラム。
  3. 前記作業特定機能は、実施を許可する作業として特定しようとしている作業が、前記作業状態表に基づいて実施が許可されている作業である場合、又は実施が許可されている作業よりも後の作業である場合には、当該実施が許可されている作業を終点とする
    ことを特徴とする請求項1又は2に記載の作業制御プログラム。
  4. 前記コンピュータに、
    前記作業状態表に基づいて実施が許可されている第1の作業よりも前に実施された作業の中に、前記作業特定機能によって特定された第2の作業がある場合には、当該第1の作業における次への作業の移行を抑制する作業移行抑制機能
    をさらに実現させることを特徴とする請求項1からのいずれか一項に記載の作業制御プログラム。
  5. 前記コンピュータに、
    前記作業手順表によって定義されている作業手順には分岐があり、前記作業特定機能によって特定された作業が、既に実施された作業とは異なる分岐にある場合は、当該既に実施された作業を取り消す作業取消機能
    をさらに実現させることを特徴とする請求項1からのいずれか一項に記載の作業制御プログラム。
  6. 申請に応じて行われる複数の作業に対する作業手順における遷移元の作業を一意に識別する遷移元作業識別子と遷移先の作業を一意に識別する遷移先作業識別子との対応を示す作業手順表と、該作業手順表によって定義されている作業手順が実行中又は完了であるかを示す状態を記憶する実行状態表と、作業を一意に識別する作業識別子と該作業における現在の状態との対応を示す作業状態表を記憶する記憶装置と、
    操作者の操作を受け付ける受付装置と、
    画面を提示する提示装置と、
    前記受付装置によって受け付けられた操作者の操作に応じて、前記作業手順表によって定義されている作業手順に基づいて実施が許可されている作業よりも前に実施された作業であって、前記作業状態表において作業が完了している作業における作業結果の変更要求を受け付ける変更要求受付手段と、
    前記作業状態表から実行中である作業を抽出し、前記作業手順表に基づいて、前記変更要求受付手段によって変更要求が受け付けられた変更要求に対応する作業から該抽出した作業までの作業を特定する作業特定手段と、
    前記変更要求受付手段によって変更要求を受け付けた場合、前記作業特定手段によって特定された作業の作業者の前記受付装置によって受け付けられた操作に応じて、該変更要求の追認又は拒否を受け付ける追認・拒否受付手段と、
    前記変更要求受付手段によって受け付けられた変更要求を取り下げることを指示する第1の選択肢と前記申請を取り下げることを指示する第2の選択肢を含む選択画面を前記提示装置によって利用者に提示する提示手段と、
    前記実行状態表に記憶されている前記作業手順の状態が完了であって、前記作業特定手段によって特定された作業のいずれかの作業で、前記追認・拒否受付手段によって拒否が受け付けられた場合であって、前記提示手段によって選択画面を前記提示装置が提示したときに、該選択画面には、前記第2の選択肢を提示しないようにすることによって、前記申請の取り下げの指示が行えないように制御する制御手段と、
    前記変更要求受付手段によって前記受付装置が変更要求を受け付けた場合、前記作業状態表に基づいて実施が許可されている作業の作業者にその旨を通知する通知手段
    具備することを特徴とする作業制御システム。
JP2008208915A 2008-08-14 2008-08-14 作業制御プログラム及び作業制御システム Expired - Fee Related JP4569686B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008208915A JP4569686B2 (ja) 2008-08-14 2008-08-14 作業制御プログラム及び作業制御システム
US12/372,253 US8996390B2 (en) 2008-08-14 2009-02-17 Computer readable medium, operation controlling method, and operation control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008208915A JP4569686B2 (ja) 2008-08-14 2008-08-14 作業制御プログラム及び作業制御システム

Publications (2)

Publication Number Publication Date
JP2010044636A JP2010044636A (ja) 2010-02-25
JP4569686B2 true JP4569686B2 (ja) 2010-10-27

Family

ID=41682089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008208915A Expired - Fee Related JP4569686B2 (ja) 2008-08-14 2008-08-14 作業制御プログラム及び作業制御システム

Country Status (2)

Country Link
US (1) US8996390B2 (ja)
JP (1) JP4569686B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710865B1 (en) * 2011-08-15 2017-07-18 Amazon Technologies, Inc. Coordinating distributed order execution
JP6133529B1 (ja) * 2015-07-31 2017-05-24 株式会社三井住友銀行 電子稟議書の更新方法およびシステム
JP6672958B2 (ja) * 2016-03-31 2020-03-25 日本電気株式会社 作業逸脱防止装置、作業逸脱防止システム、作業逸脱防止方法及びプログラム。
US10872370B2 (en) 2017-11-14 2020-12-22 Tommy Run LLC Systems and methods for on-demand delivery of construction materials and other items
JP2019191813A (ja) * 2018-04-23 2019-10-31 ミドリ安全株式会社 商品受注装置及び商品受注方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09138824A (ja) * 1995-11-14 1997-05-27 Hitachi Ltd ワークフローの書類回覧方法及びその管理方法
JP2002342542A (ja) * 2001-04-27 2002-11-29 Internatl Business Mach Corp <Ibm> ワークフローシステム、ワークフローサーバ、情報処理端末、業務プロセス管理方法、プログラム及び記憶媒体
JP2005293003A (ja) * 2004-03-31 2005-10-20 Token Corp 承認システム、及び承認支援プログラム
JP2008027056A (ja) * 2006-07-19 2008-02-07 Konica Minolta Business Technologies Inc プロジェクト承認プログラム、及びプロジェクト承認方法
JP2008146304A (ja) * 2006-12-08 2008-06-26 Hitachi Ltd 情報処理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09138824A (ja) * 1995-11-14 1997-05-27 Hitachi Ltd ワークフローの書類回覧方法及びその管理方法
JP2002342542A (ja) * 2001-04-27 2002-11-29 Internatl Business Mach Corp <Ibm> ワークフローシステム、ワークフローサーバ、情報処理端末、業務プロセス管理方法、プログラム及び記憶媒体
JP2005293003A (ja) * 2004-03-31 2005-10-20 Token Corp 承認システム、及び承認支援プログラム
JP2008027056A (ja) * 2006-07-19 2008-02-07 Konica Minolta Business Technologies Inc プロジェクト承認プログラム、及びプロジェクト承認方法
JP2008146304A (ja) * 2006-12-08 2008-06-26 Hitachi Ltd 情報処理方法

Also Published As

Publication number Publication date
US8996390B2 (en) 2015-03-31
US20100042819A1 (en) 2010-02-18
JP2010044636A (ja) 2010-02-25

Similar Documents

Publication Publication Date Title
US20080046862A1 (en) Business task management
US7831978B2 (en) Review mechanism for controlling the delegation of tasks in a workflow system
JP5218068B2 (ja) 情報処理装置及び情報処理プログラム
US20140195293A1 (en) Workflow system and method with skip function
JP4569686B2 (ja) 作業制御プログラム及び作業制御システム
US20080270210A1 (en) System and method for evaluating a requirements process and project risk-requirements management methodology
US20030069845A1 (en) Method and system for tracking and verifying billing exceptions
JP2017027116A (ja) プロセス制御装置及びプロセス制御プログラム
US20100185477A1 (en) Workflow management apparatus, method, and storage medium storing a program thereof
JP2023022812A (ja) 脱炭素社会の構築に向けた導出装置、導出方法、及びプログラム
KR101109026B1 (ko) 작업 흐름 관리 시스템
US8812467B2 (en) Information processing apparatus and computer readable medium for performing history cancellation processing
JP6426852B2 (ja) 変動管理
JP5983807B2 (ja) 情報処理装置、情報処理方法、情報処理システム、プログラム、記録媒体
JP6989547B2 (ja) 海外対応アプリケーション販売管理サーバシステム
JP2008090667A (ja) ワークフロー管理プログラムおよびワークフロー管理システム
JP2010026560A (ja) 情報処理装置及び情報処理プログラム
JP7007312B2 (ja) 海外対応アプリケーション販売管理システム
JP4957704B2 (ja) 情報処理装置及び情報処理プログラム
WO2017002249A1 (ja) ワークフロー管理プログラム、ワークフロー管理方法、およびワークフロー管理装置
JP4806473B2 (ja) ワークフローシステム、制御方法およびプログラム。
JP6801389B2 (ja) 情報処理装置及び情報処理プログラム
KR102498821B1 (ko) 위탁 판매 관리 서버
KR102498822B1 (ko) 위탁 판매 관리 서버
CN103729703A (zh) 一种数据处理冲突检测的方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100512

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100713

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100726

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4569686

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees