Custom report in ip-mgmt module not displaying data after extension

I’ve extended the IP Management module with a custom report to track patent application statuses across multiple jurisdictions. After deploying the extension, the report interface loads but displays no data rows, even though the underlying data exists in the database.

The custom report uses a modified query builder to aggregate data from multiple IP-related tables. The report query executes without errors in the logs, but returns empty results. I’ve verified the data source mapping points to the correct object types, but something in the custom report configuration seems broken.

QuerySpec qs = new QuerySpec(IPApplication.class);
qs.appendWhere(new SearchCondition(IPApplication.class, "status", "=", "PENDING"));

The query works fine in isolation but fails within the report context. Has anyone encountered similar issues with custom reports in ip-mgmt after extending the module?

Based on the symptoms you’re describing, you’re hitting multiple issues with custom report configuration in the ip-mgmt module. Let me address each focus area systematically:

Custom Report Configuration: Your report definition needs proper column mapping in the report descriptor XML. The jurisdictionCode warning indicates the attribute isn’t properly exposed to the reporting framework. Update your custom report XML to explicitly define column mappings:

<column name="jurisdictionCode" attribute="jurisdictionCode" />
<column name="status" attribute="status" />

Data Source Mapping: The core issue is that custom attributes on IPApplication aren’t automatically included in report data sources. You need to register them in the type manager and then update the report data source configuration. Run these commands after deployment:


windchill wt.typeadmin.TypeDefinitionSync -update
windchill wt.query.QueryAdmin -rebuildCache

This synchronizes your custom attributes with the query framework and rebuilds the report metadata cache.

Report Query Optimization: Your QuerySpec looks correct, but for custom reports you should use the ReportService API instead of direct QuerySpec. This ensures proper result set processing:

ReportSpec reportSpec = new ReportSpec();
reportSpec.setBaseType(IPApplication.class);
reportSpec.addSearchCriteria("status", "PENDING");
QueryResult results = ReportService.execute(reportSpec);

Additional Checks:

  1. Verify the report execution context has read access to all custom attributes through ACL policies
  2. Ensure custom attributes are marked as “searchable” in the type definition
  3. Check that the report template references the correct object type hierarchy
  4. Clear the browser cache and restart the method server after configuration changes

The combination of proper attribute registration, correct report descriptor configuration, and using the ReportService API should resolve the empty result issue. The key is ensuring custom attributes are fully integrated into the reporting framework, not just added to the database schema.


This draft is based on general Windchill knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.

I’ve seen this before with custom reports. The issue usually stems from missing report column definitions or incorrect result set mapping. When you extend ip-mgmt with custom reports, you need to ensure the report descriptor XML properly maps query results to display columns. Check your report definition file for proper column binding configuration.

Are you seeing any warnings in the method server logs during report execution? Sometimes the query executes but the result transformation fails silently. Also verify that your custom IPApplication attributes are included in the searchable attributes list. I had a similar problem where extended attributes weren’t indexed for reporting, causing empty result sets even though the data existed.

Thanks for the suggestions. I checked the method server logs and found a warning about “ResultSetProcessor unable to map column ‘jurisdictionCode’”. This is one of the custom attributes I added to IPApplication. The attribute exists in the database but apparently isn’t properly registered for report queries. How do I make custom attributes searchable in the reporting framework?

You need to register custom attributes in the type definition and then rebuild the report metadata cache. For IP Management extensions, this involves updating the IPApplication type descriptor and running the attribute synchronization utility. Also check if your custom report is using the correct persistence layer - some reports need explicit joins for extended attributes rather than direct column references in the base query.

The empty result issue often relates to view permissions on custom attributes. Even if the query executes, the result filtering layer may strip out rows containing attributes the report context doesn’t have read access to. Verify that the report execution context has proper ACL permissions on all custom IP attributes. I’ve seen entire result sets disappear due to one restricted attribute in the select clause.