v60DecimalBehavior
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
| Plattform | Problem |
|---|---|
| JavaScript-Generierung | Die Option wird ignoriert. Das Verhalten entspricht immer dem Standardverhalten für v60DecimalBehavior = NO. |