AR Form Error

My AR Form was working fine and we just updated to 10.2.300.5 and now I get a strange error. I am not sure if I made an error on form or another issue.

What does this error mean?

Program Ice.Services.Lib.RunTask raised an unexpected exception with the following message: RunTask: CREATE VIEW failed because column ‘SyncReqBy’ in view ‘RptLabels_5585424B864A42058CF92806BAEED1CC’ exceeds the maximum of 1024 columns.
Stack Trace:
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Ice.Core.RptBase.RptLabelsSqlTableBuilder.BuildView(SqlObjectsCreated sqlObjectsCreated) in c:_Releases\ICE\RL3.2.300.0\Source\Server\Internal\Lib\TaskLib\RptBase\RptLabelsSqlTableBuilder.cs:line 112
at Ice.Core.RptBase.DatabaseReportDataStorage.BuildTableSchemas(Boolean buildRelationships, Boolean dropExistingTables) in c:_Releases\ICE\RL3.2.300.0\Source\Server\Internal\Lib\TaskLib\RptBase\DatabaseReportDataStorage.cs:line 91
at Ice.Core.RptBase.ReportDataBuilderBase.XSDOpen() in c:_Releases\ICE\RL3.2.300.0\Source\Server\Internal\Lib\TaskLib\RptBase\ReportDataBuilderBase.cs:line 356
at Ice.Core.RptTaskBase1.XMLOpen(String fileName) in c:\_Releases\ICE\RL3.2.300.0\Source\Server\Internal\Lib\TaskLib\RptBase\RptTaskBase.cs:line 302 at Erp.Internal.AR.ARInvForm.RunProcess(Int64 instanceTaskNum, String outputFileName) in C:\_Releases\ERP\UD10.2.300.5\Source\Server\Internal\AR\ARInvForm\ARInvForm.cs:line 730 at Ice.Core.TaskBase1.StartProcess(Int64 instanceTaskNum, String outputFileName) in c:_Releases\ICE\RL3.2.300.0\Source\Server\Internal\Lib\TaskLib\TaskBase\TaskBase.cs:line 47
at Ice.Hosting.TaskCaller.InnerExecuteTask(IceDataContext newContext) in C:_Releases\ICE\ICE3.2.300.5\Source\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 98
at Ice.Hosting.TaskCaller.ExecuteTask() in C:_Releases\ICE\ICE3.2.300.5\Source\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 57
at Ice.Lib.RunTask.BpmFriendlyTaskLauncher.Run(String sessionIdPrefix, IceContext db, Action taskRunner) in c:_Releases\ICE\RL3.2.300.0\Source\Server\Services\Lib\RunTask\BpmFriendlyTaskLauncher.cs:line 63
at Ice.Services.Lib.RunTaskSvc.InnerRunTask(Int64 ipTaskNum, Boolean suppressTransaction) in c:_Releases\ICE\RL3.2.300.0\Source\Server\Services\Lib\RunTask\RunTask.cs:line 577

It looks like the number of columns you can include in the report labels view/table is restricted. I recommend for this report and in best practices opening up your RDD and go through each of your tables on the excluded columns tab and removing those fields and labels you’re not going to use in the report. This will not only get by this problem, but it will also reduce the overall amount of time that Epicor takes to generate your report!

I generally copy the grid to EXCEL, update all of them to hidden, then do a paste update and then re-tick the fields you actually need for display / calculation and also the fields used in any joins. Edit: I notice there’s also a way to rapidly do this using the actions menu.

1 Like

That is what I am doing. I have excluded so much already and still have errors.

Just a painful process. I don’t know why the include so much… they should just include needed and let the user add what is needed.

One more thing is in your RDL, make sure your report dataset for RptLabels is not selecting more columns than you’re passing it.

how do you fix that. That is my issue. The RptLabels.

If your table is being generated in your SSRS database, you can take a look at the columns generated in RptLabels_GUID and let SSMS build you a select statement, then copy and paste that select statement’s columns into the dataset query, overwriting whatever is in there.

Otherwise, you could pare that dataset query down to pull no fields from the database and add back in the fields that the RDL requires, “refreshing fields” after you modify the query. I’ve had mixed success with the refresh fields button in SSRS, so I usually delete/recreate the fields in the dataset manually. It looks like there’s a more fool-proof way of refreshing the fields by deleting the rdl.data file extension when using Visual Studio as mentioned on this stack overflow post.

1 Like

Since the RDD appears to be stored in the database I had a look through the tables to see if I could figure anything out.

We had same issue in moving from 10.1.400 to 10.2.200. Of course called support - which was of no value.

Found a table called ice.Rpt.Exclude which contains all of the columns that participate in the RDD. Column RptDefID contains the name of the RDD. There is a column ExcludeColumn and ExcludeLabel.

in 10.1 the following queries

select count() from ice.RptExclude as re where re.RptDefID = ‘arform’ and re.ExcludeColumn = 0
select count(
) from ice.RptExclude as re where re.RptDefID = ‘arform’ and re.ExcludeLabel = 0

0 is false or in this case not excluded - good use of a double negative.

Returned 2,679 & 270. My custom ARForm has 2915 & 501.

Not sure how 2679 columns isn’t above the magic number of 1,200 columns as set by the limit. Nor do I see how labels come close

In 10.2.200 the numbers are (base) 2,858 & 181 and my custom form is now 2866 & 422 after indiscriminately excluding columns and labels I didn’t think were necessary.

Does anyone have any idea how these numbers translate into report columns?

This is an old post, but no one has explained what’s happening and I made a previous post which did not lead to the resolution. Epicor is adding a lot of extra fields within the external report dll as part of the other referenced system tables which do not have any field exclusions visible to the user.


As a huge disclaimer, I did not perform any verification that these are not used in normal calculations, so I can’t recommend you modify these. However, if you were to remove these tables which may or may not be linked to CSF for Mexico (for instance by deleting from the Report Table list view), it will drastically reduce your RptLabel column count to under 1024 columns.