Updatable BAQ on InvcHead UDFs Null reference Error

We created a UDF checkbox and a UDF String field that we want to use to tick off when the freight invoice arrives for a given posted AR Invoice. The only BO we can see to use is ARInvoice.UpdateExt, there is not a separate one for Posted Invoice Update, for example.

We have an Updatable BAQ that works sometimes and not others. I know Posted Invoices are locked down. When it fails, I get the error below. I wouldn’t be surprised if it always failed, but can’t understand the sometimes. Note, the DMT is able to update these UDFs on Posted Invoices, we are not trying to hit sacred fields like price, qty, part, etc.

I see some other similar topics, but can’t spot a solution. Thanks!

Server Side Exception

BPM runtime caught an unexpected exception of ‘NullReferenceException’ type.
See more info in the Inner Exception section of Exception Details.

Exception caught in: Epicor.ServiceModel

Error Detail

Description: BPM runtime caught an unexpected exception of ‘NullReferenceException’ type.
See more info in the Inner Exception section of Exception Details.
Program: Epicor.Ice.dll
Method: GetColumnsToClearForUpdateExt
Line Number: 1758
Column Number: 13
Original Exception Type: NullReferenceException
Server Trace Stack: at Ice.TablesetBound3.GetColumnsToClearForUpdateExt(String rowModToken) in c:\_Releases\ICE\3.1.400.28\Source\Framework\Epicor.Ice\Services\TablesetBound.cs:line 1758 at Ice.TablesetBound3.OnUpdateExtCopyRowForTable[TIceRow](UpdateExtRowAction rowAction, TIceRow sourceRow, TIceRow targetRow, Boolean updateSystemColumns) in c:_Releases\ICE\3.1.400.28\Source\Framework\Epicor.Ice\Services\TablesetBound.cs:line 1459
at Erp.Services.BO.ARInvoiceSvc.UpdateExtInternal(UpdExtARInvoiceTableset ds, UpdExtARInvoiceTableset returnDs, IceRow originalParentRecord, Int32 recordCount, Boolean continueProcessingOnError, Boolean rollbackParentOnChildError, BOUpdErrorTableset errors) in c:_Releases\ERP\UD10.1.400.28\Source\Server\Services\BO\ARInvoice\ARInvoice.Designer.cs:line 4133
at Erp.Services.BO.ARInvoiceSvc.UpdateExt(UpdExtARInvoiceTableset& ds, Boolean continueProcessingOnError, Boolean rollbackParentOnChildError, Boolean& errorsOccurred) in c:_Releases\ERP\UD10.1.400.28\Source\Server\Services\BO\ARInvoice\ARInvoice.Designer.cs:line 3910
at Erp.Services.BO.ARInvoiceSvcFacade.UpdateExt(UpdExtARInvoiceTableset& ds, Boolean continueProcessingOnError, Boolean rollbackParentOnChildError, Boolean& errorsOccurred) in c:_Releases\ERP\UD10.1.400.28\Source\Server\Services\BO\ARInvoice\ARInvoiceSvcFacade.cs:line 357
at Epicor.Customization.Bpm.Ubaq14112B189E234BA08BB89E6719D15A9F.UpdateBaseDirective__BASE__AB5B1339C28A41D6815106535750571C.A001_CustomCodeAction()
at Epicor.Customization.Bpm.Ubaq14112B189E234BA08BB89E6719D15A9F.UpdateBaseDirective__BASE__AB5B1339C28A41D6815106535750571C.ExecuteCore()
at Epicor.Customization.Bpm.DirectiveBase`3.Execute(TParam parameters) in c:_Releases\ICE\3.1.400.28\Source\Server\Internal\Lib\Epicor.Customization.BPM\DirectiveBase.Generic.cs:line 160

Client Stack Trace

at Epicor.ServiceModel.Channels.ImplBase1.ShouldRethrowNonRetryableException(Exception ex, DataSet[] dataSets) at Ice.Proxy.BO.DynamicQueryImpl.Update(DynamicQueryDataSet queryDS, DataSet queryResultDataset) at Ice.Adapters.DynamicQueryAdapter.<>c__DisplayClass8.<Update>b__7(DataSet datasetToSend) at Ice.Adapters.DynamicQueryAdapter.ProcessUbaqMethod(String methodName, DataSet updatedDS, Func2 methodExecutor, Boolean refreshQueryResultsDataset)
at Ice.Adapters.DynamicQueryAdapter.Update(DynamicQueryDataSet queryDS, DataSet updatedDS, Boolean refreshQueryResultsDataset)
at Ice.UI.App.BAQDesignerEntry.BAQTransaction.b__54(Int32& rowReturned)
at Ice.UI.App.BAQDesignerEntry.Forms.BAQDiagramForm.ShowQueryResults(DataSet dsResults, getQueryResult getResults, ReportAdditionalInfo additionalInfo)
at Ice.UI.App.BAQDesignerEntry.BAQTransaction.CallUpdate()

Inner Exception

Object reference not set to an instance of an object.

Inner Stack Trace

I wont lie, I got bored halfway thru the stack trace :stuck_out_tongue:

In order to help you trace the issue, we’d need to see some code.

Why not just place use data directive on the appropriate field to set those values?

Rick -

I am having the same issue as you were having here. Were you able to find a resolution?

Thanks in advance.