Consultor Eletrônico



Kbase P5377: Error 4 when running reports created by Report Builder
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   28/12/2010
Status: Unverified

SYMPTOM(s):

Error 4 when running reports created by Report Builder

Error 0: unable to allocate more memory for records (4)

FACT(s) (Environment):

Progress 8.1C
Windows

CAUSE:

Report Builder seems to have a limitation as to how many records it can process and create a report with. This limitation is based on many factors (such as the number of fields in a record, complexity of the report, system memory, etc.) so it not reached at a consistent number of records for any given customer.

A report which ran fine in the past no longer can run when the data expands past a certain point. Increasing or fine tuning system memory may help in some cases but this is usually only of minimal help. Sometimes it allows more records to be processed only to have the error encountered again at a later point. In any case, as the data expands again in the future the error may occur again.

This error message can also be caused by running a 16 bit application, Report Builder 8.2, on a 32 bit operating system, Win 95 or Win NT. Although there is more memory available on the system, the 16 bit application does not have access to it because it runs in its own virtual memory space.

FIX:

Determine whether filters and calculated fields used in the report are able to be evaluated by the server. Report Builder translates its queries into SQL and sends this to the server.

A server-evaluatable filter allows the server to process the data and only send records to Report Builder which pass the conditions of the filter. Changing a filter from a non-server-evaluatable expression into an expression which is able to be evaluated by the server may greatly reduce the number of records and variables which Report Builder must keep in memory (and thus allow reports to run without getting the above error).

Such a change may also greatly decrease the time it takes to run a report. The same also applies to calculated fields. A list of what expressions are server-evaluatable may be found in the Report Builder User's Guide (p.3-7 in V7 book, p.6-14 and 10-7 in V8 book). Server-evaluatable calcuated fields are indicated with a small "e" next to their expression in the status bar at the bottom of Report Builder when the field is highlighted.

Passing a filter to the Report Engine using rb-other-parameters rather than the rb-filter parameter will also cause a filter to be evaluated on the client rather than the server.