How to Print Catalog Questions/Variables on RITM Email Notification

TStark
Kilo Sage

I'm having an issue on printing Catalog Questions/Variables on a RITM Email Notification? I was able to create a Mail Script with the script below to print on REQ email notifications but with this script nothing prints for a RITM email notification. 

 ==============SCRIPT================

(function runMailScript( /* GlideRecord */ current, /* TemplatePrinter */ template,
/* Optional EmailOutbound */
email, /* Optional GlideRecord */ email_action,
/* Optional GlideRecord */
event) {

// Add your code here
template.print("<p style='font-family:Helvetica;font-size:12pt'>Summary of Requested Items<br>");

var gr = new GlideRecord("sc_req_item");
gr.addQuery("request", current.sys_id);
gr.query();

while (gr.next()) {
var reqItemVars = gr.variables.getElements();

for (var variable = 0; variable < reqItemVars.length; variable++) {
var question = reqItemVars[variable].getQuestion();
template.space(4);
template.print(question.getLabel() + ": " + question.getDisplayValue() + "<br>");
}
template.print("<br>");

}
template.print("</p>");

})(current, template, email, email_action, event);

 

  ==============END SCRIPT================

 

Thanks,
AJ

1 ACCEPTED SOLUTION

Shruti
Mega Sage
Mega Sage

Hi,

Use below script for RITM

(function runMailScript( /* GlideRecord */ current, /* TemplatePrinter */ template,
/* Optional EmailOutbound */
email, /* Optional GlideRecord */ email_action,
/* Optional GlideRecord */
event) {

// Add your code here
template.print("<p style='font-family:Helvetica;font-size:12pt'>Summary of Requested Items<br>");

var gr = new GlideRecord("sc_req_item");
gr.addQuery("sys_id", current.sys_id);
gr.query();

while (gr.next()) {
var reqItemVars = gr.variables.getElements();

for (var variable = 0; variable < reqItemVars.length; variable++) {
var question = reqItemVars[variable].getQuestion();
template.space(4);
template.print(question.getLabel() + ": " + question.getDisplayValue() + "<br>");
}
template.print("<br>");

}
template.print("</p>");

})(current, template, email, email_action, event);

View solution in original post

2 REPLIES 2

Shruti
Mega Sage
Mega Sage

Hi,

Use below script for RITM

(function runMailScript( /* GlideRecord */ current, /* TemplatePrinter */ template,
/* Optional EmailOutbound */
email, /* Optional GlideRecord */ email_action,
/* Optional GlideRecord */
event) {

// Add your code here
template.print("<p style='font-family:Helvetica;font-size:12pt'>Summary of Requested Items<br>");

var gr = new GlideRecord("sc_req_item");
gr.addQuery("sys_id", current.sys_id);
gr.query();

while (gr.next()) {
var reqItemVars = gr.variables.getElements();

for (var variable = 0; variable < reqItemVars.length; variable++) {
var question = reqItemVars[variable].getQuestion();
template.space(4);
template.print(question.getLabel() + ": " + question.getDisplayValue() + "<br>");
}
template.print("<br>");

}
template.print("</p>");

})(current, template, email, email_action, event);

Sourabh26
Giga Guru

Hi,

 

Try below script and let me know.

 

(function runMailScript(current, template, email, email_action, event) {

   //Get the Catalog Variables

    var ritm = new GlideRecord('sc_req_item');
    ritm.addQuery('sys_id', current.sysapproval);
    ritm.query();
    if (ritm.next()) {

        var fname, lname;
        var variables = ritm.variables.getElements();
        
        for (var i = 0; i < variables.length; i++) {
            var question = variables[i].getQuestion();
            var label = question.getLabel();
            var value = question.getDisplayValue();
            if (label != '') {
                if (label == 'First Name') { //Your calalog field name
                    fname = value;
                } else if (label == 'Last Name') {
                    lname = value;
                } 
            }
        }
 }
})(current, template, email, email_action, event);

 

Mark this as Helpful/Correct, if Applicable.

 

Regards,

Sourabh