Version 2024.2.10 SAAS
I have a simple bpm method on Quote.CreateOrder. It has worked for a couple years, but now it keeps throwing error. The report is printed though.
Error
Record not found.
Exception caught in: Epicor.ServiceModel
Error Detail
============
##!Correlation ID:##! a9c43324-32c1-4ca7-b2b2-bfdae68bd5f9
##!Description:##! Record not found.
##!Program:##! Epicor.Ice.dll
##!Method:##! InnerGetByID
##!Line Number:##! 627
##!Column Number:##! 21
##!Table:##! QuoteHed
Client Stack Trace
==================
at Epicor.ServiceModel.Channels.ImplBase.CallWithCommunicationFailureRetry(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, RestRpcValueSerializer serializer)
at Epicor.ServiceModel.Channels.ImplBase.CallWithMultistepBpmHandling(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy)
at Epicor.ServiceModel.Channels.ImplBase.Call(String methodName, ProxyValuesIn valuesIn, ProxyValuesOut valuesOut, Boolean useSparseCopy)
at Erp.Proxy.BO.QuoteImpl.CreateOrder(QuoteDataSet ds, Int32& orderNum, String& warningMessage)
at Erp.Adapters.QuoteAdapter.CreateOrder(Int32& orderNum, String& warningMessage)
I have used debug messages to guess the line of code that is throwing the error. I think it is:
var soForm = Ice.Assemblies.ServiceRenderer.GetService<Erp.Contracts.SalesOrderAckSvcContract>(Db);
Here is my code:
//GET EMAIL
var EMailAddress="";
var tempOrderNum=orderNum;
var email = (from a in Db.OrderHed
join b in Db.CustCnt on
new { F1=a.CustNum, F2=a.PrcConNum} equals
new { F1=b.CustNum, F2=b.ConNum}
where (a.OrderNum == orderNum && b.ShipToNum=="")
select new {b.EMailAddress,
a.CustNum
}).ToList();
foreach(var em in email) {
EMailAddress=em.EMailAddress;
}
//PRINT REPORT
var soForm = Ice.Assemblies.ServiceRenderer.GetService<Erp.Contracts.SalesOrderAckSvcContract>(Db);
SalesOrderAckTableset soTS = soForm.GetNewParameters();
SalesOrderAckParamRow r = soTS.SalesOrderAckParam[0];
r.OrderNum = orderNum ;
r.SysRowID = Guid.Parse("00000000-0000-0000-0000-000000000000");
r.AutoAction = "SSRSPrint";
r.AgentSchedNum = 0;
r.AgentID = "SystemTaskAgent";
r.AgentTaskNum = 0;
r.RecurringTask = false;
r.RptPageSettings = "";
r.RptPrinterSettings = "";
r.RptVersion = "";
r.ReportStyleNum = 1002;
r.WorkstationID = "";
r.TaskNote = "";
r.ArchiveCode = 0;
r.DateFormat = "m/d/yyyy";
r.NumericFormat = ",.";
r.AgentCompareString = "";
r.ProcessID = "";
r.ProcessTaskNum = 0;
r.DecimalsGeneral = 0;
r.DecimalsCost = 0;
r.DecimalsPrice = 0;
r.GlbDecimalsGeneral = 0;
r.GlbDecimalsCost = 0;
r.GlbDecimalsPrice = 0;
r.FaxSubject = string.Format("Industries Sales Acknowledgement.. Order #{0}",orderNum );
r.FaxTo = "";
r.FaxNumber = "";
//r.EMailTo = EMailAddress;
r.EMailTo = "mark.miller@ind.com";
//r.EMailCC = "eaglesales@ind.com";
r.EMailBody = string.Format("Attached is Sales Order {0}." ,orderNum );
r.AttachmentType = "PDF";
r.ReportCurrencyCode = "USD";
r.ReportCultureCode = "en-US";
r.SSRSRenderFormat = "PDF";
r.RowMod = "A";
soForm.RunDirect(soTS);
this.PublishInfoMessage("Sales Order Acknowledgement sent to Contact:" + EMailAddress, Ice.Common.BusinessObjectMessageType.Information, Ice.Bpm.InfoMessageDisplayMode.Individual, "", "");
Any help would be greatly appreciated. Thanks