Custom SSRS Report: Run Task: Value cannot be null

I’m creating a custom SSRS Sales Order Pick List report with some extra data from other tables.
When I run it, I get the error below and cannot figure out what’s causing it. There was a similar topic mentioning BAQs in my RDD which I do not have, so that’st not it.
Any other ideas?

Program Ice.Services.Lib.RunTask raised an unexpected exception with the following message: RunTask: Value cannot be null.
Parameter name: key
Stack Trace:
   at System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
   at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
   at Epicor.Utilities.DictionaryExtensions.GetOrAdd[TKey,TValue](IDictionary`2 dictionary, TKey key, Func`2 valueFactory) in C:\_Releases\ICE\ICE3.2.200.11\Source\Shared\Framework\Epicor.ServiceModel\Utilities\DictionaryExtensions.cs:line 24
   at Ice.Core.RptBase.ReportDataBuilderBase.XMLDumpTable(IRow row, String rptTableId) in C:\_Releases\ICE\ICE3.2.200.11\Source\Server\Internal\Lib\TaskLib\RptBase\ReportDataBuilderBase.cs:line 336
   at Erp.Internal.OM.SOPickListReport.DoWhseBinCalculations() in c:\_Releases\ERP\RL10.2.200.0\Source\Server\Internal\OM\SOPickListReport\SOPickListReport.cs:line 900
   at Erp.Internal.OM.SOPickListReport.RunProcess(Int64 instanceTaskNum, String outputFileName) in c:\_Releases\ERP\RL10.2.200.0\Source\Server\Internal\OM\SOPickListReport\SOPickListReport.cs:line 252
   at Ice.Hosting.TaskCaller.InnerExecuteTask(IceDataContext newContext) in C:\_Releases\ICE\RL3.2.200.0\Source\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 98
   at Ice.Hosting.TaskCaller.ExecuteTask() in C:\_Releases\ICE\RL3.2.200.0\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\ICE3.2.200.11\Source\Server\Services\Lib\RunTask\BpmFriendlyTaskLauncher.cs:line 63
   at Ice.Services.Lib.RunTaskSvc.InnerRunTask(Int64 ipTaskNum, Boolean suppressTransaction) in C:\_Releases\ICE\ICE3.2.200.11\Source\Server\Services\Lib\RunTask\RunTask.cs:line 549

Do you have the Relationships?






Try changing all relationship types to output :thinking:

Make sure you haven’t excluded any fields referenced in relationships.

At first I thought, “I don’t need OrderRel.OrderLine since I’m already including OrderDtl.OrderLine, and they’re the same thing…”

But you do.

No luck, but did generate an interesting error when I tried, though. I recreated the relationships with the proper key, but it still fails with the same error.

I have done this a stupid amount of times just to make sure I didn’t miss something or clicked the row above/below it. All fields are included.

Aren’t the Keys in table relationships usually composite ones?

What if you try a “higher” key like OrderNum?

And have you tried building this slowly (adding one table relationship at a time)? The data would be meaningless, but shouldn’t error out (except maybe a timeout).

Doesn’t really give me an option. The dropdown has a preset key. I’ve never typed one in before. Am I supposed to?

Sort of, but not to the full extent. I deleted a few relationships, ran the report, error, then added them back in. Repeat
That wasn’t fruitful, however.

Is that a customized version of a built-in report? Or an RDD built from scratch?

Duped the base SO Pick.

Try not to select any records in this field for all relationships

image

I was focusing on the wrong relationships… OrderHedOrderRel and OrderhedOrderDtl are orginal to the RDD, you’ve added the _Project, _SalesRep, and _ShipTo relationships.

1 Like

Just spitballing… But have you tried changing the sequences of the added tables?

Don’t know if it matters, but I always just number the added tables to be higher than the existing ones.

No luck. Same error.

I have, yes. No change when doing so.
I’ve changed the sequences of the relationships as well.

Does OrderHed always have a value for ShortChar01 and ShortChar03 ? Maybe some older records have a null (as opposed to a "" - null string)

Hmmm … Tried to duplicate what you have and I can;t even add the Relationship Field for
OrderHed.Company = Project.Company

image

Manually typing Company for the child table field, gives me:

My default SOPick has a relationship you don’t: WhseBinPartAlloc

Make sure you didn’t accidentally delete that one. Compare yours to the original SOPick

edit:

I just tested my copy and “accidentally” deleteing the WhseBin table removes the WhseBinPartAlloc relationship.

It’s possible, yes, but having the relationship as “output” should fix that, shouldn’t it since that’s the equivalent of a left join? Additionally, I did remove those joins and it still failed.

Did you exclude the Project.Company field? That’s typically the error message you receive when you do.

I don’t want that table or relation–I should be able to remove both.

I’m not so sure that you can remove it. I’m under the impression that RDD’s aren’t just hardered to use BAQ’s. But rather they use functions for building the the dataset. Theses aren’t just doing simple calculated fields, but rather they do extra things, like iterative processing.

A quick test would be to:

  1. Make a copy of the original SOPick RDD, and just remove that table.
  2. Make a new SO Pick List Report Style to use that new RDD
  3. Run the new style (just select Submit - don’t print or preview it)

You may have to make a new RDL for that new style. One that Isn’t looking for any of the WhseBinPartAlloc fields.

(okay … maybe not really a “quick test”)

edit

I was too curious, So I made a version of the SOPick RDD w/o the WhseBin table, and it runs (after massive tweaking of the RDL - query expression, datasets, and fields)