NumberFormat seit Update falsch?
Hallo zusammen,
seit unserem Update auf den aktuellen Patch von SAP B1 (10.00.210 FP 2305) und coresuite (V8.05.07211) haben einige Mitarbeiter bei uns das Problem, dass einige Coresuite Customize Rules nicht mehr richtig funktionieren, weil z. B. "das Eingabeformat" nicht richtig ist oder Preise plötzlich mal 1 Mio. gerechnet werden. Es kam daher schnell der Verdacht auf, dass das System mit den Tausendertrennzeichen durcheinander kommt.
Und nach vorläufigen Analysen scheint der Code trotz deutschem Tastaturlayout etc. tatsächlich bei einigen Mitarbeitern als CultureInfo en-CZ zu verwenden. In anderen Programmen und auch im SAP selbst scheint dies nicht angewandt zu werden und führt auch zu keinen Problemen.
Bei anderen (u. a. mir) wird in den gleichen Rules de-DE ausgegeben:
Bei mir:
Bei einigen anderen Mitarbeitern:
Ich habe ein kleines Programm geschrieben, welches die System-CultureInfo ausliest und diese wird bei den betroffenen Mitarbeitern mit de-DE ausgegeben.
Ich kann mir daher nicht erklären, warum bei wenigen Mitarbeitern plötzlich in den Service Rules en-CZ angewandt wird? Ich wüsste auch nicht, wie man das im SAP selbst umstellen können sollte. Hat dafür jemand eine Erklärung oder einen möglichen Lösungsweg? Gab es so etwas schon einmal?
Grüße
René
-
Hallo René,
ein ähnliches Problem hatte ich auch bei einem Kunden nach der Umstellung auf das letzte FP. Die Regel funktionierte einwandfrei davor und ich konnte mit egal welchem Dezimaltrenner das UDF auslesen, aber beim schreiben des Double-Wertes in ein UDF bekam ich plötzlich die Fehlermeldung. Aber nur bei einem Feld, alle anderen hatten funktioniert.
Von Coresystems bekam ich den Vorschlag, das Feld so zu schreiben:
var culture = System.Globalization.CultureInfo.InvariantCulture;
string strUnitPrice = matrix.GetValue(COL_UNITPRICE, iRowDB);double dUnitPrice = Convert.ToDouble(strUnitPrice.Substring(0, strUnitPrice.Length - 4))
TextEdit.GetFromUID(formBest.UDFForm, FLDUNITPRICE).Value = dUnitPrice.ToString(culture);
Das Substring musste ich so machen, weil im Feld noch die Währung steht und somit das Double-Auslesen nicht direkt funktionierte.
Vielleicht hilft Dir das weiter?
Liebe Grüße
Daniel0
Please sign in to leave a comment.
Comments
1 comment