StaticMethods - グローバル

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む5読むのに数分
  • 静的メソッドは、サーバー側の Javascript 内で使用できるメソッドですが、クラスまたは API の一部ではありません。

    これらのメソッドには、使用前にコンストラクターやその他の種類のインスタンス化を行わなくても、サーバー スクリプト内で直接アクセスできます。

    静的メソッド - updateVirtualField(GlideRecord remoteTaskGr, 文字列 virtualField, 文字列 virtualValue, 文字列 virtualDisplayValue)

    リモートタスクの使用 Service Bridge 時に、ターゲットインスタンスのタスクテーブルの仮想フィールドに値を入力します。

    仮想フィールドは、ターゲットタスクテーブルに存在するが、ソースタスクテーブルに存在しないフィールドです。このメソッドを使用して、仮想フィールドの値をソースインスタンスからターゲットインスタンスに渡します。このメソッドは、仮想フィールドの指定された値を、指定された リモートタスクのフォームセクションに JSON として格納します。このリモートタスクはターゲットインスタンスに同期され、ターゲットタスクテーブルのマッピングされたフィールドに値が格納されます。

    仮想フィールドは、リモートタスク定義で定義されます。リモートタスク定義には、ソースインスタンスとターゲットインスタンスのタスクテーブル間でフィールドをマッピングする受信および送信マッピングテーブルが含まれています。ソーステーブルにターゲットテーブルに存在するフィールドが含まれていない場合、そのフィールドはリモートタスク定義で仮想フィールドとして構成されます。コンシューマーは、変換またはこのメソッドを使用して Service Bridge 、関連するターゲットタスクレコード内のこれらの仮想フィールドの値を更新できます。

    次のセクションでは、仮想フィールドを実装し、 updateVirtualField() メソッドを使用して仮想フィールドに値を入力する方法のユースケースの例を示します。この例では、リモートタスク定義によってバインドされている 2 つのタスクテーブルは、プロバイダーケーステーブルとコンシューマーインシデントテーブルです。インシデントレコードがコンシューマーインスタンスで作成または更新されると、プロバイダーの [ケース] テーブルと同期するように構成されます。[ケース] テーブルの [影響を受けるインスタンス] フィールドは必須フィールドですが、インシデントテーブルにはありません。この状況を処理するには、[影響を受けるインスタンス] フィールドを、関連するリモートタスク定義の受信マッピングで仮想フィールドとして定義する必要があります。
    1. プロバイダーは、プロバイダーケーステーブルとコンシューマーインシデントテーブルのリモートタスク定義を作成します。
    2. リモートタスク定義の [関連リンク] の [受信フィールド] タブで、プロバイダーはインシデントテーブルとケーステーブルの間のフィールドをマッピングします。
      [影響を受けるインスタンス] フィールドを定義するときに、プロバイダーは [仮想] チェックボックスをオンにし、[ターゲットマッピング] タブの [ターゲット] フィールドから [影響を受けるインスタンス] を選択します。
      注:
      仮想フィールドを定義する場合、ソースフィールドは存在しないため定義されません。
    3. その後、プロバイダーはコンシューマーインスタンスに同期されるリモートタスク定義を公開します。
    4. コンシューマーは、インシデントテーブルのリモートタスクを作成します。仮想フィールドの情報を含む、マップされたフィールドのすべての値を保持する JSON ペイロードは、リモートタスクのフォームセクションに含まれています。
    5. コンシューマーインスタンスは、インシデントテーブルのレコードが更新されたときに実行されるビジネスルールなどで updateVirtualField() メソッドを呼び出して、リモートタスクの [影響を受けるインスタンス] フィールドの値を設定します。
      注:
      ターゲットテーブルにいつでもデータを入力できますが、リモートタスクをプロデューサーインスタンスに送信する前に、仮想フィールドとして設定された必須フィールドをリモートタスクで入力する必要があります。
    6. リモートタスクがプロバイダーインスタンスに同期され、プロバイダーインスタンスにケースレコードが作成されます。

    リモートタスク定義の作成方法については、「」を参照してください Create remote task definitions in Service Exchange for Providers

    変換の作成 Service Bridge 方法については、次を参照してください Transform data with the Service Exchange transform framework

    表 : 1. パラメーター
    名前 タイプ 説明
    remoteTaskGr GlideRecord 指定された仮想フィールド値を設定するリモートタスクの GlideRecord オブジェクト。
    仮想フィールド 文字列 関連情報を更新する仮想フィールドのフィールド名。関連付けられたリモートタスク定義の送信 フィールド 関連のタブで定義されます。
    仮想値 文字列 ターゲットインスタンスのこのフィールドに設定する値。
    仮想表示値 文字列 ターゲットインスタンスのこのフィールドに設定する表示値
    表 : 2. 返される内容
    タイプ 説明
    なし

    次の例は、このメソッドを呼び出す方法を示しています。

    var remoteTaskGr = new GlideRecord("");
    /** Remote Task table name,
    ** Table name vary based on which instance the script is being executed.
    **/
    
    remoteTaskGr.get(""); // Remote Task record sys_id
    
    global.sb.updateVirtualField(remoteTaskGr,"<virtual outbound field name>", "<value to set on target field>", "<display value to set on target field>");