Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Abort the scheduled data import through Pre-script script.

ankit19
Tera Contributor

I need to abort the scheduled data import from Excel, based on checking headers of imported Excel sheet.

From Below script I'm able to get the headers name in system logs but cannot find a funtion which I can call inside the if(header1 != 'Allocation Logic') to abort the import submission.

 

ankit19_1-1683121805024.png

 

 

25 REPLIES 25

Hi @Sagar Pagar ,

PFB SS and Code aswell.

 

var gr = new GlideRecord("sys_attachment");
gr.addQuery("table_sys_id",'f7ed9ac61b84555041abdb12f54bcb76');
gr.query();
if (gr.next()) {

var parser = new sn_impex.GlideExcelParser();
var attachment = new GlideSysAttachment();
var attachmentStream = attachment.getContentStream(gr.sys_id.toString());
parser.parse(attachmentStream);
var headers = parser.getColumnHeaders();
// gs.addInfoMessage("ca" +headers.toString());
var header1 = headers[0];
// gs.info("headers from sheet" + headers.toString());
// gs.info("headers from sheet header1" + header1);
if(header1 == 'Allocation Logic'){
gs.info("headers from sheet header2" + header1);
cancel = true;
}
}

 

ankit19_0-1683131815136.png

 

Have you tried placing the variable containing the decision on the very last line (to be executed)?

E.g:

var cancel = false;
var gr = new GlideRecord("sys_attachment");
gr.addQuery("table_sys_id", 'f7ed9ac61b84555041abdb12f54bcb76');
gr.query();
if (gr.next()) {
	var parser = new sn_impex.GlideExcelParser();
	var attachment = new GlideSysAttachment();
	var attachmentStream = attachment.getContentStream(gr.sys_id.toString());
	parser.parse(attachmentStream);
	var headers = parser.getColumnHeaders();
	// gs.addInfoMessage("ca" +headers.toString());
	var header1 = headers[0];
	// gs.info("headers from sheet" + headers.toString());
	// gs.info("headers from sheet header1" + header1);
	if (header1 == 'Allocation Logic') {
		gs.info("headers from sheet header2" + header1);
		cancel = true;
	}
}

!cancel;

-O-
Kilo Patron

Chuch T. says this is mentioned somewhere in the docs.

ankit19
Tera Contributor

Hi @-O- This is still not working.

@ankit19 

check my latest response

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader