機械翻訳について

フィルタ式の構文

「イベント・フィルタ選択」ページで無効なフィルタ式が指定されている場合は、統合をアクティブ化しようとするとエラー・メッセージが表示されます。 統合をアクティブ化するには、フィルタ式を修正する必要があります。

イベント・フィルタ式の構文ガイドラインに注意してください:

  • フィルタ式は、単一の文字列として指定する必要があります。
  • フィルタ式はブール式として評価される必要があります。
  • フィルタ式には1つ以上の比較文が含まれている必要があります。
  • 比較文は、次の順序で指定する必要があります:
    field operator value

    たとえば:

    activityDetails.activityType == 'Install'

    別の順序の指定は許可されていません。

    • フィールドとフィールドの比較(A == B)または値の比較(1 == 1)は無効です。
    • フィールドは、空白または特殊文字(アンダースコアを除く)のない英数字の識別子である必要があります。 サブフィールドはドット(.)で区切られます。 たとえば:
      • activityDetails.activityType
      • activityDetails.X_MYPROP_10
      • field.subField
    • サポートされる比較演算子は、次のとおりです:
      • <
      • >
      • <=
      • >=
      • ==
      • !=
      • in
    • 値には、文字列リテラル、整数リテラル、文字列リテラルおよび整数の配列リテラルを指定できます。
      • 文字列リテラルは、エスケープ文字(~)で一重引用符で区切られます。 たとえば:
        • str == 'My String'
        • str == 'My string with ~' a quote inside'
      • 整数リテラルは引用符なしで指定し、ドットを含めることはできず、先行するゼロを含めることはできません。
        • num == 0
        • num == 12345
        • num == -67/li>
      • 配列リテラルは文字列または整数のみを含み、大カッコで囲まれている必要があります。 空の配列は許可されていません。 配列はin演算子の後でのみ使用できます。
        • enum in [1,2,3]
        • enum in ['Abc','Def','Ghi']
    • 文字列比較は有効です:
      • date > '2015-06-02'
    • 文字列比較は、すべて大文字と小文字を区別しません:
      • name == 'john.smith'
      • name == 'JOHN.SMITH'
    • 文字列-整数の組合せが発生します:
      • num == -123
      • num == '-123'
  • 複数の比較文を、論理and/or演算子で区切る必要があります。
    • A == 1 and B == 2 or C == 3
    • A == 'xx' or A == 'yy'
  • 演算子の優先順位は次のとおりです:
    • 比較演算子: ==, !=, <, >, <=, >=, in
    • 'not'
    • 'and', 'or'
  • 論理演算子(and/ or)の優先順位は同じです。 そのため、カッコを使用して優先順位を達成します:
    • A == 1 and (B == 2 or C == 3)
  • 演算子では、大/小文字も区別されません:
    • (num IN [1,2,3]) OR (num < 0)
  • 任意の文には、それを否定するためにnot演算子を付けることができます。
    • not (activityType in ['IN','TC','BR'])
    • A == 1 and not ( B == 2 or B == 3 )
  • 文字列の外部にある空白は無視されます。
  • 比較対象のフィールドがイベントに存在しないかnullの場合は、空の文字列として評価されます。 たとえば、式(non_existent_field == '')(null_field == '')はどちらもtrueです。

アクティビティ・イベント・フィールド

アクティビティ・イベントには次のフィールドが含まれています:

  • eventType: イベントのタイプ(activityCreatedactivityUpdatedなど)。
  • applicationId: イベントを生成した操作を実行したアプリケーションのID。 これは、アプリケーションによって操作が実行された場合にのみ存在します。
  • time: UTC時間標準(文字列)におけるイベントの時間。 時間書式はYYYY-MM-DD HH:MM:SSです。
  • user: このイベントを実行したユーザー(文字列)。
  • activityDetails : 次のアクティビティ関連のキー・フィールドを含むレコードです:
    • activityId: アクティビティ(整数)の識別子。 これは必須フィールドです。
    • resourceId: アクティビティが割り当てられるリソースの識別子(文字列)。 これは必須フィールドです。 このフィールドは、external_idフィールドにマップします。
    • date: アクティビティがスケジュールされた日付(書式: YYYY-MM-DD)。 アクティビティがスケジュールされていない場合、値はNULLになります。
    • apptNumber: このフィールドは、アクティビティの外部IDを保持するために統合によって使用されます。 外部IDは、元システムのアクティビティの識別子です。 これはオプションのフィールドです。
    • customerNumber: このフィールドは、アカウントの外部IDを保持するために統合によって使用されます。 外部IDは、元システムのアカウントの識別子です。 これはオプションのフィールドです。
  • activityChanges: イベントで変更されたリソース・フィールドのリスト。 フィールドには、いくつかの例外を除いてGET、POSTおよびPATCH操作で使用されるものと同じタイプと値があります。 時間フィールドはUTCです。

アクティビティ・イベント・フィルタ式の例

(activityDetails.activityType in ['IN','TC','BR']) AND (user != 'my_integ') 
AND (activityDetails.customerName != '')

イベント・フィールド

インベントリ・イベントには次のフィールドが含まれます:

  • eventType: イベントのタイプ。たとえば、customerInventoryUpdatedcustomerInventoryDeletedresourceInventoryCreatedなど。
  • applicationId: イベントを生成した操作を実行したアプリケーションのID。 これは、アプリケーションによって操作が実行された場合にのみ存在します。
  • time: UTC時間標準(文字列)におけるイベントの時間。 時間書式はYYYY-MM-DD HH:MM:SSです。
  • user: このイベントを実行したユーザー(文字列)。
  • activityDetails : 次のアクティビティ関連のキー・フィールドを含むレコードです:
    • activityId: アクティビティ(整数)の識別子。 これは必須フィールドです。
    • resourceId: アクティビティが割り当てられるリソースの識別子(文字列)。 これは必須フィールドです。 このフィールドは、external_idフィールドにマップします。
    • date: アクティビティがスケジュールされた日付(書式: YYYY-MM-DD)。 アクティビティがスケジュールされていない場合、値はNULLになります。
    • apptNumber: このフィールドは、アクティビティの外部IDを保持するために統合によって使用されます。 外部IDは、元システムのアクティビティの識別子です。 これはオプションのフィールドです。
    • customerNumber: このフィールドは、アカウントの外部IDを保持するために統合によって使用されます。 外部IDは、元システムのアカウントの識別子です。 これはオプションのフィールドです。
  • inventoryDetails : 次の在庫関連キー・フィールドを含むレコードです:
    • inventoryId: 在庫(整数)の識別子。 これは必須フィールドです。
    • inventoryType: フィールド・サービス管理インタフェースの「構成」>「インベントリ」タイプ・ページで定義された在庫タイプの1つ。
    • status: 顧客、リソース、取付け済、取外し済などのステータス。
  • inventoryChanges : 次の在庫変更済フィールドを含むレコードです:
    • inventoryId
    • status
    • inventoryType
    • serialNumber
    • quantity
    • exchangedInventoryId
    • resourceId
    • activityId
    • ファイル・プロパティを除く、インベントリのすべてのカスタム・プロパティ。
  • exchanged: この値は、在庫が交換工程の一部として作成されるときのtrueです。 eventTypeは、inventoryInstalledまたはinventoryDeinstalledです。 値がfalseの場合、フィールドは空です。

インベントリ・イベント・フィルタ式の例

(activityDetails.activityType in ['IN','TC','BR']) AND (user != 'my_integ') AND (activityDetails.customerName != '') 
AND (inventoryDetails.inventoryId == 1000)