(58)【調査した分野】(Int.Cl.,DB名)
前記案件抽出手段により抽出された案件から、前記第一のユーザーが処理するアクティビティより前のアクティビティの処理をする第二のユーザーに対して催促をする案件を、前記案件抽出手段により抽出された案件の一覧情報が表示された表示画面を介して受け付ける第一の受付手段と、
前記第一の受付手段により受け付けた案件について、前記第一のユーザーが処理するアクティビティより前に当該案件のアクティビティの処理をすべき前記第二のユーザーに対して、当該案件のアクティビティの処理を行うことを催促する第一の催促手段と
を備えることを特徴とする請求項1記載の情報処理装置。
前記第一の催促手段は、前記催促を開始するアクティビティと催促を終了するアクティビティを指定可能であり、前記指定された前記催促を開始するアクティビティと前記催促を終了するアクティビティの間のアクティビティに対して催促することを特徴とする請求項2記載の情報処理装置。
前記第一の催促手段は、前記第二のユーザーに対して催促を行う場合、当該第二のユーザーが処理するアクティビティの次のアクティビティの処理を行うことになるユーザーからの催促であるとして催促を行うことを特徴とする請求項2乃至4の何れか1項に記載の情報処理装置。
ワークフローの流れにおいて前記案件の処理が否決または差し戻されることにより、前記第一の催促手段による催促が必要なくなった場合、前記第一のユーザーに対してその旨を通知する第二の通知手段を更に備えることを特徴とする請求項2乃至5の何れか1項に記載の情報処理装置。
前記第一の催促手段による催促の対象となる最後の前記第二のユーザーにより前記案件のアクティビティの処理がなされた場合、その旨を通知する第一の通知手段を更に備えることと特徴とする請求項2乃至6の何れか1項に記載の情報処理装置。
前記第一の催促手段は、前記第一のユーザーが処理するアクティビティより前に当該案件のアクティビティの処理をすべき前記第二のユーザーに対して催促を行い、当該第一のユーザーが処理するアクティビティより後に当該案件のアクティビティの処理をする前記第三のユーザーに対しては催促を行わず、
前記第二の催促手段は、前記第一のユーザーが処理すべきアクティビティより後に当該案件のアクティビティの処理をするすべての前記第三のユーザーに対して催促を行うことを特徴とする請求項8に記載の情報処理装置。
申請された案件についてのワークフロー処理を行う、前記案件の各アクティビティに対応する担当者および状態を記憶する案件状態記憶手段を備える情報処理装置における情報処理方法であって、
第一のユーザーからなされる案件表示の要求を受け付ける要求受付ステップと、
前記要求受付ステップにより受け付けた要求が、前記第一のユーザーが処理をする予定となっているアクティビティを含む案件を抽出する要求であるか、前記第一のユーザーが処理すべきアクティビティにある案件を抽出する要求であるかを判定する判定ステップと、
前記判定ステップによる判定の結果、前記第一のユーザーが処理をする予定となっているアクティビティを含む案件を抽出する要求であると判定された場合、前記案件状態記憶手段に記憶された案件状態に応じて前記第一のユーザーが処理をする予定となっているアクティビティを含む案件を抽出し、該抽出した「前記第一のユーザーが処理をする予定となっている案件」を表示し、一方、前記第一のユーザーが処理すべきアクティビティにある案件を抽出する要求であると判定された場合、前記案件状態記憶手段に記憶された案件状態に応じて前記第一のユーザーが処理すべきアクティビティを含む案件を抽出し、抽出した「前記第一のユーザーが処理すべきアクティビティにある案件」を表示する案件抽出ステップと、を備えることを特徴とする情報処理方法。
申請された案件についてのワークフロー処理を行う、前記案件の各アクティビティに対応する担当者および状態を記憶する案件状態記憶手段を備える情報処理装置において実行可能なプログラムであって、
第一のユーザーからなされる案件表示の要求を受け付ける要求受付手段と、
前記要求受付手段により受け付けた要求が、前記第一のユーザーが処理をする予定となっているアクティビティを含む案件を抽出する要求であるか、前記第一のユーザーが処理すべきアクティビティにある案件を抽出する要求であるかを判定する判定手段と、
前記判定手段による判定の結果、前記第一のユーザーが処理をする予定となっているアクティビティを含む案件を抽出する要求であると判定された場合、前記案件状態記憶手段に記憶された案件状態に応じて前記第一のユーザーが処理をする予定となっているアクティビティを含む案件を抽出し、該抽出した「前記第一のユーザーが処理をする予定となっている案件」を表示し、一方、前記第一のユーザーが処理すべきアクティビティにある案件を抽出する要求であると判定された場合、前記案件状態記憶手段に記憶された案件状態に応じて前記第一のユーザーが処理すべきアクティビティを含む案件を抽出し、抽出した「前記第一のユーザーが処理すべきアクティビティにある案件」を表示する案件抽出手段と、を備えることを特徴とする情報処理装置を機能させることを特徴とするプログラム。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の詳細を説明する。
【0014】
図1は、本実施形態が適用されるワークフローシステムの概略構成を示す図である。
【0015】
実施形態におけるワークフローシステムは、ワークフロー及び伝票設計用コンピュータ端末(ワークフロー及び伝票設計用端末)400、業務を遂行する処理者(担当者)に対応して設けられたワークフロー操作用コンピュータ端末(ワークフロー操作用端末)300、ワークフローを実行するための各種テーブル、各種プログラムを格納するワークフローサーバ(情報処理装置)200を備えている。
【0016】
これらワークフロー及び伝票設計用端末400、ワークフロー操作用端末300、ワークフローサーバ200は、それぞれネットワーク500に接続され運用されている。
【0017】
ワークフロー及び伝票設計用端末400は、伝票デザイナプログラム401及びシステム管理プログラム402を有し、ワークフローシステムにて使用する伝票の定義体の作成及びワークフローシステムで利用する各種定義情報の作成を行う。例えば、ワークフロー及び伝票設計用端末400は、ワークフローサーバ200に部門テーブル、業務テーブル等を登録することができる。このワークフロー及び伝票設計用端末400は、これらの作業を行うために、自己の識別情報を入力することによりワークフローサーバ200に接続することが可能になる。
【0018】
ワークフロー操作用端末300は、ワークフロー操作用端末300上で実行されるWebブラウザ301を用いて、伝票に関するアクセス情報をワークフローサーバ200に対してHTTPで送信し、その結果を受信するものであり、その際に、発生する表示・計算処理は、Java(登録商標)アプレット302等を利用することにより実行する。なお、このワークフロー操作用端末300は、予め指定された所定の業務を行う担当者(例えば、起票者、課長、部長等)に配置されている。
【0019】
ワークフローサーバ200は、ワークフローシステムに関する情報(後述する
図5の組織情報)、各種伝票情報(後述する
図7の定義情報、ジョブ情報)を格納するRDBMS(Relational DataBase Management System)205、ワークフロー操作用端末300よりの要求を受け付けて要求を実行するためのHTTPサーバ201、サーブレットエンジン202、ワークフロープログラム203、ワークフロー通知機能を実現するSMTPサーバ204にて構成されている。
【0020】
以下、
図2を参照して、
図1に示したワークフローサーバ200、ワークフロー操作用端末300、ワークフロー及び伝票設計用端末400に適用可能なコンピュータのハードウェア構成について説明する。
【0021】
図2は、
図1に示したワークフローサーバ200、ワークフロー操作用端末300、ワークフロー及び伝票設計用端末400に適用可能なコンピュータのハードウェア構成の一例を示すブロック図である。
【0022】
図2において、101はCPUで、ROM103又はハードディスク(HD)(その他の記憶装置、例えば、フレキシブルディスク、CD−ROM、DVD−ROM等どのような記憶装置であってもよい)104に格納されたプログラムをRAM102上にロードして実行することにより、コンピュータ全体を制御する。RAM102は、CPU101の作業領域として使用される。
【0023】
108は通信インタフェースで、通信ネットワーク500への接続を可能とする。106は入力装置で、キーボードやマウス等のポインティングデバイス等に相当する。107は表示装置で、CRT、LCD等で構成される。
【0024】
なお、
図1に示したワークフローサーバ200のRDBMS205は、ワークフローサーバ200のHD104内に構築されている。また、ワークフローサーバ200のHTTPサーバ201、サーブレットエンジン202、ワークフロープログラム203、SMTPサーバ204は、ワークフローサーバ200のCPU101が、HD104に格納されるプログラムをRAM102上にロードして実行することにより、実現される。
【0025】
また、
図1に示したワークフロー操作用端末300のWebブラウザ301は、ワークフロー操作用端末300のCPU101が、HD104に格納されるプログラムをRAM102上にロードして実行することにより、実現される。
【0026】
さらに、
図1に示したワークフロー操作用端末300のJava(登録商標)アプレット302は、ワークフロー操作用端末300のCPU101が、ワークフローサーバ200よりダウンロードされたプログラムをWebブラウザ301上で実行することにより、実現される。
【0027】
また、
図1に示したワークフロー及び伝票設計用端末400の伝票デザイナプログラム401、システム管理プログラム402は、ワークフロー及び伝票設計用端末400のCPU101が、HD104に格納されるプログラムをRAM102上にロードして実行することにより、実現される。
【0028】
図3は、アクティビティとトランジションの関係を示す図である。
【0029】
アクティビティとは、ワークフローを構成する処理工程を指すものである。トランジションとは、アクティビティとアクティビティとの処理の順序を規定するものである。
【0030】
図3の例では、アクティビティとして、申請アクティビティ301、ユーザー実行アクティビティ302〜304、終了アクティビティ305が存在する。それぞれのアクティビティは、トランジション306〜309によりそれぞれ順序が規定されている。
【0031】
図4は、分岐がある場合のアクティビティとトランジションの一例を示す図である。
【0032】
申請アクティビティ401と条件分岐アクティビティ402がトランジションにより順序が規定されている。
【0033】
この例では、条件分岐の条件式として、申請金額が30万円を下回る場合と申請金額が30万円以上の場合とで分岐する。
【0034】
申請金額が30万円を下回る場合は、ユーザー実行アクティビティ403へトランジションが続き、更に、ユーザー実行アクティビティ404へと順序を辿る。一方、申請金額が30万円以上の場合は、ユーザー実行アクティビティ405へトランジションが続き、更に、ユーザー実行アクティビティ406へと順序を辿る。
【0035】
そして、ユーザー実行アクティビティ404とユーザー実行アクティビティ406とは、合流アクティビティ407で合流する。
【0036】
その後、ユーザー実行アクティビティ408、終了アクティビティ409の順序で処理が終了する。
【0037】
なお、本実施の形態におけるワークフローシステムにおいては、条件分岐は新規申請時に決まるものとしている。
【0038】
図5は、組織情報を構成するテーブルの一例を示す図である。
【0039】
組織情報は、部門テーブル501、ロールテーブル502、ユーザーテーブル503、ポジションテーブル504から構成される。
【0040】
部門501は、(部門ID、部門名、レベル番号、親部門ID)を含む。ロール502は、(ロールID、ロール名)を含む。ユーザー503は、(ユーザーID、氏名、メールアドレス、パスワード)を含む。ポジション504は、(ユーザーID、ロールID、部門ID)を含む。なお、ポジションとは、ユーザーが所属する部門とロールの組のことをいう。
【0042】
組織情報の各テーブルの具体例とそれを組織票として図表化した例を示す。
【0043】
この例では、部門テーブル601の通り、「観音株式会社」、「営業部」、「管理部」、「営業1課」、「営業2課」という組織が存在している。また、ユーザーテーブル603の通り、「観音太郎」、「観音花子」、「観音金太郎」、「観音次郎」というユーザーが存在し、それぞれが「一般職」、「課長」、「部長」、「経理担当」といった役割を持っている(ロールテーブル602とポジションテーブル604より)。
【0044】
図7は、定義情報とジョブ情報の関係を示す図である。
【0045】
定義情報71は、ワークフローにおける業務を定義する情報であり、設計者が予め定義するものである。なお、図中の「1」と「*」は、1対多の関係にあることを示している。
【0046】
業務711に対して、プロセス712、フォーム713、ユニット714、スキーマ715が、紐付いている。また、プロセス712に対して、アクティビティ716、トランジション717が紐付いている。更に、ジョブ情報72の案件721と紐付いている。
ジョブ情報72とは、ワークフローにおいて起案されたジョブに関する定義情報である。案件721に対して、ワークアイテム722、入力内容723、催促724が紐付いている。
【0047】
なお、定義情報71は、従来からあるものである。また、ジョブ情報72のうち、案件721、ワークアイテム722、入力内容723は、従来からあるものであるが、催促724は、本発明を実施するために新たに加わった定義である。
【0048】
図8は、定義情報の一例を示すデータテーブルである。
【0049】
この定義情報は、
図6の組織情報の例を前提としている。
【0050】
業務81において、業務ID、業務名が定義され、この例では、業務IDとして「GID001」、業務名として「購入申請書」が定義されている。
【0051】
また、プロセス82において、業務ID、プロセスID、申請可能部門IDが定義され、この例では、業務ID「GID001」、プロセスID「PID001」、申請可能部門ID「B001」が定義されている。
【0052】
アクティビティ83において、プロセスID、アクティビティID、担当者ID、担当ロールID、担当部門ID、属性、差戻し先、フォームIDが定義される。ここでは、複数のレコードが定義される。
【0053】
なお、アクティビティの担当部門には「申請者の部門と同じ」という指定が可能である。この場合、担当部門に申請者の部門を指定したのと同じ動作をする。
【0054】
最後に、この業務名「購入申請書」についてのアクティビティを図示したものを85へ示す。
【0055】
図9は、ワークアイテムの例を示す図である。
【0056】
この図は、
図6〜8の例を前提としている。
【0057】
この例では、
図8の初期状態から観音花子が承認した後のワークアイテムの変化を示している。
【0058】
観音花子が承認することで、それまで「予定」であった観音金太郎の状態が、「処理待ち」に変化したことが分かる。
【0059】
図10は、ジョブ情報の一例を示すデータテーブルである。
【0060】
このジョブ情報は、
図6の組織情報の例、
図7の定義情報の例を前提にしている。
【0061】
新規案件が起案されると、案件101に、プロセスID、案件ID、申請部門ID、申請ロールIDが登録される。
【0062】
また、ワークアイテム102には、案件ID、アクティビティID、担当者ID、状態が登録される。この例では、案件ID「0000001」は、アクティビティID「act000」は、処理済みで、アクティビティID「act001」は、処理待ちであることを示している。
【0063】
次に催促103について説明する。これは、本発明の実施の形態を実現するために新たに設けたデータテーブルである。起案された案件について催促機能が利用されることにより催促103に、案件ID、催促実行者ID、催促実行(アクティビティID)、催促開始(アクティビティID)、催促終了(アクティビティID)、属性が登録される。案件ID「0000001」のレコードは、申請者が申請時に催促した例を示し、案件ID「0000002」のレコードは、経理担当が差戻し時に催促した例を示している。
【0064】
また、この業務名「購入申請書」についてのアクティビティを図示したものを104へ示す。また、ワークアイテムと催促を図示したものを105へ示す。
【0065】
105の前から催促の例では、案件「0000001」について、申請者の「観音太郎」が「act001」から「act004」まで前から催促する例を示している。申請者が催促する場合、申請者は、この案件自体を速やかに終わらせることを目的に催促するため、案件の最後の承認者まで催促がなされることとなる。
【0066】
また、105の後ろから催促の例では、案件「0000002」について、経理担当者である「観音次郎」が「act002」から「act003」まで後ろから催促する例を示している。後ろのアクティビティのユーザーが自分より前のアクティビティのユーザーに対して催促をする場合、自分のアクティビティにおける自分の処理を早く終わらせることを目的に催促するため、自分より後ろのアクティビティのユーザーに対しては催促をしない。例えば、後ろのアクティビティのユーザーが長期休暇に入る前に、そのユーザーが処理すべき予定の案件を、前のアクティビティのユーザーに対して催促することで、休み前に処理を終わらせることが可能となる。
【0067】
なお、この例では、最後の処理者である「観音次郎」が後ろから前に催促をする例となっているが、例えば、「観音金太郎」が「観音太郎」に催促をした場合、その次の「観音花子」に対して催促を行うが、「観音次郎」に対しては催促を行わない。「観音金太郎」は、後ろのユーザーである「観音次郎」に対して催促をしていないからである。もし「観音金太郎」が「観音次郎」に対して催促を行いたい場合は、前から催促をすることで実現可能となる。
【0068】
次に、
図11に申請する際のワークフローシステムにおける処理の流れを説明する。
【0069】
本フローチャートは、ユーザーがワークフロー操作用端末を操作して、操作に応じた処理をワークフローサーバが行うものである。
【0070】
まず、最初にワークフロー操作用端末は、ユーザー操作に応じてワークフローサーバへのログイン画面を表示装置へ表示させる(1101)。そして、入力された認証情報をワークフローサーバへ送信する。
【0071】
1102において、ワークフローサーバは、認証を行ってユーザーを特定し、当該ユーザーが申請可能な業務を取得する。
【0072】
図12に、ワークフローサーバにおける申請可能な業務を取得するフローチャートを示す。
【0073】
1201において、ワークフローサーバは、申請者のポジションを取得する。ログインユーザーID(インプット情報)を元に、ポジション情報(
図5の504)を参照する。ここで、ポジションとは、ユーザーが所属する部門とロールの組ことをいう。例えば、
図6の「観音太郎」の場合、組織情報から、ポジションは、営業一課・一般となり、「観音花子」の場合、所属ポジションは、営業1課・課長と営業2課・課長となる。
【0074】
1202において、ワークフローサーバは、申請可能な業務を取得する。業務ごとに、起票者のポジションで申請可能かどうかを調べ申請可能な業務の一覧を作成する。すべての業務毎に、
図7のプロセス定義を参照し、プロセス定義712の申請可能な部門IDで指定される部門またはその下位部門に、申請者が所属する場合、申請可能な業務と判定する。例えば、プロセス定義の申請可能な部門IDが、
図6の営業部の場合、営業部、営業1課、営業2課に所属するユーザーは申請可能と判定する。
【0075】
図13にワークフローサーバが取得した申請可能な業務をワークフロー操作用端末の表示装置へ表示した例を示す。ユーザーは、「起案」ボタンを押下することにより業務の申請を選択することができる。
【0076】
インプット情報は、ログインユーザーIDとなる。
【0077】
1103において、ワークフロー操作用端末は、ユーザーによる申請業務の選択を受け付ける。そして、ワークフローサーバへ選択された申請業務を通知する。
【0078】
1104において、ワークフローサーバは、起案時の役割を求める。
【0079】
ここでの処理の流れは、
図12に占めるワークフローサーバにおける申請可能な業務を取得するフローチャートと同じであるが、差異点として、インプット情報が、ログインユーザーIDと業務IDである点と、1202の処理が異なる。具体的には、1202において、ワークフローサーバは、申請可能なポジションの一覧を作成する。ユーザーが指定した業務(インプット情報の業務ID)で、
図7のプロセス定義を参照し、プロセス定義(712)の申請可能な部門IDで指定される部門またはその下位部門に、申請者が所属する場合、申請可能なポジションと判定する。例えば、ログインユーザーのポジションが
図6の営業1課・課長と営業2課・課長で、プロセス定義の申請可能な部門IDが、
図6の営業1課の場合、申請可能なポジションは営業1課・課長と判定する。
【0080】
1105において、ワークフローサーバは、起案時の役割が複数あるかを判定する。Yesの場合、1106へ進み、Noの場合、1108へ進む。
【0081】
1106において、ワークフロー操作用端末は、ワークフローサーバから取得した役割選択画面を表示する。
【0082】
1107において、ワークフロー操作用端末は、ユーザーから役割選択を受け付ける。そして、ワークフローサーバへ選択された役割を通知する。
図14に役割を選択する画面の一例を示す。この例は、「神奈川 奈々子」が部長と課長とを兼任していて、そのどちらで起案するかを選択する画面を示している。
【0083】
1108において、ワークフロー操作用端末は、ワークフローサーバから取得した申請画面を表示する。
図15に申請画面の一例を示す。ユーザーは、この画面に必要事項を入力することとなる。
【0084】
1109において、ワークフロー操作用端末は、申請内容・催促有無の入力を受け付ける。そして、ワークフローサーバへ入力された各種内容を通知する。
【0085】
1110において、ワークフローサーバは、配送処理(新規申請)を行う。
【0086】
なお、配送処理の説明については後に説明する。
【0087】
以上により、例えば、
図8に示すように、新規案件が起票された状態となる。
【0088】
次に、
図16に再申請、承認、差戻、否決する際のワークフローシステムにおける処理の流れを説明する。
【0089】
本フローチャートは、ユーザーがワークフロー操作用端末を操作して、操作に応じた処理をワークフローサーバが行うものである。
【0090】
まず、最初にワークフロー操作用端末は、ユーザー操作に応じてワークフローサーバへのログイン画面を表示装置へ表示させる(1601)。そして、入力された認証情報をワークフローサーバへ送信する。
【0091】
1602において、ワークフローサーバは、処理待ち一覧をワークフロー操作用端末へ送信し、ワークフロー操作用端末は、処理待ち一覧を表示する。
【0092】
図17にワークフローサーバにおける処理待ち一覧を取得するフローチャートを示す。なお、処理待ち一覧とは、ログインユーザーが現在処理すべき案件を確認するための一覧のことをいう。
【0093】
ここでのインプット情報は、ログインユーザーIDである。
【0094】
1701において、ワークフローサーバは、処理待ち案件の一覧を作成する。
【0095】
すべてのワークアイテム(722)の中から以下の条件にすべて当てはまるワークアイテムの一覧を作成する。
(1)ワークアイテムの状態が「処理待ち」である
(2)ワークアイテムの担当者IDがログインユーザーID(インプット情報)と同じ
例えば、
図10で、観音花子(課長)が処理待ち一覧を開いた場合、ワークアイテム102から上記条件に合うものを求めると次が該当する。
・案件ID「0000001」、アクティビティID「act001」、担当者ID「U001」、状態「処理待ち」
1702から1707まで、処理待ち案件の件数繰り返す。
【0096】
また、1703から1706まで、催促の数だけ繰り返す。ここで、ワークアイテムの案件IDを元に、催促情報(
図7の724)を参照し、その催促について繰り返す。例えば、
図10で、観音花子(課長)が処理待ち一覧を開いた場合、催促は次が該当する。
・案件ID「0000001」、催促実行者ID「U000」、催促実行(アクティビティID)「act000」、催促開始(アクティビティID)「act001」、催促終了(アクティビティID)「act004」、属性「前から」
1704において、ワークフローサーバは、案件に催促があるかを判定する。Yesの場合、1705へ進み、Noの場合、1706へ進む。なお、催促が、以下の条件に当てはまれば、そのワークアイテムを催促ありとみなす。ワークアイテムのアクティビティ(
図7の722、716)が、催促(
図7の724)の催促開始と催促終了の間にあれば催促ありと判定する(催促開始≦配送先≦催促終了)。例えば、
図10で、観音花子(課長)が処理待ち一覧を開いた場合、催促は上記条件に該当するため、催促ありとみなす。
【0097】
図18に処理待ち一覧の画面の例を示す。ここでは、1801に催促についての状態が表示される。この例では、案件ID「S000000007」は、「催促あり」、案件ID「S000000006」と、案件ID「S000000002」は、何もない通常の処理待ち案件であることを示している。
【0098】
ここで、「催促あり」とは、その案件を処理する催促がなされている案件であることを示している。本実施の形態では、催促自体は、電子メール等により通知されるので、ユーザーは、その通知により催促されている案件の存在を知る。この画面では、その催促されている案件がどれであるかを一覧から見分けることができる。
【0099】
1603において、ワークフロー操作用端末は、ユーザーから選択された処理する案件をワークフローサーバへ送信する。
【0100】
1604において、ワークフローサーバは、案件詳細画面をワークフロー操作用端末へ送信し、ワークフロー操作用端末は、案件詳細画面を表示する。
【0102】
1605において、ワークフロー操作用端末は、ユーザー操作による申請内容の編集・催促有無の入力を受け付け、ワークフローサーバに内容を通知する。
【0103】
1606において、ワークフローサーバは、配送処理(再申請、承認、差戻、否決)を行う。なお、配送処理の説明については後に説明する。
【0104】
以上により、再申請、承認、差戻、否決がなされる。
【0105】
次に、
図20に前から催促する際のワークフローシステムにおける処理の流れを説明する。
【0106】
本フローチャートは、ユーザーがワークフロー操作用端末を操作して、操作に応じた処理をワークフローサーバが行うものである。
【0107】
まず、最初にワークフロー操作用端末は、ユーザー操作に応じてワークフローサーバへのログイン画面を表示装置へ表示させる(2001)。そして、入力された認証情報をワークフローサーバへ送信する。
【0108】
2002において、ワークフローサーバは、案件進捗画面をワークフロー操作用端末へ送信し、ワークフロー操作用端末は、案件進捗画面を表示する。案件進捗一覧とは、ログインユーザーが処理した処理済みの案件を確認するための一覧である(
図31の3101)。
【0109】
なお、案件進捗画面に表示する処理待ち案件一覧を取得する処理の流れは、
図17に示す処理待ち一覧を取得するフローチャートにおいて「処理待ち」を「処理済み」と置き換えることにより対応する。
【0110】
同様にインプット情報は、ログインユーザーIDである。ワークフローサーバは、すべてのワークアイテム(
図7の722)の中から次の条件にすべて当てはまるワークアイテムの一覧を作成する。
(1)ワークアイテムの状態が「処理済み」である
(2)ワークアイテムの担当者IDがログインユーザーID(インプット情報)と同じ
例えば、
図10で、観音太郎(申請者)が案件進捗一覧を開いた場合、ワークアイテム(
図10の102)から上記条件に合うものを求めると以下が該当する。
・案件ID「0000001」、アクティビティID「act000」、担当者ID「U000」、状態「処理済み」
・案件ID「0000002」、アクティビティID「act000」、担当者ID「U000」、状態「処理済み」
【0111】
また、ワークアイテムの案件IDを元に、催促情報(
図7の724)を参照し、その催促について繰り返す。例えば、
図10で、観音太郎(申請者)が案件進捗一覧を開いた場合、催促は以下が該当する。
(案件0000001についての催促)
案件ID「0000001」、催促実行者ID「U000」、催促実行(アクティビティID)「act000」、催促開始(アクティビティID)「act001」、催促終了(アクティビティID)「act004」、属性「前から」
(案件0000002についての催促)
案件ID「0000002」、催促実行者ID「U003」、催促実行(アクティビティID)「act003」、催促開始(アクティビティID)「act002」、催促終了(アクティビティID)「act003」、属性「後ろから」
【0112】
催促が、以下の条件に1つでも該当すれば、そのワークアイテムを催促ありとみなす。(1)催促実行者IDがログインユーザーIDと等しい
(2)ワークアイテムのアクティビティIDが、催促の催促開始と催促終了の間にあれば催促ありと判定する(催促開始≦ログインユーザーが処理したアクティビティ≦催促終了)
例えば、
図10で、観音太郎(申請者)が案件進捗一覧を開いた場合、案件0000001についての催促は、催促実行者ID=ログインユーザーとなるため、条件に該当し、催促ありと判定する。また、案件0000002についての催促は、条件に該当しないため催促なしと判定する。
【0113】
2003において、ワークフロー操作用端末は、ユーザーによる催促する案件の選択を受け付け、ワークフローサーバへ通知する。
【0114】
2004において、ワークフローサーバは、催促処理(前から)を行う。なお、催促処理については後に説明する。
【0115】
以上により、前からの催促をすることができるようになる。
【0116】
また、
図21に後ろから催促する際のワークフローシステムにおける処理の流れを説明する。
【0117】
本フローチャートは、ユーザーがワークフロー操作用端末を操作して、操作に応じた処理をワークフローサーバが行うものである。
【0118】
まず、最初にワークフロー操作用端末は、ユーザー操作に応じてワークフローサーバへのログイン画面を表示装置へ表示させる(2101)。そして、入力された認証情報をワークフローサーバへ送信する。
【0119】
2102において、ワークフローサーバは、予定案件一覧をワークフロー操作用端末へ送信し、ワークフロー操作用端末は、予定案件一覧を表示する。予定案件一覧とは、ログインユーザーが将来、処理する予定の案件を確認するための一覧である(
図31の3102)。ユーザーは、例えば、近々、出張するような事情がある場合、出張前にその案件の処理を行うべく、自分より前の承認ユーザーに対して催促をするといった使い方ができる。
【0120】
なお、予定案件一覧に表示する予定案件一覧を取得する処理の流れは、
図17に示す処理待ち一覧を取得するフローチャートにおいて「処理待ち」を「処理済み」と置き換えることにより対応する。
【0121】
同様にインプット情報は、ログインユーザーIDである。
すべてのワークアイテム(
図7の722)の中から次の条件にすべて当てはまるワークアイテムの一覧を作成する。
(1)ワークアイテムの状態が「予定」である
(2)ワークアイテムの担当者IDがログインユーザーID(インプット情報)と同じ
例えば、
図10で、観音次郎(経理担当)が予定案件一覧を開いた場合、ワークアイテム(
図10の102)から上記条件に合うものを求めると以下が該当する。
・案件ID「0000001」、アクティビティID「act003」、担当者ID「U003」、状態「予定」
・案件ID「0000002」、アクティビティID「act003」、担当者ID「U003」、状態「予定」
【0122】
ワークアイテムの案件IDを元に、催促情報(
図7の724)を参照し、その催促について繰り返す。例えば、
図10で、観音次郎(経理担当)が案件進捗一覧を開いた場合、催促は以下が該当する。
(案件0000001についての催促)
案件ID「0000001」、催促実行者ID「U000」、催促実行(アクティビティID)「act000」、催促開始(アクティビティID)「act001」、催促終了(アクティビティID)「act004」、属性「前から」
(案件0000002についての催促)
案件ID「0000002」、催促実行者ID「U003」、催促実行(アクティビティID)「act003」、催促開始(アクティビティID)「act002」、催促終了(アクティビティID)「act003」、属性「後ろから」
【0123】
催促が、以下の条件に1つでも該当すれば、そのワークアイテムを催促ありとみなす。(1)催促実行者IDがログインユーザーIDと等しい
(2)状態が「処理待ち」のワークアイテム(
図7の722)に対応するアクティビティが、催促(
図7の724)の催促開始と催促終了の間にあれば催促ありと判定する(催促開始≦現在の処理待ちアクティビティ≦催促終了)
例えば、
図10で、観音次郎(経理担当)が案件進捗一覧を開いた場合、案件0000001について催促実行者ID(U000)は、ログインユーザーID(U003)と一致しない。条件が「処理待ち」のワークアイテムは
・案件ID「0000001」、アクティビティID「act001」、担当者ID「U001」、状態「処理待ち」
アクティビティID(act001)は、催促開始(act001)と催促終了(act004)の間に該当するので、催促ありと判定する。
【0124】
また、案件0000002についての催促は、催促実行者ID(U003)は、ログインユーザーID(U003)と一致するため、催促ありと判定する。
【0125】
2103において、ワークフロー操作用端末は、ユーザーによる催促する案件の選択を受け付け、ワークフローサーバへ通知する。
【0126】
ここで、ユーザーが、「予定」の案件を選択した場合、現在処理待ちとなっている承認ユーザーが特定されて画面に表示される(
図32)。対応する案件IDと
図10に示すワークアイテム102の状態において「処理待ち」となっている担当者が対象として特定されることとなる。そして、ユーザーにより催促の指示がなされることによりその指示がワークフローサーバへ送信される。催促の指示がなされることにより、催促処理が実行されるが、処理の詳細は後述する。
【0127】
また、ユーザーが案件を選択することなく、予め定めた条件に合致する「予定」案件がある場合や全ての「予定」案件について、ユーザーの操作を介することなく、直ちに催促の処理を行う実施の形態をとることも可能である。
【0128】
更に、選択した案件を、「選択をしたユーザー」か「催促をするアクティビティの承認者の次の承認者」からの催促であるかを選択することを可能とする。
図30は、催促するユーザーを選択する画面である。3001にチェックを入れることにより「催促をするアクティビティの承認者の次の承認者」からの催促を選択することができる。これにより、
図8のアクティビティにおいて、「経理担当者」が「課長」に催促をした場合であっても、「課長」に対しては、「部長」から催促があったように通知がなされる。これは、通常、ワークフロー処理の流れにおいて、自分の直後の承認者は分かっていても、次の次など、離れた先の承認者を知らないことが多いため、直後の承認者により催促がされたように見せることで実効性のある催促を実現することができる。なお、チェックが入れられた場合、後の処理で、催促実行者のIDを置き換える必要があるため、ここでは、置き換え情報としてメモリに一時的に記憶しておく。
【0129】
2104において、ワークフローサーバは、催促処理(後ろから)を行う。なお、催促処理については後に説明する。
【0130】
以上により、後ろからの催促をすることができるようになる。
【0131】
続いて、
図33にその他のワークフローシステムにおける処理の流れを説明する。
【0132】
本フローチャートは、ユーザーがワークフロー操作用端末を操作して、操作に応じた処理をワークフローサーバが行うものである。
【0133】
まず、最初にワークフロー操作用端末は、ユーザー操作に応じてワークフローサーバへのログイン画面を表示装置へ表示させる(3301)。そして、入力された認証情報をワークフローサーバへ送信する。
【0134】
3302において、ワークフローサーバは、案件選択画面をワークフロー操作用端末へ送信し、ワークフロー操作用端末は、案件選択画面を表示する。
【0135】
案件選択画面の一例を
図34に示す。この案件選択画面からユーザーは、「処理待ち案件を一覧表示する場合(3401)」、「催促ありの処理待ち案件を一覧表示する場合(3402)」、「処理予定の案件を一覧表示する場合(3403)」の3つの一覧表示を選択することができる。
【0136】
「処理待ち案件を一覧表示する場合」は、通常の画面であって、ログインユーザーの処理待ちとなっている案件の一覧を確認することができる画面である。
【0137】
「催促ありの処理待ち案件を一覧表示する場合」は、ログインユーザーの処理待ちとなっている案件でかつ、その案件に催促がある案件の一覧を確認することができる画面である。催促がある案件を優先的に処理する場合等に有効な画面となる。
【0138】
「処理予定の案件を一覧表示する場合」は、ログインユーザーが将来処理することとなる案件の一覧を確認することができる画面である。催促をすべき案件を抽出する場合等に有効な画面となる。
【0139】
3303において、ワークフロー操作用端末は、ユーザー操作に応じてワークフローサーバへ選択された画面の種類を判定して、その判定結果をワークフローサーバへ送信する。
【0140】
3304において、ワークフローサーバは、処理待ち案件一覧を表示する処理を行い、その一覧画面情報をワークフロー操作端末へ送信する。ワークフロー操作端末では、一覧画面情報を用いて、画面に一覧を表示する。
【0141】
なお、処理待ち案件一覧に表示する処理待ち案件一覧を取得する処理の流れは、
図17に示す処理待ち一覧を取得するフローチャートにおける1701〜1702の処理により実現可能である。
【0142】
3305において、ワークフローサーバは、催促あり処理待ち案件一覧を表示する処理を行い、その一覧画面情報をワークフロー操作端末へ送信する。ワークフロー操作端末では、一覧画面情報を用いて、画面に一覧を表示する(
図31の3103)。
【0143】
なお、催促あり処理待ち案件一覧に表示する催促あり処理待ち案件一覧を取得する処理の流れは、
図17に示す処理待ち一覧を取得するフローチャートの処理により実現可能である。
【0144】
3306において、ワークフローサーバは、予定案件一覧を表示する処理を行い、その一覧画面情報をワークフロー操作端末へ送信する。ワークフロー操作端末では、一覧画面情報を用いて、画面に一覧を表示する(
図31の3102)。
【0145】
なお、予定案件一覧に表示する予定案件一覧を取得する処理の流れは、
図17に示す処理待ち一覧を取得するフローチャートにおいて「処理待ち」を「予定」と置き換えることにより対応する。
【0146】
3307において、ワークフロー操作端末は、表示された一覧画面からユーザーによりから案件の選択を受け付ける。
【0147】
3308において、ワークフロー操作端末は、選択された案件に対して「催促」の操作がなされたかを判定する。Yesの場合、3310へ進み、Noの場合、3309へ進む。具体的には、一覧画面のメニュー等から「催促」する項目の選択がなされたかにより判定を行う。また、その際は、催促を行うユーザーの指定を受け付けて、ワークフローサーバへ指定を行う。なお、催促を行うユーザーの抽出方法は、上述した通りであるため説明を省略する。また、催促には「前から」と「後ろか」の2つあり、その種類もワークフローサーバへ通知される。
【0148】
3309において、ワークフローサーバは、ワークフロー操作端末からなされた指示に応じて配送処理を行う。この配送処理は従来の配送処理と同じである。
【0149】
3310において、ワークフローサーバは、催促処理を行う。催促処理(前から、後ろか)は、上述した通りなので説明を省略する。
【0150】
以上、その他のワークフローシステムにおける処理の流れを説明した。
【0151】
次に、ワークフローシステムにおける配送処理の流れを説明する。
【0152】
図22は、ワークフローシステムにおける配送処理の流れを示すフローチャートである。本処理はワークフローサーバにおいて処理がなされる。
【0153】
ここでは、インプット情報として、ログインユーザーID、申請部門ID、申請ロールID、業務ID、プロセスID、ワークアイテムID、入力内容、催促有無(「あり」、「なし」)、処理区分(「新規申請」、「再申請」、「承認」、「差戻」、「否決」)が入力されるものとする。
【0154】
2201において、ワークフローサーバは、処理区分を判定する。新規申請の場合、2204へ進み、その他の場合、2202へ進む。例えば、承認者が案件詳細画面(
図19)で、承認のボタンを押せば処理区分は承認となる。同様に差戻のボタンを押せば差戻となり、否決のボタンを押せば否決となる。新規申請と、再申請は、呼出元フローが異なる(
図11の1110、
図16の1606)。
【0155】
2202において、ワークフローサーバは、「処理待ち」ワークアイテムを削除する。再申請、承認、差戻、否決を行ったアクティビティに対応する「処理待ち」のワークアイテムを削除する。例えば、
図10の案件0000001は観音花子の処理待ちの状態である。この状態で、観音花子が承認した場合、承認を行ったアクティビティはact001であり、対応するワークアイテムで「処理待ち」のものを削除する。
【0156】
2203において、ワークフローサーバは、入力内容の更新を行う。エンドユーザーが入力した内容で、入力内容を更新する。
【0157】
2204において、ワークフローサーバは、案件の新規作成を行う。(案件ID:新規発番、業務ID:インプット情報の「業務ID」、申請部門ID:インプット情報の「申請部門ID」、申請ロールID:インプット情報の「申請ロールID」)
2205において、ワークフローサーバは、エンドユーザーが入力した内容で、入力内容を新規作成する。
【0158】
2206において、ワークフローサーバは、「処理済」ワークアイテム作成を行う(=処理を行ったアクティビティに対応する「処理済み」のワークアイテムを作成する。)
例えば、
図10の案件0000001は観音花子の処理待ちである。この状態で、観音花子が承認した場合、承認を行ったアクティビティはact001であり、対応するワークアイテムで「処理済み」のものを作成する。
【0159】
例えば、例観音太郎が新規申請した場合には、申請を行ったアクティビティはact000であり、対応するワークアイテムで「処理済み」のものを作成する。
【0160】
2207において、ワークフローサーバは、処理区分を判定する。否決の場合、2222へ進み、その他の場合、2208へ進む。
【0161】
2208において、ワークフローサーバは、処理区分を判定する。差戻の場合、2210へ進み、その他の場合、2209へ進む。
【0162】
2209において、ワークフローサーバは、配送先アクティビティを求める。
【0163】
例えば、
図8で観音太郎が申請した場合、処理を行ったアクティビティはact000であり、配送先のアクティビティはact001となる。また、観音花子(課長)が承認した場合は、処理を行ったアクティビティはact001であり、配送先のアクティビティはact002となる。また、観音金太郎(部長)が承認した場合は、処理を行ったアクティビティはact002であり、配送先のアクティビティはact003となる。また、観音次郎(経理担当)が承認した場合は、処理を行ったアクティビティはact003であり、配送先のアクティビティはact004となる。
【0164】
ここでの処理の詳細を、
図23に示す。
【0165】
図23は、ワークフローサーバにおける次のユーザー実行アクティビティを求める処理の流れを示すフローチャートである。
【0166】
インプット情報として、案件IDと入力アクティビティIDが入力される。
【0167】
2301において、ワークフローサーバは、対象アクティビティの属性を判定する。分岐条件の場合、2303へ進み、その他の場合、2302へ進む。
【0168】
2302において、ワークフローサーバは、次のアクティビティを求める。例えば、
図10の104でact003の次はact004である。
【0169】
2303において、ワークフローサーバは、次のアクティビティを求める。条件分岐から伸びているすべてのトランジションの条件の中から成立するものを見つけ、そのトランジションにつながるアクティビティを次のアクティビティとする。例えば、
図4で、402の次は、条件によって、403か405になる。
【0170】
2304において、ワークフローサーバは、次のアクティビティの属性を判定する。終了の場合、2307へ進み、ユーザー実行の場合、2406へ進み、その他の場合、2305へ進む。
【0171】
2305において、ワークフローサーバは、次のアクティビティを対象に繰り返し処理を行うために、2301へ戻る。
【0172】
2306において、ワークフローサーバは、次のアクティビティを返す。
【0173】
2307において、ワークフローサーバは、終了アクティビティを返す。
【0174】
一方、2210において、ワークフローサーバは、不要となった催促を削除する。次の以下の条件にすべて当てはまる催促を削除し、催促実行者にメール通知する。
(1)「前から」の催促である
(2)催促の開始よりも前(申請側)に差し戻された(差戻し先アクティビティ<催促開始アクティビティ)
2211において、ワークフローサーバは、配送先アクティビティの属性が「終了」であるかどうかを判定する。Yesの場合、2212へ進み、Noの場合、2219へ進む。
例えば、処理区分が「新規申請」「再申請」「承認」の場合には。2212で配送先を求めている。「差戻」の場合には、処理を行ったアクティビティの差戻し先(
図7の716)が配送先となる。
【0175】
2212において、ワークフローサーバは、処理待ワークアイテムを作成する。この処理の詳細な処理の流れを、
図24を用いて説明する。
【0176】
ここで、インプット情報は、案件IDと配送先アクティビティIDである。
【0177】
2401において、ワークフローサーバは、該当者を求める。そして、2402から2404において、該当者の数だけ繰り返し処理し、2403において、ワークアイテムの作成を行う(ワークアイテムID:新規発番、アクティビティID:配送先アクティビティのID、担当者ID:該当者のID、状態:「処理待」)。
【0178】
2401における詳細な処理の流れを、
図25を用いて説明する。
【0179】
ここで、インプット情報は、案件IDとアクティビティIDである。
【0180】
2501において、ワークフローサーバは、ユーザー指定がされているかを判定する(ユーザー指定がされているとは、アクティビティの担当者ID(
図7の716)が指定されていることである)。Yesの場合、2505へ進み、Noの場合、2502へ進む。
【0181】
2502において、ワークフローサーバは、ロールのみの指定であるかを判定する(ロールのみ指定であるとは、アクティビティの担当部門ID(
図7の716)に「申請部門と同じ」と指定することである)。Yesの場合、2503へ進み、Noの場合、2504へ進む。例えば、
図8でアクティビティact002は、ロールのみが指定されている。
【0182】
2503において、ワークフローサーバは、部門&ロールの該当者を求める。部門には案件(インプット情報)の申請部門ID(
図7の721)を指定し、ロールにはアクティビティの担当ロールを指定する。最後に、該当者を返して処理を終了する。
【0183】
2504において、ワークフローサーバは、部門&ロールの該当者を求める。
部門にはアクティビティの担当部門を指定し、ロールにはアクティビティの担当ロールを指定する。最後に、該当者を返して処理を終了する。
【0184】
この処理の詳細な処理の流れを、
図26を用いて説明する。
【0185】
ここで、インプット情報は、部門IDとロールIDである。
【0186】
2601において、ワークフローサーバは、該当者があるかを判定する。Yesの場合、2602に進み、Noの場合、2603へ進む。
【0187】
例えば、
図6で、営業1課(C001)、課長(R001)に該当するユーザーが存在するか判定する場合、ポジション(
図6の604)を参照し、部門が営業1課(C001)で、ロールが課長(R001)に該当するレコードは次の通りである。
・ユーザーID「U001」、ロールID「R001」、部門ID「C001」
この情報から該当者は、U001の観音花子となる。
【0188】
2602において、ワークフローサーバは、該当者を返して処理を終了する。
【0189】
2603において、ワークフローサーバは、上位部門で繰り返し、2601へ戻る。部門の親部門を求める。部門の親部門(
図5の501)を参照して求める。例えば、
図6で、営業1課(C001)の親部門は、
図6の601より、営業部(B001)となる。なお、親部門がない場合(=最上位部門のとき)は、異常系なのでここでは除外している。
【0190】
2505において、ワークフローサーバは、ユーザーIDを返し処理を終了する。ユーザーが指定されているケースで、該当者は、指定されたユーザーそのものである。
【0191】
次に、2213において、ワークフローサーバは、予定ワークアイテムを作成する。この処理の詳細な処理の流れを、
図27を用いて説明する。
【0192】
ここで、インプット情報は、案件IDとアクティビティID(申請またはユーザー実行アクティビティ)である。
【0193】
2701において、ワークフローサーバは、アクティビティ(インプット情報)の属性が何であるかを判定する。「終了」の場合、終了し、「ユーザー実行」の場合、2702へ進み、「条件分岐」の場合、2707へ進み、「合流」の場合、2709へ進む。
【0194】
2702において、ワークフローサーバは、既に作成済みかどうかを判定する。Yesの場合、2709へ進み、Noの場合、2703へ進む。具体的には、対象のアクティビティに「予定」のワークアイテムがあるかどうかを調べる。
【0195】
2703において、ワークフローサーバは、対象アクティビティの該当者を求める。なお、この処理の詳細は、
図25および
図26の処理と同じであるため説明を省略する。
【0196】
そして、2704から2706において、ワークフローサーバは、該当者の数だけ繰り返し処理し、2705において、「予定」ワークアイテムの作成を行う(案件ID:インプット情報の案件ID、アクティビティID:配送先アクティビティのID、担当者ID:該当者のID、状態:「予定」)。
【0197】
また、2707において、ワークフローサーバは、分岐条件の判定を行う。条件分岐から伸びているすべてのトランジションの条件の中から成立するものを見つける。なお、成立するものがないケースや、複数成立してしまう場合は異常系なのでここでは除外する。
【0198】
2708において、ワークフローサーバは、「予定」ワークアイテムを削除する。条件が成立しないトランジション以降、対応する合流までのすべてのアクティビティに対応する「予定」のワークアイテムを削除する。また、削除したワークアイテムから作成した催促を削除する。そして、削除した催促の作成者へメール通知する。例えば、
図4のプロセスで、金額を10万円で申請後、差し戻され、再申請時に40万円で申請するようなケースで403、404の予定のワークアイテムを削除する。
【0199】
2709において、ワークフローサーバは、次のアクティビティで繰り返し、2701へ戻る。
【0200】
次に、2214において、ワークフローサーバは、催促があるかを判定する。Yesの場合、2216へ進み、Noの場合、2215へ進む。
【0201】
2215において、ワークフローサーバは、承認依頼メールを送信する。この詳細な処理の流れを、
図28を用いて説明する。
【0202】
ここで、インプット情報は、「ログインユーザーID」と「案件ID」と「配送先アクティビティID」である。
【0203】
2801において、ワークフローサーバは、承認依頼の文面を作成する。業務名は、案件IDを元に、定義情報(
図7)の業務から求める。例えば、「件名:承認依頼が届きました」、「本文:購入精算書(0000001)の承認依頼が届きました」などとする。この承認依頼のメールは、ワークアイテム102で「処理待ち」となっているユーザーに送信するものである。
【0204】
2802から2807まで、ワークフローサーバは、催促の数だけ繰り返す。例えば、
図10で案件IDが0000001の案件を、観音花子(課長)が承認した場合、催促は、案件ID(インプット情報)を元に、催促テーブル(
図10の103)から求める。この処理は、承認依頼メールに、この案件に催促があることを示すための処理である。
【0205】
2803において、ワークフローサーバは、催促をつけるかを判定する。Yesの場合、2804へ進み、Noの場合、2807へ進む。ここでは、配送先アクティビティが、催促(
図7の724)の催促開始と催促終了の間にあれば催促ありと判定する(催促開始≦配送先≦催促終了)。例えば、
図10で案件IDが0000001の案件を、観音花子(課長)が承認した場合、配送先はact002、催促の開始はact001、終了はact004であるため催促ありと判定する。
【0206】
2804において、ワークフローサーバは、催促者を変更するかを判定する。Yesの場合、2805へ進み、Noの場合、2806へ進む。ここでは、催促(
図7の724)の催促者変更の有無が有ならば変更すると判定する。
【0207】
2805において、ワークフローサーバは、催促の文面を追加する。ここで、催促者の氏名は、催促実行者IDを元に、組織情報(
図5)のユーザー(503)から求める(文面例:観音太郎様より催促されています。)。
【0208】
2806において、ワークフローサーバは、催促の文面を追加する。ここで、配送先アクティビティを元に、次のユーザー実行アクティビティを求め(
図23)、そのアクティビティの該当者を求める(
図25)。そして、その該当者を元に、組織情報(
図5)のユーザー(503)から催促者の氏名を求める(文面例:観音金太郎様より催促されています。)。
【0209】
2808において、ワークフローサーバは、メールを送信する。ここでは、配送先アクティビティの該当者を求め(
図25)、その該当者にメールを送信する。文面は2801、2805、2806で作成したものである。
【0210】
メール例(件名:承認依頼が届きました。本文:購入精算書(0000001)の承認依頼が届きました。観音太郎様より催促されています。)。
【0211】
以上、
図28を用いて、承認依頼メールを送信する一例を示したが、下記のような実施の形態もある。
(1)承認依頼メールとは別に催促メールを送信する実施の形態。これにより、催促を独立したメールで送信することにより、催促対象となっているユーザーに催促を促すことができる。
(2)後ろから催促の場合、処理待ちユーザーに催促をすると同時に、処理待ちユーザーから催促をしたユーザーに至るアクティビティのユーザー(予定ユーザー)に催促をする実施の形態。これにより、ワークフローの流れの中で、処理待ちユーザーとなる毎に、そのユーザーに催促をする場合に比べ、予定となっているユーザーに対しても催促をすることになるため、予め催促を知らしめることが可能となる。
【0212】
次に、2216において、ワークフローサーバは、処理区分を判定する。「差戻」の場合、2218へ進み、その他の場合、2217へ進む。
【0213】
2217において、ワークフローサーバは、催促を新規に作成する。
・案件IDとして、「案件ID(インプット情報)」、催促実行者IDとして、「ログインユーザーID(インプット情報)」、催促実行(アクティビティID)として、「ワークアイテムID(インプット情報)に対応するアクティビティID」、催促開始(アクティビティID)として、「配送先のアクティビティ」、催促終了(アクティビティID)として、「終了アクティビティ」、属性として、「前から」、催促者変更の有無として、「無」。
【0214】
2918において、ワークフローサーバは、催促を新規に作成する。
・案件IDとして、「案件ID(インプット情報)」、催促実行者IDとして、「ログインユーザーID(インプット情報)」、催促実行(アクティビティID)として、「ワークアイテムID(インプット情報)に対応するアクティビティID」、催促開始(アクティビティID)として、「配送先のアクティビティ」、催促終了(アクティビティID)として、「ワークアイテムID(インプット情報)に対応するアクティビティID」、属性として、「後ろから」、催促者変更の有無として、「無」。
【0215】
次に、2219において、ワークフローサーバは、申請者にメール通知を行う。ここでは、案件が最終承認されたことを申請者に通知する。
【0216】
申請者は、申請アクティビティ(
図7)に対応するワークアイテム(
図7)の担当者IDから求め、メールアドレスは、ユーザーIDを元に、組織情報(
図5)のユーザーから求める。業務名は、案件IDを元に、定義情報(
図7)の業務から求める。
【0217】
最終承認メール例(件名:購入精算書が最終承認されました。本文:購入精算書(0000001)が最終承認されました。)。
【0218】
2220において、ワークフローサーバは、催促実行者にメールを通知する。ここでは、案件が最終承認されたことを催促実行者に通知する。
【0219】
催促実行者は、催促(
図7)の催促実行者IDから求め、メールアドレスは組織情報(
図5)のユーザーから求める。
【0220】
メール例(件名:催促していた購入精算書が最終承認されました。本文:催促していた購入精算書(0000001)が最終承認されました。)。
【0221】
2221において、ワークフローサーバは、案件の催促を削除する。ここでは、案件の催促をすべて削除する。例えば、案件ID0000001の案件を最終承認した場合、催促テーブル(
図7)で案件IDが0000001のレコードをすべて削除する。
【0222】
また、2222において、ワークフローサーバは、申請者にメール通知を行う。ここでは、案件が否決されたことを申請者に通知する。
【0223】
申請者は、申請アクティビティ(
図7)に対応するワークアイテム(
図7)の担当者IDから求め、メールアドレスは、ユーザーIDを元に、組織情報(
図5)のユーザーから求める。業務名は、案件IDを元に、定義情報(
図7)の業務から求める。
【0224】
否決メール例(件名:購入精算書が否決されました。本文:購入精算書(0000001)が否決されました。)。
【0225】
2223において、ワークフローサーバは、催促実行者にメールを通知する。ここでは、案件が否決されたことを催促実行者に通知する。
【0226】
催促実行者は、催促(
図7)の催促実行者IDから求め、メールアドレスは組織情報(
図5)のユーザーから求める。
【0227】
否決メール例(件名:催促していた購入精算書が否決されました。本文:催促していた購入精算書(0000001)が否決されました。)。
【0228】
2224において、ワークフローサーバは、案件の催促を削除する。ここでは、案件の催促をすべて削除する。例えば、案件ID0000001の案件を否決した場合、催促テーブル(
図7)で案件IDが0000001のレコードをすべて削除する。
【0229】
以上、ワークフローシステムにおける配送処理の流れを説明した。
【0230】
次に、催促処理(2004、2104、3110)の流れを、
図29を用いて説明する。
【0231】
図29は、ワークフローシステムにおける催促処理の流れを示すフローチャートである。
【0232】
ここで、インプット情報は、「ログインユーザーID」、「案件ID」、「処理待のアクティビティID」、「ワークアイテムID(ログインユーザーが担当のワークアイテム)」、催促の向き」「催促実行者の置き換えの有無」である。
【0233】
2901において、ワークフローサーバは、メール文面を作成する。催促者の氏名は、催促実行者の置き換えの有無(インプット情報)が無ならば、ログインユーザーIDを元に、組織情報(
図5)のユーザー(503)から求め、催促実行者の置き換えの有無が有ならば、催促者の氏名は処理待ちのワークアイテムを元に、次のユーザー実行アクティビティを求め(
図23)、そのアクティビティの該当者を求める(
図25)。そして、その該当者を元に、組織情報(
図5)のユーザー(503)から催促者の氏名を求める。メール例(件名:催促が届きました。本文:観音太郎様より、購入精算書(0000001)の催促が届きました。)。
【0234】
2902から2907において、ワークフローサーバは、催促の数だけ繰り返す。
【0235】
2903において、ワークフローサーバは、処理待ちユーザーへの催促であるかを判定する。Yesの場合、2904へ進み、Noの場合、2907へ進む。処理待のアクティビティが、催促開始と催促終了の間かにより判定する。
【0236】
2904において、ワークフローサーバは、催促者を変更するかを判定する。Yesの場合、2906へ進み、Noの場合、2905へ進む。ここで、催促者を変更するかどうかの判定は、催促(
図7)の催促者変更の有無が有ならば変更すると判定する。
【0237】
2905において、ワークフローサーバは、催促の文面を追加する。ここでは、催促者の氏名は、催促実行者IDを元に、組織情報(
図5)のユーザー(503)から求める(文面例:観音太郎様より催促されています。)。
【0238】
2906において、ワークフローサーバは、催促の文面を追加する。ここで、処理待ちのワークアイテムを元に、次のユーザー実行アクティビティを求め(
図23)、そのアクティビティの該当者を求める(
図25)。そして、その該当者を元に、組織情報(
図5)のユーザー(503)から催促者の氏名を求める(文面例:観音金太郎様より催促されています。)。
【0239】
2908において、ワークフローサーバは、メールを送信する。ここでは、宛先は処理待のアクティビティID(インプット情報)の担当者である。
【0240】
2909において、ワークフローサーバは、催促の向きを判定する。「前から」の場合、2910へ進み、「後ろから」の場合、2911へ進む。
【0241】
2910において、ワークフローサーバは、催促の作成を行う。ここでは、催促を新規に作成する。
・案件IDとして、「案件ID(インプット情報)」、催促実行者IDとして、「ログインユーザーID(インプット情報)」、催促実行(アクティビティID)として、「ワークアイテムID(インプット情報)に対応するアクティビティID」、催促開始(アクティビティID)として、「処理待のアクティビティ」、催促終了(アクティビティID)として、「終了アクティビティ」、属性として、「前から」、催促者変更の有無として、「無」。
【0242】
2911において、ワークフローサーバは、催促の作成を行う。ここでは、催促リストの要素を新規に作成する。
・案件IDとして、「案件ID(インプット情報)」、催促実行者IDとして、「ログインユーザーID(インプット情報)」、催促実行(アクティビティID)として、「ワークアイテムID(インプット情報)に対応するアクティビティID」、催促開始(アクティビティID)として、「処理待のアクティビティ」、催促終了(アクティビティID)として、「ワークアイテムID(インプット情報)に対応するアクティビティID」、属性として、「後ろから」、催促者変更の有無として、「催促者変更の有無(インプット情報)」。
【0243】
以上、催促処理(2004、2104)の流れを説明した。
【0244】
上述した通り、本発明によれば、ワークフロー処理の流れにおいて、後ろのアクティビティの承認を行うユーザーから前のアクティビティの承認を行うユーザーに対して催促することができるワークフローシステムを提供することが可能となる。
【0245】
例えば、後ろのアクティビティの承認を行うユーザーが、休暇により不在となる前に、自分が承認を行うユーザーとして設定されているプロセスにおいて、前のアクティビティの承認を行うユーザーに対して催促をすることで、休暇前にそのプロセスの承認処理を終わらせることが可能となる。そのため、期限が迫っているプロセスを速やかに終わらせようとする場合などに、特に有用な機能である。
【0246】
また、ワークフロー処理の流れにおいて、後ろのアクティビティの承認者に対して催促することができるワークフローシステムを提供することが可能となる。
【0247】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0248】
また、本発明におけるプログラムは、本発明に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体はコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは各装置の処理方法ごとのプログラムであってもよい。
【0249】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0250】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【0251】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【0252】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0253】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0254】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0255】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0256】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。