条件の定義

条件は、受信ルール・タブで定義されたアクションに適用されるJavaScript式です。この項は、受信ルールで使用する条件を記述するための一般的なガイドです。JavaScriptの基本知識と一般的なコーティング原理についても説明しています。特に、次について説明します。

  • 条件で使用可能なケース属性。

  • 条件を記述する際に最もよく使用するJavaScript演算子の概要。

条件で使用する属性

条件は、受信ケースの様々な特性をテストして、そのケースに特定のアクションを適用するかどうかを決定するために使用するように設計されています。

条件を定義する際、3つのタイプの属性を使用できます。

  • 標準のケース処理パラメータ

  • ワークフロー定義パラメータ

  • ケース・データ・プロパティ

標準のケース処理パラメータ

標準のケース処理パラメータは、すべてのケース(およびアラート)で共通です。受信に表示される前にケースの変更内容に関する情報が提供されます。内容は次のとおりです。

表1-27 標準のケース処理パラメータ

名前 値と意味

newCase

true - ケースが新しく作成されました

false - 既存のケースが更新されました

updateKeyChanged

true - 更新キーの値が変更されました

false - 更新キーの値は変更されていません

注意: 照合プロセスの場合、更新キーには、ケース・ソースにマップされたすべての属性が含まれます。

flagKeyChanged

true - 更新キーの値が変更されました

false - 更新キーの値は変更されていません

fromImport

true - このケースは一致決定のインポートを使用してインポートされました。

false - このケースはインポートされたケースではありません。

ワークフロー定義パラメータ

ワークフロー定義パラメータは、ワークフロー・エディタの「パラメータ」タブで定義され、ケース・ソースで構成された選択機能を使用して移入されます。そのため、これはケースのワークフローおよびケース・ソースに固有です。

MatchPriorityScoreという暗黙的なワークフロー・パラメータが1つあります。ワークフローでmatchPriorityScoreという名前のパラメータを定義すると、そのパラメータはケース作成プロセスで自動的に移入されます。

ケース・データ・プロパティ

ケース・データ・プロパティは、ケースを表すJava Beanオブジェクトで使用可能なパブリック・プロパティです。ケース・データ・プロパティには、JavaScriptから次の構文を使用してアクセスします。

caseData.<property name>

たとえば、currentStateプロパティは、caseData.currentStateでアクセスします。

使用可能なケース・データ・プロパティは次のとおりです。

表1-28 ケース・データ・プロパティ

名前 タイプ 説明

id

整数

ケースの内部識別子。

caseGroup

文字列

このプロパティは常に、照合プロセッサから生成されたケースを表す「一致」に設定されます。その他の値は、今後、代替ケース生成メカニズムが導入されたときに使用されます。

caseType

文字列

このプロパティには、次の値を指定できます。

case - ケースを示します。

issue - アラートを示します。

externalId

文字列

ケースの外部識別子。これは、ケース・ソースで定義された接頭辞と連番で構成されます。たとえば、接頭辞がDSANのケース・ソースの場合は、DSAN-1123になります。

externalIdSort

文字列

自然順にソート可能なバージョンのexternalId

caseKey

文字列

ケース・キー。

keyLabel

文字列

判読可能なバージョンのcaseKey

parentId

整数

親ケースの内部識別子。ルート・ケースの場合は、-1に設定されます。

supplementaryId

文字列

このキーは、updateKeyChangedをtrueに設定する必要があるかどうかをテストするために使用されます。

supplementaryType

文字列

将来の使用のために予約されています。

flagKey

文字列

このキーは、flagKeyChangedをtrueに設定する必要があるかどうかをテストするために使用されます。

description

文字列

ケースの説明。

createdBy

整数

このケースを作成したユーザーのユーザーID。

createdDateTime

日付

このケースが作成された時間のタイムスタンプ。

modifiedBy

文字列

このケースを最後に変更したユーザーのユーザーID。

