10.1.600.4 Crystal Reports Error

I’m getting some errors in our 10.1.600.4 test environment when we run some custom Crystal reports.
Any ideas on how or where to fix this?

Program Ice.Services.Lib.RunTask raised an unexpected exception with the following message: RunTask: Cannot set Column ‘OrderLine_OrderLine’ to be null. Please use DBNull instead.
Stack Trace:
at System.Data.DataRow.set_Item(DataColumn column, Object value)
at Ice.Core.RptBase.DataSetReportDataStorage.WriteRow(IDataSource dataSource, IRow row) in C:_Releases\ICE\3.1.600.4\Source\Server\Internal\Lib\TaskLib\RptBase\DataSetReportDataStorage.cs:line 107
at Ice.Core.RptBase.OutputRelationDataWriter.WriteRowsForKeyValues(SqlCommand sqlCommand, IList1 keyParameters, DataSourceRelationship relationshipInformation, Object[] keyValues) in C:\_Releases\ICE\3.1.600.4\Source\Server\Internal\Lib\TaskLib\RptBase\OutputRelationDataWriter.cs:line 101 at Ice.Core.RptBase.OutputRelationDataWriter.WriteRows(SqlCommand sqlCommand, IList1 keyParameters, DataSourceRelationship relationshipInformation) in C:_Releases\ICE\3.1.600.4\Source\Server\Internal\Lib\TaskLib\RptBase\OutputRelationDataWriter.cs:line 127
at Ice.Core.RptBase.OutputRelationDataWriter.WriteTable(DataSourceRelationship relationship) in C:_Releases\ICE\3.1.600.4\Source\Server\Internal\Lib\TaskLib\RptBase\OutputRelationDataWriter.cs:line 155
at Ice.Core.RptBase.OutputRelationDataWriter.WriteTables() in C:_Releases\ICE\3.1.600.4\Source\Server\Internal\Lib\TaskLib\RptBase\OutputRelationDataWriter.cs:line 44
at Ice.Core.RptBase.ReportDataBuilderBase.XMLClose() in C:_Releases\ICE\3.1.600.4\Source\Server\Internal\Lib\TaskLib\RptBase\ReportDataBuilderBase.cs:line 224
at Ice.Core.RptBase.ReportDataSetBuilder.XMLClose() in C:_Releases\ICE\3.1.600.4\Source\Server\Internal\Lib\TaskLib\RptBase\ReportDataSetBuilder.cs:line 85
at Ice.Core.RptTaskBase1.XMLClose() in C:\_Releases\ICE\3.1.600.4\Source\Server\Internal\Lib\TaskLib\RptBase\RptTaskBase.cs:line 158 at Erp.Internal.JC.JobTrav.RunProcess(Int64 instanceTaskNum, String outputFileName) in c:\_Releases\ERP\RL10.1.600.0\Source\Server\Internal\JC\JobTrav\JobTrav.cs:line 689 at Ice.Hosting.TaskCaller.InnerExecuteTask(IceDataContext newContext) in c:\_Releases\ICE\3.1.600.0\Source\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 93 at Ice.Hosting.TaskCaller.ExecuteTask() in c:\_Releases\ICE\3.1.600.0\Source\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 54 at Ice.Lib.RunTask.BpmFriendlyTaskLauncher.Run(String sessionIdPrefix, IceContext db, Action taskRunner) in c:\_Releases\ICE\3.1.600.0\Source\Server\Services\Lib\RunTask\BpmFriendlyTaskLauncher.cs:line 63 at Ice.Services.Lib.RunTaskSvc.InnerRunTask(Int64 ipTaskNum, Boolean suppressTransaction) in c:\_Releases\ICE\3.1.600.0\Source\Server\Services\Lib\RunTask\RunTask.cs:line 535 at Ice.Services.Lib.RunTaskSvc.InnerRunTask(Int64 ipTaskNum, Boolean suppressTransaction) in c:\_Releases\ICE\3.1.600.0\Source\Server\Services\Lib\RunTask\RunTask.cs:line 535 at Ice.Services.Lib.RunTaskSvcFacade.RunTask(Int64 ipTaskNum) in c:\_Releases\ICE\3.1.600.0\Source\Server\Services\Lib\RunTask\RunTaskSvcFacade.cs:line 87 at SyncInvokeRunTask(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at Epicor.Hosting.OperationBoundInvoker.InnerInvoke(Object instance, Func2 func) in c:_Releases\ICE\3.1.600.0\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 59
at Epicor.Hosting.OperationBoundInvoker.Invoke(Object instance, Func`2 func) in c:_Releases\ICE\3.1.600.0\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 28
at Epicor.Hosting.Wcf.EpiOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) in c:_Releases\ICE\3.1.600.0\Source\Framework\Epicor.System\Hosting\Wcf\EpiOperationInvoker.cs:line 23
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
at System.Net.Security.NegotiateStream.ProcessFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest asyncRequest)
at System.Net.AsyncProtocolRequest.CompleteRequest(Int32 result)
at System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 bytes)
at System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.ConnectionStream.IOAsyncResult.OnAsyncIOComplete(Object state)
at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e)
at System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(SocketError socketError, Int32 bytesTransferred, SocketFlags flags)
at System.Net.Sockets.SocketAsyncEventArgs.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Your report is having a problem with the ‘null’ value. The keyword null represents an invalid reference. The class System.DbNull represents a nonexistent value in a database field. In general, we should try avoid using the same thing (in this case null) to represent two very different concepts (in this case an invalid reference versus a nonexistent value in a database field).

1 Like

So, this appears to error out well before it gets to Crystal, so I believe it’s something to do with the RDD.
I see nothing regarding null values, however, and this wasn’t an issue in 10.1.500.
Nothing was changed in the RDD or the report, so that leads me to believe some logic was changed in 10.1.600.
Not sure where to look to fix this.

Do you have a custom RDD for this report? If so, you may need to recreate it. I manually compared and fixed ours when we went to 10.1.500 and now that we are on 10.1.600, I have to do it again. This time, I am using the base RDD (if there is one) and adding the extra fields and things that we need for the report.

Beth, I just got done trying that and it didn’t seem to help.
Same error message.

Is this field a calculated field? Check your Crystal Report. You may have some formatting that is creating problems. I had to find the formula for some fields and “fix” them.

take a look at your RDD and look for OrderLine_OrderLine in particular. See if you have any Report relationships using that field to join to other tables. Its possible that field is not named the same thing, being excluded, the relationship join is not correct or that there’s no data being returned for that field and so it can’t complete the join.

Doh! Turns out I ran the wrong report style after rebuilding the RDD.
That part actually worked and it makes it to Crystal. Now the issue I’m running into is the Crystal report cannot find the any of the Linked fields such as JobAsmbl.JobNum_ProjectID.
When I add the line manually the the XML, it likes it.
It seems that the RDD isn’t writing the linked fields to the XML file.
I tried deleting them and re-adding them, but that didn’t seem to work. (Yes, I previewed the correct style this time!)

Just for grins, I added all pick link references and it gave me this nice lovely error.


Once I hit okay, selected the original links, then refreshed the RDD, it showed me that the JobNum_ProjectID link truly wasn’t there and it finally let me add it. I have to do that error process every time I want to fix the linked fields on other tables. What is going on??

I feel your pain! But glad I was able to help some :wink:

How about this error? I’m only getting this on the WIP Recon. I have tried rebuilding the RDD as well as recreating the SSRS report from the packaged one with no luck.

Program Ice.Services.Lib.RunTask raised an unexpected exception with the following message: RunTask: The parameterized query '(@p0 nvarchar(3),@p1 nvarchar(3),@p2 nvarchar(11),@p3 nvarchar(4' expects the parameter '@p10', which was not supplied.

It looks like you have a formula field that is missing one of the parameters. Look at the fields you have on the report that are formulas. You have one defined as p10 that is missing.

I didn’t write any of the formulas, though.
I copied the default SSRS report, added 2 tables, added the fields to the dataset and that’s it.
I tested it before I put any of the added fields on the report and got that message.

I am making an assumption that you copied it to Crystal? Or is this an SSRS report?

Sorry, this is one of Epicor’s SSRS reports.

Sorry I can’t help you with an SSRS report. I haven’t had the time to learn it but wish I did.