SSRS Form/Database not Displaying UD Field Data

I added a UD Field to the JobHead table called FAQty_c. I added it to the screen and entered data in the field for a job. I then added the JobHead table to our custom Job Pick List RDD by linking it to the JobAsmbl table by the Company and JobNum fields, and then chose to include the Company, JobNum, and FAQty_c fields.

I then modified the SQL expression in our custom Job Pick List to pick up the changes and include the JobHead info. When I ran the report, the fields from the main JobHead table (Company and JobHead) had data but the FAQty_c did not. I found the GUID in my SSRS database and found that the FAQty_c field said NULL.

I decided to stop and start the Task Agent (not sure if that does anything) and then I recycled the IIS App Pool that the Task Agent is tied too. Now the FAQty_c shows 0 instead of NULL, but it should say 1 which is what I entered into the field in the Job Entry screen.

If I check the data with a BAQ, the data is there. I am currently on 10.1.400.14. I am having this problem on this report and the MtlTag. Consultants have created custom forms for us on 10.1.400.12 and the UD field data came in no problem. Is it possible a bug is causing this problem for this version? Am I missing a step to get the UD Fields to display data in the SSRS database?

Any and all help is appreciated.

When you are addressing UD fields at the SQL level, you have to make a join to the UD version of the table. In your case JobHead_UD needs joining to JobHead. Inside Epicor the UD field integrates automatically for you. In SQL it doesn’t.

Here is an example of the join you need:

select Part_UD.MarkupOverride_c, Part.PartNum from Epicor10.Erp.Part_UD INNER JOIN Epicor10.Erp.Part on Part_UD.ForeignSysRowID = Part.SysRowID

1 Like

Did you do the following as well

Update the SQL Expression for the report. Add the new field.
Add the new field as a query field to the report.
Add new query field to the report.

Ben: I can give that a shot, however, I was under the impression that the RDD took care of that for me. I’m looking at forms consultants have created for me and they did not join the UD version of the table in the SQL expression. I’m not trying to say one way is better than the other, I’m just trying to understand why there is a difference.

Ken: I did all of those steps. The data isn’t making it to the SSRS database which makes me wonder if it’s an RDD problem.

What does your RDD look like the field is not excluded correct?

No the field is not excluded.

great. Can you post your join. Is this a new report? Check other reports that use the table, see if the field is there. Then, like you are thinking it is the RDD or how the system is creating the report table.

I have posted a bunch of screenshots show the data in the BAQ, the RDD field being included, the RDD Join, and the data in the SSRS database.

Part of my SQL expression where I added the JobHead table is below.

LEFT OUTER JOIN JobHead_" + Parameters!TableGuid.Value + " T6 ON T1.Company = T6.Company AND T1.JobNum = T6.JobNum"

BAQ

The JobHead table is already linked to the RDD through Linked Tables. Add JobNum to the Picked Links and then on the Description Fields sheet, select the UD field to add to the report.


You will then need to add the field to the SSRS DataSet Query and the Query Field to the DataSet Fields and lastly the field to the report itself.

The field name will be T1.JobNum_FAQty_c

2 Likes

Adding the field through Linked Tables did the trick. Thanks!!

I still don’t understand why the other way didn’t work, but maybe it’s a non-issue.

In Epicor 10.1 it is no longer necessary to join the UD table. Check and make sure the target column is not excluded from the table.

Report Data Definition> QuoteHed table> Report Table> Exclusions

1 Like

Was your custom RDD from a previous version of Epicor? If so, it’s always safer to copy the current RDD from the source upgraded release.

I believe the consultant created a new RDD when they created the form when we went to E10.

One last comment, if you’re in SQL you don’t have to join to the _UD table. Just query from the VIEW instead, which is prefixed dbo.TableName rather than ERP.TableName. The view contains all the fields from both tables.

This worked great for a custom SSRS report. I add table JobHead and JobHead_UD to my RDD for the SGMargin report. Add the relationship of InvoiceDtl to JobHead (company and jobnum) using the output type. However, you would need to add the relationship for JobHead to JobHead_UD using the definition type not output type.

1 Like

I know this is an old post - but I’m having a very similar issue with the RMAForm report. I’ve added a new table to the RDD and I can see that this table gets created in SQL Server when I generate the report. However, the table has no data. I’m not using any filtering criteria or report relationships and the table I’m pulling from does have data in the Epicor database, but it’s just not populating. Was anyone able to determine what caused @tmcmullen’s original issue?

Make sure any field specified in the relationships for the new table aren’t excluded.

You probably have a relationship for Company and RMANum. Make sure they aren’t excluded from the added table.

Hey Calvin, unfortunately this is what I had originally but the data definition doesn’t pull in any values. I actually tried deleting all report parameters and relationships so I would bring in ALL records from the target table (just as a test). But it doesn’t pull anything. If you have time, here’s a link to the original post I made about it a few days ago: Added "HDCase" table to RMAForm RDD but no HDCase records are populated in the temp tables

Original issue was resolved - I’m still a little confused on how Epicor fills the temp tables with data, but I found what I was missing in my original issue.

The temp tables contain just the data that the RDD (or BAQ in a BAQ Report), based on the parameters at runtime. If there is a Part_guid temp table created for your report, it will only contain the records required, based on the input.

One last thing. RDD’s often create table’s that don’t exist in the DB. The RDD often combines tables. For example, the ARForm RDD makes about 7 temp tables, but has like 20 DB tables.

Since a single Invoice will have info just one customer, no need to make separate temp tables. So you might see fields like Customer_Name in a temp table named InvcHead.