cancel
Showing results for 
Search instead for 
Did you mean: 

LOAD UNIT OF COMPONENT IS VERY LARGE (GENERATION LIMIT)

Former Member
0 Kudos

We are experiencing this meesage when compiling an ABAP WEB DYNPRO Application: "LOAD UNIT OF COMPONENT IS VERY LARGE (GENERATION LIMIT)"

When Checking the Generation Limits In the Context menu, I have determined our size of Generated Load in bytes is to big.

The documentation of recommendations is to restructure the program. I am not clear what this means and how this would reduce the Generation Load in bytes. Any ideas would be appreciated.

Accepted Solutions (0)

Answers (1)

Answers (1)

thomas_jung
Developer Advocate
Developer Advocate

This generally happens when you get a single WDA Component with too many views. You need to redesign your application to use multiple components and reorganize your views and spread them out between these mutliple components.

Former Member
0 Kudos

We have received this disturbing warning message today - first time ever. The load size of the incriminated module is 2.1 MB.

May I ask the following, additional questions?

- How should we reorganize the application and at the same time ensure smooth and user-friendly handling?

We only want to use one Explorer window.

- Even the SAP reference application "LORD_MAINTAIN_COMP" (37 views) is way too big, according to the recommendation. Is there a better example from SAP?

- How could a complex transaction be built and at the same time stay in the green limit area (< 500k)?

- What at all is the problem in loading 2 Megabytes of data into memory? Could you please describe the technical background in more detail?

- Is there a maximum load size, which would lead to an error (reject of generation)?

Regards,

Martin Büttner

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

> How should we reorganize the application and at the same time ensure smooth and user-friendly handling?

We only want to use one Explorer window.

Using multiple components doesn't mean that the user will notice any difference. Component usages can be embedded within one another. Using the ALV for instance is a perfect example of a component usage.

>- Even the SAP reference application "LORD_MAINTAIN_COMP" (37 views) is way too big, according to the recommendation. Is there a better example from SAP?

I wouldn't consider LORD_MAINTAIN_COMP a reference applicatoin. It was one of the veryfirst WDA's shipped by SAP before we learned some of these lessons ourselves. Have a look at the guidelines for Floorplan Manager if you are on 7.01. The FPM provides a very good (and well used by SAP) framework for building large scale WDA applications.

>- How could a complex transaction be built and at the same time stay in the green limit area (< 500k

As described the usage of multiple components avoids the generation limit and is recommended for large scale applications.

>- What at all is the problem in loading 2 Megabytes of data into memory? Could you please describe the technical background in more detail?

It has nothing to do with 2Mb into memory. It has to do with the generation load size in the VM for the generated class that represents your WDA Component. The ABAP compiler and VM have limits (like all VMs and compilers) on total load size and the maximum size for operations and leaps. Generated code can be extremely verbose. Under normal conditions, these load limits are almost never reached in human created classes.

In 7.02 we backported the 7.20 ABAP complier - which in additon tpbe rewritten to support multipass compelation, also increases some of the load limits. However the general recommandation about componentization still stands. Componentization of you WDA application improves maintainabilityand reusability over time. My personal rule is that if you are getting between 10-12 views in your Component, it is time to think about breaking out into multiple components.

>- Is there a maximum load size, which would lead to an error (reject of generation)?

Yes there is. However the workbench throws warnings well in advance. At some point it won't even let you add more views to a component. However if you continue to add content to the existing views, you can reach a point where generation fails.

0 Kudos

Hello Thomas

is this issue with generation limit/ load size still up to date in ERP 6.0?

I have a WD4A Application that uses TabControl with app. 15 Tabs and some ViewIncludes that are used in some of these Tabs. The Application is already split into 3 components but still the generation limit warning is showing (> 2 MB) in the Component containig only the TabViews.

The Datahandling is already moved to the Assistance Class and one Common Class. Application Logic is in Component-Controllers, the View-Controllers are mainly used only for Datatransfer between Views and Data from Methods (as generally proposed for WebDynpro Projects).

Kind regards,

Alex Nagy