Hope someone can help me wrap my head around this. I'm trying to trigger a Case Status change if a Customer interaction (email) is received.
Below is the code written to date:
function afterSubmit(type)
{
//load the case record
var caseRecord = nlapiLoadRecord('supportcase', nlapiGetRecordId());
//Get the Case Status of the assoicated Case
var caseStatus = caseRecord.getFieldValue('status');
//Get the Message value
var incomming = caseRecord.getFieldValue('incomingmessage');
//Check current Status is none of Completed or Closed
if(caseStatus != '4' && caseStatus != '5')
{
// If there is any activity
if(incomming != '')
{
// Load the message record
var message = nlapiGetNewRecord();
// Get the ID of the activity associated with the message
var activity = message.getFieldValue('activity');
if (activity)
{
// If the activity is a case, load the record and change the status.
try
{
var caseRecord = nlapiLoadRecord('supportcase', activity);
caseRecord.setFieldValue('status',20);
nlapiSubmitRecord(caseRecord);
}
// If the activity is not a Case, log a warning message
catch(exec)
{
nlapiLogExecution('DEBUG', 'Warning','Activity Record is not a Case');
}
}
else
{
return false;
}
}
else
{
return false;
}
}
}
Note: Case Status 4 = Completed Case Status 5 = Closed Case Status 20 = Customer Reply Received What is happening is? Once I save the case and I generate a mail to the customer i.e. case logged email. The case status is updated to "Customer Reply Received"