modifiedDateTime

日付

このケースが最後に変更された時間のタイムスタンプ。

assignedUser

整数

このケースが現在割り当てられているユーザーのユーザーID。このケースが現在未割当ての場合、このプロパティは-1に設定されます。

assignedBy

整数

このケースを最後に割り当てたユーザーのユーザーID。このケースが現在未割当ての場合、このプロパティは-1に設定されます。

assignedDateTime

日付

このケースが最後に割り当てられた時間のタイムスタンプ。

priority

整数

ケース優先度を表す数値。有効な値は、次のとおりです。

0 = なし

250 = 低

500 = 中

750 = 高

permission

文字列

このケースを表示するために必要な権限。権限が必要ない場合、このプロパティはnullになります。

currentState

文字列

ワークフローに定義されている現在の状態の名前。

derivedState

文字列

ケースの場合は、「新規」、「処理中」または「完了」のいずれかに設定されます。アラートの場合は、nullに設定されます。

stateExpiry

日付

現在の状態が自動的に失効する時間。

stateChangeBy

整数

このケースの状態を最後に変更したユーザーのユーザーID。

stateChangeDateTime

日付

状態が最後に変更された時間。

sourceId

文字列

ケースの作成元を一意に識別するために、ケース・ジェネレータによって作成される文字列値。たとえば、照合プロセッサは、<process id>_<processor num>で表されます。

sourceName

文字列

このケースの作成に使用したソースの名前。

caseMarker

整数

このプロパティは、フラグがケースに次のように設定されているかどうかを示します。

0 - ケースにフラグは設定されていません

1 - ケースにフラグが設定されています

updatedBy

整数

ケース・マーカーを最後に設定したユーザーのユーザーID。

updatedDateTime

日付

ケース・マーカーが最後に設定された時間。

groupId

文字列

すべてのケースまたは同じ祖先に属する子ケース(あるいはその両方)の識別に使用できるソート可能な列。

groupLevel

整数

グループ内の子ケースのレベル。

customFlag1

文字列

ExtendedAttribute1の値。

customFlag1By

整数

拡張属性の値を最後に変更したユーザーのユーザーID。

customFlag1DateTime

日付

拡張属性値が最後に変更された時間。

JavaScript演算子

条件は、ブール式のtrueまたはfalseに評価される必要があります。そのため、「より小さい」や「以上」などの概念をテストする条件演算子や、AND、ORおよびNOTなどの論理演算を表す論理演算子の使用頻度が高くなります。次の各表は、JavasScriptの条件演算子と論理演算子に関するクイック・リファレンス・ガイドです。

条件演算子

次の表では、JavaScript条件演算子の概要、および変数がxで、xが5に設定されている文の各評価方法の例を示します。

表1-29 条件演算子

演算子 説明

==

次と等しい

x==8はfalseと評価されます

===

値と型の両方の構成で正確に等しい

x===5はtrueと評価されます

x==="5"はfalseと評価されます

!=

次と等しくない

x!=8はtrueと評価されます

>

次より大きい

x>5はfalseと評価されます

<

次より小さい

x<8はtrueと評価されます

>=

次以上

x>=5はtrueと評価されます

<=

次以下

x<=8はtrueと評価されます

論理演算子

次の表では、JavaScript条件演算子の概要、および変数がxとyの2つで、xが6yが3に設定されている文の各評価方法の例を示します。

表1-30 論理演算子

演算子 説明

&&

論理積(AND)。式全体がtrueになるには、両方の要素がtrueと評価される必要があります。

(x>10 && y>1)はfalseと評価されます

||

論理和(OR)。式全体がtrueになるには、いずれか(または両方)の要素がtrueと評価される必要があります。

(x==6 || y==6)はtrueと評価されます

!

論理NOT元の式がfalseの場合にtrueと評価されます(その逆も同様)。

!(x==y)はtrueと評価されます