I have a simple updatable BAQ where the update method copies some fields from the BAQ to UD fields in the InvcHead table. I am getting the following error when I analyze and clink the Update button in the Query Designer, even though there is a customization attached to the BAQ Update method:
Application Error
Exception caught in: Epicor.ServiceModel
Error Detail
Message: There is no BPM customization attached to Update method of ‘PNY01-InvcHead CB Maint’ updatable query in ‘PNY01’ company or BPM system is not enabled.
Please check presence of BPM customization and/or ask administrator for assistance.
Program: Epicor.ServiceModel.dll
Method: ShouldRethrowNonRetryableExceptionClient Stack Trace
at Ice.Services.BO.DynamicQuery.Internal.Ubaq.UbaqCoreDefaultImpl.ThrowNotImplemented(DynamicQueryTableset queryDS, String methodName) in C:_Releases\ICE\3.1.600.16\Source\Server\Services\BO\DynamicQuery\Internal\Ubaq\UbaqCoreDefaultImpl.cs:line 19
at Epicor.Customization.Bpm.MethodCustomizationBase23.RunDirectives(TParam parameters) in c:\_Releases\ICE\3.1.600.0\Source\Server\Internal\Lib\Epicor.Customization.Bpm\MethodCustomizationBase2.cs:line 215 at Epicor.Customization.Bpm.CustomizationBase2
3.Execute(TParam parameters) in c:_Releases\ICE\3.1.600.0\Source\Server\Internal\Lib\Epicor.Customization.Bpm\CustomizationBase2.cs:line 71
at Epicor.Customization.Bpm.UbaqB0489D4A0A9E429FB1C059DD41FC77E7.PNY01_PNY01_InvcHead_CB_MaintSvcCustomization.Update(DynamicQueryTableset queryDS, DataSet& queryResultDataset)
at Ice.Services.BO.DynamicQuery.Internal.Ubaq.UbaqBpmCaller.Update(DynamicQueryTableset queryDesign, DataSet& queryResultDataset) in C:_Releases\ICE\3.1.600.16\Source\Server\Services\BO\DynamicQuery\Internal\Ubaq\UbaqBpmCaller.cs:line 101
at Ice.Services.BO.DynamicQuerySvc.Update(DynamicQueryTableset queryDS, DataSet queryResultDataset) in C:_Releases\ICE\3.1.600.16\Source\Server\Services\BO\DynamicQuery\DynamicQuery.cs:line 568
at Ice.Services.BO.DynamicQuerySvcFacade.Update(DynamicQueryTableset queryDS, DataSet queryResultDataset) in C:_Releases\ICE\3.1.600.16\Source\Server\Services\BO\DynamicQuery\DynamicQuerySvcFacade.cs:line 342
at SyncInvokeUpdate(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at Epicor.Hosting.OperationBoundInvoker.InnerInvoke(Object instance, Func2 func) in C:\_Releases\ICE\3.1.600.16\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 59 at Epicor.Hosting.OperationBoundInvoker.Invoke(Object instance, Func
2 func) in C:_Releases\ICE\3.1.600.16\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 47
at Epicor.Hosting.Wcf.EpiOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) in C:_Releases\ICE\3.1.600.16\Source\Framework\Epicor.System\Hosting\Wcf\EpiOperationInvoker.cs:line 23
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)at Epicor.ServiceModel.Channels.ImplBase
1.ShouldRethrowNonRetryableException(Exception ex, DataSet[] dataSets) at Ice.Proxy.BO.DynamicQueryImpl.Update(DynamicQueryDataSet queryDS, DataSet queryResultDataset) at Ice.Adapters.DynamicQueryAdapter.<>c__DisplayClass27_0.<Update>b__0(DataSet datasetToSend) at Ice.Adapters.DynamicQueryAdapter.ProcessUbaqMethod(String methodName, DataSet updatedDS, Func
2 methodExecutor, Boolean refreshQueryResultsDataset)
at Ice.Adapters.DynamicQueryAdapter.Update(DynamicQueryDataSet queryDS, DataSet updatedDS, Boolean refreshQueryResultsDataset)
at Ice.UI.App.BAQDesignerEntry.BAQTransaction.b__376_0(Int32& rowReturned)
at Ice.UI.App.BAQDesignerEntry.Forms.BAQDiagramForm.ShowQueryResults(DataSet dsResults, getQueryResult getResults, ReportAdditionalInfo additionalInfo)
at Ice.UI.App.BAQDesignerEntry.BAQTransaction.CallUpdate()
The customization is simple, with just this Custom Code block:
var ttResults_Rows = (from t1 in ttResults
where t1.RowMod == IceRow.ROWSTATE_UPDATED
select t1);
foreach (var ttResults_Row in ttResults_Rows)
{
var InvcHead_Row = (from t1 in Db.InvcHead
where Session.CompanyID == t1.Company
&& ttResults_Row.InvcHead_InvoiceNum == t1.InvoiceNum
select t1).FirstOrDefault();if (InvcHead_Row != null)
{
InvcHead_Row[“CheckBox05”] = Convert.ToBoolean(ttResults_Row[“InvcHead_CheckBox05”]);
InvcHead_Row[“ShortChar05”] = ttResults_Row[“InvcHead_ShortChar05”].ToString();
InvcHead_Row[“Character05”] = ttResults_Row[“InvcHead_Character05”].ToString();
InvcHead_Row[“RowMod”] = IceRow.ROWSTATE_UPDATED;
Db.Validate(InvcHead_Row);
//ttResults_Row[“RowMod”] = “”;
} // end if InvcHead_Row != null
} // end for each ttResults_Row
Can someone show me where I’m making the mistake? Everything looks correct to me. Thanks.
bb