Broken Function after Upgrade

Have a custom function that is called by a button click in DMR. The function is called, it is passed a DMR number that is used as a parameter for a BAQ Report. BAQ Report then runs.

Since upgrading our dev enviornment to 2024.2 the function causes an error(see below) for non-security manager users. If a security manager user runs the function no error occurs and the report runs just fine.

I did confirm that the Filter 1 field matches to when we print the report manually.

This worked fine for all users prior to the update to 2024.2, and nothing was changed. Any help is appreciated!

Error Details:

Description:  You can only access your own rows.
Correlation ID:  6b927861-ac79-4d4e-ba3c-282db4e33b7a
Program:  CommonLanguageRuntimeLibrary
Method:  InvokeMethod
Line Number:  0
Column Number:  0
Server Trace Stack:     at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   at System.Activator.CreateInstance(Type type, Object[] args)
   at Ice.Common.EpicorFaultDetail.GetExceptionInstance()
   at Ice.Common.ExceptionFunctions.GetExceptionFromFault(EpicorFaultDetail faultDetail, String message)
   at Ice.Api.Serialization.ApiExceptionResponseSerializer.BuildExceptionFromResponse(ApiExceptionResponse apiExceptionResponse)
   at Ice.Api.Serialization.ApiExceptionResponseSerializer.<FromHttpAsync>d__2.MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start[TStateMachine](TStateMachine& stateMachine)
   at Ice.Api.Serialization.ApiExceptionResponseSerializer.FromHttpAsync(HttpResponseMessage responseMessage)
   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 Ice.Proxy.BO.ReportMonitorImpl.Update(ReportMonitorDataSet ds)
   at Ice.Adapters.ReportMonitorAdapter.OnUpdate()
   at Ice.Lib.Framework.EpiBaseAdapter.Update()
   at Ice.UI.App.SysMonitorEntry.Transaction.DetermineIfICanPrintThisReport(SysRptLstRow sysRptLstRow)
   at Ice.UI.App.SysMonitorEntry.Transaction.ProcessAutoPrintRequests()
   at Ice.UI.App.SysMonitorEntry.Transaction.ProcessReports()
   at Ice.UI.App.SysMonitorEntry.Transaction.AutoPrintThread()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
1 Like

Can they run the BAQ manually?

Did it get unshared?

Added Security IDs to the BAQ?

What version did you come from?
There has been deprication of several functions and Epicor Dev has restricted access to somethings.

I ran into something similiar and it looks like at somepoint scope changed in some context:
Upgraded from 2022.1 to 2023.2 BPM That Worked Fine, Now Gives’The table result.xxxxxx has more than one record’ - Kinetic ERP - Epicor User Help Forum

Testing this now.

No.

No security ID has been added to the BAQ.

Is this company, site, or territory related?

Running the BAQ as a non-security manager user yields 0 returned rows. Says Timeout expired.

It’s just a DMR centric BAQ.

1 Like

Additional data point. I started removing Tables one at a time and when I removed the Ice.XFileAttch table, the BAQ returned rows.

Just DMRHead? Or are we linking to customers or other tables?

**EDIT

Removing tables was my next suggestion.

Is the linkage cool to Ice.XFileAttch?

DMRHead
Vendor
PartPlant
Part
PurAgent
NonConf
Reason_NCM
DMRCorAct
DMRActn
JobHead
Reason
XFileAttch
XFileRef

How the linkages look? Especially to XFileAttach?

Is the server in California? I’ve heard things have slowed down due to Ice related activities.

Just Kidding Oh Snap GIF by Travis

4 Likes

The error is about report. Looks like you are trying to access the report created by another user

All rows from DMRHead
DMRHead.DMRNum to XFileAttch.Key1
DMRHead.Company to XFileAttch.Company

XFileAttch has criteria, RelatedToFile = DMRHead constant

I did notice looking at it now that the linking has the DMRNum to Key1 first and then Company to Company second. I made company 1 and DMRNum 2 and that fixed the entire problem. Weird.

@Mark_Wonsil Appreciate the help though!

2 Likes

Sometimes, we just need a

2 Likes