Hitachi

uCosminexus Service Coordinator Interactive Workflow ビジネスプロセス開発ガイド


3.4.2 条件および生成ルールを定義する

条件および生成ルールは,SQL文で定義します。

SQL文を定義するときに考慮する内容,例題「販売業務」で定義する条件および生成ルールについて説明します。

〈この項の構成〉

(1) SQL文を定義するときに考慮する内容

SQL文を定義する場合,ビジネスプロセスを運用したときにワーク管理システムがどのようにデータベースを検索するかを考慮する必要があります。

SQL文で条件および生成ルールを定義するときに考慮する内容を次の表に示します。

表3‒15 SQL文で条件および生成ルールを定義するときに考慮する内容

評価対象

評価の戻り値

条件

  • 業務ステップの完了条件

  • 作業の発生条件

  • 作業の完了条件

  • 分岐条件

問い合わせ結果が存在する場合は,真とします。問い合わせ結果が存在しない場合は,偽とします。

なお,COUNT(*)を指定すると常に真と見なすので,指定しないこと。

生成ルール

  • 並列作業の生成ルール

問い合わせ結果の先頭列のすべての行に格納された文字列を,子作業の識別子とします。

SQL文を記述するときの注意事項

「'」(半角シングルクォーテーション)で囲まれた文字列の間に改行を入れると,「\n」という改行コードが入っているものとして扱われます(「\r \n」にはなりません)。

(2) 定義する条件および生成ルール

例題「販売業務」で定義する条件および生成ルールを次の表に示します。

表3‒16 例題「販売業務」で定義する条件(業務ステップの完了条件)

業務ステップ

定義する条件

見積中

見積終了

受注処理待ち

請求待ち

納品待ち

入金待ち

(凡例)−:該当しません

表3‒17 例題「販売業務」で定義する条件(作業の発生条件および完了条件)

作業

定義する条件

発生条件

完了条件

一般見積作成

一般見積開始

特別見積作成

特別見積開始

受注登録

売掛・請求レコード作成

納品日指示

納品確認

納品確認完了

請求書出力

入金登録

請求書出力完了

(凡例)−:該当しません

表3‒18 例題「販売業務」で定義する条件(作業の分岐条件)

制御ノード

定義する条件

分岐ノード(Source後)

直接受注

分岐ノード(見積後)

見積完了

先着ノード(受注前)

分岐ノード(受注後)

受注完了

分業ノード(請求・納品前)

待合ノード(入金前)

先着ノード(Sink前)

(凡例)−:該当しません

表3‒19 例題「販売業務」で定義する生成ルール(並列作業の生成ルール)

作業

定義する条件

一般見積作成

特別見積作成

受注登録

売掛・請求レコード作成

納品日指示

納品確認

納品子作業生成

請求書出力

入金登録

(凡例)−:該当しません

(a) 条件の定義

条件の定義方法を次に示します。

  1. [アウトライン]ビューのビジネスプロセスツリーから[条件]を右クリックし,[新規作成]を選択する

    [条件]の下に[新規条件定義1]が作成されます。

  2. [アウトライン]ビューのビジネスプロセスツリーから[新規条件定義1]を右クリックし,[プロパティ]を選択する

    [条件プロパティ]ダイアログが表示されます。

    図3‒12 [条件プロパティ]ダイアログ

    [図データ]

  3. 定義名を入力する

  4. SQL文を入力する

  5. 必要に応じて説明を入力する

  6. [OK]ボタンをクリックする

操作2.および操作3.で定義する内容を次に示します。

  • 業務ステップ「見積中」で定義する「見積終了」の内容

    表3‒20 業務ステップ「見積中」で定義する「見積終了」の内容

    項目

    定義する内容

    定義名

    見積終了

    SQL文

    select * from 見積 where 商談番号='@PIName' and 見積完了フラグ='ON'

  • 作業「一般見積作成」で定義する「一般見積開始」の内容

    表3‒21 作業「一般見積作成」で定義する「一般見積開始」の内容

    項目

    定義する内容

    定義名

    一般見積開始

    SQL文

    select * from 商談 where 商談番号='@PIName' and 見積区分='1'

  • 作業「特別見積作成」で定義する「特別見積開始」の内容

    表3‒22 作業「特別見積作成」で定義する「特別見積開始」の内容

    項目

    定義する内容

    定義名

    特別見積開始

    SQL文

    select * from 商談 where 商談番号='@PIName' and 見積区分='2'

  • 作業「納品確認」で定義する「納品確認完了」の内容

    表3‒23 作業「納品確認」で定義する「納品確認完了」の内容

    項目

    定義する内容

    定義名

    納品確認完了

    SQL文

    select * from 受注 where 商談番号='@PIName' and 納品指示完了フラグ is not null

  • 作業「入金登録」で定義する「請求書出力完了」の内容

    表3‒24 作業「入金登録」で定義する「請求書出力完了」の内容

    項目

    定義する内容

    定義名

    請求書出力完了

    SQL文

    select * from 受注 where 商談番号='@PIName' and 請求書発行フラグ='ON'

  • 制御ノード「分岐ノード(Source後)」で定義する「直接受注」の内容

    表3‒25 制御ノード「分岐ノード(Source後)」で定義する「直接受注」の内容

    項目

    定義する内容

    定義名

    直接受注

    SQL文

    select * from 商談 where 商談番号='@PIName' and 見積区分='0'

  • 制御ノード「分岐ノード(見積後)」で定義する「見積完了」の内容

    表3‒26 制御ノード「分岐ノード(見積後)」で定義する「見積完了」の内容

    項目

    定義する内容

    定義名

    見積完了

    SQL文

    select * from 見積 where 商談番号='@PIName' and 見積完了日 is not null

  • 制御ノード「分岐ノード(受注後)」で定義する「受注完了」の内容

    表3‒27 制御ノード「分岐ノード(受注後)」で定義する「受注完了」の内容

    項目

    定義する内容

    定義名

    受注完了

    SQL文

    select * from 受注 where 商談番号='@PIName' and 受注完了日 is not null

(b) 生成ルールの定義

生成ルールの定義方法を次に示します。

  1. [アウトライン]ビューのビジネスプロセスツリーから[生成ルール]を右クリックし,[新規作成]を選択する

    [生成ルール]の下に[新規生成ルール定義1]が作成されます。

  2. [アウトライン]ビューのビジネスプロセスツリーから[新規生成ルール定義1]を右クリックし,[プロパティ]を選択する

    [生成ルールプロパティ]ダイアログが表示されます。

    図3‒13 [生成ルールプロパティ]ダイアログ

    [図データ]

  3. 定義名を入力する

  4. SQL文を入力する

  5. 必要に応じて説明を入力する

  6. [OK]ボタンをクリックする

操作2.および操作3.で定義する内容を次に示します。

  • 並列作業「納品確認」で定義する「納品子作業生成」の内容

    表3‒28 並列作業「納品確認」で定義する「納品子作業生成」の内容

    項目

    定義する内容

    定義名

    納品子作業生成

    SQL文

    select 納入明細番号 from 納入明細 where 商談番号='@PIName' and 納品指示日 is not null and 納入日 is not null