So we updated to 2024.1 this weekend, and it seems like most of the ECM stuff is working, except now I am getting this exception on the integration point “Create Invoice”.
It creates the invoice in Epicor, but it won’t finish the rest of the workflow, which is just attach the document to the invoice.
This is the error that it’s sending back, but I can’t figure out what it means. Anyone have any clue where to look for the issue here?
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Astria.Framework.DataContracts.CustomExceptions.EclipseApplicationException
at Astria.Framework.DataContracts.ExceptionsML.Check(ExceptionsML ex)
at Astria.Framework.OperationContracts.AstriaSignalRClient.InvokeMethodFull[T](InvokeMethodPackage imp, Nullable`1 resultTimeOut, String timeoutMessage, String ackTimeoutMessage, Nullable`1 ackTimeout)
at Astria.Framework.OperationContracts.AstriaSignalRClient.InvokeMethod[T](InvokeMethodPackage imp, Nullable`1 resultTimeOut, String timeoutMessage, String ackTimeoutMessage, Nullable`1 ackTimeout)
at Astria.Framework.Business.V2.DataLinkQueryBusiness.ExecQueryViaClient(Dictionary`2 parameterValues, Nullable`1 docId, DataLinkQueryPackage dto, AstriaSignalRClient hubClient)
at Astria.Framework.Business.V2.DataLinkQueryBusiness.<>c__DisplayClass32_0.<ExecQuery>b__0(AstriaSignalRClient hubClient)
at Astria.Framework.Core.DapperBase.ExecuteWithRetry[T](String machineId, Func`2 clientExecuteFunction, HubConnectionOptions connectionOptions, SqlTransaction trans, String errorPrefix)
at Astria.Framework.Business.V2.DataLinkQueryBusiness.ExecQuery(DataLinkQueryPackage dto, IDataLinkQuery dlQuery, Nullable`1 documentId, Dictionary`2 parameterValues)
at Astria.Framework.Business.V2.DataLinkQueryBusiness.<>c__DisplayClass27_0.<ExecQuery>b__0()
at Astria.Framework.Business.V2.DataLinkQueryBusiness.ExecQuery(ExecuteDataLinkPackage package)
at Astria.Service.Company.V2.DataLinkService.ExecuteQuery(ExecuteDataLinkPackage package)
@@Exception:True
If you look in the recording is it making an array and does one of the elements not have the same number of values? I had this with sales orders with revisions missing on service fees and the array was hosed up.
The workflow creates it, I see them in epicor. If I just restart, is says “duplicate”… which it is now. So I delete the invoice (it’s not posted), the restart the workflow.
The output literally has no sysrowID coming back, and I don’t understand why.
logically, if nothing in ECM changed, then something in Kinetic changed with the upgrade. I don’t have this set up to test against my 2024.1 instance and it would take some time, but I will later if you haven’t corrected it.
I’d still attempt to prove the datalink can get the info, singularly, from the Integration panel.
Let me finish up what I’m doing and I’ll see if I can get my ECM cross connected to 2024.1
yeah - I know. But where else is there to look? If the invoice gets created, but the Datalink doesn’t bring back a field, it’s the API having an issue.
If you create a datalink, it’ll be a SQL call and we know it’ll get the Sysrowid - so that doesn’t help us diagnose. I’m still thinking on it while I finish up payroll…
Brandon, did you ask support to look at the datalink log itself? Like is ECM support helping with any additional logs that could tip you off to something?
@Banderson So it only take 5 params to make the call work. I’d try it on your end. This screenshot is of my V2 workflow for CreateInvoice showing success and the SysrowID being returned. This is from ECM 24.1.126 to Kinetic 2024.1.14
Yeah. Although, I am on a different version of ECM. It’s possible the new version didn’t link the return of the sysrowID to the right location. But I can’t really tell that, since their stuff is all hidden.