Consultor Eletrônico



Kbase P115666: Error 76 with Integer based dynamic combo
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   28/04/2006
Status: Unverified

FACT(s) (Environment):

Dynamics
Dynamics 2.1B

SYMPTOM(s):

Error 76 with Integer based dynamic combo

** Invalid character in numeric input <character>. (76)

** Invalid character in numeric input A. (76)

Integer Combo with Combo Type defined as "<All> and data" results in error 76.

Multiple combos on a SmartDataViewer result in error 76 when one of those combos is based on an integer field.

CAUSE:


The problem is in populateCombos in fetchField.p. The empty value "cEmptyValue" is being assigned too late, so the empty value for the integer combo is being set from the default value of another character based combo. The character displayed in the error 76 is the first letter of the character combo's default value (probably All).

This is a known issue being investigated by Development

FIX:

To work around the problem modify populateCombos so that cEmptyValue is assigned before the combo record values are formatted. So in populateCombos add the code between the /* PC */ comments so it looks like:
/* Open the query */
hQuery:QUERY-OPEN().
hQuery:GET-FIRST() NO-ERROR.

/* PC */
IF cTranslatedOption <> ? THEN
DO:
CASE ttDCombo.cWidgetType:
WHEN "Character":U THEN cEmptyValue = ".":U.
WHEN "Decimal":U THEN cEmptyValue = "0":U.
WHEN "Integer":U THEN cEmptyValue = "0":U.
WHEN "Date":U THEN cEmptyValue = "?":U.
OTHERWISE cEmptyValue = "0":U.
END CASE.
END.
/* PC */

REPEAT WHILE hBufferList[1]:AVAILABLE:

This case statement is simply copied from lower down in the populateCombos procedure.