We have a duplicate ARForm that has a few additional linked tables including UD08. Most of the data shows up fine when AR invoice is printed but one specific field (ShortChar04) the crystal reports file uses is not being included in xml dataset. See screenshot below.
Is there any field security set on that field? Normally when there is no value (null) for that field, it will not show up at all in XML or CR. This can be caused by a user not having read access to this field.
I’ve had similar experiences and it almost always come down to the table and field used and how the table was added to the report. I know it can be tedious. Here’s is the step by step I use for E9 and it’s never failed me.
PROBLEM: In Epicor 9, users can add new tables to a Report Data Definition. How is this done?
RESOLUTION 1:
Go to Report Style
Click the ReportID
Enter the name of the Form i.e. ARForm
Click the Styles tab
Click the Style List sub-tab
Under the Style List in Report Definition change the definition to the correct definition i.e. ARForm2
Click Save
RESOLUTION 2:
To accomplish this, you first want to start with creating the Report Data Definition to use which then gives you the ability to add fields within Crystal, that are not standard fields on the form.
ADDING A TABLE TO A REPORT DATA DEFINITION:
In E9, go to System Management->Company Maintenance->Report Data Definition.
Click on the Code button, then Search button.
Find the Report Data Definition you would like to modify, ie POForm.
Go to Actions->Duplicate Report.
The Report Def ID field should be unique, i.e. POForm2.
Give it a Description and choose OK.
The newly created Report Data Definition is now visible and can be changed; it is an exact duplicate of the original definition for the standard form.
Go to File->New->New Table
Click on the RptTableID button.
Search for the table required, for example, POApvMsg.
Once you have the table, click OK.
Go to File->New->New Relationship.
Create the relationships (if this is not done, you will see the added tables & fields, but you will never get data in them). This does not replace linking in Crystal.
A. Parent table can be any table that is in the tree.
B. Key: (Use keys where possible, will run faster)
C. Child table will only be the added table.
D. Relation Type should be Output.
E. Relationship fields - These don’t have to match. If they are not valid, you will get no data or you will get multiple records (huge XML). If you link table by company only, you will get all of the data for the added table.
Choose your fields to be included on the Report Data Definition, from the Excluded Fields tab.
Save your changes. The new Report Data Definition is now available.
GENERATING THE .XML CONTAINING THE NEW REPORT DATA DEFINITION:
Go to System Management->Company Maintenance->Report Style.
Open the Report Style, for example POForm.
Call up the Style number using the new Report Data Definition, for ex ample Style 1 note where the report is.
File new style, add a style and point it to the new Report Data Definition (for example POForm2.)And the existing Crystal Report.
Save the changes.
Go the Material Management->Purchasing Management->GenOps->PO Entry.
Open a PO, and print preview it.
This will generate the .XML in the \mfgsysdata\reports<useID> folder.
Edit that .XML, and the data from that form will now be available.
ADDING THE NEW TABLES FROM THE .XML TO THE CRYSTAL REPORT:
NOTE: A familiarity with Crystal Reports is recommended for the next steps, as you will be designing your Crystal Report.
Go to Database->Set Datasource Location.
In the Replace With section, double-click Create New Connection->ADO.NET (XML).
In the ADO.NET (XML) window, in the File Path field, browse to the .xml file created above, highlight the .xml, click Open, and click Finish.
Highlight the ReportDataSet in the Current Data Source and Replace With sections, and then click the Update button on the right. Click Close.
Go to Database->Database Expert.
On the Data tab, copy the added tables from Available Data Sources on the left to the Selected Tables on the right. Click OK.
On the Links tab, accept the default links or create your own links between tables and fields. Depending on your needs, these may be inner or outer joins. Make your changes and click OK.
Go to View->Field Explorer. Expand the Database Fields tree. This will list your tables.fields from the modified Report Data Definition. Include and arrange the fields as required.
After digging through some customization code and bpm’s before my time, I discovered that somewhere along the line someone switched the field that a bpm was drawing data from :\ Now I have investigate some previous customizations.