Skip to Content
Author's profile photo Ingo Hilgefort

SAP Integration Update Part 4 – Crystal Reports for Enterprise and Custom Structures

This is the 4th part of my update series and here the links to the previous entries:



This time I would like to share how Crystal Reports for Enterprise 4.0 is able to leverage custom structures defined in a BEx Query.


The image below shows a BEx Query in the Query Designer with a custom structure in the rows – called Product Structure. In addition this custom structure is organized in a hierarchical manner.




Until now Crystal Reports 2008 would treat such a custom structure like a single characteristic and provide the user with a single field and in our example three rows of data.


The “problem” with the existing behavior is, that the user can not select specific elements from the custom structure for the particular report. For example you might have a financial structure with 100 structure elements but would like to focus your report on 20 structure elements.


Now lets take a look at how Crystal Reports for Enterprise is treating the BEx Query.



In the screen above you will notice that on the left hand side Product Structure is shown as part of the overall available meta-data but especially it is shown with a hierarchical element below.


On the right hand side I included the hierarchical element from the Product Structure into my resultset and I opened up the Member Selector. In the Member Selector you can see that not only does Crystal Reports for Enterprise provide you with the list of structure elements and you can define which elements you would like to see as part of your report, but also the hierarchical structure is reflected.


Now as part of my report I can then easily show my key figures and my custom structure elements.




Overall Crystal Reports for Enterprise 4.0 is not only giving you access to the custom structure of your BEx query, it also is able to recognize the hierarchical nature if you defined it in the BEx query and provide you with the list of members for the custom structure so that you are able to select explicit members for your report.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member
      Hi Ingo,

        This is very nice blog. Thank you very much for sharing information.

      Prasad Bobburu

      Author's profile photo Sean McElhinney
      Sean McElhinney

      Hi Ingo,

      When using a custom structure from a BEx query is it possible to bring each item of the structure into CRE separately. The reason for this would be to apply different formatting (bold, italic, underlining, indenting) to different items (dimensions and measure values) in the structure. The purpose for this is to format the CRE report in a financial statement format.

      I can see that the entire structure, or parts thereof, can be brought into the CRE report, but not how the individual elements of the structure can be brought in separately. For example, bring in on item that may be a heading and then a separate item that could be sales revenue and then another that is interest revenue.



      Author's profile photo Ingo Hilgefort
      Ingo Hilgefort
      Blog Post Author

      Hello Sean,

      yes you can leverage the object for the structure in the query panel in Crystal Reports for Enterprise and then open the Member Selector and decide which elements from the BEx Query Structure you would like to include into your report.


      Ingo Hilgefort

      Author's profile photo Former Member
      Former Member

      Hi Ingo,

      Great post.  I receive an error ("Failed to Execute Query: <java.lang.ArrayIndexOutofBoundsException:1>'. Redesign your query or

      contact the data source maintainer to solve the problem")

      when I use two BEx query structures in my report (one KF and one non-KF).  I am able to select my members without any issues when building the report.  The interesting thing is when I refresh the data preview, the data looks fine.  Its just when I click "OK" is when I receive the error.  If I just select one member from my BEx query structure I do not recieve an error.  However, if I select more than one member (which is what I want to do) I receive the error.

      Are there any product limitations when using custom structures in this manner?


      Josh Dunlap