Consultor Eletrônico



Kbase P162367: 4GL/ABL: Error (12371) running a 4GL procedure.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   23/03/2010
Status: Unverified

SYMPTOM(s):

4GL/ABL: Error (12371) running a 4GL procedure.

Attempt to update data exceeding <number>. (12371)

The procedure defines a CHARACTER variable viewed as SELECTION-LIST similar to the following variable definition:

DEFINE VARIABLE vList AS CHARACTER NO-UNDO VIEW-AS SELECTION-LIST INNER-CHARS 54 INNER-LINES 14.

The procedure logic builds the selection list variable from a TEMP-TABLE suing code similar to the following snippet:
DEFINE VARIABLE vList AS CHARACTER NO-UNDO VIEW-AS SELECTION-LIST INNER-CHARS 54 INNER-LINES 14.
FOR EACH ttTable NO-LOCK:
IF vList = "" THEN
vList = ttTable.cField.
ELSE
vList = vList + vlist:DELIMITER + ttTable.cField.
END.

FACT(s) (Environment):

All Supported Operating Systems
Progress 9.x
OpenEdge 10.x

CAUSE:

This is expected behavior. The error occurs whenever an attempt is made to assign a CHARACTER variable data exceeding its allowed maximum of 32K. In our example, the error was generated because the size of the data being pumped from the TEMP-TABLE into the CHARACTER variable SELECTION-LIST was more than 32K.

FIX:

Ensure the data assigned to the CHARACTER variable SELECTION-LIST does not exceed the maximum size of a CHARACTER variable. Use a BROWSE widget instead of the SELECTION-LIST to display data larger than 32K.