sb - スコープ対象、グローバル
sb スクリプトインクルードは、サービスエクスチェンジ設定レコードに対して操作を実行できるようにするメソッドを提供します。
- 基盤データ同期 (FDS)
- リモートレコードプロデューサー (RRP)
- リモートタスク定義 (RTD)
- チェックアウト:指定された設定レコードのドラフトバージョンを作成します。公開されたバージョンは、引き続きお客様が利用可能です。
- 公開:指定された設定レコードのドラフトバージョンを公開し、顧客が使用できるようにします。
- アーカイブ:指定された設定レコードの非アクティブなバージョンをアーカイブし、顧客が利用できないようにします。
- 廃止:指定された設定レコードのすべてのバージョンを廃止し、顧客が利用できないようにします。
- 仮想フィールドを更新: サービスエクスチェンジ リモートタスクを使用する場合に、ターゲットインスタンスのタスクテーブルに仮想フィールドを入力します。
サービスエクスチェンジ設定レコードの詳細については、「Create configuration revisions」を参照してください。
この API にアクセスするには、 サービスエクスチェンジ for Providers アプリケーション (sn_sb_pro) プラグインと サービスエクスチェンジ Base (sn_sb) プラグインをインスタンスにインストールする必要があります。
この API のメソッドは、 sb スクリプトインクルードを使用して呼び出します。ただし、これらのメソッドのコードは PSBPublicAPIUtil スクリプトインクルードにあります。
sb.checkout(glideRecord);
sb.publish(glideRecord);
sb.archive(glideRecord);
sb.retire(glideRecord);global.sb.checkout(glideRecord);
global.sb.publish(glideRecord);
global.sb.archive(glideRecord);
global.sb.retire(glideRecord);sb:アーカイブ (glideRecord)
指定された GlideRecord が有効な サービスエクスチェンジ 設定レコードであることを検証し、レコードが「非アクティブ」ステータスであることを確認します。この検証に合格すると、指定された設定レコードがアーカイブされ、同じ設定レコードの他のすべてのバージョンはそのまま残されます。
構成リビジョンとそれに関連するステータスの詳細については、「 Create configuration revisions」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| glideRecord | GlideRecord | アーカイブする設定レコード。 このレコードは次のいずれかになります。
|
| タイプ | 説明 |
|---|---|
| ブーリアン | 設定レコードがアーカイブされたかどうかを示すフラグ。 可能な値:
|
次のコード例は、FDS 構成レコードのグローバルスコープからこのメソッドを呼び出す方法を示しています。
var grConfig = new GlideRecord('sn_fds_pro_offering’’'); // Configuration table that contains the desired record
grConfig.get('0ed11101ff6aca10c1befe258c4fd99e'); // Sys_id of the configuration record to publish
var isExecuted = sb.archive(grConfig);
sb:チェックアウト (glideRecord)
指定された GlideRecord が有効な サービスエクスチェンジ 設定レコードであることを検証し、レコードが「公開済み」ステータスであることを確認します。この検証に合格すると、指定された設定レコードの新しいバージョンが作成され、ステータスフィールドが「ドラフト」に設定されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| glideRecord | GlideRecord | チェックアウトする構成レコード。 このレコードは次のいずれかになります。
|
| タイプ | 説明 |
|---|---|
| GlideRecord | 成功すると、ステータスフィールドが「ドラフト」に設定された新しく作成された設定レコードが返されます。 エラーが発生した場合は null を返します。 |
次のコード例は、RTD 構成レコードのグローバルスコープからこのメソッドを呼び出す方法を示しています。
var grConfig = new GlideRecord('sn_sb_pro_remote_task_def'); // Configuration table that contains the desired record
grConfig.get('0ed11101ff6aca10c1befe258c4fd99e'); // Sys_id of the configuration record to checkout
var checkoutGr = sb.checkout(grConfig);
sb:公開 (glideRecord)
指定された GlideRecord が有効な サービスエクスチェンジ 設定レコードであることを検証し、レコードが「ドラフト」ステータスであることを確認します。この検証に合格すると、設定レコードのドラフトバージョンが公開されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| glideRecord | GlideRecord | 公開する構成レコード。 このレコードは次のいずれかになります。
|
| タイプ | 説明 |
|---|---|
| ブーリアン | 設定レコードが公開されたかどうかを示すフラグ。 可能な値:
|
次のコード例は、RRP 設定レコードのグローバルスコープからこのメソッドを呼び出す方法を示しています。
var grConfig = new GlideRecord('sn_sb_pro_remote_record_producer’'); // Configuration table that contains the desired record
grConfig.get('0ed11101ff6aca10c1befe258c4fd99e'); // Sys_id of the configuration record to publish
var isExecuted = sb.publish(grConfig);
sb:廃止 (GlideRecord)
指定された GlideRecord が有効な サービスエクスチェンジ 設定レコードであることを検証し、レコードが有効なステータスであることを確認します。この検証に合格すると、指定されたバージョンの設定レコードが、同じ設定レコードの他のすべてのリビジョンとともに廃止されます。
構成リビジョンとそれに関連するステータスの詳細については、「 Create configuration revisions」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| glideRecord | GlideRecord | 廃止する構成レコード。 このレコードは次のいずれかになります。
|
| タイプ | 説明 |
|---|---|
| ブーリアン | 設定レコードが廃止されたかどうかを示すフラグ。 可能な値:
|
次のコード例は、RTD 構成レコードのグローバルスコープからこのメソッドを呼び出す方法を示しています。
var grConfig = new GlideRecord('sn_sb_pro_remote_task_def'); // Configuration table that contains the desired record
grConfig.get('0ed11101ff6aca10c1befe258c4fd99e'); // Sys_id of the configuration record to checkout
var isExecuted = sb.retire(grConfig);
sb - updateVirtualField(GlideRecord remoteTaskGr, 文字列 virtualField, 文字列 virtualValue, 文字列 virtualDisplayValue)
サービスエクスチェンジリモートタスクを使用する場合、ターゲットインスタンスのタスクテーブルに仮想フィールドを入力します。
仮想フィールドは、ターゲットタスクテーブルには存在するが、ソースタスクテーブルには存在しないフィールドです。このメソッドを使用して、仮想フィールドの値をソースインスタンスからターゲットインスタンスに渡します。このメソッドは、仮想フィールドの指定された値を、指定された リモートタスクのフォームセクションに JSON として保存します。その後、このリモートタスクはターゲットインスタンスに同期され、ターゲットタスクテーブルのマッピングされたフィールドに値が格納されます。
仮想フィールドは、リモートタスク定義で定義されます。リモートタスク定義には、ソースインスタンスとターゲットインスタンスのタスクテーブル間でフィールドをマッピングする受信および送信マッピングテーブルが含まれています。ソーステーブルにターゲットテーブルに存在するフィールドが含まれていない場合、そのフィールドはリモートタスク定義で仮想フィールドとして構成されます。コンシューマーは、 サービスエクスチェンジ 変換またはこのメソッドのいずれかを使用して、関連するターゲットタスクレコード内のこれらの仮想フィールドの値を更新できます。
- プロバイダーは、プロバイダーの [ケース] テーブルとコンシューマーの [インシデント] テーブルのリモートタスク定義を作成します。
- プロバイダーは、リモートタスク定義の [関連リンク] の [受信フィールド] タブで、インシデントテーブルとケーステーブルの間でフィールドをマッピングします。[影響を受けるインスタンス] フィールドを定義するときに、プロバイダーは [仮想] チェックボックスをオンにし、[ターゲットマッピング] タブの [ターゲット] フィールドから [影響を受けるインスタンス] を選択します。注:仮想フィールドを定義する場合、ソースフィールドは存在しないため定義されません。
- その後、プロバイダーはリモートタスク定義を公開し、コンシューマーインスタンスに同期します。
- コンシューマーは、インシデントテーブルのリモートタスクを作成します。仮想フィールドに関する情報を含む、マッピングされたフィールドのすべての値を保持する JSON ペイロードが、リモートタスクのフォームセクションに含まれています。
- コンシューマーインスタンスは、インシデントテーブルのレコードが更新されたときに実行されるビジネスルールなどで、 updateVirtualField() メソッドを呼び出して、リモートタスクの [影響を受けるインスタンス] フィールドの値を設定します。注:ターゲットテーブルにいつでもデータを入力できますが、リモートタスクをプロデューサーインスタンスに送信する前に、仮想フィールドとして設定された必須フィールドをリモートタスクに入力する必要があります。
- リモートタスクがプロバイダーインスタンスに同期され、プロバイダーインスタンスにケースレコードが作成されます。
リモートタスク定義の作成方法については、「 Create a remote task definition in Service Exchange for Providers」を参照してください。
サービスエクスチェンジ変換の作成方法については、「Transform data with the Service Exchange transform framework」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| remoteTaskGr | GlideRecord | 指定された仮想フィールド値を設定するリモートタスクの GlideRecord オブジェクト。 |
| 仮想フィールド | 文字列 | 関連付け情報を更新する仮想フィールドのフィールド名。関連付けられたリモートタスク定義の [ 送信フィールド ] 関連タブで定義します。 |
| 仮想値 | 文字列 | ターゲットインスタンスのこのフィールドに設定する値。 |
| 仮想表示値 | 文字列 | ターゲットインスタンスのこのフィールドに設定する表示値 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、このメソッドを呼び出す方法を示しています。
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>");