Ich habe eine Applikation von LL22 auf LL27 migriert. Jetzt habe ich folgendes Problem:
Es wird eine Formel benutzt, um die Farbe von diversen Feldern zu setzen. Über eine IF-Klausel und ein Nullable-Boolean-Feld (aus einen .NET-Dataset) wird entweder Farbe 1 oder Farbe 2 gesetzt. Ist die Boolean-Feldvariable NULL, dann war bisher das Ergebnis auch NULL und es wurde (Voreinstellung) für die Farbe verwendet.
Anstatt einer Feld-Variable habe ich direkt Null() genommen um das Problem zu verdeutlichen und damit es direkt ausprobiert werden kann.
Beispiel (Als Formel für die Schriftfarbe):
if (Null(), LL.Color.Red,LL.Color.Blue)
Ergebnis in LL22 (seit LL12): Null() → es wird Schwarz (Voreinstellung) genommen
Ergebnis in LL27 (SP3) LL.Color.Blue
Ist das eine beabsichtigte Verhaltensänderung? Ich kann natürlich die Formel anpassen, allerdings gibt es Kunden mit selbst definierten Reports, was es relativ “doof” macht.
Hat jemand eine Idee?
Vielen Dank
Hallo!
Schau mal in die Updatehinweise rein, da gab mal was mit Nullhandling.
Stichwort: LL_OPTION_NULL_IS_NONDESTRUCTIVE
und
ansonsten NullSafe() oder IsNull() bzw. IsNullOrEmpty() verwenden.
Hallo Stefan und Herzlich Willkommen im List & Label Forum.
Es ist richtig, dass wir das Verhalten geändert oder besser gesagt korrigiert haben, denn der ISO-Standard sieht für NULL in einer IF-Bedingung den False-Pfad vor. Es gibt aber eine Option: