did not create or update sn_customerservice_case using current

Vikram3
Giga Guru

Hello everyone,

I am totally not clear what is happening to my inbound email actions. All code are clear and perfect. I tried putting logs everywhere and it is returning values as expected. But still I am getting this below error with target empty. Can anybody help me on this issue. Recently system has upgraded to Orlando.

org.mozilla.javascript.EcmaError: The undefined value has no properties.
Caused by error in <refname> at line 1

==> 1: current.short_description = email.subject;
2: //current.description = email.subject +' Type: '+email.body_text;
3: //var instanceM = email.instance;
9 REPLIES 9

Harsh Vardhan
Giga Patron

can you try this way , see if it works. 

 

(function runAction(/*GlideRecord*/ current, /*GlideRecord*/ event, /*EmailWrapper*/ email, /*ScopedEmailLogger*/ logger, /*EmailClassifier*/ classifier) {


	
current.short_description = email.subject;




})(current, event, email, logger, classifier);

Thanks for the reply. Unfortunately it is not working. Below is the weird screenshot

find_real_file.png

can you paste the full script. 

 

did you used the script inside the function ?

 

eg:

 

(function runAction(/*GlideRecord*/ current, /*GlideRecord*/ event, /*EmailWrapper*/ email, /*ScopedEmailLogger*/ logger, /*EmailClassifier*/ classifier) {


	
// write your script here 




})(current, event, email, logger, classifier);

 

Below is my full script,

current.short_description = email.subject;
//current.description = email.subject +'  Type: '+email.body_text;
//var instanceM = email.instance;
var contactID2;
current.description = email.subject;
var senderEmail = email.from;
var contact = new GlideRecord("customer_contact");
var contactID = new CSEMailUtil().getUserIDFromEmail(email.from); //get User from Customer Contact Table list

if (contactID == ''){
	contactID2 = new CSEMailUtil().getUserIDFromEmail2(email.from); //get User from User Table list
}
//gs.info('Contacty - '+contactID2.getUniqueValue());
//gs.info('Contacty1 - '+contactID2.getValue('company'));

var emailDomain = '';
var emailLng = senderEmail.length;
var startpt = senderEmail.indexOf('@');
if (startpt > 0) {
	emailDomain = senderEmail.substring(startpt + 1,emailLng);
}

if (contactID2 !== ''){
	current.contact = contactID2.getUniqueValue();
	current.account = contactID2.getValue('company');
}else{  //If contant is not present in Contact Table
	
	if (gs.getProperty('gogo.glide.pop3readerjob.create_contact') == 'true')
     {
		var emailLength = senderEmail.length;
		var emailPosition = senderEmail.indexOf('@');
		emailDomain = senderEmail.substring(emailPosition+1,emailLength);
		
		var acct = new GlideRecord('customer_account');
		acct.addQuery('u_company_domain', emailDomain);
		acct.query();
        if (acct.next())   //If domain gotten from the email of the email sender is present in the Account Table
        {
			var cont = new GlideRecord('customer_contact');
			cont.initialize();
			cont.email = senderEmail;
			cont.account = acct.sys_id;
			
			var emailFrom = '\nFrom:';
			var emailStr = ' <' + senderEmail + '>';
			var len = email.headers.length;
			var pos1 = email.headers.indexOf(emailFrom);
			var pos2 = email.headers.indexOf(emailStr);
			
			var fullName = email.headers.substring(pos1+6,pos2);
			var fnLength = fullName.length;
			var fnSpacePos = fullName.indexOf(' ');
			if (fnSpacePos > 0) {
				var firstName = fullName.substring(0,fnSpacePos);
				var lastName = fullName.substring(fnSpacePos+1,fnLength);
				cont.first_name = firstName;
				cont.last_name = lastName;
			}
			else {
				cont.last_name = fullName;
			}
			cont.user_name = cont.email;
			contactID = cont.insert();
		}
	}
}

var contact2 = new GlideRecord("customer_contact");
if(contact2.get(contactID))
{
	var accountID = contact2.account.getValue();
	var account = new GlideRecord("customer_account");
	if(account.get(accountID)){
		if(account.customer){
			current.contact = contact2.sys_id;
			current.account = account.sys_id;
		}
	}
}

