Skip to Content

Cases where Java Bean connectivity can be opted as a data source for Crystal Reports.

  • The database connection is dynamic or dependent on one of the input parameters entered by the user. Here, the database configurations could be stored in properties file or in the LDAP server. This will be later accessible through the Java Bean class based on the input parameters.
  • There are many database queries to be executed before getting the final result-set (display elements) for the report. In such cases, it’s advisable to go for Java Bean connectivity or stored procedure; as otherwise, it will affect the performance of the report. Also, the report design will be more complex due to this. Merging of two XML data sources can be also considered in this scenario.
  • If some client entitlement checks need to be performed before retrieving the data from the data source, then the entitlement related logic could be built as a part of separate Java code framework and will be accessible through the Java Bean class. So the end-user will not be able to see the data, which is not entitled to him.
  • If data needs to be retrieved from a custom source, for which the semantic or drivers are unknown to Crystal Reports, then it’s a better option to go for Java Bean connectivity. For example, reporting on the statistics of scheduled reports in Business Objects, Weblogic MQ’s, Mainframe systems, Control-M. Data from the external system needs to be written into temporary text files or XML files before retrieving it back and sending it to the report because a java.sql.ResultSet object is expected by the Crystal Report.   

Data flow for Java Bean connectivity

Data flow for Java Bean connectivity
You must be Logged on to comment or reply to a post.
  • I sometimes create Crystal reports, and thought this blog would be interesting.  It was, but maybe too technical, because I have questions.

    What I do know is the easy part.  I create a Crystal report by dragging and dropping tables and linking them via the nice little arrows / lines.

    What would this do to those links.  Sometimes they are already provided.  How about retrieve data via an RFC?

    Just questions that pop up in my mind.

    Thank you!


    • Thanks Michelle for the comment.Here you can consider the Java Bean connectivity as a kind of Remote function call(RFC), where all the data related to the Crystal Report will be fetched from one of the functions defined with in the Java class.We are not going to drag and drop tables and define links,as the Java function result itself is acting as the data source for the report.