I want to generate pdf of t a RITM variables

Juhi Jha
Tera Contributor

I want to generate pdf of t a RITM variables 

1 ACCEPTED SOLUTION

Hi,

you can add extra line to download it

var ritmSysId = current.sys_id;
var set = new GlideappVariablePoolQuestionSet();
set.setRequestID(ritmSysId);
set.load();
var vs = set.getFlatQuestions();

var valuesArray = [];

var csvHeader = [];

for(var i=0;i<vs.size();i++){

	var variableLabel = vs.get(i).getLabel();

	csvHeader.push(variableLabel.toString());

	var variableValue = vs.get(i).getDisplayValue();

	valuesArray.push(variableValue.toString());

}

var csvHeaderRow = csvHeader.toString();
var valueRow = valuesArray.toString();
var sa = new GlideSysAttachment();

var document = csvHeaderRow + "\n" + valueRow;

var ritmRec = new GlideRecord('sc_req_item');
ritmRec.get(ritmSysId);

var sysId = sa.write(ritmRec, "catalog_variables.csv", "text/csv", document);

action.setRedirectURL('/sys_attachment.do?sys_id=' + sysId);

Regards
Ankur

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

View solution in original post

17 REPLIES 17

I don't have the script handy

you need to have custom solution for that.

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

 

I have created a business rule on after insert but how to configure this in UI action

Script:  

(function executeRule(current, previous /*null when async*/) {

var ritmSysId = current.sys_id;
var set = new GlideappVariablePoolQuestionSet();
set.setRequestID(ritmSysId);
set.load();
var vs = set.getFlatQuestions();

var valuesArray = [];

var csvHeader = [];

for(var i=0;i<vs.size();i++){

var variableLabel = vs.get(i).getLabel();

csvHeader.push(variableLabel.toString());

var variableValue = vs.get(i).getDisplayValue();

valuesArray.push(variableValue.toString());

}

var csvHeaderRow = csvHeader.toString();
var valueRow = valuesArray.toString();
var sa = new GlideSysAttachment();

var document = csvHeaderRow + "\n" + valueRow;

var ritmRec = new GlideRecord('sc_req_item');
ritmRec.get(ritmSysId);

sa.write(ritmRec, "catalog_variables.csv", "text/csv", document);
gs.log('juhi'+sa);

})(current, previous);

Hi,

just make the UI action as server side and add this code

var ritmSysId = current.sys_id;
var set = new GlideappVariablePoolQuestionSet();
set.setRequestID(ritmSysId);
set.load();
var vs = set.getFlatQuestions();

var valuesArray = [];

var csvHeader = [];

for(var i=0;i<vs.size();i++){

	var variableLabel = vs.get(i).getLabel();

	csvHeader.push(variableLabel.toString());

	var variableValue = vs.get(i).getDisplayValue();

	valuesArray.push(variableValue.toString());

}

var csvHeaderRow = csvHeader.toString();
var valueRow = valuesArray.toString();
var sa = new GlideSysAttachment();

var document = csvHeaderRow + "\n" + valueRow;

var ritmRec = new GlideRecord('sc_req_item');
ritmRec.get(ritmSysId);

sa.write(ritmRec, "catalog_variables.csv", "text/csv", document);

action.setRedirectURL(current);

Regards
Ankur

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

but it's attaching a csv file on RITM table i want that after clicking the button the it should download the csv file 

Hi,

you can add extra line to download it

var ritmSysId = current.sys_id;
var set = new GlideappVariablePoolQuestionSet();
set.setRequestID(ritmSysId);
set.load();
var vs = set.getFlatQuestions();

var valuesArray = [];

var csvHeader = [];

for(var i=0;i<vs.size();i++){

	var variableLabel = vs.get(i).getLabel();

	csvHeader.push(variableLabel.toString());

	var variableValue = vs.get(i).getDisplayValue();

	valuesArray.push(variableValue.toString());

}

var csvHeaderRow = csvHeader.toString();
var valueRow = valuesArray.toString();
var sa = new GlideSysAttachment();

var document = csvHeaderRow + "\n" + valueRow;

var ritmRec = new GlideRecord('sc_req_item');
ritmRec.get(ritmSysId);

var sysId = sa.write(ritmRec, "catalog_variables.csv", "text/csv", document);

action.setRedirectURL('/sys_attachment.do?sys_id=' + sysId);

Regards
Ankur

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