IBQConfigBase API - スコープ指定
要求トラッカーが要求を追跡するために拡張する必要がある セールスと注文管理 スクリプトインクルード。このスクリプトインクルードは、要求の実行方法を定義する上書き可能なメソッドを提供します。
IBQConfigBase スクリプトインクルードをインスタンスで使用できるようにするには、Sales and Service API Core (com.sn_tmt_core) プラグインを有効にする必要があります。このスクリプトインクルードは sn_tmt_core 名前空間に属しており、admin ロールが必要です。
IBQConfigBase APIの拡張
IBQConfigBase API の上書き可能なメソッドを使用してスクリプトインクルードを定義します。
- スクリプトインクルードを作成します。名前は IBQConfig で始まる必要があります ( 例: IBQConfigQuoteToOrderFlowSNC)。
- IBQConfigBase API を拡張します。たとえば、次のようになります。
IBQConfigQuoteToOrderFlowSNC.prototype = Object.extendsObject(sn_tmt_core.IBQConfigBase, { ... }); - IBQConfigBase API によって提供される必要なメソッドを上書きします。たとえば、次のようになります。
getRunMode: function(inboundQueueParams) { return this.quoteUtil.getQuoteSize(inboundQueueParams.source_record_ids, this.threshold); }, generateParentRecord: function(inboundQueueParams, additionalParams, context) { var result = ""; var entityMappingGr = this.getMapingConfigIdFromSysId(inboundQueueParams.requested_flow); var sourceToTargetConfigID = entityMappingGr.getValue("mapping_config_id"); var sourceHeaderId = inboundQueueParams.source_record_ids; if (gs.nil(inboundQueueParams.requested_flow)) throw "sourceToTargetConfigID cannot be null"; if (gs.nil(inboundQueueParams.source_record_ids)) throw "source record id cannot be null"; var util = new sn_l2c_core.PrimitiveUtil(); if (gs.nil(additionalParams)) additionalParams = {}; additionalParams[this.SKIP_LINES_KEY] = "true"; }, processInboundQueueRequest: function(inboundQueueGR) { gs.info("processRequest inboundQueueGR " + JSON.stringify(inboundQueueGR)); var result = this.quoteUtil.createOrderFromQuoteUsingMetadata(inboundQueueGR.getValue('source_record_ids'), 'sn_l2c_quote_to_order', null, null, inboundQueueGR.getValue('record_id')); return result; } - 受信要求構成 [sn_tmt_core_inbound_queue_config] テーブルに新しいメタデータエントリを作成して、要求の処理方法を定義します。
- 作成したスクリプトインクルードをメタデータレコードの configuration_api フィールドにリンクして、要求の処理中に定義されたカスタムロジックを使用します。スクリプトインクルードは、受信要求構成メタデータの作成時に [configuration_api ] フィールドで参照されます。
ユースケース:IBQConfigQuoteToOrderFlow
var IBQConfigQuoteToOrderFlowSNC = Class.create();
IBQConfigQuoteToOrderFlowSNC.prototype = Object.extendsObject(sn_tmt_core.IBQConfigBase, {
initialize: function() {
this.quoteUtil = new sn_quote_mgmt.OrderIntegration();
this.SKIP_LINES_KEY = "skipLines";
this.threshold = 15;
},
getRunMode: function(inboundQueueParams) {
return this.quoteUtil.getQuoteSize(inboundQueueParams.source_record_ids, this.threshold);
},
generateParentRecord: function(inboundQueueParams, additionalParams, context) {
var result = "";
var entityMappingGr = this.getMapingConfigIdFromSysId(inboundQueueParams.requested_flow);
var sourceToTargetConfigID = entityMappingGr.getValue("mapping_config_id");
var sourceHeaderId = inboundQueueParams.source_record_ids;
if (gs.nil(inboundQueueParams.requested_flow))
throw "sourceToTargetConfigID cannot be null";
if (gs.nil(inboundQueueParams.source_record_ids))
throw "source record id cannot be null";
var util = new sn_l2c_core.PrimitiveUtil();
if (gs.nil(additionalParams))
additionalParams = {};
additionalParams[this.SKIP_LINES_KEY] = "true";
// additional parameters are retrieved using the PrimitiveUtil() utility methods provided by the Lead to Cash Core application
var service = util.getPrimitivesEPService(sourceToTargetConfigID, context);
var isEmpty = false;
if (service) {
var createInstanceOutput = service.createInstance(sourceHeaderId, null, false, additionalParams);
if (gs.nil(sourceHeaderId))
isEmpty = this.__isEmpty(createInstanceOutput.lineItems);
else
isEmpty = this.__isEmpty(createInstanceOutput);
if (!isEmpty) {
var effectOutput = service.effect(createInstanceOutput, null, additionalParams);
if (!this.__isEmpty(effectOutput)) {
var commitOutput = service.commitInstance(effectOutput, additionalParams);
return commitOutput;
}
}
}
return result;
},
processInboundQueueRequest: function(inboundQueueGR) {
gs.info("processRequest inboundQueueGR " + JSON.stringify(inboundQueueGR));
var result = this.quoteUtil.createOrderFromQuoteUsingMetadata(inboundQueueGR.getValue('source_record_ids'), 'sn_l2c_quote_to_order', null, null, inboundQueueGR.getValue('record_id'));
return result;
},
__isEmpty: function(sourceObj) {
if (gs.nil(sourceObj))
return true;
return Object.keys(sourceObj).length === 0;
},
getMapingConfigIdFromSysId(requestedFlow) {
var gr = new GlideRecord("sn_l2c_core_entity_mapping");
gr.addQuery("sys_id", requestedFlow);
gr.query();
if (gr.next()) {
gs.info("mapping id received to corresponding requestedFlow");
return gr;
}
},
type: 'IBQConfigQuoteToOrderFlowSNC'
});IBQConfigBase – generateParentRecord(オブジェクト ibqParams)
要求を処理する前に、受信要求 [sn_tmt_core_inbound_queue_list] レコードのrecord_idに追加される親レコードを作成します。
処理前に 親レコード を作成することは、非同期処理に最適であり、処理中に実行できるアクティビティをスクリプトインクルードに追加できます。たとえば、画面にメッセージを表示するなどです。
| 名前 | タイプ | 説明 |
|---|---|---|
| ibqParams | オブジェクト | 作成する受信要求レコードの詳細を含む JSON オブジェクト。 |
| アカウント | 文字列 | オプション。レコードに関連付けられたアカウントに関する情報。 テーブル:アカウント [customer_account] |
| consumer | 文字列 | オプション。レコードに関連付けられたコンシューマーに関する情報。 テーブル:コンシューマー [csm_consumer] |
| 連絡先 | 文字列 | オプション。レコードに関連付けられた連絡先に関する情報。 テーブル:連絡先 [customer_contact] |
| ペイロード | オブジェクト | オプション。PrimitiveUtil() API を使用して要求を処理するために必要な JSON オブジェクト。使用方法については、「 LeadToCashCore」を参照してください。 |
| payload.additionalParams | オブジェクト | オプション。使用する追加パラメーター。 |
| payload.additionalParams.action | 文字列 | オプション。実行する宣言アクションのタイプを指定します。詳細については、「Customer Life Cycle Management Workflows」を参照してください。 可能な値:
|
| payload.additionalParams.actionReason | 文字列 | オプション。宣言アクションを使用するフローで使用されるプロパティ。アクションの理由。 |
| payload.additionalParams.endDate | 文字列 | オプション。宣言アクションを使用してフローを実行するために必要な終了日。 形式:yyyy-MM-dd HH:mm:ss |
| payload.additionalParams.skipLines | ブール | オプション。指定されたエンティティの品目をフェッチするかどうかを示すフラグ。 有効な値:
|
| payload.additionalParams.startDate | 文字列 | オプション。宣言アクションを使用してフローを実行する開始日。 形式:yyyy-MM-dd HH:mm:ss |
| payload.context | オブジェクト | オプション。属性値を表示し、一度に複数のインスタンスを呼び出すための追加パラメーターオプション。 |
| payload.context.isMultiSelect | ブール | オプション。インスタンスを作成するために複数のエンティティを入力として渡すかどうかを示すフラグ。 有効な値:
|
| payload.context.sourceToTargetConfigID | 文字列 | オプション。ソースからターゲットへのマッピングのマッピング構成 ID。 テーブル:「Lead-to-Cash」エンティティマッピング [sn_l2c_core_entity_mapping] |
| payload.inputParams | オブジェクト | オプション。このオブジェクトは、特定のフローの使用方法を呼び出すために必要な入力パラメーターのプレースホルダーです。 |
| payload.source | アレイ | オプション。データを取得するソースエンティティの詳細を含む JSON オブジェクト。 |
| payload.source.headerId | 文字列 | オプション。データを取得するソースエンティティのヘッダー sys_id。
|
| payload.source.lineIds | アレイ | オプション。エンティティデータを取得するエンティティのソース品目sys_idを含むアレイ。 ヘッダー ID を指定しない場合、およびエンティティ構造が販売済み製品などの品目で始まる場合は必須です。 |
| payload.target | アレイ | オプション。ターゲットエンティティの詳細を含む JSON オブジェクト。 |
| payload.target.headerId | 文字列 | オプション。データを取得するターゲットエンティティのヘッダー sys_id。lineIdsパラメーターを指定しない場合に必要です。ヘッダー sys_idsを渡さない場合は、null を渡します。 |
| payload.target.lineIds | アレイ | オプション。エンティティデータを取得するエンティティのターゲット品目sys_idを含むアレイ。ヘッダー ID を指定しない場合や、エンティティ構造が販売済み製品などの品目で始まる場合は必須です。 |
| record_id | 文字列 | オプション。ターゲットレコードのSys_id (既に存在する場合)。 |
| requested_flow | 文字列 | オプション。ソースからターゲットへのマッピングのマッピング構成 ID。このプロパティは、 Entity configuration and mappingを使用するフローに必要です。 テーブル:「Lead-to-Cash」エンティティマッピング [sn_l2c_core_entity_mapping] |
| source_record_ids | アレイ | ソースレコードのsys_idsを含むアレイ。 |
| source_table | 文字列 | フローのソースレコードを含むテーブルの名前。 |
| table | 文字列 | フローのターゲットレコードを含むテーブルの名前。 |
| タイプ | 説明 |
|---|---|
| JSON オブジェクト | 作成されたターゲットレコードのヘッダー ID を含む JSON オブジェクト。
|
| ヘッダー ID | 作成されたターゲットレコードのヘッダーのSys_id。この値はrecord_id受信要求レコードの作成時にフィールドに入力するために使用されます。 |
var ibqParams = {
"source_record_ids": "f83e29574df02210f877142d1adc9531",
"requested_flow": "0feb6d9da36271105c24939ef31e61dc",
"initiated_by": "admin",
"source_table": "sn_quote_mgmt_core_quote",
"table": "sn_ind_tmt_orm_order",
"payload": {}
};
var service = new sn_quote_mgmt.IBQConfigQuoteToOrderFlow();
var parentRecord = service.generateParentRecord(ibqParams);
gs.info("Parent record = "+JSON.stringify(parentRecord));
Parent record = {"headerID":"d11bd507dc6c6a10f877720033b5d0b9", ...} IBQConfigBase - getRunMode(オブジェクト ibqParams)
フローを同期モードと非同期モードのどちらで実行するかを決定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ibqParams | オブジェクト | 作成する受信要求レコードの詳細を含む JSON オブジェクト。 |
| アカウント | 文字列 | オプション。レコードに関連付けられたアカウントに関する情報。 テーブル:アカウント [customer_account] |
| consumer | 文字列 | オプション。レコードに関連付けられたコンシューマーに関する情報。 テーブル:コンシューマー [csm_consumer] |
| 連絡先 | 文字列 | オプション。レコードに関連付けられた連絡先に関する情報。 テーブル:連絡先 [customer_contact] |
| ペイロード | オブジェクト | オプション。PrimitiveUtil() API を使用して要求を処理するために必要な JSON オブジェクト。使用方法については、「 LeadToCashCore」を参照してください。 |
| payload.additionalParams | オブジェクト | オプション。使用する追加パラメーター。 |
| payload.additionalParams.action | 文字列 | オプション。実行する宣言アクションのタイプを指定します。詳細については、「Customer Life Cycle Management Workflows」を参照してください。 可能な値:
|
| payload.additionalParams.actionReason | 文字列 | オプション。宣言アクションを使用するフローで使用されるプロパティ。アクションの理由。 |
| payload.additionalParams.endDate | 文字列 | オプション。宣言アクションを使用してフローを実行するために必要な終了日。 形式:yyyy-MM-dd HH:mm:ss |
| payload.additionalParams.skipLines | ブール | オプション。指定されたエンティティの品目をフェッチするかどうかを示すフラグ。 有効な値:
|
| payload.additionalParams.startDate | 文字列 | オプション。宣言アクションを使用してフローを実行する開始日。 形式:yyyy-MM-dd HH:mm:ss |
| payload.context | オブジェクト | オプション。属性値を表示し、一度に複数のインスタンスを呼び出すための追加パラメーターオプション。 |
| payload.context.isMultiSelect | ブール | オプション。インスタンスを作成するために複数のエンティティを入力として渡すかどうかを示すフラグ。 有効な値:
|
| payload.context.sourceToTargetConfigID | 文字列 | オプション。ソースからターゲットへのマッピングのマッピング構成 ID。 テーブル:「Lead-to-Cash」エンティティマッピング [sn_l2c_core_entity_mapping] |
| payload.inputParams | オブジェクト | オプション。このオブジェクトは、特定のフローの使用方法を呼び出すために必要な入力パラメーターのプレースホルダーです。 |
| payload.source | アレイ | オプション。データを取得するソースエンティティの詳細を含む JSON オブジェクト。 |
| payload.source.headerId | 文字列 | オプション。データを取得するソースエンティティのヘッダー sys_id。
|
| payload.source.lineIds | アレイ | オプション。エンティティデータを取得するエンティティのソース品目sys_idを含むアレイ。 ヘッダー ID を指定しない場合、およびエンティティ構造が販売済み製品などの品目で始まる場合は必須です。 |
| payload.target | アレイ | オプション。ターゲットエンティティの詳細を含む JSON オブジェクト。 |
| payload.target.headerId | 文字列 | オプション。データを取得するターゲットエンティティのヘッダー sys_id。lineIdsパラメーターを指定しない場合に必要です。ヘッダー sys_idsを渡さない場合は、null を渡します。 |
| payload.target.lineIds | アレイ | オプション。エンティティデータを取得するエンティティのターゲット品目sys_idを含むアレイ。ヘッダー ID を指定しない場合や、エンティティ構造が販売済み製品などの品目で始まる場合は必須です。 |
| record_id | 文字列 | オプション。ターゲットレコードのSys_id (既に存在する場合)。 |
| requested_flow | 文字列 | オプション。ソースからターゲットへのマッピングのマッピング構成 ID。このプロパティは、 Entity configuration and mappingを使用するフローに必要です。 テーブル:「Lead-to-Cash」エンティティマッピング [sn_l2c_core_entity_mapping] |
| source_record_ids | アレイ | ソースレコードのsys_idsを含むアレイ。 |
| source_table | 文字列 | フローのソースレコードを含むテーブルの名前。 |
| table | 文字列 | フローのターゲットレコードを含むテーブルの名前。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 要求の実行に使用される実行モードに関する情報。 可能な値:
|
runMode非同期になります。var ibqParams = {
"source_record_ids": "04ba9004f11f3110f8777d7194f166f6",
"requested_flow": "0feb6d9da36271105c24939ef31e61dc",
"initiated_by": "admin",
"source_table": "sn_quote_mgmt_core_quote",
"table": "sn_ind_tmt_orm_order",
"payload": {}
};
var service = new sn_quote_mgmt.IBQConfigQouteToOrderFlow();
var runMode = service.getRunMode(ibqParams);
gs.info("RunMode = "+JSON.stringify(runMode));
RunMode = "async"var ibqParams = {
"source_record_ids": "0b0f5cc8f11f3110f8777d7194f16610",
"requested_flow": "0feb6d9da36271105c24939ef31e61dc",
"initiated_by": "admin",
"source_table": "sn_quote_mgmt_core_quote",
"table": "sn_ind_tmt_orm_order",
"payload": {}
};
var service = new sn_quote_mgmt.IBQConfigQouteToOrderFlow();
var runMode = service.getRunMode(ibqParams);
gs.info("RunMode = "+JSON.stringify(runMode));
RunMode = "sync"IBQConfigBase – processInboundQueueRequest(GlideRecord ibqGr)
受信要求レコードを処理するためのロジックを定義します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ibqGr | GlideRecord | フローをトリガーした受信要求レコードへの GlideRecord 参照。 テーブル:インバウンド要求 [sn_tmt_core_inbound_queue] |
| タイプ | 説明 |
|---|---|
| オブジェクト | 受信要求レコードの処理の詳細を含む JSON オブジェクト。 |
| エラー | 要求の処理中に発生したエラーを示す値。 データタイプ:文字列 |
| 応答 | 受信要求レコードの処理の応答を含む JSON オブジェクト。Lead to Cash Core PrimitiveUtil API によって作成されたフローの場合、この出力は commitInstance() メソッドを使用して提供できます。 データタイプ: オブジェクト |
| ステータス | 要求処理のステータスを示す値。 可能な値:
データタイプ:文字列 |
| ターゲット | オプション。UI 確認などの追加処理に使用するターゲットレコードのSys_id。ターゲットは、フロー中に作成することも、要件に応じて generateParentRecord() メソッドのibqParamsに入力として渡すこともできます。 データタイプ:文字列 |
var gr = new GlideRecord('sn_tmt_core_inbound_queue');
gr.get('c48ea9974df02210f877142d1adc951a');
var service = new sn_quote_mgmt.IBQConfigQuoteToOrderFlow();
var processRequest = service.processInboundQueueRequest(gr);
gs.info("processRequest = "+JSON.stringify(processRequest));
processRequest = {
"response": {
"status": "success",
"error": "",
"message": "Commit operation successfully processed.",
"displayMessage": "Commit operation successfully processed.",
"dataObject": {
"sys_id": "a6f4568bdce0aa10f877720033b5d069",
"table": "sn_ind_tmt_orm_order",
"attributes": {
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
},
"quote": {
"value": "c8841a4bdce0aa10f877720033b5d0f8"
}
},
"_glide_action": "UPDATE",
"_source_object": {
"sys_id": "c8841a4bdce0aa10f877720033b5d0f8",
"table": "sn_quote_mgmt_core_quote"
},
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"short_description": {
"value": "Home Automation Bundle"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "afc4528bdce0aa10f877720033b5d0d0",
"table": "sn_quote_mgmt_core_quote_line_item"
},
"characteristics": [],
"lineItems": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_order_line_item",
"attributes": {
"short_description": {
"value": "Door Sensor"
},
"account": {
"value": "9e2fd2ee11b43110f877366201dea674"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "77c4528bdce0aa10f877720033b5d0d5",
"table": "sn_quote_mgmt_core_quote_line_item"
},
"characteristics": [],
"lineItems": [],
"pricingAdjustments": [
{
"sys_id": "-1",
"table": "sn_ind_tmt_orm_pricing_adjustment",
"attributes": {
"name": {
"value": "door sensor bundle discount"
}
},
"_glide_action": "INSERT",
"_source_object": {
"sys_id": "f3c4928bdce0aa10f877720033b5d02f",
"table": "sn_quote_mgmt_core_pricing_adjustment"
},
"_commitObjectInfo": {
"sys_id": "e6955acbdce0aa10f877720033b5d082",
"status": "success"
}
}
],
"coveredProducts": [],
"attributeAdjustment": [],
"_commitObjectInfo": {
"sys_id": "26955acbdce0aa10f877720033b5d07d",
"status": "success"
}
}
],
"pricingAdjustments": [],
"coveredProducts": [],
"attributeAdjustment": [],
"_commitObjectInfo": {
"sys_id": "22955acbdce0aa10f877720033b5d078",
"status": "success"
}
}
],
"_commitObjectInfo": {
"status": "success"
}
},
"headerID": "a6f4568bdce0aa10f877720033b5d069",
"rootLineIDs": [
"22955acbdce0aa10f877720033b5d078"
]
},
"status": "success",
"error": "",
"target": "a6f4568bdce0aa10f877720033b5d069"
}IBQConfigBase – setExecuteAfterRequest(オブジェクト ibqParams)
現在の受信要求レコードの execute_after 値を設定し、 状況 を [処理待ち] に更新して、受信要求テーブルでレコードが処理される順序を設定します。
setExecuteAfterRequest() メソッドをオーバーライドして、他のパラメーターからexecute_after値を導出できます。デフォルトでは、このメソッドは受信要求 [sn_tmt_core_inbound_queue] テーブルを照会して、一致する source_record_ids、 record_id、および resource 値を持つ最新のレコードを検索します。次に、このメソッドは、現在のレコードの execute_after フィールドをクエリしたレコードのsys_idで更新し、クエリしたレコードの後に処理する現在のレコードをマークします。その結果、 setExecuteAfterRequest() はレコードが処理される順序を確立します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ibqParams | オブジェクト | 設定する受信要求レコードの詳細を含む JSON オブジェクト。これらのパラメーターには、現在のレコードの前に処理するレコードsys_idと、受信要求 [sn_tmt_core_inbound_queue] テーブルでフィルタリングするワークフロー名が含まれます。 |
| アカウント | 文字列 | オプション。レコードに関連付けられたアカウントに関する情報。 テーブル:アカウント [customer_account] |
| consumer | 文字列 | オプション。レコードに関連付けられたコンシューマーに関する情報。 テーブル:コンシューマー [csm_consumer] |
| 連絡先 | 文字列 | オプション。レコードに関連付けられた連絡先に関する情報。 テーブル:連絡先 [customer_contact] |
| ibqParams.execute_after | 文字列 | オプション。現在の要求の前に処理する受信要求のSys_id。 テーブル:インバウンド要求 [sn_tmt_core_inbound_queue] |
| ペイロード | オブジェクト | オプション。PrimitiveUtil() API を使用して要求を処理するために必要な JSON オブジェクト。使用方法については、「 LeadToCashCore」を参照してください。 |
| payload.additionalParams | オブジェクト | オプション。使用する追加パラメーター。 |
| payload.additionalParams.action | 文字列 | オプション。実行する宣言アクションのタイプを指定します。詳細については、「Customer Life Cycle Management Workflows」を参照してください。 可能な値:
|
| payload.additionalParams.actionReason | 文字列 | オプション。宣言アクションを使用するフローで使用されるプロパティ。アクションの理由。 |
| payload.additionalParams.endDate | 文字列 | オプション。宣言アクションを使用してフローを実行するために必要な終了日。 形式:yyyy-MM-dd HH:mm:ss |
| payload.additionalParams.skipLines | ブール | オプション。指定されたエンティティの品目をフェッチするかどうかを示すフラグ。 有効な値:
|
| payload.additionalParams.startDate | 文字列 | オプション。宣言アクションを使用してフローを実行する開始日。 形式:yyyy-MM-dd HH:mm:ss |
| payload.context | オブジェクト | オプション。属性値を表示し、一度に複数のインスタンスを呼び出すための追加パラメーターオプション。 |
| payload.context.isMultiSelect | ブール | オプション。インスタンスを作成するために複数のエンティティを入力として渡すかどうかを示すフラグ。 有効な値:
|
| payload.context.sourceToTargetConfigID | 文字列 | オプション。ソースからターゲットへのマッピングのマッピング構成 ID。 テーブル:「Lead-to-Cash」エンティティマッピング [sn_l2c_core_entity_mapping] |
| payload.inputParams | オブジェクト | オプション。このオブジェクトは、特定のフローの使用方法を呼び出すために必要な入力パラメーターのプレースホルダーです。 |
| payload.source | アレイ | オプション。データを取得するソースエンティティの詳細を含む JSON オブジェクト。 |
| payload.source.headerId | 文字列 | オプション。データを取得するソースエンティティのヘッダー sys_id。
|
| payload.source.lineIds | アレイ | オプション。エンティティデータを取得するエンティティのソース品目sys_idを含むアレイ。 ヘッダー ID を指定しない場合、およびエンティティ構造が販売済み製品などの品目で始まる場合は必須です。 |
| payload.target | アレイ | オプション。ターゲットエンティティの詳細を含む JSON オブジェクト。 |
| payload.target.headerId | 文字列 | オプション。データを取得するターゲットエンティティのヘッダー sys_id。lineIdsパラメーターを指定しない場合に必要です。ヘッダー sys_idsを渡さない場合は、null を渡します。 |
| payload.target.lineIds | アレイ | オプション。エンティティデータを取得するエンティティのターゲット品目sys_idを含むアレイ。ヘッダー ID を指定しない場合や、エンティティ構造が販売済み製品などの品目で始まる場合は必須です。 |
| record_id | 文字列 | オプション。ターゲットレコードのSys_id (既に存在する場合)。 |
| requested_flow | 文字列 | オプション。ソースからターゲットへのマッピングのマッピング構成 ID。このプロパティは、 Entity configuration and mappingを使用するフローに必要です。 テーブル:「Lead-to-Cash」エンティティマッピング [sn_l2c_core_entity_mapping] |
| ibqParams.resource | 文字列 | 受信要求テーブルにレコードを作成するフローの名前 (見積もりや注文など)。この値は、同じタイプの依存レコードを検索し、レコード処理の順序を決定するために使用されます。 |
| source_record_ids | アレイ | ソースレコードのsys_idsを含むアレイ。 |
| source_table | 文字列 | フローのソースレコードを含むテーブルの名前。 |
| table | 文字列 | フローのターゲットレコードを含むテーブルの名前。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例では、スクリプトは受信要求 [sn_tmt_core_inbound_queue] テーブルを照会して、一致するsource_record_ids、record_id、およびリソース値を持つ最新のレコードを検索します。次に、 スクリプトは setExecuteAfterRequest() メソッドを呼び出して、フェッチされたレコードのsys_idで現在のレコードのexecute_after値を更新し、そのステータスを処理待ちに設定します。その結果、現在のレコードは [execute_after] フィールドで指定されたレコードの後に実行されます。
var ibqParams = {
"source_record_ids": "e32e29fd28d26a14f8775b8f954723b8",
"record_id":"b9be293128166a14f8775b8f9547239f",
"requested_flow": "0feb6d9da36271105c24939ef31e61dc",
"initiated_by": "admin",
"source_table": "sn_quote_mgmt_core_quote",
"table": "sn_ind_tmt_orm_order",
"payload": {
"context": {}},
"resource": "quote_to_order"
};
new sn_tmt_core.IBQConfigBase().setExecuteAfterRequest(ibqParams);
このメソッドは出力を返しません。