ETL 変換マップの作成

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:54分
  • 統合ハブ ETL は、特定の統合の ETL 変換マップを作成するために必要なすべてのタスクを実行するためのガイド付きセットアップを提供します。

    ガイド付きセットアップ

    ガイド付きセットアップでは、すべてのタスクを正しい順序で整理し、タスクの完了を追跡し、タスクの依存関係を適用します。他のタスクの完了に依存するタスクは、ツールのステップを実行してタスクを完了するときに有効または無効になります。

    [ETL 変換マップアシスタント] ページのガイド付きセットアップを使用して、次のタスクを完了します。

    ソースデータのインポートと基本的な詳細の指定

    CMDB に統合するデータのソースなど、統合の基本的な詳細を入力し、ソースデータをインポートします。

    始める前に

    ETL 変換マップ用に選択する予定のデータソースは、現在のセッションで使用されているものと同じアプリケーションスコープ内に存在する必要があります。

    ETL 変換マップを開くと、デフォルトではマップは検証されません。この検証手順を有効にするには、システムプロパティ [sys_properties] テーブルにシステムのプロパティを追加 sn_int_studio.validation.enabledして、そのプロパティを true に設定します。検証が完了したら、検証エラーの処理方法を選択します。

    必要なロール:cmdb_inst_admin

    手順

    1. 移動先 すべて > 設定 > 統合ハブ ETL.
      統合ハブ ETL のランディングページには、ServiceNow Store からダウンロードされた統合を含む、システムに存在するすべての統合が一覧表示されます。統合ハブ ETL v3.2 以降、統合は CMDB Application 値でグループ化されます。この場合、それぞれのグループを展開して統合を見つけます。
    2. 表示または変更する統合の名前をクリックするか、[新規作成] をクリックします。
      システムのプロパティsn_int_studio.validation.enabledtrue に設定されている場合、統合ハブ ETL はロードしている ETL 変換マップを検証します。検証エラーがある場合は、[無効なマッピングデータが検出されました] ダイアログボックスが表示され、検出された個々のエラーがすべてリストされます。無効なマッピングを削除して有効なマッピングのみを続行するか、無効なマッピングを保持するかを選択できます。ただし、統合を続行しても、無効なマッピングに関する通知は引き続き表示されます。
      システムは次のようなエラーを検出します。
      • 対応する強力な変換エンジン (RTE) フィールドマッピングレコードにソースまたはターゲットのフィールドがない
      • インポートセットにテーブル列がない
        注:
        この状況では、RTE 内の対応するメタデータレコードは無効になり、自動的に削除されます。インポートセットで不足しているテーブル列に関連付けられているフィールドマッピングや変換操作などのレコードが削除されます。
      • ルックアップクラスの識別および調整エンジン (IRE) ルックアップルールがない
    3. ETL 変換マップアシスタントページのガイド付きセットアップの [基本的な詳細を指定] セクションで、[ソースデータをインポートして基本的な詳細を入力します] タスクを選択します。
    4. フォームに記入します。
      フィールド 説明
      CMDB アプリケーション

      ETL 変換マップに関連付けられた CMDB アプリケーション。

      [新しく追加] を選択すると、新しい CMDB アプリケーションの [CMDB アプリケーション] フィールドと [ディスカバリーソース] フィールドが追加されます。

      名前 ETL 変換マップの名前。
      説明 統合の説明。
      データソース システム内のすべてのデータソースのリスト。
      注:
      データ統合が大幅に変更される可能性があるため、後でデータソースを変更する場合は注意してください。新しいデータソースのインポートセットテーブルに配置するには、列および関連する変換を削除するか、新しい列を追加する必要がある場合があります。統合ハブ ETL 検証プロセスでは、必要な更新が検出され、これらの更新に同意するか却下することができます。
      サンプルインポートセット

      指定されたデータソースに関連付けられているインポートセット。

      そのインポートセットデータのサブセットが、ソースデータをプレビューするために使用されます。

      関連付けられたデータソースの新しいインポートセットをプルするには、[新しいインポートセットを自動プル] オプションを選択します。

      統合ハブ ETL v3.2 以降、インポートセットが指定されていない場合、マップがロードされ、自動的に読み取り専用モードに設定されます。マップで構成を確認することはできますが、マッピングや変換を編集することはできません。

      プレビューサイズの上書き

      この変換マップのプレビューのサンプルとしてロードおよび使用されるデータレコードの数。設定すると、このカスタム設定は sn_int_studio.preview.size システムプロパティの値を上書きし、現在の変換マップにのみ適用されます。

      [スキーマのロード完了] が無効になっている場合、マップのネストされたデータ構造は、ロードされた指定された数のレコードのみに基づいて生成されます。

      統合ハブ ETL v3.2 以降で利用可能なフィールド。

      スキーマのロード完了

      マップのデータ構造を生成するためのデータスキーマ全体のロードを有効または無効にします。

      無効にすると、マップのネストされたデータ構造は、プレビュー用のサンプルレコードとしてロードされた数またはレコードのみに基づいて生成されます。ロードされるレコードの数は、[プレビューサイズの上書き (Preview Size Override)] 設定またはグローバルシステムプロパティ sn_int_studio.preview.size のいずれかによって決まります。

      統合ハブ ETL v3.2 以降で利用可能なフィールド。

      CMDB アプリケーション 新しい CMDB アプリケーションの名前。[CMDB アプリケーション][新しく追加] に設定した場合に表示されます。
      ディスカバリーソース

      新しい CMDB アプリケーションに関連付けられているディスカバリーソース。[CMDB アプリケーション][新しく追加] に設定した場合に表示されます。

    5. [保存] をクリックして現在の変更を保存するか、[完了としてマーク] をクリックします。

      [保存] をクリックすると、ヘッダーにタイムスタンプが表示されます。タイムスタンプは、ETL 変換マップの統合ハブ ETL セッションの間、そのまま表示されます。セッションに再度入るか、ETL マップを切り替えると、タイムスタンプが消えます。

    データのプレビューと準備

    CMDB に統合される生のソースデータのサンプルレコードを確認します。必要に応じて、ターゲットのクラスと属性に合わせてデータを変換して準備します。

    始める前に

    サンプルデータのレコード数は、システムプロパティ sn_int_studio.preview.size によってグローバルに決定されます。デフォルトでは 100 に設定されています。統合ハブ ETL が処理できるサンプルデータのレコードの最大数は 10,000 です。このプロパティを 10,000 の制限を超えて設定すると、統合ハブ ETL は 最大 10,000 件のレコードのみを処理し、そのことを示すメッセージが表示されます。

    統合ハブ ETL v3.2 以降では、マップごとに [ソースデータをインポート] および [基本詳細を提供] フォームの [サイズの上書きをプレビュー] フィールドを設定することで、sn_int_studio.preview.size プロパティの値を上書きできます。

    ネストされたペイロードからネストされたデータを処理するには、それぞれのデータソースに [単一列のデータ] オプションを設定する必要があります。

    必要なロール:cmdb_inst_admin

    このタスクについて

    サンプルデータのデータ列の値を確認し、目的のターゲットクラスおよび属性の要件と一致しない列を特定します。たとえば、データ形式の変換、値の置換、データ列の連結などにより、データを変換できます。変換の上に別の変換を重ねて適用し、データ変換のチェーンを作成できます。マッピングおよび統合プロセスで無視されるデータ列を設定することもできます。
    注:
    CMDB 属性を空に設定するには、文字列「<EMPTYֹ_STRING> 」を使用します。

    ネストされたデータの列は残りのデータと一緒に表示され、データ列のヘッダーには [ネストされたオブジェクト] という表記が表示されます。オブジェクトごとのネストされたデータアイテムの数が、ネストされたデータのより深いレベルにドリルダウンできるリンクとともに表示されます。ネストされたデータのデータ構造を別のパネルに表示するには、[データ構造を表示] オプションを有効にします。

    [データ構造] パネルには、ネストされたデータを表示するための 2 つのオプションがあります。

    • ツリー:ネストされたデータがオブジェクトごとにグループ化されます。各オブジェクトノードはソースデータ内のレコードエントリに対応します。オブジェクトノードを展開すると、そのレコードのすべてのネストされたデータが表示されます。
    • コレクション:ネストされたデータが、最上位のオブジェクト (デフォルト) 別にグループ化され、次にソフトウェアなどのネストされたデータアイテム別にグループ化されます。ソフトウェアなどのノードを展開して、各コンピューターにインストールされているソフトウェアを表示します。
    [データ構造] パネル、ブレッドクラムパス、またはソースデータ自体に表示される番号リンクで、ネストされたデータのレベルを移動できます。ナビゲーションに関係なく、ネストされたデータのすべてのビュー間で選択内容と表示されるデータの同期が維持されます。

    ネストされたペイロードデータの操作に関するデモについては、ServiceNow YouTube チャネルの Integration Hub - ETL ネストされたペイロード機能のデモ ビデオをご覧ください。

    手順

    1. 移動先 すべて > 設定 > 統合ハブ ETLをクリックし、 統合の名前をクリックします
      統合ハブ ETL のランディングページには、ServiceNow Store からダウンロードされた統合を含む、システムに存在するすべての統合が一覧表示されます。
    2. [ETL 変換マップアシスタント] ページのガイド付きセットアップの [マッピング用のソースデータの準備] セクションで、[データのプレビューと準備] を選択します。
    3. オプション: [データ構造を表示] を選択して、ネストされたデータの構造を表示する [データ構造] パネルを開きます。[データ構造] パネルでは、ネストされたデータのレベルをドリルダウンできます。
    4. オプション: 列のアクションメニューを選択し、[ソート] 操作を選択します。
    5. 列のアクションメニューを選択し、[グループ化] を選択してそれぞれの列ごとにデータをグループ化します。グループ化操作を元に戻すには、[グループ解除] を選択します。
    6. オプション: [新しい変換] をクリックし、[ソース列を使用] を選択します。または、列のアクションメニューを選択し、[新しい変換] を選択して選択した列を変換します。

      このデータのこのトップレベルのビューでは、ネストされたオブジェクトの新しい変換を作成することはできません。ネストされたオブジェクト列には、レコードのネストされたアイテムの数を示す番号リンクが含まれています。ネストされたオブジェクトの新しい変換を作成するには、その番号のリンクをクリックして実際のネストされたデータにドリルダウンします。または、[データ構造] パネルで、変換を作成する対象のネストされたオブジェクトに移動します。

      ネストされたデータの変換は、変換されるネストされたデータの親オブジェクトを参照できます。ネストされたデータのサンプルペイロードを例として使用すると、インターフェイスオブジェクトの変換は、親コンピューターオブジェクトを参照できますが、ソフトウェアオブジェクトを参照することはできません。

      1. 右側の [新しい変換] サイドバーで、[変換タイプ] を選択し、必要に応じて [変換の説明] を変更します。
        変換タイプの詳細については、「統合ハブ ETL の変換タイプ」を参照してください。
      2. オプション: この変換に使用されたすべての列を現在のビューから非表示にするには、[この変換に使用する初期列を非表示にします] を選択します。
        この設定は現在のセッションでは一時的なものであり、ページを更新すると非表示の列が再び表示されます。非表示の列を表示するために、バナーフレームの歯車のアイコンをクリックすることもできます。次に、非表示の列を [利用可能] リストから [選択済み] リストに移動し、[OK] をクリックします。
      3. 値を変換する [入力列] を選択または確認します。
      4. オプション: 変換された値とともに追加される任意の列の [出力列名] を変更します。
      5. [適用] をクリックします。
        変換された値を含む新しい列が表示され、出力列名に基づいてアルファベット順に並べられます。提案された出力列名を使用した場合は、新しい列が入力列の右側に表示されます。
      6. 変換されたデータを確認し、必要に応じて変換を調整します。
    7. オプション: 「固定値列を設定」変換を適用するには、次の手順に従います。
      1. [新しい変換] をクリックし、[固定値列を設定] を選択します
      2. [固定値列を設定] サイドバーで、新しい列の [列名][列の説明] を入力します。次に、[列値をアサイン] を新しい列用に固定された値に設定します。
      3. [適用] をクリックします。
    8. オプション: 列のアクションメニューを選択し、[マッピングで無視] を選択して、現在のセッションのマッピングと統合から列を除外します。

      後続のセッションでは、[マッピングで無視] 設定は適用されず、列はマッピングに含まれます。

      [マッピングに含める] をクリックすると、列の [マッピングで無視] 設定を元に戻すことができます。

    9. オプション: 列のアクションメニューを選択し、[この列と下流の列を削除] を選択します。この削除アクションは、この列とともに、この列を入力列として使用して追加された列を削除します。
    10. オプション: [新しい変換] をクリックし、[テーブル参照] を選択すると、参照するテーブルを指定して追加の値を抽出できます。右側の [テーブル参照] サイドバーのフィールドに入力します。
      指定されたルックアップテーブルの値は、マッピングされたデータと照合されます。一致するレコードの場合、ルックアップテーブルで指定した値が、マッピング用に準備されているデータに列として追加されます。
      表 : 1. テーブル参照
      フィールド 説明
      ルックアップ テーブル マッピングされているデータとの照合に使用するテーブル。ルックアップテーブルのレコードとマッピングされたデータがルックアップ条件を満たしている場合、ルックアップテーブルの指定された値がそれぞれのレコードから抽出され、マッピングされたデータに追加されます。
      ルックアップ条件

      列条件のペアのセット。各ペアは、ルックアップテーブルの列とマッピングされたデータの列を指定し、これらの一致が試行されます。

      • ターゲットテーブル列の値が次の場合:ターゲットテーブルの列がマッピングされたデータの列と一致します。
      • ソースデータテーブルの値と一致:マッピングされたデータの列とルックアップテーブルの列が一致します。

      一致する列の複数のペアを追加できます。

      ルックアップ条件

      マッピングされたデータと一致するものがある場合にルックアップテーブルから抽出する値。

      次に、次の列から値を出力します:ルックアップテーブルとマッピングされたデータの値がルックアップ条件を満たしている場合に、値を抽出するルックアップテーブルの列。

      値の抽出元として複数のルックアップテーブルの列を指定できます。指定した列ごとに、対応する [出力列名] フィールドが自動的に表示されます。抽出された値とともに追加される列のラベルを指定します。

      出力列名

      ルックアップテーブルから抽出された値とともにマッピングされたデータに追加される列のラベル。

      [出力列名] フィールドは、[次に、次の列から値を出力します] で指定したすべての列に対応して自動的に追加されます。

    11. データをレビューし、統合する予定のデータセットが変換され、正しくフォーマットされ、インポートの準備が整っていることを確認します。
    12. [完了としてマーク] をクリックします。

    タスクの結果

    統合するソースデータ列と変換済み列のセットが、ターゲットの CMDB クラスと属性のフォーマットやその他の値の要件を満たしている場合に、データが準備されます。これらの列は、CMDB クラスと属性にマッピングして統合する準備ができています。

    CMDB クラスおよび属性へのデータ列のマッピングについて

    ソースデータをターゲットの CMDB クラスおよび属性にマッピングするための要件とガイドラインがいくつかあります。また、簡単に再アクティブ化できるように、設定を保持したままクラスのマッピングを非アクティブ化するオプションもあります。これらの概念を確認して、識別および調整エンジン (IRE) で適切に処理されることを確認してください。

    必要なマッピング

    必須として設定されていない属性へのマッピングに加えて、ターゲットクラスのすべての必須の属性にデータをマッピングする必要があります。また、デフォルトでは次の 2 つのフィールドが表示され、削除することはできません。
    ソースネイティブキー
    IRE で、レコードを一意に識別するために使用されるほか、関係と参照をビルドするために使用されます。また、挿入および更新操作のパフォーマンスも向上させます。ペイロードを処理する際にこのフィールドが空の場合、IRE はエラーを生成します。
    ソースの最新のタイムスタンプ

    IRE で現在のレコードより古いため無視できるレコードを識別するために使用され、競合する属性値を解決するために役立ちます。値が指定されている場合、現在 CMDB に格納されている値よりも後の値である場合にのみ、その値が使用されます。値が指定されていない場合、IRE はその属性を現在のタイムスタンプで更新します。

    次のシステムプロパティを使用して、IRE がペイロードの source_recency_timestamp 値を使用してソース [sys_object_source] テーブルの last_scan 属性を更新する方法を変更することができます。
    IRE による source_native_keysource_recency_timestamp を用いた CI 識別の方法については、「識別および調整エンジン (IRE)」を参照してください。

    条件付きクラス

    条件付きクラスを使用すると、特定の列値または特定のプラグインのステータスに従って、さまざまなデータレコードのセットをさまざまなターゲットクラスにマッピングできます。

    たとえば、表示名に「Windows」が含まれている場合、「Windows Server」がターゲットクラスとして選択されます。ただし、表示名に「Linux」が含まれている場合は、「Linux Server」がターゲットクラスとして選択されます。これらの条件のいずれも満たさないレコードの場合 (表示名に「Windows」も「Linux」も含まれない場合)、「Server」がターゲットクラスとして選択されます。

    関連クラス

    関連クラスを使用すると、ターゲットの非 CMDB テーブルに関連付ける CMDB クラスを選択できます。非 CMDB テーブルが IRE 処理用に構成されていない場合は、IRE 処理に関連クラスを設定する必要があります。IRE 処理用にサポートおよび構成されている非 CMDB テーブルの場合、関連クラスの設定はオプションです。詳細については、「非 CMDB テーブルの IRE サポート」を参照してください。

    ソフトウェアインスタンスは非 CMDB クラスですが、IRE ルールが関連付けられていません。したがって、ここで説明した Utah 以前のことは、引き続き有効です。ただし、IRE ルールを持つ非 CMDB クラスの場合、関連付けは必須ではありません。たとえば、「マッピングのターゲットクラスが、CMDB クラスへの参照を持つ非 CMDB クラスである場合は、非 CMDB ターゲットクラスを関連付ける CMDB クラスを選択する必要があります」が、IRE ルールを持つ非 CMDB クラスの場合、「必須」ではなく「可能」です。例と同じで、IRE ルールを持つ非 CMDB に対しては有効ではありません。

    マッピングのターゲットクラスが、CMDB クラスへの参照を持つ非 CMDB クラスである場合は、非 CMDB ターゲットクラスを関連付ける CMDB クラスを選する必要があります。非 CMDB クラスは、シリアル番号 [cmdb_serial_number] など、構成アイテム [cmdb_ci] クラスを拡張しないクラスを参照します。関連エントリ [cmdb_related_entry] クラスには、同じ非 CMDB クラスの複数の CMDB クラスの関連付けが含まれている場合があります。したがって、適切な関連付けを選択して、IRE の処理がターゲットの非 CMDB クラスを更新できるようにします。

    たとえば、関連エントリ [cmdb_related_entry] クラスには、非 CMDB ソフトウェアインスタンス [cmdb_software_instance] クラスを CMDB ソフトウェアパッケージ [cmdb_ci_spkg] クラスに関連付けるレコードがあります。ターゲットクラスとしてソフトウェアインスタンスを選択する場合は、ソフトウェアインスタンスクラスをソフトウェアパッケージ [cmdb_ci_spkg] クラスに関連付ける必要があります。

    クラスマッピングの非アクティブ化

    たとえば、サービスグラフコネクタによって提供される ETL 変換マップを編集する場合は、クラスマッピングを削除して、統合の実行時にクラスが入力されないようにすることができます。ただし、後でそのクラスに入力することにした場合は、そのクラスを再度追加して、すべてのクラスマッピングを再構成する必要があります。代わりに、クラスマッピングを非アクティブ化して、そのマッピング設定をすべて保持しながら、統合の実行中にクラスを一時的に無視することができます。非アクティブ化することを選択したクラスは、ユーザーインターフェイスではグレー表示されますが、クラスマッピングを続行して編集することができます。後で、クラスマッピングを再アクティブ化して、クラスマッピングを再構成せずに、クラスの入力を有効にすることができます。

    非アクティブ化することを選択した一部のクラスは、非アクティブ化することを直接選択しなかった追加のクラスの自動非アクティブ化をトリガーします。どのクラスが自動的に非アクティブ化されるかは、非アクティブ化することを選択したクラスによって異なります。たとえば、クラスに依存関係があるか、関連クラスがあるかなどによって異なります。これらの自動的に非アクティブ化されたクラスは次のようになります。
    • ユーザーインターフェイスに薄いグレーで表示され、再アクティブ化することはできません。
    • 次のクラスを再アクティブ化すると自動的に再アクティブ化されます。
      • 最初に非アクティブ化されて、自動非アクティブ化をトリガーしたクラス
      • 非アクティブ化されたクラスが依存するクラス

    マッピングを直接非アクティブ化するすべてのクラスと、自動的に非アクティブ化される結果のクラスマッピングは、統合の実行時に入力されません。また、これらのクラスに関連付けられている関係とルックアップテーブルは、統合の実行時に入力されません。

    クラスマッピングおよびその他の非アクティブ化シナリオ:
    • 依存しているクラスがなく、関連するクラスがないクラスを非アクティブ化します。

      非アクティブ化されたクラスに関連付けられているルックアップルールと関係の自動非アクティブ化をトリガーします。

    • クラスマッピング内で、シリアル番号などのルックアップルールを非アクティブ化します。

      自動非アクティブ化はトリガーしません。

    • 非 CMDB クラスに関連付けられている CMDB クラスを非アクティブ化します。
      • 関連付けられている非 CMDB クラスの自動非アクティブ化をトリガーします。
      • 非 CMDB クラスを無効にしても、関連付けられた CMDB クラスには影響しません。
    • 依存関係を持つクラスを非アクティブ化します (統合ハブ ETL に依存関係が存在する場合にのみ適用されます)。
      • 非アクティブ化されたクラスと 1 つの依存関係を持つすべてのクラスの自動非アクティブ化をトリガーします。
      • クラスに複数の依存関係がある場合、依存するすべてのクラスを非アクティブ化した場合にのみ、そのクラスは自動的に非アクティブ化されます。

        たとえば、ファイルシステムクラスが、コンピュータークラスとサーバークラスの両方と依存関係にあるシナリオなどです。コンピュータークラスを非アクティブ化しても、ファイルシステムクラスは自動的に非アクティブ化されません。サーバークラスも非アクティブ化した場合のみ、ファイルシステムクラスは自動的に非アクティブ化されます。

    • 条件付きクラスまたは条件付きクラス内のクラスマッピングを非アクティブ化します。
      • 条件付きクラスを非アクティブ化またはアクティブ化すると、条件付きクラス内のすべての条件付きクラスのマッピングの自動非アクティブ化またはアクティブ化がトリガーされます。
      • 条件付きクラス内のクラスマッピングの非アクティブ化:統合の実行中に非アクティブ化されたクラスが入力されないようにします。ただし、関連する「If」、「Else if」、または「Else」条件自体は、条件付きクラスの条件内で引き続き有効です。たとえば、次のクラスマッピングを非アクティブ化した場合:

        [If] [operating_system] [contains] [Linux] の条件にさらに [Class] [is] [Linux Server]。

        この場合、Linux Server クラスは入力されませんが、[If] [operating_system] [contains] [Linux] 条件は有効です。

    CMDB クラスおよび属性へのデータ列のマッピング

    ソースデータ列をマッピングする CMDB のターゲットクラスと属性を選択します。データ列を特定のターゲットクラスにマップすることも、特定のデータ値に応じてターゲットクラスが選択されるように条件を追加することもできます。

    始める前に

    必要なロール:cmdb_inst_admin

    このタスクについて

    マッピングするデータ列は、変換されていないソースデータ列、または変換されたデータ列のいずれかになります。たとえば、データ列をコンピュータークラスおよびソフトウェアパッケージクラスに統合するには、それらのクラスをターゲットクラスとして選択し、データ列をそれらのクラスの特定の属性にマップします。

    クラス、関係性、またはルックアップルールのマッピングを構成するときには、これらのアイテムは常に最初はアクティブとして設定されます。マッピングを非アクティブ化した結果の詳細については、「クラスマッピングの非アクティブ化」を参照してください。

    注:
    クラスを変更すると、そのクラスに既に設定されているマッピングに影響し、場合によってはそれらのマッピングが削除されます。クラスの変更を続行する前に、影響を受けるマッピングと影響の詳細が、[影響を受けるマッピング (Affected mappings)] ダイアログボックスに表示されます。ただし、これらの詳細は、変更が CMDB クラスから別の CMDB クラスへ、または非 CMDB クラスから別の非 CMDB クラスへの変更である場合にのみ表示されます。

    手順

    1. 移動先 すべて > 設定 > 統合ハブ ETLをクリックし、 統合の名前をクリックします
      統合ハブ ETL のランディングページには、ServiceNow Store からダウンロードされた統合を含む、システムに存在するすべての統合が一覧表示されます。
    2. ETL 変換マップアシスタントページのガイド付きセットアップの [データを CMDB にマップし、関係性を追加します] セクションで、[ソースデータをマップする CMDB クラスを選択してください] を選択します。
      プラットフォームで必須として設定されている属性が表示されるので、これらの各属性にデータ列をマッピングする必要があります。
    3. [クラスの追加] をクリックしてマッピング先のターゲットクラスを追加するか、[クラスの編集] をクリックしてクラスを編集します。
      1. [クラスの追加] ダイアログボックスで、CMDB クラスを選択します。
      2. [保存] をクリックします。
      3. オプション: クラスの [マッピングのアクティブ化/非アクティブ化 (Activate/Deactivate Mapping)] トグルスイッチをオンまたはオフに設定します。[影響を受けるクラスマッピング] ダイアログボックスが表示された場合は、影響を受けるクラスのリストを確認し、[続行] をクリックします。
        非 CMDB クラスを追加した場合、そのクラスは最初は非アクティブで、有効な関連クラスを追加するまで、[マッピングのアクティブ化/非アクティブ化 (Activate/Deactivate Mapping)] トグルスイッチが無効になります。
    4. [条件付きクラスを追加] をクリックしてから、[条件付きクラスを追加] ダイアログボックスで、データをさまざまなターゲットクラスにマップするために満たす必要がある条件を指定します。
      1. [コレクション] は、最下位の属性に関連付けられている階層内のデータ分岐に自動的に設定されます。データのマッピング元のデータ分岐の値を変更できます。このデータ分岐は、階層の同じデータ分岐より上位レベルにある必要があります。
      2. [条件] ドロップダウンリストで、データ値が満たす必要がある属性条件を選択するか、検索ボックスに「プラグイン」と入力してプラグイン条件を指定します。その後、どの条件にも一致しなかった残りのレコードを、さらに別のターゲットクラスにマップすることを指定できます。データレコードは、満たされた条件に従ってさまざまなターゲットクラスにマップされます。

        ネストされたデータを処理する場合、プレフィックスは属性アイテムのネストされた階層の最初のレベルを示します。

        注:
        非 CMDB クラスを選択した場合、そのクラスは最初は非アクティブで、アクティブな関連クラスを追加するまで、[マッピングのアクティブ化/非アクティブ化 (Activate/Deactivate Mapping)] トグルスイッチが無効になります。
      3. [保存] をクリックします。
      4. オプション: 条件付きクラスの [マッピングのアクティブ化/非アクティブ化 (Activate/Deactivate Mapping)] トグルスイッチをオンまたはオフに設定します。[影響を受けるクラスマッピング] ダイアログボックスが表示された場合は、影響を受けるクラスのリストを確認し、[続行] をクリックします。
      5. オプション: [クラスを編集] をクリックして、条件付きクラスの設定を編集します。[条件付きクラスを編集] ダイアログボックスで、クラスマッピングの [マッピングのアクティブ化/非アクティブ化 (Activate/Deactivate Mapping)] トグルスイッチをオンまたはオフに設定します。[保存] をクリックし、[影響を受けるクラスマッピング] ダイアログボックスが表示された場合は、影響を受けるクラスのリストを確認し、[続行] をクリックします。
        • 非アクティブ化されたクラスは統合の実行中に入力されませんが、これは関連付けられた条件には影響しません。「If」、「Else if」、または「Else」条件自体は、条件付きクラスの条件内で引き続き有効であり、一致する CI は条件に従ってフィルタリングされます。
        • 条件付きクラスのトグルスイッチは、条件付きクラス内のすべての条件付きクラスマッピングの状況のサマリーを反映します。条件付きクラスマッピングの少なくとも 1 つがアクティブになっている場合、条件付きクラスのトグルスイッチはアクティブとして表示されます。それ以外の場合、条件付きクラスのトグルスイッチは非アクティブとして表示されます。
    5. 非 CMDB クラスの場合は、[関連クラスを追加] をクリックして、非 CMDB クラスを CMDB クラスに関連付け、[マッピングのアクティブ化/非アクティブ化 (Activate/Deactivate Mapping)] トグルスイッチを有効にします。または、[関連クラスを編集] をクリックして、既に関連付けられているクラスを編集します。
      1. [関連クラスを追加] ダイアログボックスで、CMDB クラスを選択します。リストには、指定された非 CMDB テーブルの関連エントリ [cmdb_related_entry] クラスのすべてのエントリが含まれます (非アクティブ化されたクラスは含まれません)
      2. [追加] をクリックします。
      3. オプション: 関連クラスの [マッピングのアクティブ化/非アクティブ化 (Activate/Deactivate Mapping)] トグルスイッチをオンまたはオフに設定します。
        注:
        関連するクラスが追加されていないか、非アクティブ化されている場合、[マッピングのアクティブ化/非アクティブ化 (Activate/Deactivate Mapping)] トグルスイッチは無効になります。
    6. [マッピングを設定] をクリックして新しく追加されたクラスのマッピングを設定するか、[マッピングを編集] をクリックしてマッピングを編集します。
      1. マッピングするには、右側のデータサイドバーからマッピングページの左側の CMDB ターゲット属性にデータ列をドラッグします。[統合ハブ ETL で列を選択 (Select a column in 統合ハブ ETL)] アイコンをクリックし、マッピングのデータ列を選択します。
        ネストされたデータをマッピングする場合:
        • データサイドバーのデータ列は、ネストされたデータの構造を表すツリー形式で表示されます。各属性は、属性のサンプルデータに関連付けられています。
        • 変換された列は、シアンの影付きのドットで示されます。
        • 特定の CMDB クラスへのすべてのマッピングは、ネストされたデータの同じソース分岐からのものである必要があります。マッピングする最初の列の選択元の分岐のみが、後続のマッピングの列の選択に関して有効です。

          この制限は、ルックアップテーブルの属性にマッピングする場合とは異なる方法で適用されます。ルックアップテーブル内の属性へのすべてのマッピングも、同じソース分岐からのものである必要があります。ただし、そのソース分岐は、非ルックアップテーブルで使用したソース分岐とは異なっていてもかまいません。

          注:
          この制限を回避するには、データ準備ステップでコピー変換を使用して、親レベルから子レベルに属性をコピーします。マッピングするすべての属性が同じレベルになるようにデータを準備します。
        • データサイドバーからマップする列をドラッグすると、マッピングに有効な CMDB ターゲット属性のフィールドが緑色の枠でハイライトされます。無効なターゲット属性に列をドロップしようとすると、それぞれのフィールドが赤い枠でハイライトされ、エラーが表示されます。
      2. [属性を追加] をクリックします。次に、[属性を追加] ダイアログボックスの [属性] リストから、データをマッピングするターゲット属性として 1 つ以上のアイテムを選択します。リストの [IRE 設定] セクションまでスクロールダウンして、強力なインポートセットトランスフォーマープロパティのいずれかを選択することもできます。[保存] をクリックします。
        個々のアイテムレベルと IRE ペイロードレベルで定義された強力なインポートセットトランスフォーマープロパティの優先順位の詳細については、「強力なインポートセットトランスフォーマープロパティ」を参照してください。
      3. 「シリアル番号ルックアップ 1 (Serial Number Lookup 1)」ルールなどのルックアップルールをマッピングします。

        ルックアップルールは、それらをマッピングするまで非アクティブ状態になります。ルックアップルールの [フィルター] アイコンをクリックして、ルックアップフィルターを編集または追加します。[ルックアップフィルター] ダイアログボックスで、データをさまざまなターゲットクラスにマップするために満たす必要がある属性条件またはプラグイン条件を指定します。次に、[保存] をクリックします。

        ルックアップルールのフィールドをマッピングした後、ルールの [ルックアップルールのアクティブ化/非アクティブ化 (Activate/Deactivate Lookup rule)] トグルスイッチをオンまたはオフに設定できます。

      4. オプション: [クラスの詳細を表示] をクリックして、CI クラスマネージャー に現在のクラスを表示します。
      5. オプション: [データを変換] タブをクリックして、データ準備ページに移動し、そこでマッピングするデータを確認し、さらに変換することができます。
      6. [ソースデータをマップする CMDB クラスを選択してください] ページに戻ります。
    7. [完了としてマーク] をクリックします。

    リレーションシップの追加

    統合のために、ターゲット CMDB クラス間に存在する関係を追加します。

    始める前に

    • 関係に追加するクラスは、アクティブ化された状態である必要があります。
    • 編集する基本関係または条件付き関係内の関係は、アクティブ化された状態である必要があります。
    • 編集する条件付き関係内の関係内で、少なくとも 1 つの関係の条件がアクティブ化された状態である必要があります。そのようになっていない場合、[リレーションシップを編集] ボタンはグレー表示されます。

    必要なロール:cmdb_inst_admin

    このタスクについて

    ネストされたデータとの関係を作成する場合、ネストされたデータから兄弟オブジェクトへの関係を作成することはできません。ネストされたデータのサンプルペイロードを例として使用する場合、インターフェイスとソフトウェアの間に関係を作成することはできません。

    ITOM ヴィジビリティ (利用可能な場合) は、拡張ディスカバリーパターンを使用して CI 関係を特定し、ベースシステムの提案された関係テーブルに追加します。該当する場合は、[提案されたリレーションシップ] テーブルを使用して、共通サービスデータモデル (CSDM) 標準に準拠する関係を選択します。

    手順

    1. 移動先 すべて > 設定 > 統合ハブ ETLをクリックし、 統合の名前をクリックします
      統合ハブ ETL のランディングページには、ServiceNow Store からダウンロードされた統合を含む、システムに存在するすべての統合が一覧表示されます。
    2. ETL 変換マップアシスタントページのガイド付きセットアップの [データを CMDB にマップし、関係性を追加します] セクションで、[リレーションシップを追加] を選択します。
    3. 関係を追加するには、[リレーションシップを追加] を選択するか、関係を追加する前に満たす必要がある属性条件を指定する場合は、[条件付き関係を追加] を選択します。必要に応じて次のアクションを完了します。
      オプション説明
      関係性を追加
      1. [親][子]、および [関係タイプ] の値を選択します。
      2. [追加] をクリックします。
      条件付き関係を追加
      1. [フィールドを選択] リストで、データ値が満たす必要がある属性条件を選択します。
      2. [親][子]、および [関係タイプ] の値を選択します。
      3. [保存] をクリックします。

      ネストされたデータを処理する場合、プレフィックスは属性アイテムのネストされた階層の最初のレベルを示します。

      [関係タイプ] リストメニューは、選択した親クラスと子クラスに基づいて変わります。
      • 依存関係がある場合、リストは無効になり、関係タイプが自動的に入力されます。
      • 複数の依存関係がある場合、リストには包含とホスティングの両方の関係オプションが表示され、包含関係タイプが自動的に入力されます。
      • 依存関係がない場合、リストには、[提案されたリレーションシップ] が表示され、最初に提案された関係が自動的に選択され、その後にベースシステムの関係タイプが続きます。
      • 提案された関係がない場合、リストには、[提案されたリレーションシップはありません] が表示され、その後にベースシステムの関係タイプが続きます。
    4. [保存] をクリックして現在の変更を保存するか、[完了としてマーク] をクリックします。

      [保存] をクリックすると、ヘッダーにタイムスタンプが表示されます。タイムスタンプは、ETL 変換マップのIntegration Hub ETL セッションの間、そのまま表示されています。セッションに再度入るか、ETL マップを切り替えると、タイムスタンプが消えます。

    マッピング結果のプレビュー

    サンプル統合の結果をプレビューします。

    始める前に

    必要なロール:cmdb_inst_admin

    このタスクについて

    統合テストを実行し、サンプルデータ (デフォルトでは最大 100 レコード) の結果のサマリーを表示します。サマリーには、作成された関係、マッピングされたクラス、IRE が処理できなかった部分的なぺーロードおよび不完全なペイロードの合計数が含まれます。また、強力な変換エンジン (RTE) と識別調整エンジン (IRE) からの詳細なメッセージを表示することもできます。
    注:
    ほとんどの統合ハブ ETL ログメッセージ (RTE および IRE から) は情報を提供します。ただし、com.glide.import_set.importlog_level および glide.importlog.log_to_table システムプロパティが INFO ログメッセージを追加しないように設定されている場合でも、統合ハブ ETL は INFO ログメッセージをレンダリングします。これらのプロパティの詳細については、「インポートセットのプロパティ」を参照してください。

    サマリーページで詳細を表示した後、任意のステップに戻って調整を行い、統合を再実行できます。

    手順

    1. 移動先 すべて > 設定 > 統合ハブ ETLをクリックし、 統合の名前をクリックします
      統合ハブ ETL のランディングページには、ServiceNow Store からダウンロードされた統合を含む、システムに存在するすべての統合が一覧表示されます。
    2. ETL 変換マップアシスタントページのガイド付きセットアップの [サンプル統合結果のプレビューおよびインポートのスケジュール] セクションで、[テストとロールバックの統合結果] を選択します。
    3. [テストとロールバックの統合結果] ページで、[統合実行] をクリックします。
    4. サマリーページを表示し、さまざまなタブをクリックして、影響を受ける CMDB クラスの統合実行結果を確認します。プレビューアイコンを選択すると、CI フォームを開いて情報を表示できます。
      注:
      属性列の順序は、プラットフォームのクラスのデフォルトの列リストに従います。最初に、クラスのデフォルト列が左から右に表示され、その後に残りの属性列がアルファベット順に整理されます。たとえば、Computers クラスのデフォルトの列リストを表示するには、 すべて > 設定 > コンピューター.
    5. オプション: 任意のクラスのタブを選択し、[マッピングを編集] をクリックして、[ソースデータをマップする CMDB クラスを選択してください] ページに戻り、そこでマッピングの設定を確認して変更できます。
      注:
      [マッピングを編集] をクリックすると、この統合実行の結果として CMDB に加えられたすべての変更がロールバックされます。
    6. オプション: [関係] タブをクリックし、作成された関係を確認します。
    7. オプション: [リレーションシップを編集] をクリックして、[リレーションシップを追加] ページに戻り、そこで関係の構成を確認して変更できます。
      注:
      [リレーションシップを編集] をクリックすると、この統合実行の結果として CMDB に加えられたすべての変更がロールバックされます。
    8. [エラーログ] タブ、[アクティビティログ] タブ、または[警告ログ] タブをクリックすると、統合中に IRE および RTE によって記録されたそれぞれの詳細が表示されます。

      IRE ログレコードはカテゴリごとにグループ化され、さらにそれぞれのクラスごとに整理されます。IRE ログメッセージの場合、[メッセージ] 列には、生のログメッセージから抽出されたメッセージ自体のみが含まれます。[ログメッセージ] 列には、メッセージ自体に加えてクラスとカテゴリを含む完全なログメッセージが含まれます。RTE ログは [その他] カテゴリに表示されます。

      [詳細] 切り替えスイッチを使用して、[メッセージ] 列と [ログメッセージ] 列の表示モードを変更します。
      • 詳細オン:ログメッセージの完全に展開されたテキストを表示します。
      • 詳細オフ:ログメッセージの要約バージョンを表示します。メッセージをポイントすると、ログメッセージの完全に展開されたテキストが表示されます。
    9. 統合実行の IRE ペイロードの詳細については、[不完全ペイロード] タブと [部分的ペイロード] タブをクリックしてください。
    10. [完了としてマーク] を選択します。
      [ロールバックオプション] ダイアログボックスが表示され、次のいずれかのオプションを選択できます。
      • データを保持:この統合によって発生した CMDB に対するすべての変更が保持されます。
      • ロールバックを実行:この統合によって発生した CMDB に対するすべての変更はロールバックされ、CMDB は、統合を実行する前の状態に復元されます。

    統合スケジュールの提供

    この ETL 変換マップを使用して、CMDB にデータをインポートするスケジュールを設定します。

    始める前に

    必要なロール:cmdb_inst_admin

    手順

    1. 移動先 すべて > 設定 > 統合ハブ ETLをクリックし、 統合の名前をクリックします
      統合ハブ ETL のランディングページには、ServiceNow Store からダウンロードされた統合を含む、システムに存在するすべての統合が一覧表示されます。
    2. ETL 変換マップアシスタントページのガイド付きセットアップの [サンプル統合結果のプレビューおよびインポートのスケジュール] セクションで、[スケジュール済みインポートの設定] を選択します。
    3. [スケジュールを指定] ページで、[スケジュールを設定] をクリックします。
    4. [スケジュール設定済みデータインポート] リストビュー (新しいタブで開かれます) で、[新規] をクリックします。
    5. [スケジュール設定済みデータインポート] フォームに入力し、[送信] をクリックします。
      フォームフィールドの詳細については、「スケジュール設定済みデータインポート」を参照してください。
    6. [完了としてマーク] をクリックします。

    統合ハブ ETL の変換タイプ

    統合ハブ ETL のさまざまな変換を使用して、CMDB にマッピングするためのソースデータを変換して準備します。

    CMDB 共通統合ストアアプリからの変換は、統合ハブ ETL でも利用できます。

    連結

    入力フィールドの値を単一の文字列に組み合わせ、オプションの joining_string フィールドで結合します。

    詳細
    テーブル sys_rte_eb_concat_operation
    入力フィールド source_sys_rte_eb_fields
    出力フィールド target_sys_rte_eb_field
    追加フィールド joining_string (オプション)
    入力 「input_1」、「input_2」、「input_3」
    追加フィールド joining_string =「,」
    結果 「input_1、input_2、input_3」

    ブール値に変換

    受信した値をブール値に変換します。「true」と「1」の値は「true」 (大文字と小文字を区別しない) に変換され、その他の値は「false」に変換されます。

    詳細
    テーブル sys_rte_eb_to_boolean_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field
    例:
    • 次の入力はすべて「true」を返します。
      • true
      • 1
    • 次の入力はすべて「false」を返します。
      • 「input_1」
      • 「」
      • 0
      • 11

    日付に変換

    受信値に date_format を適用して、受信値の GlideDateTime 値への変換を試みます。date_format が正しくない場合、GlideDateTime を使用して直接変換を試みます。

    詳細
    テーブル sys_rte_eb_to_date_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field

    まったく解析できない場合は空の値を返します。

    追加フィールド date_format (Java 簡易日付形式)
    入力 「2018/09/20 11:21:00 a.m. EST」
    追加フィールド date_format =「yyyy/MM/dd hh:mm:ss a z」
    結果 「2018-09-20 16:21:00」
    入力 「2018/09/20 01:21:00 PM EST」
    追加フィールド date_format =「yyyy/MM/dd hh:mm:ss a z」
    結果 「2018-09-20 18:21:00」
    入力 「09/20/18」
    追加フィールド date_format =「yyyy/MM/dd hh:mm:ss a z」
    結果 「0018-09-20 00:00:00」

    数値に変換

    受信値を数値に変換します。

    詳細
    テーブル sys_rte_eb_to_numeric_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field

    受信値が数値以外の場合、出力は空です。

    入力 1.23
    結果 1.23
    入力 1.00
    結果 1
    入力 input_1
    結果 null
    入力 2
    結果 null

    コピー

    ソースフィールドの値をすべてのターゲットフィールドにコピーします。

    詳細
    テーブル sys_rte_eb_copy_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_fields
    追加フィールド overwrite_existing_value (オプション、ブーリアン):true の場合、ターゲットフィールドの値が置換されます。それ以外の場合、空でない値は上書きされません。

    最初の数値の抽出

    ソースフィールドで最初に見つかった数値になるようにターゲットフィールドを設定します。

    詳細
    テーブル sys_rte_eb_extract_numeric_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field
    追加フィールド
    • decimal_places (オプション、数字):指定した小数点以下の桁数が出力に含まれるように強制します。
    • remainder_target_field (オプション、フィールドへの参照):最初の数値を削除した後、ソースフィールドのトリミングされた残りの部分に設定します。
    入力 「100 mb」
    結果 「100」
    入力 「100.123 mb」
    結果 「100.123」
    入力 「100.123 mb」
    追加フィールド decimal_places = 2
    結果 「100.12」
    入力 「100 mb」
    追加フィールド decimal_places = 2
    結果 「100.00」
    入力 「100 mb」
    追加フィールド remainder_target_field = <フィールド>
    結果 「100」と <フィールド> = 「mb」

    Glide ルックアップ

    target_table でデータベースのルックアップを実行します。

    詳細
    テーブル sys_rte_eb_glide_lookup_operation
    入力フィールド source_sys_rte_eb_fields
    出力フィールド target_sys_rte_eb_fields
    追加フィールド
    • target_table
    • glide_matching_fields (文字列):ターゲットテーブルの列名のカンマ区切りリスト。source_sys_rte_eb_fields の入力フィールドごとに、glide_matching_fields に同じ数の値が存在している必要があります。
    • glide_target_fields (文字列):ターゲットテーブルの列名のカンマ区切りリスト。target_sys_rte_eb_fields のターゲットフィールドごとに、glide_target_fields に同じ数の値が存在している必要があります。
    入力
    • 入力フィールド 1:南チャールズ通り 100、バルチモア
    • 入力フィールド 2:MD
    追加フィールド
    • ターゲットフィールド:場所 (cmn_location)
    • Glide マッチングフィールド:通り、州
    • Glide ターゲットフィールド:sys_id
    結果 出力フィールド 1:25ab9c4d0a0a0bb300f7dabdc0ca7c1c

    最小/最大

    ターゲットフィールドを、すべての入力フィールドの値の最大値または最小値に設定します。

    詳細
    テーブル sys_rte_eb_min_max_operation
    入力フィールド source_sys_rte_eb_fields
    出力フィールド target_sys_rte_eb_field
    追加フィールド
    • data_type (選択リスト <STRING,NUMERIC,DATE>)
    • min_max (選択リスト <MIN,MAX>)
    入力 「2」、「-1」、「0」
    追加フィールド
    • data_type = NUMERIC
    • min_max = MAX
    結果 「2」
    入力 「a」、「b」
    追加フィールド
    • data_type = STRING
    • min_max = MAX
    結果 「b」
    入力 「2」、「-1」、「0」
    追加フィールド
    • data_type = NUMERIC
    • min_max = MIN
    結果 「-1」
    入力 「a」、「b」
    追加フィールド
    • data_type = STRING
    • min_max = MIN
    結果 「a」

    複数入力スクリプト

    複数の入力があるスクリプトを実行し、そのスクリプトの target_field == 出力を設定します。

    各ソースフィールドは、「batch」変数内で JavaScript フィールドとして使用できます。JavaScript フィールドの名前は、エンティティフィールドのフィールド属性です (sys_rte_eb_field.field ではなく sys_rte_eb_field.name を参照します)。

    詳細
    テーブル sys_rte_eb_multi_in_script_operation
    入力フィールド source_sys_rte_eb_fields
    出力フィールド target_sys_rte_eb_field
    追加フィールド
    • script (スクリプト)
    • use_unique_input_sets (ブーリアン):true の場合、一意の入力値のみが IRE 処理のデータバッチに含まれます。それ以外の場合は、すべての入力オブジェクトのフィールド値が含まれます。
    入力として record_typeoperating_system を取り、record_with_os を返すスクリプト関数で use_unique_input_sets を使用する例:
    表 : 2. 入力データ
    レコード record_type operating_system record_with_os
    1 コンピューター Windows XP
    2 コンピューター Linux
    3 コンピューター Windows XP
    use_unique_inputs_setstrue に設定されている場合、スクリプトは 2 つの値のみを処理します (コンピューター + Windows XP およびコンピューター + Linux)。use_unique_inputs_setsfalse に設定されている場合、3 つの値はそれぞれ個別に処理されます (コンピューター + Windows XP、コンピューター + Linux、コンピューター + Windows XP)。
    サンプル スクリプト:
                (function(batch, output) { 
                    for (var i = 0; i < batch.length; i++) { 
                            // batch[i] is the unique set of inputs/individual record 
                            // batch[i].<field> gives access to the field value 
                            var in0 = gs.nil(batch[i].record_type) ? '' : batch[i].record_type;
                            var in1 = gs.nil(batch[i].operating_system) ? '' : batch[i].operating_system;
                            // output[i] is the output for the specific combination of inputs/individual record 
                            output[i] = in0 + "_" + in1; 
                        } 
                    } 
                })(batch, output);
    サンプル スクリプト:
                /* Example Script
                 // In this example the script input fields are 'input_field_1', 'input_field_2' - replace these with the fields used as script inputs // There is a static field 'input' that has all the input field values concatenated with a '|' (function(batch, output) {
                     for (var i = 0; i < batch.length; i++) {
               
                         //step1: access the input variables
                         var a = batch[i].input_field_1; //Value of the first source field.
                         var b = batch[i].input_field_2; //Value of the second source field.
                 
                         //step2: Your script/code goes here.
                         var c = a + b;
               
                         //step3: set the output for each elements
                         output[i] = b;
                     }
               
                 })(batch, output);
                */

    Rexeg 置換

    指定された match_regex に一致する受信文字列の各サブ文字列を、指定された replacement_regex 文字列値で置き換えます。

    詳細
    テーブル sys_rte_eb_regex_replace_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field
    追加フィールド
    • match_regex (文字列、正規表現)
    • replacement_regex (文字列)
    入力 「String&With(Special)$Characters」
    追加フィールド
    • match_regex =「[^0-9a-zA-Z]+」
    • replacement_regex =「 」
    結果 「特殊文字を含む文字列」

    置換

    指定された match_string に一致する受信文字列の各サブ文字列を、replacement_string 文字列値で置き換えます。

    詳細
    テーブル sys_rte_eb_replace_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field
    追加フィールド
    • match_string (文字列)
    • replacement_string (文字列)
    入力 「元の文字列」
    追加フィールド
    • match_string =「元の文字列」
    • replacement_string =「置換文字列」
    結果 「置換文字列」

    数値を丸める

    数字を四捨五入して最も近い整数にします。数値以外の値は切り捨てられます。

    詳細
    テーブル sys_rte_eb_round_dumeric_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field
    入力 「1.5」
    結果 「2」
    入力 「1.4」
    結果 「1」
    入力 「文字列です」
    結果 「」

    スクリプト

    入力があるスクリプトを実行し、そのスクリプトの target_field == 出力を設定します。

    この変換は複数入力スクリプト変換に置き換えられ、既存の構成との下位互換性のために含まれています。

    詳細
    テーブル sys_rte_eb_script_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field
    追加フィールド
    • script (スクリプト)
    • use_unique_input_sets (ブーリアン):true の場合、一意の入力値のみが IRE 処理のデータバッチに含まれます。それ以外の場合は、すべての入力オブジェクトのフィールド値が含まれます。例と詳細については、「複数入力スクリプト変換」を参照してください。
    ソースフィールドは、JavaScript フィールド「input」として「batch」変数に含まれています。
              (function(batch, output) { 
                    for (var i = 0; i < batch.length; i++) { 
                            // batch[i] is the unique set of inputs/individual record 
                            // batch[i].input gives access to the field value 
                            var in0 = gs.nil(batch[i].input) ? '' : batch[i].input; 
                            // output[i] is the output for the specific combination of inputs/individual record 
                            output[i] = in0 + " modified by script”; 
                        } 
                    } 
                })(batch, output); 
    例:
    /* Example Script
     (function(batch, output) {
         for (var i = 0; i < batch.length; i++) {
             //step1: access the input variables
             var a = batch[i].input; //Value of the source field.
     
             //step2: Your script/code goes here.
             var b = a + 1;
             //step3: set the output for each elements
             output[i] = b;
         }
     })(batch, output);
    */ 

    セット

    ターゲットフィールドの値を set_value で指定された文字列に設定します。

    詳細
    テーブル sys_rte_eb_set_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field
    追加フィールド
    • set_value (文字列)
    • overwrite_existing_value (オプション、ブーリアン):true の場合、ターゲットフィールドの現在の値が上書きされます。それ以外の場合、空でない値は置き換えられません。

    スプリット

    splitting_string のソースフィールドの値を分割し、分割の結果の各アイテムを target_sys_rte_eb_fields に順番に割り当てます。

    詳細
    テーブル sys_rte_eb_split_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_fields
    追加フィールド splitting_string (文字列)
    入力 target_sys_rte_eb_fields {target1,target2,target3} に対する「value1||value2||value3」
    追加フィールド splitting_string =「||」
    結果 target1:value1、target2:value2、target3:value3
    入力 target_sys_rte_eb_fields {target1} に対する「value1||value2||value3」
    追加フィールド splitting_string =「||」
    結果 target1:value1
    入力 target_sys_rte_eb_fields {target1,target2,target3} に対する「value1」
    追加フィールド splitting_string =「||」
    結果 target1:value1、target2:<null>、target3:<null>

    トリミング

    source_sys_rte_eb_field 値から先頭と末尾の空白を削除し、結果を target_sys_rte_eb_field に割り当てます。この変換は、Java String.trim() と同等です。

    詳細
    テーブル sys_rte_eb_trim_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field
    入力 「value 1」
    結果 「value 1」

    大文字

    source_sys_rte_eb_field 値を大文字にして、結果を target_sys_rte_eb_field に割り当てます。

    詳細
    テーブル sys_rte_eb_upper_case_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field
    入力 「value1」
    結果 「VALUE1」

    大文字トリミング

    大文字変換とトリミング変換の両方を組み合わせます。

    詳細
    テーブル sys_rte_eb_upper_case_trim_operation
    入力フィールド source_sys_rte_eb_field
    出力フィールド target_sys_rte_eb_field
    入力 「value1」
    結果 「VALUE1」