Die Builddeskriptoroption v60DecimalBehavior steuert die
Genauigkeit bei Variablen des Typs
DECIMAL,
MONEY oder PACF mit gerader Länge.
Vor Version 8 bestand bei EGL in den folgenden Situationen eine Inkonsistenz in Bezug auf die
Genauigkeit von Variablen des Typs
DECIMAL, MONEY und PACF für verschiedene Zielplattformen:
- Beim Zuordnen von Werten zu Variablen
- Bei der Rückgabe einer Dezimalstellenanzahl für die Variablen durch
mathLib.precision()
Definieren Sie die Builddeskriptoroption v60DecimalBehavior mit YES,
um das Verhalten von Version 6 und der Versionen vor Version 6 zu simulieren.
Werte
Für die Builddeskriptoroption
v60DecimalBehavior können folgende Werte angegeben werden:
- YES
- Es wird das in Version 6 und den Versionen vor Version 6 definierte Standardverhalten
verwendet. Die Dezimalstellenanzahl von Variablen des Typs DECIMAL,
MONEY und PACF mit gerader Länge wird bis zur maximal zulässigen Länge schrittweise um 1 erhöht. Angaben
zur maximal zulässigen Länge dieser Variablen finden Sie in
Numerische Datentypen.
- NO (Standard)
- Es wird das Standardverhalten der Versionen nach Version 6 verwendet. Die Dezimalstellenanzahl
der
Variablen wird so wie ursprünglich deklariert beibehalten.
Standardwert
Der Standardwert
für
v60DecimalBehavior richtet sich nach der Builddeskriptoroption
vagCompatibility:
- Ist vagCompatibility mit YES definiert, lautet der Standardwert für
v60DecimalBehavior
YES.
- Ist vagCompatibility mit NO definiert, lautet der Standardwert für
v60DecimalBehavior NO.
Beispiel
Im folgenden Beispiel ist
v60DecimalBehavior mit
YES definiert:
myVar DECIMAL(8,2);
myInt INT = mathLib.precision(myVar); // myInt = 9
Wenn Sie den Wert für
v60DecimalBehavior in NO ändern, ergibt sich für 'myInt' der Wert '8'.
Kompatibilität
Tabelle 1. Hinweise zur Kompatibilität für 'v60DecimalBehavior'| Plattform |
Problem |
| JavaScript-Generierung |
Die Option wird ignoriert. Das Verhalten entspricht immer dem Standardverhalten für
v60DecimalBehavior = NO. |