Custom action to load import set records and complete the transform

MercBuilding
Tera Guru

Hi,

  We have created a custom action to load the data and complete the transform map. We would like to return number of rows processed, inserted and updated but the script is not working as expected. Can someone point me where iam going wrong? I even tried GlideRecord of sys_import_set_run_list but still its not working.

 

(function execute(inputs, outputs) {

  // 1. Load the Data Source record

  var ds = new GlideRecord('sys_data_source');

  if (!ds.get(inputs.dataSourceSysId)) {

    outputs.status = 'ERROR: Data Source not found';

    return;

  }

  // 2. Initialize the loader and get/import-set record

  var loader = new GlideImportSetLoader();

  var impSetGR = loader.getImportSetGr(ds);

  if (!impSetGR || !impSetGR.sys_id) {

    outputs.status = 'ERROR: Could not initialize Import Set';

    return;

  }

  // 3. Load file into import-set table

  //    Signature: loadImportSetTable(GlideRecord importSetRec, GlideRecord dataSourceRec)

  loader.loadImportSetTable(impSetGR, ds);

  impSetGR.state = 'loaded';

  impSetGR.update();

  // 4. Run all transform maps on this import-set

  var transformer = new GlideImportSetTransformer();

  transformer.transformAllMaps(impSetGR);

  // 5. Grab the Import Set Run and summarize results

  var run = transformer.getImportSetRun();

  if (!run) {

    outputs.status = 'ERROR: Transform did not execute';

    return;

  }

  outputs.status          = 'SUCCESS';

  outputs.import_set_id   =impSetGR.number;

  //impSetGR.getUniqueValue();

  outputs.rows_processed  =run.getRowCount();

  outputs.rows_inserted   = run.getInsertCount();

  outputs.rows_updated    = run.getUpdateCount();

  outputs.rows_errors     = run.getErrorCount();

})(inputs, outputs);

0 REPLIES 0