/*if(contact.get(contactID))
{
	var accountID2 = contact.account;
	var account2 = new GlideRecord("customer_account");
	if(account2.get(accountID2)){
		if(account2.customer){
			current.contact = contact.sys_id;
			current.account = account2.sys_id;
		}
	}
}*/

current.u_originating_email = email.from;

var instanceEmail = gs.getProperty('glide.email.user');

var rarray = email.recipients.toLowerCase().split(",");
var rarray2 = rarray;
var toarray = email.direct.toLowerCase().split(",");
var k = '';

current.assignment_group = 'b2ec8acd3c21f00010706276de4006de';  //Default Assignment Group as AMCC - b2ec8acd3c21f00010706276de4006de
for (var i = 0; i<rarray.length; i++) 

{
	
	if ( k !== 'STOP' ){//
		if ((rarray2[i].indexOf('amcc@ccc.com') > -1) || (rarray2[i].indexOf('amcc@a.cc.com') > -1)){
			current.assignment_group = 'b2ec8acd3c21f00010706276de4006de';  //AMCC assignment group b2ec8acd3c21f00010706276de4006de
			k = 'STOP';
		}else if ((rarray2[i].indexOf('noc@ccc.com') > -1) || (rarray2[i].indexOf('noc@a.ccc.com') > -1)){
			current.assignment_group = '7aec8acd3c21f00010706276de4006ad';  //NOC assignment group
			k = 'STOP';
		}else if (rarray2[i].indexOf('IT-CORP-APPS@ccc.com') > -1){
			current.assignment_group = '344e6044e56e1d00120bac1df1012fdb';  //IT-CORP-App assignment group
			k = 'STOP';
		}else if ((rarray2[i].indexOf('aog@ccc.com') > -1) || (rarray2[i].indexOf('aog@a.ccc.com') > -1)){
			current.assignment_group = '6de0b8a2db1ca200ed54785e0f96196d';  //AOG assignment group
			k = 'STOP';
		}else if ((rarray2[i].indexOf('supplychainoperations@ccc.com') > -1) || (rarray2[i].indexOf('supplychainoperations@a.ccc.com') > -1)){
			var domainAssignment = new GlideRecord('u_domain_assignment');
			domainAssignment.addQuery('u_domain', emailDomain);
			domainAssignment.query();
			if (domainAssignment.next()) {
				current.assignment_group = domainAssignment.u_assignment_group;
				k = 'STOP';
			}
			else {
				current.assignment_group = 'b51349b2dbbc5344352ff969af96190c';  //Supply Chain Operations assignment group
				k = 'STOP';
			}
		}
	}
   if (rarray[i] === instanceEmail || current.watch_list.toString().indexOf(rarray[i]) > -1 || rarray[i].indexOf('amcc@ccc.com') > -1 || rarray[i].indexOf('aog@ccc.com') > -1 || rarray[i].indexOf('supplychainoperations@ccc.com') > -1 || rarray[i].indexOf('noc@ccc.com') > -1 || rarray[i].indexOf('amcc@a.ccc.com') > -1 || rarray[i].indexOf('aog@a.ccc.com') > -1 || rarray[i].indexOf('supplychainoperations@a.ccc.com') > -1 || rarray[i].indexOf('noc@a.ccc.com') > -1) {
		rarray.splice(i, 1);
	}
}
current.watch_list = current.watch_list.toString() + "," + rarray.toString();
gs.info('xWatchLister: '+ current.watch_list.toString());  //Testing Output
gs.info('xWatchLister Recipients: '+rarray.toString());


//Function to Remove Duplicate contacts on Watchlist with Sys_id instead of emails
function getSID(rar,wahl){
	var mySID;
	var sID = new GlideRecord('sys_user');	
	sID.addQuery('email',rar);
	sID.query();
	var counter = sID.getRowCount();
//	gs.info('Count: '+ sID.getRowCount());
	if (sID.getRowCount() > 1){
		while (sID.next()){
			mySID = sID.getUniqueValue();
//			gs.info('sID: '+ mySID);
			if (wahl.toString().indexOf(mySID) > -1){
				return true;
			}
		}
	}else{
		sID.next();
		mySID = sID.getUniqueValue();
		if (wahl.toString().indexOf(mySID) > -1){
			return true;
		}
	}
	return false;
}
current.contact_type = "email";
current.insert();