Custom action to load import set records and complete the transform
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
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);
