---
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


---

# SegmentHandler API :スコープ付き

# SegmentHandler API :スコープ付き {#ariaid-title1}

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

特定の操作の IDoc ペイロードをビルドするためのチェーン可能な API を提供するスクリプトインクルード。

このスクリプトインクルードは、 ERP 向けゼロコピーコネクタ (com.sn_erp_integration) ストアアプリケーションを必要とし、sn_erp_integration 名前空間内で提供されます。詳細については、「[Zero Copy Connector for ERP](https://www.servicenow.com/docs/access?context=erp-integration-overview&version=australia&pubname=australia-integrate-applications&ft:locale=en-US)」を参照してください。

必要なロール：sn_erp_integration.erp_user  
SegmentHandler クラス:

* ルートデータオブジェクトと IDoc セグメントスキーマを所有します。
* トップレベルのセグメントを作成できます。たとえば、 `E1EDK01`、 `E1EDP01` などです。

{#SegmentHandlerAPIScoped__ul_ex3_hjk_c3c}ヘッダーやアイテムなど、セグメントの下位レベルのインスタンスを処理する方法については、「 [SegmentHandle API :スコープ対象](https://servicenow-prod.fluidtopics.net/8iHh_m0KD3CZa7CYUnSVRA#SegmentHandleAPIScoped "ヘッダーやアイテムなどのセグメントの単一インスタンスを処理するためのメソッド。このクラスは、SegmentHandler スクリプトインクルードで定義されています。")」を参照してください。

「[sn_erp_integration API - スコープ対象、グローバル](https://servicenow-prod.fluidtopics.net/57SEqVnrlqB3wr5nC3XJQQ#sn_erp_integrationBothAPI "ERP 向けゼロコピーコネクタ (エンタープライズリソースプランニング) モデルとやり取りするためのチェーン可能な API を提供するスクリプトインクルード。")」も参照してください。

## SegmentHandler:SegmentHandler(文字列 operationId) {#ariaid-title2}

IDoc 操作にバインドされた新しい SegmentHandler オブジェクトをインスタンス化します。
{#SegmentHandler-SegmentHandler_O__table_qlv_2gw_3hc__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| operationId | 文字列 | 構成された ERP モデル操作のsys_id。 テーブル:ERP モデル操作 \[sn_erp_integration_model_operation\] |
[表 : 1. パラメーター]

{#SegmentHandler-SegmentHandler_O__table_qlv_2gw_3hc}  
次の例は、ネストされたセグメントを持つヘッダーとアイテムを 1 つの Fluent チェーンでビルドする方法を示しています。構造は、構成されたスキーマによって異なります。スキーマパターンは、ネストされたアレイを持つセグメントのアレイです。

    let obj = new sn_erp_integration.SegmentHandler('460d3ff2ff5de210d3a2fffffffffff8');

    obj.addSegment("E1EDK01")
        .addField("BELNR", "1000")
        .addField("CURCY", "USD")
        .endSegment()
        .addSegment("E1EDP01")
        .addField("MENGE", "50")
        .addField("POSEX", "0010")
        .addSegment("E1EDP20")
        .addField("AMENG", "10")
        .addField("WMENG", "5")
        .addSegment("E1EDP19")
        .addField("IDTNR", "MAT01")
        .endSegment()
        .endSegment()
        .endSegment();

    gs.info(JSON.stringify(obj.getData(), null, 2));

出力：

    {
      "data": {
        "E1EDK01": [{
          "BELNR": "1000",
          "CURCY": "USD"
        }],
          "E1EDP01": [{
            "MENGE": "50",
            "POSEX": "0010",
            "E1EDP20": [{
              "AMENG": "10",
              "WMENG": "5",
              "E1EDP19": [{
                "IDTNR": "MAT01"
              }]
            }]
          }]
      }
    }

## SegmentHandler:addSegment(文字列 segmentName, オブジェクト値) {#ariaid-title3}

segmentName タイプの事前定義されたトップレベルセグメントをペイロードに追加します。
注:  
セグメントは操作で定義する必要があります。
{#SegmentHandler-addSegment_S_O__table_qkt_53x_3hc__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| セグメント名 | 文字列 | トップレベルセグメントの名前。 |
| 値 | オブジェクト | addField() メソッドの代わりに使用するオプションの実装。 |
[表 : 2. パラメーター]

{#SegmentHandler-addSegment_S_O__table_qkt_53x_3hc} {#SegmentHandler-addSegment_S_O__table_rkt_53x_3hc__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | 新しいセグメントインスタンスの[セグメントハンドル](https://servicenow-prod.fluidtopics.net/8iHh_m0KD3CZa7CYUnSVRA#SegmentHandleAPIScoped "ヘッダーやアイテムなどのセグメントの単一インスタンスを処理するためのメソッド。このクラスは、SegmentHandler スクリプトインクルードで定義されています。")。 |
[表 : 3. 返される内容]

{#SegmentHandler-addSegment_S_O__table_rkt_53x_3hc}  
次の例は、ネストされたセグメントを持つヘッダーとアイテムを 1 つの Fluent チェーンでビルドする方法を示しています。構造は、構成されたスキーマによって異なります。スキーマパターンは、ネストされたアレイを持つセグメントのアレイです。

    let obj = new sn_erp_integration.SegmentHandler('460d3ff2ff5de210d3a2fffffffffff8');

    obj.addSegment("E1EDK01")
        .addField("BELNR", "1000")
        .addField("CURCY", "USD")
        .endSegment()
        .addSegment("E1EDP01")
        .addField("MENGE", "50")
        .addField("POSEX", "0010")
        .addSegment("E1EDP20")
        .addField("AMENG", "10")
        .addField("WMENG", "5")
        .addSegment("E1EDP19")
        .addField("IDTNR", "MAT01")
        .endSegment()
        .endSegment()
        .endSegment();

    gs.info(JSON.stringify(obj.getData(), null, 2));

出力：

    {
      "data": {
        "E1EDK01": [{
          "BELNR": "1000",
          "CURCY": "USD"
        }],
          "E1EDP01": [{
            "MENGE": "50",
            "POSEX": "0010",
            "E1EDP20": [{
              "AMENG": "10",
              "WMENG": "5",
              "E1EDP19": [{
                "IDTNR": "MAT01"
              }]
            }]
          }]
      }
    }

## SegmentHandler:getData() {#ariaid-title4}

構築されたセグメントペイロードを取得します。
{#SegmentHandler-getData__table_qkt_53x_3hc__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 4. パラメーター]

{#SegmentHandler-getData__table_qkt_53x_3hc} {#SegmentHandler-getData__table_rkt_53x_3hc__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | セグメントデータを含むオブジェクト。 |
| データ | すべてのトップレベルセグメントとネストされたセグメントを含むペイロードオブジェクトのラッパー。 `{ データ:<payloadObject> }` 正確な構造は構成されたスキーマによって異なりますが、パターン (ネストされたアレイを持つセグメントのアレイ) は同じです。 データタイプ: オブジェクト |
[表 : 5. 返される内容]

{#SegmentHandler-getData__table_rkt_53x_3hc}  
次の例は、ネストされたセグメントを持つヘッダーとアイテムを 1 つの Fluent チェーンでビルドする方法を示しています。構造は、構成されたスキーマによって異なります。スキーマパターンは、ネストされたアレイを持つセグメントのアレイです。

    let obj = new sn_erp_integration.SegmentHandler('460d3ff2ff5de210d3a2fffffffffff8');

    obj.addSegment("E1EDK01")
        .addField("BELNR", "1000")
        .addField("CURCY", "USD")
        .endSegment()
        .addSegment("E1EDP01")
        .addField("MENGE", "50")
        .addField("POSEX", "0010")
        .addSegment("E1EDP20")
        .addField("AMENG", "10")
        .addField("WMENG", "5")
        .addSegment("E1EDP19")
        .addField("IDTNR", "MAT01")
        .endSegment()
        .endSegment()
        .endSegment();

    gs.info(JSON.stringify(obj.getData(), null, 2));

出力：

    {
      "data": {
        "E1EDK01": [{
          "BELNR": "1000",
          "CURCY": "USD"
        }],
          "E1EDP01": [{
            "MENGE": "50",
            "POSEX": "0010",
            "E1EDP20": [{
              "AMENG": "10",
              "WMENG": "5",
              "E1EDP19": [{
                "IDTNR": "MAT01"
              }]
            }]
          }]
      }
    }


