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.