変換イベントスクリプトを使用したマップ

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:12分
  • 変換イベントは、インポートセットテーブルをテーブルに変換するプロセス中に発生します。

    これらのイベントは、任意のタイプのマッピング仕様からの変換動作を変更します。変換イベントスクリプトは、変換のさまざまなステージでイベントの処理を変更します。

    たとえば、マッピング支援ユーティリティを使用して定義されたマッピング操作の処理は、イベントスクリプトを使用して操作できます。これらのイベント中にアクセスできるインポートセット JavaScript オブジェクトは多数あります。これらのオブジェクトは、テーブルまたはテーブルの一部を表します。これらのオブジェクトの参照先は、参照先のイベントのコンテキストによって異なることに注意してください。

    すべての変換イベントとそのコンテキスト変数のテーブルを次に示します。
    注:
    インポートログを表示するには、glide.importlog.log_to_table プロパティを true に設定します。詳細については、「インポートセットのプロパティ」を参照してください。
    表 : 1. 変換イベントとそのコンテキスト変数
    イベント名 イベントパラメーター
    onStart

    タイミング:onStart イベントスクリプトは、データ行が読み取られる前に、インポート実行の開始時に処理されます。

    表 : 2. 参照可能なインポートセット JS オブジェクトと onStart イベントでのそれらのコンテキスト
    インポートセット JS オブジェクト タイプ onStart インポートセットイベントのコンテキスト
    source GlideRecord ソーステーブルの最初の行は読み取られていないため、まだデータがありません。
    import_set GlideRecord 現在変換中のインポートセット。
    map GlideTransformMap 現在の変換マップレコードに関する読み取り専用の情報。
    log 関数 現在のインポート実行のログオブジェクト。例:log.info(...)、log.warn(...)、log.error(...)。
    注:
    インポートログを表示するには、glide.importlog.log_to_table プロパティを true に設定します。詳細については、「インポートセットのプロパティ」を参照してください。
    無視 ブーリアン true に設定すると、変換全体が停止し、それ以上の処理は行われません。
    error ブーリアン true に設定すると、変換全体を停止する ignore フラグと同じ効果があり、エラーメッセージが表示されます。

    例:

    var info = "Starting Import Set Transformation Mapping operation using Data source, " 
    + map.table_source + " and Transform Map " + map.name + " on import set " + import_set.number;
    log.info( info ); 
    
    onComplete

    タイミング:onComplete イベントスクリプトは、すべてのデータ行が読み取られて変換された後、インポート実行の最後に処理されます。

    表 : 3. 参照可能なインポートセット JS オブジェクトと onComplete イベントでのそれらのコンテキスト
    インポートセット JS オブジェクト タイプ onComplete インポートセットイベントのコンテキスト
    source GlideRecord ソースインポートセットテーブルの最後の行。
    target GlideRecord ターゲットテーブルの最後の行。
    import_set GlideRecord 現在変換中のインポートセット。
    map GlideTransformMap 現在の変換マップレコードに関する読み取り専用の情報。
    log 関数 現在のインポート実行のログオブジェクト。例:log.info(...)、log.warn(...)、log.error(...)。
    注:
    インポートログを表示するには、glide.importlog.log_to_table プロパティを true に設定します。詳細については、「インポートセットのプロパティ」を参照してください。
    エラー ブーリアン true に設定すると、完了後に現在のインポートセットステータスがエラーにマークされます。

    例:

    // Create a myimport_completed event that can be reacted by an email notification or script action
    // (there is already an import.finished event that the system will create at the end of an import)
    var e = new GlideEvent("myimport_completed", import_set.sys_id, map.sys_id, "");
    e.insert();
    onBefore

    タイミング:onBefore イベントスクリプトは、ソース行がターゲット行に変換される前に、行変換の開始時に処理されます。

    表 : 4. 参照可能なインポートセット JS オブジェクトと onBefore イベントでのそれらのコンテキスト
    インポートセット JS オブジェクト タイプ onBefore インポートセットイベントのコンテキスト
    source GlideRecord 現在処理中のソーステーブルの行。
    target GlideRecord 現在処理中のターゲットテーブルの行。
    import_set GlideRecord 現在変換中のインポートセット。
    map GlideTransformMap 現在の変換マップレコードに関する読み取り専用の情報。
    log 関数 現在のインポート実行のログオブジェクト。例:log.info(...)、log.warn(...)、log.error(...)。
    注:
    インポートログを表示するには、glide.importlog.log_to_table プロパティを true に設定します。詳細については、「インポートセットのプロパティ」を参照してください。
    アクション 文字列 アクションは、現在のターゲット行が作成または更新されようとしているかを示す「insert」または「update」のいずれかの値を返します。
    ignore ブーリアン true に設定すると、現在の行の変換はスキップされ、残りの行が処理されます。

    onAfter スクリプトを定義した場合、ignore フラグが true に設定されていても、現在の行に対して onAfter スクリプトが実行されます。

    status_message 文字列 <status_message> XML 応答で送信されるカスタムメッセージを定義します。
    error ブーリアン true に設定すると、現在のインポートセットの変換全体が停止し、エラーメッセージが表示されます。
    error_message 文字列 <error_message> XML 応答で送信されるカスタムメッセージを定義します。

    例:

    var name = source.u_name.toString();
    var info = "Before the row is transformed, " + name;
    log.info( info ); 
     
    // Make sure a company name has been provided
    var company = source.u_company.toString();
    if(company.length == 0 ){
    	ignore = true;
    	info ="No company name, row ignored! " + name;
    	log.info( info );
    }
    onAfter

    タイミング:onAfter イベントスクリプトは、ソース行がターゲット行に変換されて保存された後、行変換の最後に処理されます。

    表 : 5. 参照可能なインポートセット JS オブジェクトと onAfter イベントでのそれらのコンテキスト
    インポートセット JS オブジェクト タイプ onAfter インポートセットイベントのコンテキスト
    source GlideRecord 現在処理中のソーステーブルの行。
    target GlideRecord 現在処理中のターゲットテーブルの行。
    import_set GlideRecord 現在変換中のインポートセット。
    map GlideTransformMap 現在の変換マップレコードに関する読み取り専用の情報。
    log 関数 現在のインポート実行のログオブジェクト。例:log.info(...)、log.warn(...)、log.error(...)。
    注:
    インポートログを表示するには、glide.importlog.log_to_table プロパティを true に設定します。詳細については、「インポートセットのプロパティ」を参照してください。
    アクション 文字列 アクションは、現在のターゲット行が作成されたか更新されたかを示す「insert」または「update」のいずれかの値を返します。
    status_message 文字列 <status_message> XML 応答で送信されるカスタムメッセージを定義します。
    error ブーリアン true に設定すると、現在のインポートセットの変換全体が停止し、エラーメッセージが表示されます。
    error_message 文字列 <error_message> XML 応答で送信されるカスタムメッセージを定義します。

    例:

    if(source.new=="true"){
      gs.include('Cart');var bundle =new GlideRecord('sc_cat_item');
      bundle.addQuery('name','CONTAINS','comp');
      bundle.query();
      if(bundle.next()){
         var new_comp_cart = new Cart();
         var cart = new Cart();
         var item = cart.addItem(bundle);
         var rc = cart.placeOrder();
         log.info(rc.number);}}
    onForeignInsert

    タイミング:onForeignInsert イベントスクリプトは、レコードが作成される前に、関連する参照レコードの作成開始時に処理されます。

    表 : 6. 参照可能なインポートセット JS オブジェクトと onForeignInsert イベントでのそれらのコンテキスト
    インポートセット JS オブジェクト タイプ onForeignInsert インポートセットイベントのコンテキスト
    source GlideRecord 現在処理中のソーステーブルの行。
    target GlideRecord 現在処理中のターゲットテーブルの行。
    map GlideTransformMap 現在の変換マップレコードに関する読み取り専用の情報。
    log 関数 現在のインポート実行のログオブジェクト。例:log.info(...)、log.warn(...)、log.error(...)。
    注:
    インポートログを表示するには、glide.importlog.log_to_table プロパティを true に設定します。詳細については、「インポートセットのプロパティ」を参照してください。
    アクション 文字列 アクションは、現在のターゲット行が作成または更新されようとしているかを示す「insert」または「update」のいずれかの値を返します。
    name 文字列 作成されようとしている外部レコードのターゲットレコードのフィールド名になります。
    value 文字列 外部レコードが作成されようとしているソースレコードからの表示値になります。
    ignore ブーリアン true に設定すると、新しい外部レコードまたは関連レコードの作成が無視されます。
    error ブーリアン true に設定すると、変換行全体が却下され、この行のデータは保存されません。

    例:

    //Create an event.
    var e = new GlideEvent("myimport_ForeignInsert", action, name, "");
    e.insert();
    onChoiceCreate

    タイミング:onChoiceCreate イベントスクリプトは、新しい選択値が作成される前に、選択値の作成の開始時に処理されます。

    表 : 7. 参照可能なインポートセット JS オブジェクトと onChoiceCreate イベントでのそれらのコンテキスト
    インポートセット JS オブジェクト タイプ onChoiceCreate インポートセットイベントのコンテキスト
    source GlideRecord 現在処理中のソーステーブルの行。
    target GlideRecord 現在処理中のターゲットテーブルの行。
    map GlideTransformMap 現在の変換マップレコードに関する読み取り専用の情報。
    log 関数 現在のインポート実行のログオブジェクト。例:log.info(...)、log.warn(...)、log.error(...)。
    注:
    インポートログを表示するには、glide.importlog.log_to_table プロパティを true に設定します。詳細については、「インポートセットのプロパティ」を参照してください。
    アクション 文字列 アクションは、現在のターゲット行が作成または更新されようとしているかを示す「insert」または「update」のいずれかの値を返します。
    name 文字列 選択値が作成されようとしているターゲットレコードのフィールド名になります。
    value 文字列 選択肢が作成されようとしているソースレコードの表示値になります。
    ignore ブーリアン true に設定すると、選択値の作成が無視されます。
    error ブーリアン true に設定すると、変換行全体が却下され、この行のデータは保存されません。

    例:

    //Create an event
    var e = new GlideEvent("myimport_ChoiceCreate", action, value, "");
    e.insert();
    onReject

    外部レコードまたは選択肢の作成中に onReject イベントスクリプトが処理され、外部レコードまたは選択肢が却下された場合、変換行全体は保存されません。

    表 : 8. 参照可能なインポートセット JS オブジェクトと onError イベントでのそれらのコンテキスト
    インポートセット JS オブジェクト タイプ onError インポートセットイベントのコンテキスト
    source GlideRecord 現在処理中のソーステーブルの行。
    target GlideRecord 現在処理中のターゲットテーブルの行。
    map GlideTransformMap 現在の変換マップレコードに関する読み取り専用の情報。
    action 文字列 アクションは、現在のターゲット行が作成または更新されようとしているかを示す「insert」または「update」のいずれかの値を返します。
    log 関数 現在のインポート実行のログオブジェクト。例:log.info(...)、log.warn(...)、log.error(...)。
    注:
    インポートログを表示するには、glide.importlog.log_to_table プロパティを true に設定します。詳細については、「インポートセットのプロパティ」を参照してください。
    例:
    //Create an event
    var e = new GlideEvent("myimport_onReject", action, "", "");
    e.insert();