I have created a crystal report in order to have the ability to print a detail page for a custom menu item called NCMR (Non-Conforming Materials Report). The NCMR form uses columns from a custom UD table (UD101_UD) as well as columns from the original UD table (UD101). It also uses columns from the child table (UD101A) and a custom child table (UD101A_UD). The form is working fine and all data entered is saving to the UD tables.
The problem is that all the data is not coming through to the crystal report. When the report is ran, the XML is generated and it contains all the data for the record. The data which is contained in the original UD tables comes through to the report (ex. UD101.Key1), but not the data contained in the custom UD tables (ex. UD101_UD.c_CARRequired). I noticed that the column names in the XML under BAQReportResult do not match the column names in the crystal report under BAQReportResult. I think this may be why the data isn’t coming through, but why are the names different? What am I missing?
I’m relatively new to Epicor and Crystal Reports, so it might be something simple that I didn’t set up correctly. If anyone can point me at something I should check, I would really appreciate it. If more information is needed, let me know.
Did you generate the sample code for the BAQ Report via the BAQ Report utility? That will generate the correct data column information that will allow you to build the crystal report.
Also, make sure that you did not “save data” with the report. This always causes issues.
I opened a ticket in Epicare and reached out to an independent consultant about this. The consultant used a remote session to take a look and poke around a little to try to figure this out. The takeaway from that session was that the XML parser in E9 does not create the XML correctly when handling custom UD tables with custom UD columns. The data is correctly retrieved in the BAQ and it’s present in the XML, but the column names in the XML are inconsistent. The column definitions do not match the data tags in the XML. This results in Crystal Reports not being able to find the data in the XML because the column names do not match. Neither the consultant nor I could figure out a workaround for this. The Epicare ticket hasn’t been assigned to an analyst so I’m not going to hold my breath for an answer on that end.
The solution in this case was to use built in columns in the UD tables (UD101 & UD101A) instead of using the custom UD columns I had previously created. So I am now using columns like ShortChar01, Date01, etc. to hold data. This is fine and it works as long as we have a cheat sheet for which column represents which particular piece of data. This is a method we have used for other custom Epicor modules in the past. We had thought that this new NCMR module would be a good chance to utilize the custom UD table and column functionality of Epicor, but it’s not exactly working as it should in E9. Perhaps in E10 this functionality works as intended. I wanted to follow up on this in case this helps someone else to decide on a course of action.
Did you use the Extended Properties tool to change the label for that UD field? If not you may want to check this out and read up on those options. It is available in E9 and is under the System- Utilities menu area.
Note this is not the Extended UD Table Maintenance utility