- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-01-2016 10:04 AM
Hi All,
We have a datasource set up which runs and create new ISET num on daily basis in import set table.
Is there a way I can query the import set table to get the latest one created by my datasource and then transform the data to a existing SNOW table?
Can someone please help with how to script this may b using an UI Action?
Thanks
Subhara
Solved! Go to Solution.
- Labels:
-
Integrations
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-03-2016 06:23 AM
Please re-review my Consumerize data load blog entry. My code includes updating the import set rows with the task number after processing the data source and before running the transform:
// Process excel file
var loader = new GlideImportSetLoader();
var importSetRec = loader.getImportSetGr(current);
var ranload = loader.loadImportSetTable(importSetRec, current);
importSetRec.state = "loaded";
importSetRec.update();
// Update processed rows with task sys_id
var importSetRow = new GlideRecord(importSetTableName);
importSetRow.addQuery("sys_import_set", importSetRec.sys_id);
importSetRow.query();
while (importSetRow.next()) {
importSetRow[importSetTaskIDFieldName] = producer.task_number;
importSetRow.update();
}
// Transform import set
var transformWorker = new GlideImportSetTransformerWorker(importSetRec.sys_id, transformMapID);
transformWorker.setBackground(true);
transformWorker.start();
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-01-2016 12:46 PM
I did go though your blog "
"Consumerize" Data Imports to Non-ServiceNow Administrators
I want a similar functioanlity where we wil pick up data from importsets and then transform it. I took guidance from your script and wrote this Ui Action. The data that it fetch for final transform is fine and the transform is also running just that it inserts blank records in task_ci table for CI and Task fields. Can you please give a little guidance where I could have one wrong?
This is the UI Action I wrote. The trasform map isnt running.
var datasource = new GlideRecord('sys_data_source');
datasource.addQuery('name','cmdb_ci (7)');
datasource.query();
while(datasource.next())
{
gs.addInfoMessage("This" +datasource.name);
var importset = new GlideRecord('sys_import_set');
importset.addQuery('data_source',datasource.sys_id);
importset.orderByDesc('sys_created_on');
importset.query();
if(importset.next())
{
gs.addInfoMessage(datasource.name);
var importset_num = importset.number;
gs.addInfoMessage(importset_num);
var t = new GlideImportSetTransformerWorker(importset_num.sys_id,'d77ae7234f022200658b22d18110c71f' );//transformMap.sys_id);
t.setBackground(true);
t.start();
}
}
Thanks
Subhara

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-02-2016 07:25 PM
Change the line " var t = new GlideImportSetTransformerWorker(importset_num.sys_id,'d77ae7234f022200658b22d18110c71f' );//transformMap.sys_id);" tp
" var t = new GlideImportSetTransformerWorker(importset.sys_id,'d77ae7234f022200658b22d18110c71f' );//transformMap.sys_id);"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-02-2016 09:17 PM
Hi Abhinay,
My transform map was wrong so it was inserting blank rows. I correced it and now it inserts the CI in task_ci table but task field is blank becuase my transform map dont have any value for that.
Can i capture the value somewhere and store it in Task field???
Please help me .. where i am going wrong
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-03-2016 06:23 AM
Please re-review my Consumerize data load blog entry. My code includes updating the import set rows with the task number after processing the data source and before running the transform:
// Process excel file
var loader = new GlideImportSetLoader();
var importSetRec = loader.getImportSetGr(current);
var ranload = loader.loadImportSetTable(importSetRec, current);
importSetRec.state = "loaded";
importSetRec.update();
// Update processed rows with task sys_id
var importSetRow = new GlideRecord(importSetTableName);
importSetRow.addQuery("sys_import_set", importSetRec.sys_id);
importSetRow.query();
while (importSetRow.next()) {
importSetRow[importSetTaskIDFieldName] = producer.task_number;
importSetRow.update();
}
// Transform import set
var transformWorker = new GlideImportSetTransformerWorker(importSetRec.sys_id, transformMapID);
transformWorker.setBackground(true);
transformWorker.start();