Name

global.UCFTransformerBase

Description

No description available

Script

var UCFTransformerBase = Class.create();
UCFTransformerBase.prototype = {
  initialize: function() {
  },
  
  createImportSet: function(rec) {
  	return this._createImportSet(rec);
  },
  
  runTransformMap: function(importSetRowRec) {
  	return this._runTransformMap(importSetRowRec);
  },
  
  clearTable: function(tableName, hasQuery) {
  	return this._clearTable(tableName, hasQuery);
  },
  
  _createImportSet: function(rec) {
  	this._setImportSetSysId(rec);
  	this._setImportSetRow(rec);
  },
  
  _setImportSetSysId: function(rec) {
  	var it = new GlideImportSet(rec.getTableName());
  	it.setSynchronous(false);
  	rec.sys_import_set = it.create();
  },
  
  // set the import set row number if it is blank
  _setImportSetRow: function(rec) {
  	if (!rec.sys_import_row.nil()) {
  		return;
  	}

  	var rgr = new GlideRecord(rec.getTableName());
  	rgr.orderByDesc("sys_import_row");
  	rgr.setLimit(1);

  	rgr.query();
  	
  	if (rgr.next())
  		rec.sys_import_row = rgr.sys_import_row + 1;
  	else
  		rec.sys_import_row = 0;
  	rec.update();
  },
  
  _runTransformMap: function(importSetRowRec) {
  	var importSetGr = new GlideRecord("sys_import_set");
      importSetGr.get(importSetRowRec.sys_import_set + '');
      var ist = new GlideImportSetTransformer();
  	ist.setSyncImport(true);
      ist.transformAllMaps(importSetGr);
      return !ist.isError();
  },
  
  _clearTable: function (tableName, hasQuery) {
  	var dbDel = new GlideDBDelete(tableName);
  	dbDel.setMultiple(true);
  	var dbq = new GlideDBQuery(tableName);
  	if (hasQuery)
  		dbq.addQuery('status', '!=', 'error');
  	dbDel.setQuery(dbq);
  	dbDel.execute();

  	dbDel.close();
  	dbq.close();		
  },

  type: 'UCFTransformerBase'
};

Sys ID

76bde504d7302200bbc783e80e6103eb

Offical Documentation

Official Docs: