Skip to main content
Question

Removal of Crystal Reports in 25R1

  • January 29, 2025
  • 84 replies
  • 8739 views

Show first post

84 replies

  • Sidekick (Customer)
  • January 29, 2026

[...]

The result set and the XML report data contains the same data, in two different formats. The result set is a flattened representation of the same hierarchical data structure that exists in the XML document. [...]

A small note.

I don't know about Cloud, but in "9" I had cases where the result set was different from XML. He had less data. Oracle's built-in XML support (xmltype(...) ) solves the problem.


  • Do Gooder (Customer)
  • January 30, 2026

Thank you for the examples Simon, will keep this in mind when discussing the future of the result sets.

We’re not able to confirm SU3 just yet. We’re still working towards this target, but it’s going to be tight, would hopefully have a better view in another week or so.

Hello ​@Martin Olsson.

Can you confirm now that it is in SU3 that Crystal Reports will be reintroduced ?
Can you give us the estimated delivery date of SU3 ?
Thanks, Regards. Guillaume


Martin Olsson
Do Gooder (Employee)
Forum|alt.badge.img+5
  • Do Gooder (Employee)
  • January 30, 2026

Thank you for the examples Simon, will keep this in mind when discussing the future of the result sets.

We’re not able to confirm SU3 just yet. We’re still working towards this target, but it’s going to be tight, would hopefully have a better view in another week or so.

Hello ​@Martin Olsson.

Can you confirm now that it is in SU3 that Crystal Reports will be reintroduced ?
Can you give us the estimated delivery date of SU3 ?
Thanks, Regards. Guillaume

The release date of SU3 is Feb 19th (it’s a fixed cadence of 3rd Thursday in each calendar month).

We’re still testing / quality assuring, so I ‘m still not able to fully confirm it will be included in SU3 or not. We will only include it if we pass all the QA gates - we are working towards SU3 still.


Martin Olsson
Do Gooder (Employee)
Forum|alt.badge.img+5
  • Do Gooder (Employee)
  • January 30, 2026

[...]

The result set and the XML report data contains the same data, in two different formats. The result set is a flattened representation of the same hierarchical data structure that exists in the XML document. [...]

A small note.

I don't know about Cloud, but in "9" I had cases where the result set was different from XML. He had less data. Oracle's built-in XML support (xmltype(...) ) solves the problem.

For a properly developed Report/RDF the XML would contain all the information included in the result set and I’m fairly convinced this would have been the case for all standard operational reports shipped in CORE already back in Apps 9.

It’s possible to develop the​​​ business logic for a custom Report/RDF in a way where data is missing from the XML compared to the result set, or the other way around, but that’s an incorrectly developed report in my mind. Unless you’ve made a deliberate decision you only use/need one and not the other.


Forum|alt.badge.img+12
  • Hero (Customer)
  • February 2, 2026

[...]

The result set and the XML report data contains the same data, in two different formats. The result set is a flattened representation of the same hierarchical data structure that exists in the XML document. [...]

A small note.

I don't know about Cloud, but in "9" I had cases where the result set was different from XML. He had less data. Oracle's built-in XML support (xmltype(...) ) solves the problem.

For a properly developed Report/RDF the XML would contain all the information included in the result set and I’m fairly convinced this would have been the case for all standard operational reports shipped in CORE already back in Apps 9.

It’s possible to develop the​​​ business logic for a custom Report/RDF in a way where data is missing from the XML compared to the result set, or the other way around, but that’s an incorrectly developed report in my mind. Unless you’ve made a deliberate decision you only use/need one and not the other.

 

Hey Martin,

I completely agree that technically speaking, you’d want the RDF to include all the data you’re going to use in the report so that the XML is complete.

This is a bit problematic however as this requires somewhat heavy customizations of reports where something like Crystal lets you pull runtime SQL Expressions so that you can modify a layout without doing any Build Places changes (no taking the environment offline etc.).

If there was a way to pull from the DB through the Projection endpoints somehow, and add that as a “live pull data source” that you can use as an additional data source in Reporting Studio, that would certainly alleviate a lot of the issues.

Speaking only for myself and my company here, but aside from the layout “look” and pagination abilities that Crystal offers where Reporting Studio is still a bit lacking, the principal reason we appreciate Crystal is BECAUSE it lets us effectively modify the queried and rendered data without having to customize the Core Layer of the report.

It’s simply very practical to be able to modify a report and just deploy a new layout file for immediate effect without having to customize the entire RDF :)

 

 


Martin Olsson
Do Gooder (Employee)
Forum|alt.badge.img+5
  • Do Gooder (Employee)
  • February 2, 2026

Simon,

Even if my previous comment was purely about the result set and the XML, both fully created by the RDF, containing the same data, I fully acknowledge the desire to sometimes include additional data in a report that is not part of the data collected by the RDF.

I know this is a fairly common practice used by quite a few customers/partners using Crystal - extending or augmenting the report data collected by the RDF using one or several custom SQL queries defined directly in Crystal Reports layout. The thing is that this comes with some implications, which is why we’ve strongly discouraged from doing this and clearly stated so in the documentation, including that it’s not supported, since the introduction of this functionality more than 2.5 decades ago.

The reason this is not supported and discouraged is that it bypasses any data access control defined in the application (essentially ‘where’ clauses filtering data based on which user is accessing the data) which is a common pattern throughout the application (HCM/HR being one obvious area, but there are many others). Unlike when executing a Crystal Quick Report, the SQL query added to a Crystal Operation Report layout will be executed as a system used with elevated access rights. The reason for this is that these reports are often run/formatted in the background and/or on a schedule, rather than by a logged in user.

Anyway, the consequence being that these SQL queries will not be filtered as one might expect, with the affect that users get access to data that are not allowed to access. One could obviously argue that as long as you make sure you don’t access any views with this type of data access control it’s fine, but it’s not only hard to know which views contain this (as it’s really an internal implementation detail) it’s also something that could change over time. So ever if it’s fine when you design the report, it might have changed later when you run the report.

I’d argue this need was higher earlier, when doing an RDF modification meant you had to engage an IFS Consultant and get a customization scoped and delivered. Since IFS Cloud, the Build Place and the fact that the customer themselves manages any modified source code in the solution, it’s less of a hurdle to extend the RDF with the additional data, ensuring you don’t hit any of the issues described above.

All that said, we still acknowledge the convenience of being able to quickly and easily augment an operational report dataset with additional data (without modifying the RDF). One way of doing this would be to marry the QuickSight report concept (based on Projection data, typically defined through the Query Designer) with standard operational reports in Report Studio (based on the RDF collected data). Even if this is not supported yet, it’s something we looking into - hopefully we can introduce this support in a future version of IFS Cloud.


Martin Olsson
Do Gooder (Employee)
Forum|alt.badge.img+5
  • Do Gooder (Employee)
  • February 5, 2026

Happy to confirm that the Crystal Reports support will be reinstated in 25R2 SU3 - scheduled for release 19th February.

As communicated earlier, we’ve been working towards SU3 all along, but since it’s been a really tight schedule we’ve been unable to confirm it until now.

Just as a reminder. The Crystal Reports support will remain in 26R1 as well, but then be removed in 26R2. So, there’s still a need to transition off Crystal, but this will allow more time for that transition and also provide a single release (26R1) where the Crystal support is available side-by-side with Report Studio operational report layouts as well as QuickSight report support.

The Delivery Continuity capability introduced in 25R2 cannot be enabled as long as CRYSTL component is installed, hence it’s not possible to use that capability until transitioning off Crystal.


Forum|alt.badge.img+12
  • Hero (Customer)
  • February 5, 2026

Awesome thanks Martin.

 

For Managed Cloud Customers, do you know if any action is required on our or Support’s part to “reactivate” any part of the middleware, such as the Crystal Webservices themselves etc?

 

I don’t know if anything was turned “off” by applying 25R2, and if anything did, would it automatically be turned back on when applying SU3, or if theres any manual action required ? :)


Martin Olsson
Do Gooder (Employee)
Forum|alt.badge.img+5
  • Do Gooder (Employee)
  • February 9, 2026

Hi Simon,

Since we made the decision that we would reinstate Crystal Reports in  SU, just before the GA release we managed to prevent any pipeline updates and similar things that would have decommissioned Crystal Web Services and other similar things. This means there should be a minimum manual action required.

The one thing I am aware of is the result set toggle, hence the setting per report ID/definition that controls if a result set is created or not. This would have been switched to “off”/false for all reports when you updated to 25R2, so it would have to be switched back to “on”/true.