| # トリガー条件の構成 (datrg1110m000) セッションの目的: 1 つまたは複数のトリガー条件を入力します。 論理演算子 ｢And (および)｣ や論理演算子 ｢Or (または)｣ により結合される複数の別個の条件を定義できます。詳細については、オンラインフィールドヘルプを参照してください。トリガーに定義された条件は、最上位レベルの構成要素のみチェックします。このセッションはモーダルダイアログです。このセッションを終了し、トリガー (datrg1100m000) セッションに戻ると、処理の設定が変更されている場合はトリガープログラムが自動的に再生成されます。 例 次の例は、3 つのトリガーの設定を示しています。 トリガー:
トリガー | 説明 | プログラムのパス | 条件テンプレート
Quotation | ERP で新しい見積が作成された | e:\Trigger\Objects | ダイアログ
customer | 顧客が無効になった | e:\Trigger\Objects | ダイアログ
Order | オーダ状況が変わった | e:\Trigger\Objects | ダイアログ
｢quotation｣ トリガーの条件:
順序 番号 | And / Or | タイプ | 構成要素 | 属性 | 演算子 | 値 | 成立
10 |  | クラス |  |  | = | Quotation |
20 | And | イベント |  |  | = | Create |
30 | And | 属性 | Quotation | Status | = | Entered | No
同じトリガーで複数の異なるクラスのイベントを受信できる場合に限り、クラスに対する条件が必要であることに注意してください。 ｢customer｣ トリガーの条件:
順序 番号 | And / Or | タイプ | 構成要素 | 属性 | 演算子 | 値 | 成立
10 |  | 属性 | customer | Status | <> | Active | Yes
20 | Or | イベント |  |  | = | Delete | No
30 | And | 属性 | customer | Status | = | Active | No
｢order｣ トリガーの条件:
順序 番号 | And / Or | タイプ | 構成要素 | 属性 | 演算子 | 値 | 成立
10 |  | 属性 | Order | Status | Changed |  |
関連トピック トリガー 順序番号 次の順序を示す番号 条件を評価する順序 条件を表示する順序 2 つの条件に同じ順序番号が付いている場合、評価順序はユーザがそれらの条件を入力または保存した順序になります。 And/Or ある条件と前の条件をどのように関係付けるかを示すブール演算子 ｢Or｣ (いずれかの条件が一致すれば、トリガー条件全体に一致する) ｢And｣ (すべての条件が一致すれば、トリガー条件全体に一致する) このフィールドは、最初の条件には使用されません。条件を定義する際に、かっこ () は使用できないことに注意してください。次のような条件があるとします。 `eventtype is 'create' and (status = 2 or status = 3)` この条件は次のように定義する必要があります。 `eventtype is 'create' and status = 2 or event type = 'create' and status = 3.` 条件タイプ 条件により、イベントタイプ、クラス、または属性値のいずれかをチェックできます。したがって、条件タイプは次のいずれかになります。 属性値 イベントタイプ クラス ｢属性値｣ 以外の値を選択すると、属性は無関係となり入力できなくなります。 複数のクラスまたはイベントタイプのイベントに対して同じトリガーを呼び出す場合に限り、クラスまたはイベントタイプに対する条件が必要になります。 属性 チェックする属性の名前 演算子 クラス、イベントタイプ、または属性に使用する比較演算子。使用可能な演算子は次のとおりです。 等しい (=) 等しくない (<>) より小さい (<) より小さいか等しい (<=) より大きい (>) より大きいか等しい (>=) 変更。この演算子を使用して、属性値が前回の値と異なるかどうかをテストできます。 ｢変更｣ 演算子に関する注意 ｢create｣ または ｢delete｣ イベントの場合、すべての属性が ｢変更｣ になります。ただし、｢change｣ イベントの場合は、属性により ｢変更｣ になるものと、ならないものがあります。 条件タイプが ｢属性値｣ の場合のみ、｢変更｣ 演算子を選択できます。 ｢変更｣ 演算子を選択した場合は、属性値を入力できません。 値 チェックする必要のある値。条件タイプが ｢イベントタイプ｣ である場合、値は ｢create｣、｢change｣、｢delete｣、またはトリガーに入力できる別のイベントタイプにします。 条件タイプが ｢クラス｣ である場合、値はトリガーで使用できるクラスにします。 その他の場合、値はチェックする属性値となります。 データ型 条件に使用する属性のタイプ チェックする属性に数値 (小数の有無に関係なく) が含まれる場合、｢数字｣ を入力します。 チェックする属性に文字列が含まれる場合、｢文字列｣ を入力します。 注 条件タイプが ｢属性値｣ で演算子が ｢変更｣ 以外の場合に限り、このフィールドを編集できます。それ以外の場合は、データ型は関係ありません。 数字と文字列に関する注意 次の例は、数字と文字列の扱い方の違いを示しています。 文字列値に対する条件: myAttribute の値が "hello" である場合、条件 myAttribute = "0" には一致しません。 myAttribute の値が "" である場合、条件 myAttribute = "0" には一致しません。 myAttribute の値が "1234" である場合、条件 myAttribute = " 1234" には一致しません。 myAttribute の値が "456" である場合、条件 myAttribute > "12345" に一致します。 数値に対する同一の条件: myAttribute の値が "hello" である場合、条件 myAttribute = "0" に一致します ("hello" の ｢値｣ が 0 であるため)。 myAttribute の値が "" である場合、条件 myAttribute = "0" に一致します。 myAttribute の値が "1234" である場合、条件 myAttribute = " 1234" に一致します (両方の値が等しいため)。 myAttribute の値が "456" である場合、条件 myAttribute > "12345" に一致しません (456 は 12345 未満であるため)。 文字列の場合、｢値｣ フィールド内の先頭の空白文字は考慮されますが、末尾の空白文字は無視されます。したがって、条件 myAttribute = " 1234 " は、myAttribute = " 1234" とみなされます。 特定のデータ型に関する注意 列挙記述は文字列、列挙値は数字です。 日付と時間数は数字、フォーマット化された日付は文字列です。たとえば、日付フォーマットが DDMMYYYY の場合、｢<｣、｢<=｣、｢>｣、または ｢>=｣ を使用する比較条件は意味を成しません。その場合は別の日付フォーマット (YYYYMMDD など) を使用するか、添付スクリプトに条件のプログラムを作成します。 小数のある数字には、小数記号として ｢.｣ を使用します。 指数フォーマットの数字は、数字として処理されます。 テキスト番号は数字です。 複雑なデータ型 (テキストコンテンツを含む XML サブツリーなど) は、条件では処理できません。 成立 このフィールドは、条件に一致するときを示します。 成立 = No: 古い属性値と新しい属性値のいずれかが条件に一致すれば、条件に一致します。 成立 = Yes: 古い値が条件に一致せず新しい値が一致する場合のみ、条件に一致します。 詳細は、｢成立｣ 設定を参照してください。 |