2023.2.3 Upgrade Testing - Help Needed

We are receiving the following error when trying to print out a job traveler in our Pilot System:

Program Ice.Services.Lib.RunTask when executing task 5046928 raised an unexpected exception with the following message: RunTask:
System.IndexOutOfRangeException: SysRowID
   at System.Data.ProviderBase.BasicFieldNameLookup.GetOrdinal(String fieldName)
   at System.Data.SqlClient.SqlDataReader.GetOrdinal(String name)
   at System.Data.SqlClient.SqlDataReader.get_Item(String name)
   at Ice.Core.RptBase.OutputRelationDataWriter.WriteRowsForKeyValues(IDataReader reader, IList`1 keyParameters, IDataSource relatedTable, Object[] keyValues) in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Internal\Lib\TaskLib\RptBase\OutputRelationDataWriter.cs:line 112
   at Ice.Core.RptBase.OutputRelationDataWriter.WriteRowsForKeyValues(IDbCommand sqlCommand, IList`1 keyParameters, IDataSource relatedTable, Object[] keyValues) in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Internal\Lib\TaskLib\RptBase\OutputRelationDataWriter.cs:line 84
   at Ice.Core.RptBase.OutputRelationDataWriter.WriteRows(IDbCommand sqlCommand, IList`1 keyParameters, IDataSource relatedTable, UniqueKeyCollection relationKeys) in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Internal\Lib\TaskLib\RptBase\OutputRelationDataWriter.cs:line 165
   at Ice.Core.RptBase.OutputRelationDataWriter.WriteTable(DataSourceRelationship relationship, IDataSource relatedTable, DataColumnCollection keyColumns, UniqueKeyCollection keyValues) in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Internal\Lib\TaskLib\RptBase\OutputRelationDataWriter.cs:line 190
   at Ice.Core.RptBase.OutputRelationDataWriter.WriteTables() in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Internal\Lib\TaskLib\RptBase\OutputRelationDataWriter.cs:line 44
   at Ice.Core.RptBase.ReportDataBuilderBase.WriteOutputRelationshipTables() in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Internal\Lib\TaskLib\RptBase\ReportDataBuilderBase.cs:line 262
   at Ice.Core.RptBase.ReportDataBuilderBase.XMLClose() in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Internal\Lib\TaskLib\RptBase\ReportDataBuilderBase.cs:line 211
   at Ice.Core.RptBase.ReportDatabaseBuilder.XMLClose() in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Internal\Lib\TaskLib\RptBase\ReportDatabaseBuilder.cs:line 89
   at Ice.Core.RptTaskBase`1.XMLClose() in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Internal\Lib\TaskLib\RptBase\RptTaskBase.cs:line 229
   at Erp.Internal.JC.JobTrav.RunProcess(Int64 instanceTaskNum, String outputFileName) in C:\_releases\ERP\ERP11.2.400.0\Source\Server\Internal\JC\JobTrav\JobTrav.cs:line 579
   at Ice.Core.TaskBase`1.StartProcess(Int64 instanceTaskNum, String outputFileName) in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Internal\Lib\TaskLib\TaskBase\TaskBase.cs:line 78
   at Ice.Hosting.TaskCaller.InnerExecuteTask(IceDataContext newContext) in C:\_releases\ICE\ICE4.2.400.3\Source\Server\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 69
   at Ice.Hosting.TaskCaller.ExecuteTask() in C:\_releases\ICE\ICE4.2.400.3\Source\Server\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 60
   at Ice.Hosting.TaskCaller.ExecuteTask(IceDataContext dataContext, Boolean suppressTransaction) in C:\_releases\ICE\ICE4.2.400.3\Source\Server\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 40
   at Ice.Services.Lib.RunTaskSvc.<>c__DisplayClass30_2.<InnerRunTask>b__1() in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Services\Lib\RunTask\RunTask.cs:line 460
   at Ice.Lib.RunTask.BpmFriendlyTaskLauncher.Run(String sessionIdPrefix, IceContext db, Action taskRunner) in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Services\Lib\RunTask\BpmFriendlyTaskLauncher.cs:line 57
   at Ice.Services.Lib.RunTaskSvc.InnerRunTask(Int64 ipTaskNum, Boolean suppressTransaction) in C:\_releases\ICE\ICE4.2.400.0FW\Source\Server\Services\Lib\RunTask\RunTask.cs:line 457

I believe this is being caused because the dataset for the standard SSRS now has a “PrintAttributes” report parameter. The old SSRS dataset did not. Also, the SysRowID field needs to be unexcluded from the RDD

If I print a standard job traveler this comes out fine. However, this means that all of our custom reporting is now in question because of an added parameter.

Is anyone else having this issue with their custom reports? If so is there a better way to handle these issues going forward?

This sounds like a big deal… thanks for warning. I’d suggest reaching out to them to know extent of changes that have broken customizations.

Questions for you -

  • So standard report SQL queries / RDDs have been patched in this upgrade?
  • Did you adjust any SQL queries on your custom reports? I’m guessing those were not patched and are the ones with issues?
  • What about your custom reports where you didn’t have adjusted queries? Ie the queries are identical to standard reports. Did those break too? Fairly easy to fix (by copying from updated standard report) but it still sucks…
2 Likes