---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# IBQConfigBase API - スコープ指定

# IBQConfigBase API - スコープ指定 {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：41分

要求トラッカーが要求を追跡するために拡張する必要がある セールスカスタマーリレーションシップマネジメント スクリプトインクルード。このスクリプトインクルードは、要求の実行方法を定義する上書き可能なメソッドを提供します。

IBQConfigBase スクリプトインクルードをインスタンスで使用できるようにするには、Sales and Service API Core (com.sn_tmt_core) プラグインを有効にする必要があります。このスクリプトインクルードは `sn_tmt_core` 名前空間に属しており、admin ロールが必要です。  
関連項目：

* [Lead to Cash Core](https://www.servicenow.com/docs/access?context=lead-to-cash&version=australia&pubname=australia-order-management&ft:locale=en-US)
* [Inbound Request](https://www.servicenow.com/docs/access?context=som_request_tracker&version=australia&pubname=australia-order-management&ft:locale=en-US)
{#IBQConfigBaseAPIBoth__ul_o13_lls_1fc}

## IBQConfigBase APIの拡張 {#IBQConfigBaseAPIBoth__section_pb4_v2w_bfc}

IBQConfigBase API の上書き可能なメソッドを使用してスクリプトインクルードを定義します。  
1. スクリプトインクルードを作成します。名前は <kbd class="ph userinput">IBQConfig</kbd> で始まる必要があります ( 例: IBQConfigQuoteToOrderFlowSNC)。
2. IBQConfigBase API を拡張します。  
   たとえば、次のようになります。

       IBQConfigQuoteToOrderFlowSNC.prototype = Object.extendsObject(sn_tmt_core.IBQConfigBase, { 
       ...
       });

3. 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;
       }

4. 受信要求構成 \[sn_tmt_core_inbound_queue_config\] テーブルに新しいメタデータエントリを作成して、要求の処理方法を定義します。
5. 作成したスクリプトインクルードをメタデータレコードの configuration_api フィールドにリンクして、要求の処理中に定義されたカスタムロジックを使用します。スクリプトインクルードは、受信要求構成メタデータの作成時に \[configuration_api \] フィールドで参照されます。
{#IBQConfigBaseAPIBoth__ol_k4y_3k1_bfc}

## ユースケース:IBQConfigQuoteToOrderFlow {#IBQConfigBaseAPIBoth__section_adb_nk1_bfc}

IBQConfigBase API を使用して、インバウンド要求構成メタデータを使用して見積もりから注文を作成できます。 IBQConfigQuoteToOrderFlow は、 IBQConfigBase API を拡張することによって作成できるカスタム スクリプトインクルードです。オーバーライド可能なメソッドのロジックは、IBQConfigQuoteToOrderFlow スクリプトインクルードに追加する必要があります。  
注:  
このスクリプトインクルードは IBQConfigBase API を拡張し、メソッドの例で使用されます。PrimitiveUtil API の使用については、「[LeadtoCashCore - スコープ対象](https://servicenow-prod.fluidtopics.net/dagOz1SNx5uNqjt2CWYTTw#LeadToCashCoreAPI "LeadtoCashCore スクリプトインクルードは、「見込み顧客から現金へ」コアライフサイクルで「見込み顧客から現金へ」ワークフローを調整するためのメソッドを提供します。")」を参照してください。

    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) {#ariaid-title2}

要求を処理する前に、受信要求 \[sn_tmt_core_inbound_queue_list\] レコードのrecord_idに追加される親レコードを作成します。
処理前に 親レコード を作成することは、非同期処理に最適であり、処理中に実行できるアクティビティをスクリプトインクルードに追加できます。たとえば、画面にメッセージを表示するなどです。
{#IBQCB-generateParentRecord_O__id_dpy_1kb_z2c__entry__3}{#IBQCB-generateParentRecord_O__ibqc-account}{#IBQCB-generateParentRecord_O__ibqc-consumer}{#IBQCB-generateParentRecord_O__ibqc-contact}{#IBQCB-generateParentRecord_O__ibqc-payload}{#IBQCB-generateParentRecord_O__ibqc-payload.additionalParams}{#IBQCB-generateParentRecord_O__ibqc-payload.additionalParams.action}{#IBQCB-generateParentRecord_O__ibqc-payload.additionalParams.actionReason}{#IBQCB-generateParentRecord_O__ibqc-payload.additionalParams.endDate}{#IBQCB-generateParentRecord_O__ibqc-payload.additionalParams.skipLines}{#IBQCB-generateParentRecord_O__ibqc-payload.additionalParams.startDate}{#IBQCB-generateParentRecord_O__ibqc-payload.context}{#IBQCB-generateParentRecord_O__ibqc-payload.context.isMultiselect}{#IBQCB-generateParentRecord_O__ibqc-payload.context.sTTCID}{#IBQCB-generateParentRecord_O__ibqc-payload.inputParams}{#IBQCB-generateParentRecord_O__ibqc-payload.source}{#IBQCB-generateParentRecord_O__ibqc-payload.headerId}{#IBQCB-generateParentRecord_O__ibqc-payload.source.lineIds}{#IBQCB-generateParentRecord_O__ibqc-payload.target}{#IBQCB-generateParentRecord_O__ibqc-payload.target.headerId}{#IBQCB-generateParentRecord_O__ibqc-payload.target.lineIds}{#IBQCB-generateParentRecord_O__ibqc-record}{#IBQCB-generateParentRecord_O__ibqc-requested_flow}{#IBQCB-generateParentRecord_O__ibqc-source_records_ids}{#IBQCB-generateParentRecord_O__ibqc-source_table}{#IBQCB-generateParentRecord_O__ibqc-table}

| 名前 | タイプ | 説明 |
|-|-|-|
| ibqParams | オブジェクト | 作成する受信要求レコードの詳細を含む JSON オブジェクト。 { "account": "String", "consumer": "String", "contact": "String", "payload": {Object}, "record_id": "String", "requested_flow": "String", "source_record_ids": [Array], "source_table": "String", "table": "String" } |
| アカウント | 文字列 | オプション。レコードに関連付けられたアカウントに関する情報。 テーブル:アカウント \[customer_account\] |
| consumer | 文字列 | オプション。レコードに関連付けられたコンシューマーに関する情報。 テーブル:コンシューマー \[csm_consumer\] |
| 連絡先 | 文字列 | オプション。レコードに関連付けられた連絡先に関する情報。 テーブル:連絡先 \[customer_contact\] |
| ペイロード | オブジェクト | オプション。PrimitiveUtil() API を使用して要求を処理するために必要な JSON オブジェクト。使用方法については、「 [LeadToCashCore](https://servicenow-prod.fluidtopics.net/dagOz1SNx5uNqjt2CWYTTw#LeadToCashCoreAPI "LeadtoCashCore スクリプトインクルードは、「見込み顧客から現金へ」コアライフサイクルで「見込み顧客から現金へ」ワークフローを調整するためのメソッドを提供します。")」を参照してください。 "payload": { "additionalParams": {Object}, "context": {Object}, "inputParams": {Object} "source": [Array of Objects], "target": [Array of Objects] } |
| payload.additionalParams | オブジェクト | オプション。使用する追加パラメーター。 "additionalParams": { "action": "String", "actionReason": "String" "endDate": "Date", "skipLines": "Boolean", "startDate": "Date" } |
| payload.additionalParams.action | 文字列 | オプション。実行する宣言アクションのタイプを指定します。詳細については、「[Customer Life Cycle Management Workflows](https://www.servicenow.com/docs/access?context=customer-life-cycle-management-workflows&version=australia&pubname=australia-customer-service-management&ft:locale=en-US)」を参照してください。 可能な値： * 切る * modify * 再開 * 停止する |
| payload.additionalParams.actionReason | 文字列 | オプション。宣言アクションを使用するフローで使用されるプロパティ。アクションの理由。 |
| payload.additionalParams.endDate | 文字列 | オプション。宣言アクションを使用してフローを実行するために必要な終了日。 形式：yyyy-MM-dd HH:mm:ss |
| payload.additionalParams.skipLines | ブール | オプション。指定したエンティティの品目をフェッチするかどうかを示すフラグ。 有効な値： * true:エンティティの品目情報の返却をスキップします。 * false:エンティティの品目情報を返します。 デフォルト値：false |
| payload.additionalParams.startDate | 文字列 | オプション。宣言アクションを使用してフローを実行する開始日。 形式：yyyy-MM-dd HH:mm:ss |
| payload.context | オブジェクト | オプション。属性値を表示し、一度に複数のインスタンスを呼び出すための追加パラメーターオプション。 "context": { "isMultiSelect": "Boolean", "sourceToTargetConfigID": "String" } |
| payload.context.isMultiSelect | ブール | オプション。インスタンスを作成するために複数のエンティティを入力として渡すかどうかを示すフラグ。 有効な値： * true:複数の品目をカンマ区切りリストで渡すことができます。 * false:スクリプトで渡すことができる入力アイテムは 1 つだけです。 デフォルト値：false |
| payload.context.sourceToTargetConfigID | 文字列 | オプション。ソースからターゲットへのマッピングのマッピング構成 ID。 テーブル:「Lead-to-Cash」エンティティマッピング \[sn_l2c_core_entity_mapping\] |
| payload.inputParams | オブジェクト | オプション。このオブジェクトは、特定のフローの使用方法を呼び出すために必要な入力パラメーターのプレースホルダーです。 "inputParams": {} |
| payload.source | アレイ | オプション。データを取得するソースエンティティの詳細を含む JSON オブジェクト。 "source": [ { "headerId": "String", "lineIds": [] } ] |
| payload.source.headerId | 文字列 | オプション。データを取得するソースエンティティのヘッダー sys_id。 * lineIdsパラメーターを指定しない場合に必要です。 * ヘッダー sys_idsを渡さない場合は、null を渡します。 |
| payload.source.lineIds | アレイ | オプション。エンティティデータを取得するエンティティのソース品目sys_idを含むアレイ。 ヘッダー ID を指定しない場合、およびエンティティ構造が販売済み製品などの品目で始まる場合は必須です。 |
| payload.target | アレイ | オプション。ターゲットエンティティの詳細を含む JSON オブジェクト。 "target": [ { "headerId": "String", "lineIds": [] } ] |
| 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](https://www.servicenow.com/docs/access?context=entity-configuration-and-mapping&version=australia&pubname=australia-order-management&ft:locale=en-US)を使用するフローに必要です。 テーブル:「Lead-to-Cash」エンティティマッピング \[sn_l2c_core_entity_mapping\] |
| source_record_ids | アレイ | ソースレコードのsys_idsを含むアレイ。 |
| source_table | 文字列 | フローのソースレコードを含むテーブルの名前。 |
| table | 文字列 | フローのターゲットレコードを含むテーブルの名前。 |
[表 : 1. パラメーター]

{#IBQCB-generateParentRecord_O__id_dpy_1kb_z2c} {#IBQCB-generateParentRecord_O__table_qw2_3ct_y2c__entry__2}

| タイプ | 説明 |
|-|-|
| JSON オブジェクト | 作成されたターゲットレコードのヘッダー ID を含む JSON オブジェクト。 { "headerID": "String", // additional parameters, if any, per flow see payload.inputParams } |
| ヘッダー ID | 作成されたターゲットレコードのヘッダーのSys_id。この値はrecord_id受信要求レコードの作成時にフィールドに入力するために使用されます。 |
[表 : 2. 戻り値]

{#IBQCB-generateParentRecord_O__table_qw2_3ct_y2c}  
次の例は、 generateParentRecord() メソッドを呼び出す方法を示しています。  
注:  
IBQConfigQuoteToOrderFlow は、 IBQConfigBase API を拡張することによって作成できるカスタム スクリプトインクルードです。オーバーライド可能なメソッドのロジックは、IBQConfigQuoteToOrderFlow スクリプトインクルードに追加する必要があります。

    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) {#ariaid-title3}

フローを同期モードと非同期モードのどちらで実行するかを決定します。
{#IBQCB-getRunMode_O__id_dpy_1kb_z2c__entry__3}{#IBQCB-getRunMode_O__ibqc-account}{#IBQCB-getRunMode_O__ibqc-consumer}{#IBQCB-getRunMode_O__ibqc-contact}{#IBQCB-getRunMode_O__ibqc-payload}{#IBQCB-getRunMode_O__ibqc-payload.additionalParams}{#IBQCB-getRunMode_O__ibqc-payload.additionalParams.action}{#IBQCB-getRunMode_O__ibqc-payload.additionalParams.actionReason}{#IBQCB-getRunMode_O__ibqc-payload.additionalParams.endDate}{#IBQCB-getRunMode_O__ibqc-payload.additionalParams.skipLines}{#IBQCB-getRunMode_O__ibqc-payload.additionalParams.startDate}{#IBQCB-getRunMode_O__ibqc-payload.context}{#IBQCB-getRunMode_O__ibqc-payload.context.isMultiselect}{#IBQCB-getRunMode_O__ibqc-payload.context.sTTCID}{#IBQCB-getRunMode_O__ibqc-payload.inputParams}{#IBQCB-getRunMode_O__ibqc-payload.source}{#IBQCB-getRunMode_O__ibqc-payload.headerId}{#IBQCB-getRunMode_O__ibqc-payload.source.lineIds}{#IBQCB-getRunMode_O__ibqc-payload.target}{#IBQCB-getRunMode_O__ibqc-payload.target.headerId}{#IBQCB-getRunMode_O__ibqc-payload.target.lineIds}{#IBQCB-getRunMode_O__ibqc-record}{#IBQCB-getRunMode_O__ibqc-requested_flow}{#IBQCB-getRunMode_O__ibqc-source_records_ids}{#IBQCB-getRunMode_O__ibqc-source_table}{#IBQCB-getRunMode_O__ibqc-table}

| 名前 | タイプ | 説明 |
|-|-|-|
| ibqParams | オブジェクト | 作成する受信要求レコードの詳細を含む JSON オブジェクト。 { "account": "String", "consumer": "String", "contact": "String", "payload": {Object}, "record_id": "String", "requested_flow": "String", "source_record_ids": [Array], "source_table": "String", "table": "String" } |
| アカウント | 文字列 | オプション。レコードに関連付けられたアカウントに関する情報。 テーブル:アカウント \[customer_account\] |
| consumer | 文字列 | オプション。レコードに関連付けられたコンシューマーに関する情報。 テーブル:コンシューマー \[csm_consumer\] |
| 連絡先 | 文字列 | オプション。レコードに関連付けられた連絡先に関する情報。 テーブル:連絡先 \[customer_contact\] |
| ペイロード | オブジェクト | オプション。PrimitiveUtil() API を使用して要求を処理するために必要な JSON オブジェクト。使用方法については、「 [LeadToCashCore](https://servicenow-prod.fluidtopics.net/dagOz1SNx5uNqjt2CWYTTw#LeadToCashCoreAPI "LeadtoCashCore スクリプトインクルードは、「見込み顧客から現金へ」コアライフサイクルで「見込み顧客から現金へ」ワークフローを調整するためのメソッドを提供します。")」を参照してください。 "payload": { "additionalParams": {Object}, "context": {Object}, "inputParams": {Object} "source": [Array of Objects], "target": [Array of Objects] } |
| payload.additionalParams | オブジェクト | オプション。使用する追加パラメーター。 "additionalParams": { "action": "String", "actionReason": "String" "endDate": "Date", "skipLines": "Boolean", "startDate": "Date" } |
| payload.additionalParams.action | 文字列 | オプション。実行する宣言アクションのタイプを指定します。詳細については、「[Customer Life Cycle Management Workflows](https://www.servicenow.com/docs/access?context=customer-life-cycle-management-workflows&version=australia&pubname=australia-customer-service-management&ft:locale=en-US)」を参照してください。 可能な値： * 切る * modify * 再開 * 停止する |
| payload.additionalParams.actionReason | 文字列 | オプション。宣言アクションを使用するフローで使用されるプロパティ。アクションの理由。 |
| payload.additionalParams.endDate | 文字列 | オプション。宣言アクションを使用してフローを実行するために必要な終了日。 形式：yyyy-MM-dd HH:mm:ss |
| payload.additionalParams.skipLines | ブール | オプション。指定したエンティティの品目をフェッチするかどうかを示すフラグ。 有効な値： * true:エンティティの品目情報の返却をスキップします。 * false:エンティティの品目情報を返します。 デフォルト値：false |
| payload.additionalParams.startDate | 文字列 | オプション。宣言アクションを使用してフローを実行する開始日。 形式：yyyy-MM-dd HH:mm:ss |
| payload.context | オブジェクト | オプション。属性値を表示し、一度に複数のインスタンスを呼び出すための追加パラメーターオプション。 "context": { "isMultiSelect": "Boolean", "sourceToTargetConfigID": "String" } |
| payload.context.isMultiSelect | ブール | オプション。インスタンスを作成するために複数のエンティティを入力として渡すかどうかを示すフラグ。 有効な値： * true:複数の品目をカンマ区切りリストで渡すことができます。 * false:スクリプトで渡すことができる入力アイテムは 1 つだけです。 デフォルト値：false |
| payload.context.sourceToTargetConfigID | 文字列 | オプション。ソースからターゲットへのマッピングのマッピング構成 ID。 テーブル:「Lead-to-Cash」エンティティマッピング \[sn_l2c_core_entity_mapping\] |
| payload.inputParams | オブジェクト | オプション。このオブジェクトは、特定のフローの使用方法を呼び出すために必要な入力パラメーターのプレースホルダーです。 "inputParams": {} |
| payload.source | アレイ | オプション。データを取得するソースエンティティの詳細を含む JSON オブジェクト。 "source": [ { "headerId": "String", "lineIds": [] } ] |
| payload.source.headerId | 文字列 | オプション。データを取得するソースエンティティのヘッダー sys_id。 * lineIdsパラメーターを指定しない場合に必要です。 * ヘッダー sys_idsを渡さない場合は、null を渡します。 |
| payload.source.lineIds | アレイ | オプション。エンティティデータを取得するエンティティのソース品目sys_idを含むアレイ。 ヘッダー ID を指定しない場合、およびエンティティ構造が販売済み製品などの品目で始まる場合は必須です。 |
| payload.target | アレイ | オプション。ターゲットエンティティの詳細を含む JSON オブジェクト。 "target": [ { "headerId": "String", "lineIds": [] } ] |
| 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](https://www.servicenow.com/docs/access?context=entity-configuration-and-mapping&version=australia&pubname=australia-order-management&ft:locale=en-US)を使用するフローに必要です。 テーブル:「Lead-to-Cash」エンティティマッピング \[sn_l2c_core_entity_mapping\] |
| source_record_ids | アレイ | ソースレコードのsys_idsを含むアレイ。 |
| source_table | 文字列 | フローのソースレコードを含むテーブルの名前。 |
| table | 文字列 | フローのターゲットレコードを含むテーブルの名前。 |
[表 : 3. パラメーター]

{#IBQCB-getRunMode_O__id_dpy_1kb_z2c} {#IBQCB-getRunMode_O__table_qw2_3ct_y2c__entry__2}

| タイプ | 説明 |
|-|-|
| 文字列 | 要求の実行に使用される実行モードに関する情報。 可能な値： * 非同期 * 同期 {#IBQCB-getRunMode_O__ul_odv_kjb_z2c} |
[表 : 4. 返される内容]

{#IBQCB-getRunMode_O__table_qw2_3ct_y2c}  
次の例は、source_record_ids プロパティによって提供されるソースsys_idを使用して getRunMode() メソッドを呼び出す方法を示しています。品目数が 10 を超える場合、runMode`非同期になります`。  
注:  
IBQConfigQuoteToOrderFlow は、 IBQConfigBase API を拡張することによって作成できるカスタム スクリプトインクルードです。オーバーライド可能なメソッドのロジックは、IBQConfigQuoteToOrderFlow スクリプトインクルードに追加する必要があります。

    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"

次の例は、 getRunMode() メソッドを呼び出す方法を示しています。source_record_ids で提供されたソースsys_idを使用します。ここでは、品目数が 10 未満であるため、 runMode が同期されます。  
注:  
IBQConfigQuoteToOrderFlow は、 IBQConfigBase API を拡張することによって作成できるカスタム スクリプトインクルードです。オーバーライド可能なメソッドのロジックは、IBQConfigQuoteToOrderFlow スクリプトインクルードに追加する必要があります。

    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) {#ariaid-title4}

受信要求レコードを処理するためのロジックを定義します。
{#IBQCB-processInboundQueueRequest_O__table_pw2_3ct_y2c__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| ibqGr | GlideRecord | フローをトリガーした受信要求レコードへの [GlideRecord](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#c_GlideRecordScopedAPI "スコープ対象の GlideRecord API は、データベース操作に使用されます。") 参照。 テーブル:インバウンド要求 \[sn_tmt_core_inbound_queue\] |
[表 : 5. パラメーター]

{#IBQCB-processInboundQueueRequest_O__table_pw2_3ct_y2c} {#IBQCB-processInboundQueueRequest_O__table_qw2_3ct_y2c__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | 受信要求レコードの処理の詳細を含む JSON オブジェクト。 { "error": "String", "response": {Object}, "status": "String", "target": "String" } |
| エラー | 要求の処理中に発生したエラーを示す値。 データタイプ：文字列 |
| 応答 | 受信要求レコードの処理の応答を含む JSON オブジェクト。Lead to Cash Core PrimitiveUtil API によって作成されたフローの場合、この出力は [commitInstance()](https://servicenow-prod.fluidtopics.net/dagOz1SNx5uNqjt2CWYTTw#LTCC-commitInstance_O_O "指定された「見込み顧客から現金へ」エンティティの JSON をインスタンスにコミットし、更新された情報を含むステータスメッセージを返して、結果として「見込み顧客から現金へ」コアエンティティテーブルを更新します。") メソッドを使用して提供できます。 データタイプ: オブジェクト |
| ステータス | 要求処理のステータスを示す値。 可能な値： * failure:オペレーションに失敗しました。 * partial_success -- JSON オブジェクトの処理中にエラーはほとんどありませんでした。特定のエラーのトラブルシューティングについては、ログ \[syslog\] テーブルの処理ログを参照してください。 * success -- 操作が成功しました。 {#IBQCB-processInboundQueueRequest_O__ul_fhl_mvl_1fc} データタイプ：文字列 |
| ターゲット | オプション。UI 確認などの追加処理に使用するターゲットレコードのSys_id。ターゲットは、フロー中に作成することも、要件に応じて generateParentRecord() メソッドのibqParamsに入力として渡すこともできます。 データタイプ：文字列 |
[表 : 6. 戻り値]

{#IBQCB-processInboundQueueRequest_O__table_qw2_3ct_y2c}  
次の例は、 processInboundQueueRequest() メソッドを呼び出す方法を示しています。  
注:  
このメソッドは、 [Flow Designer](https://www.servicenow.com/docs/access?context=flow-designer&version=australia&pubname=australia-application-development&ft:locale=en-US)を使用してフロー中に呼び出されます。次の例では、Lead to Cash Core PrimitiveUtil [commitInstance()](https://servicenow-prod.fluidtopics.net/dagOz1SNx5uNqjt2CWYTTw#LTCC-commitInstance_O_O "指定された「見込み顧客から現金へ」エンティティの JSON をインスタンスにコミットし、更新された情報を含むステータスメッセージを返して、結果として「見込み顧客から現金へ」コアエンティティテーブルを更新します。") メソッドを使用して出力を提供しています。

    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) {#ariaid-title5}

現在の受信要求レコードの `execute_after` 値を設定し、 `状況` を \[処理待ち\] に更新して、受信要求テーブルでレコードが処理される順序を設定します。
setExecuteAfterRequest() メソッドをオーバーライドして、他のパラメーターからexecute_after値を導出できます。デフォルトでは、このメソッドは受信要求 \[sn_tmt_core_inbound_queue\] テーブルを照会して、一致する source_record_ids、 record_id、および resource 値を持つ最新のレコードを検索します。次に、このメソッドは、現在のレコードの `execute_after` フィールドをクエリしたレコードのsys_idで更新し、クエリしたレコードの後に処理する現在のレコードをマークします。その結果、 setExecuteAfterRequest() はレコードが処理される順序を確立します。
{#IBQCB-setExecuteAfterRequest_O__table_hbf_vqr_tfc__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| ibqParams | オブジェクト | 設定する受信要求レコードの詳細を含む JSON オブジェクト。これらのパラメーターには、現在のレコードの前に処理するレコードsys_idと、受信要求 \[sn_tmt_core_inbound_queue\] テーブルでフィルタリングするワークフロー名が含まれます。 { "account": "String", "consumer": "String", "contact": "String", "execute_after": "String", "payload": {Object}, "record_id": "String", "requested_flow": "String", "resource": "String", "source_record_ids": [Array], "source_table": "String", "table": "String" } |
| アカウント | 文字列 | オプション。レコードに関連付けられたアカウントに関する情報。 テーブル:アカウント \[customer_account\] |
| consumer | 文字列 | オプション。レコードに関連付けられたコンシューマーに関する情報。 テーブル:コンシューマー \[csm_consumer\] |
| 連絡先 | 文字列 | オプション。レコードに関連付けられた連絡先に関する情報。 テーブル:連絡先 \[customer_contact\] |
| ibqParams.execute_after | 文字列 | オプション。現在の要求の前に処理する受信要求のSys_id。 テーブル:インバウンド要求 \[sn_tmt_core_inbound_queue\] |
| ペイロード | オブジェクト | オプション。PrimitiveUtil() API を使用して要求を処理するために必要な JSON オブジェクト。使用方法については、「 [LeadToCashCore](https://servicenow-prod.fluidtopics.net/dagOz1SNx5uNqjt2CWYTTw#LeadToCashCoreAPI "LeadtoCashCore スクリプトインクルードは、「見込み顧客から現金へ」コアライフサイクルで「見込み顧客から現金へ」ワークフローを調整するためのメソッドを提供します。")」を参照してください。 "payload": { "additionalParams": {Object}, "context": {Object}, "inputParams": {Object} "source": [Array of Objects], "target": [Array of Objects] } |
| payload.additionalParams | オブジェクト | オプション。使用する追加パラメーター。 "additionalParams": { "action": "String", "actionReason": "String" "endDate": "Date", "skipLines": "Boolean", "startDate": "Date" } |
| payload.additionalParams.action | 文字列 | オプション。実行する宣言アクションのタイプを指定します。詳細については、「[Customer Life Cycle Management Workflows](https://www.servicenow.com/docs/access?context=customer-life-cycle-management-workflows&version=australia&pubname=australia-customer-service-management&ft:locale=en-US)」を参照してください。 可能な値： * 切る * modify * 再開 * 停止する |
| payload.additionalParams.actionReason | 文字列 | オプション。宣言アクションを使用するフローで使用されるプロパティ。アクションの理由。 |
| payload.additionalParams.endDate | 文字列 | オプション。宣言アクションを使用してフローを実行するために必要な終了日。 形式：yyyy-MM-dd HH:mm:ss |
| payload.additionalParams.skipLines | ブール | オプション。指定したエンティティの品目をフェッチするかどうかを示すフラグ。 有効な値： * true:エンティティの品目情報の返却をスキップします。 * false:エンティティの品目情報を返します。 デフォルト値：false |
| payload.additionalParams.startDate | 文字列 | オプション。宣言アクションを使用してフローを実行する開始日。 形式：yyyy-MM-dd HH:mm:ss |
| payload.context | オブジェクト | オプション。属性値を表示し、一度に複数のインスタンスを呼び出すための追加パラメーターオプション。 "context": { "isMultiSelect": "Boolean", "sourceToTargetConfigID": "String" } |
| payload.context.isMultiSelect | ブール | オプション。インスタンスを作成するために複数のエンティティを入力として渡すかどうかを示すフラグ。 有効な値： * true:複数の品目をカンマ区切りリストで渡すことができます。 * false:スクリプトで渡すことができる入力アイテムは 1 つだけです。 デフォルト値：false |
| payload.context.sourceToTargetConfigID | 文字列 | オプション。ソースからターゲットへのマッピングのマッピング構成 ID。 テーブル:「Lead-to-Cash」エンティティマッピング \[sn_l2c_core_entity_mapping\] |
| payload.inputParams | オブジェクト | オプション。このオブジェクトは、特定のフローの使用方法を呼び出すために必要な入力パラメーターのプレースホルダーです。 "inputParams": {} |
| payload.source | アレイ | オプション。データを取得するソースエンティティの詳細を含む JSON オブジェクト。 "source": [ { "headerId": "String", "lineIds": [] } ] |
| payload.source.headerId | 文字列 | オプション。データを取得するソースエンティティのヘッダー sys_id。 * lineIdsパラメーターを指定しない場合に必要です。 * ヘッダー sys_idsを渡さない場合は、null を渡します。 |
| payload.source.lineIds | アレイ | オプション。エンティティデータを取得するエンティティのソース品目sys_idを含むアレイ。 ヘッダー ID を指定しない場合、およびエンティティ構造が販売済み製品などの品目で始まる場合は必須です。 |
| payload.target | アレイ | オプション。ターゲットエンティティの詳細を含む JSON オブジェクト。 "target": [ { "headerId": "String", "lineIds": [] } ] |
| 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](https://www.servicenow.com/docs/access?context=entity-configuration-and-mapping&version=australia&pubname=australia-order-management&ft:locale=en-US)を使用するフローに必要です。 テーブル:「Lead-to-Cash」エンティティマッピング \[sn_l2c_core_entity_mapping\] |
| ibqParams.resource | 文字列 | 受信要求テーブルにレコードを作成するフローの名前 (見積もりや注文など)。この値は、同じタイプの依存レコードを検索し、レコード処理の順序を決定するために使用されます。 |
| source_record_ids | アレイ | ソースレコードのsys_idsを含むアレイ。 |
| source_table | 文字列 | フローのソースレコードを含むテーブルの名前。 |
| table | 文字列 | フローのターゲットレコードを含むテーブルの名前。 |
[表 : 7. パラメーター]

{#IBQCB-setExecuteAfterRequest_O__table_hbf_vqr_tfc} {#IBQCB-setExecuteAfterRequest_O__table_ibf_vqr_tfc__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 8. 戻り値]

{#IBQCB-setExecuteAfterRequest_O__table_ibf_vqr_tfc}  
次の例では、スクリプトは受信要求 \[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);

このメソッドは出力を返しません。

