
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-22-2018 02:24 PM
I have an inbound action that is creating an RITM and single catalog tasks. That part is working as expected. however, the attachments are not being copied to the RITM via email. I have tried several of the attempts on the community and its just not copying them over.
I am on Kingston patch 6.
see code below. Any help would be greatly appreciated.
createRequest();
function createRequest() {
var cart = new Cart();
// add in cart
var item = cart.addItem('d81c4666db365b00d901dd0b5e961925');
// set requested for
cart.setVariable(item, 'vs_from', email.origemail);
cart.setVariable(item, 'vs_short_description', email.subject.toString());
cart.setVariable(item, 'vs_description', email.body_text);
var cartmsg = "received from: " + email.origemail + "\n\n" + email.body_text;
cart.setVariable(item,'comments',cartmsg);
var ritmRec = cart.placeOrder();
}
var ritmSysID = "";
var ritmRec = new GlideRecord("sc_req_item");
ritmRec.addQuery("request", rc.sys_id);
ritmRec.query();
if(ritmRec.next()){
ritmSysID = ritmRec.sys_id;
}
var emailRec = new GlideRecord("sys_email");
emailRec.addQuery("uid", email.uid);
emailRec.orderByDesc("sys_created_on");
emailRec.query();
if(emailRec.next()){
GlideSysAttachment.copy("sys_email", emailRec.sys_id, "sc_req_item", ritmRec.sys_id);
}
Solved! Go to Solution.
- Labels:
-
Best Practices
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2018 06:53 AM
This same I did and it worked, I made few changes lets see the output:
createRequest();
function createRequest() {
var cart = new Cart();
// add in cart
var item = cart.addItem('d81c4666db365b00d901dd0b5e961925');
// set requested for
cart.setVariable(item, 'vs_from', email.origemail);
cart.setVariable(item, 'vs_short_description', email.subject.toString());
cart.setVariable(item, 'vs_description', email.body_text);
var cartmsg = "received from: " + email.origemail + "\n\n" + email.body_text;
cart.setVariable(item,'comments',cartmsg);
var ritmRec = cart.placeOrder();
var ritmSysID = "";
var ritm = new GlideRecord("sc_req_item");
ritm.addQuery("request",ritmRec.sys_id); //Changed
ritm.query();
if(ritm.next()){
ritmSysID = ritmRec.sys_id; //Changed
}//Changed
var email_log = new GlideRecord('sys_email');
email_log.addQuery('uid', email.uid);
email_log.orderByDesc('sys_created_on');
email_log.query();
if (email_log.next()) {
var email_sys = email_log.sys_id;
GlideSysAttachment.copy('sys_email', email_sys, 'sc_req_item', ritmSysID);
} else {
var email_sys = 0;
GlideSysAttachment.copy('sys_email', email_sys, 'sc_req_item', ritmSysID);
}
}
Thanks
Shashikant
Hit Helpful or Correct on the impact of response.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2018 06:46 AM
code now looks like this:
createRequest();
function createRequest() {
var cart = new Cart();
// add in cart
var item = cart.addItem('d81c4666db365b00d901dd0b5e961925');
// set requested for
cart.setVariable(item, 'vs_from', email.origemail);
cart.setVariable(item, 'vs_short_description', email.subject.toString());
cart.setVariable(item, 'vs_description', email.body_text);
var cartmsg = "received from: " + email.origemail + "\n\n" + email.body_text;
cart.setVariable(item,'comments',cartmsg);
var ritmRec = cart.placeOrder();
var ritmSysID = "";
var ritm = new GlideRecord("sc_req_item");
ritm.addQuery("request",ritm);
ritm.query();
if(ritm.next()){
ritmSysID = ritm.sys_id;
var email_log = new GlideRecord('sys_email');
email_log.addQuery('uid', email.uid);
email_log.orderByDesc('sys_created_on');
email_log.query();
if (email_log.next()) {
var email_sys = email_log.sys_id;
GlideSysAttachment.copy('sys_email', email_sys, 'sc_req_item', ritmSysID);
} else {
var email_sys = 0;
GlideSysAttachment.copy('sys_email', email_sys, 'sc_req_item', ritmSysID);
}
}
}
attachments are still not copied over to RITM. Target table for the inbound action is sc_req_item.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2018 06:53 AM
This same I did and it worked, I made few changes lets see the output:
createRequest();
function createRequest() {
var cart = new Cart();
// add in cart
var item = cart.addItem('d81c4666db365b00d901dd0b5e961925');
// set requested for
cart.setVariable(item, 'vs_from', email.origemail);
cart.setVariable(item, 'vs_short_description', email.subject.toString());
cart.setVariable(item, 'vs_description', email.body_text);
var cartmsg = "received from: " + email.origemail + "\n\n" + email.body_text;
cart.setVariable(item,'comments',cartmsg);
var ritmRec = cart.placeOrder();
var ritmSysID = "";
var ritm = new GlideRecord("sc_req_item");
ritm.addQuery("request",ritmRec.sys_id); //Changed
ritm.query();
if(ritm.next()){
ritmSysID = ritmRec.sys_id; //Changed
}//Changed
var email_log = new GlideRecord('sys_email');
email_log.addQuery('uid', email.uid);
email_log.orderByDesc('sys_created_on');
email_log.query();
if (email_log.next()) {
var email_sys = email_log.sys_id;
GlideSysAttachment.copy('sys_email', email_sys, 'sc_req_item', ritmSysID);
} else {
var email_sys = 0;
GlideSysAttachment.copy('sys_email', email_sys, 'sc_req_item', ritmSysID);
}
}
Thanks
Shashikant
Hit Helpful or Correct on the impact of response.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2018 09:40 AM
are you using sc_req_item or sc_request as the target table? i'm using sc_req_item.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2018 09:44 AM
sc_req_item table
This is the code which I used in one of the project:
gs.include('validators');
if (current.getTableName() == "sc_req_item") {
var cartmsg = "received from: " + email.origemail + "\n\n" + email.body_text;
var cart = new Cart();
var item = cart.addItem('56d51b5713516600faed31a63244b0eb');
if(email.subject.indexOf("SAP ECC Access Request") > -1){
cart.setVariable(item, 'sap_request_type', 'SAP ECC Access Request');
}else if(email.subject.indexOf("SAP BI/BPC Access Request") > -1){
cart.setVariable(item, 'sap_request_type', 'SAP BI/BPC Access Request');
}
cart.setVariable(item, 'sap_description', email.body_text);
cart.setVariable(item, 'sap_short_description', email.subject);
var rc = cart.placeOrder();
var ritmSysID = "";
var ritmRec = new GlideRecord("sc_req_item");
ritmRec.addQuery("request", rc.sys_id);
ritmRec.query();
if(ritmRec.next()){
ritmSysID = ritmRec.sys_id;
}
var email_log = new GlideRecord('sys_email');
email_log.addQuery('uid', email.uid);
email_log.orderByDesc('sys_created_on');
email_log.query();
if (email_log.next()) {
var email_sys = email_log.sys_id;
GlideSysAttachment.copy('sys_email', email_sys, 'sc_req_item', ritmSysID);
} else {
var email_sys = 0;
GlideSysAttachment.copy('sys_email', email_sys, 'sc_req_item', ritmSysID);
}
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2018 09:46 AM
ah. ok. well, I used the code we were going back and forth with against the sc_request table and it works now.
First time I've had this problem. previously i had always gone against sc_req_item.
but Thank you for your help!