Hi Pradeep,



Thanks for your reply!


I have tried it but have some issues with Inbound... its not executing correctly.


1.I want to do if the incident number is not found, then trigger email which I am doing using "task.no.snreference.found" in the last.


2. If the incident number matches but abc_reference_number is already populated with some value, now its again trying to update the same incident's "abc_reference_number " field with different value which is coming via external_reference.



Here is my code:



var status = email.body.status;


var targetRec   = new GlideRecord('incident');


targetRec.addQuery('number', email.body.reference_number);


//targetRec.addQuery('abc_reference_number', email.body.external_reference);


targetRec.query();



//If the incident has been found


if (targetRec.next()) {


  if (targetRec.abc_reference_number != "" || targetRec.abc_reference_number != "email.body.external_reference")//This is working even if the reference number is empty


  {


  gs.eventQueue("task.no.externalref.found", targetRec, email.body.external_reference, email.body_text);


  }


  else {


  targetRec.abc_reference_number = email.body.external_reference;


  var worknote = email.body.worknotes;


  targetRec.work_notes = worknote.replace(/<cr>/g, "\n");


  //targetRec.work_notes = String(email.body.worknotes);


  if(status == "Resolved" || status == "Closed")


  {


  targetRec.state = 6;


  targetRec.u_cause_code="Unknown";


  targetRec.u_resolution_code="Resolved By Third Party";


  targetRec.u_actual_affected_ci= targetRec.u_technical_service;


  }


  else {


  targetRec.state =status;


  }


  targetRec.update();


  }


}/*This code is not working


else {


  gs.eventQueue("task.no.snreference.found", targetRec, targetRec.number, email.body_text);


}*/