SAP Knowledge Base Article - Public

2105208 - ER - CR .NET SDK has a Section limit set to 104 and subreport limit of 40

Symptom

Please remove API restrictions of 104 sections and 40 subreports per Crystal Report. The Crystal Report designer tool does not have these restrictions, only the Crystal .net API enforces them, making it impossible to use the API to manage and work with valid .RPT files created with more then 104 sections or 40 sub-reports. The API restriction does not currently permit this.

 

Environment

Crystal Reports for Visual Studio

Cause

This limit is built into crpe32.dll which handles the Section and Subreport object collections.

The limitation has always been there in crpe32 and rolled into .NET components since Crystal Reports version 4.6

Because this has always been a limitation in our SDK it is considered an enhancement and therefore may take time to impliment if it can be done.

Resolution

Currently R&D is looking into increasing these values but due to the complexity of this change it may affect too much of the core products.

R&D have made some initial changes and currently reviewing those changes if they can be initiated or not.

Potential is if this can be accomplished it should be in Crystal Reports for Visual Studio Service Pack 13.

Update:

We have added up to 120 Subreports and that is the MAXIMUM number of subreports you will be able to add using the CR .NET SDK

Please design your reports accordingly in Crystal Reports Designer and for those old reports that did have more you will need to redign those reports.

PLEASE NOTE: These changes do not affect anything other than using the SDK to access them for modifications at runtime. Viewing these report using our BOE Products is not a problem.

To calculate the area and section update use the foloowing:

int sectionCodeArea = (crSect.SectionCode / 1000) % 1000; // Area
int sectionCodeSection = (crSect.SectionCode % 1000); // zero based Section
int sectionCodeGroup = (((crSect.SectionCode) / 25) % 40); // group section
int sectionCodeGroupNo = (((crSect.SectionCode) % 25)); // group area

The above works for .Format.PageOrientation, it can get more than 260 sections. Currently I do not know the limit.

Group Header and Group Footer will continue to be limited to 120 sections, this will not change.

Planned and still testing for the rest of the sections will be increased to 6000.

When this happens the Macro's will change to:

int sectionCodeArea = (crSect.SectionCode / 6000) % 6000; // Area
int sectionCodeSection = (crSect.SectionCode % 6000); // zero based Section
int sectionCodeGroup = (((crSect.SectionCode) / 50) % 120); // group section
int sectionCodeGroupNo = (((crSect.SectionCode) % 50)); // group area

 

SP 13 is released with this limits:

  • 120 Subreport Max
  • 120 Group Headers Max
  • 120 Group Footer Max
  • All other area's limited to 6000

Keywords

Crystal Reports for Visual Studio, 40, subreport limit, .net sdk, crpe32 , KBA , BI-DEV-NET , BI Software Development Kits (SDKs) - .NET or Other , Problem

Product

SAP Crystal Reports, developer version for Microsoft Visual Studio ; SAP Crystal Reports, version for Visual Studio .NET 2005 ; SAP Crystal Reports, version for Visual Studio .NET 2008