System-Skriptsprache: Allgemeine Funktionen, Funktionen für Null-Werte (Null functions)

Mithilfe der Funktionen für Null-Werte lässt sich überprüfen, ob ein Ausdruck oder eine Variable den Wert null besitzt. Zu den Funktionen für Null-Werte gehören:

Grundlegende Informationen zu den allgemeinen Funktionen der System-Skriptsprache erhalten Sie im Dokument System-Skriptsprache: Allgemeine Funktionen.

first

Name first
Beschreibung first gibt den Wert des ersten Parameters zurück, der nicht null ist.
Signaturen Unknown first(Unknown p1, Unknown p2,…,Unknown pN)
Parameter p1, p2,…, p3 sind Ausdrücke, die auf den Wert null geprüft werden sollen.
Ergebnis Die Funktion gibt das Ergebnis des ersten Ausdrucks zurück, der nicht null ist.
Fehlerquellen Wenn alle Parameter null sind, so wird null zurückgegeben.
Beispiele first(null, 1) gibt 1 mit dem Datentyp Unknown zurück.

cast(Number, first(null, 1)) gibt die Zahl 1 zurück.

first(parameters.object:updateInfo.updateUser, parameters.object:updateInfo.createUser)gibt den Benutzer zurück, der das referenzierte Business Object zuletzt geändert hat. Wurde das Business Object noch nie geändert, dann wird der Erfasser zurückgegeben.

Kontext ALL
Hinweise Der Wert null entspricht einem undefinierten Wert. Ein Wert kann z. B. dann undefiniert sein, wenn ein Fehler in einer Funktion aufgetreten ist. Fast alle Funktionen liefern als Ergebnis null, wenn einer der Eingangsparameter null ist. Es ist häufig jedoch notwendig, Fehlerzustände gesondert zu behandeln. Aus diesem Grund kann mit den speziellen Funktionen first und isNull auch der Wert null ausgewertet werden.

Da das Ergebnis der Funktion first vom Datentyp Unknown ist, müssen Sie es in der Regel mithilfe der Funktion cast zuerst in einen anderen Datentyp umwandeln, bevor Sie es verwenden können.

Siehe auch isNull

Folgendes Beispiel aus der Aktivitätsdefinition help.isNull ermittelt den zuständigen Mitarbeiter eines Partners. Ist für den Partner kein zuständiger Mitarbeiter hinterlegt, dann gilt derjenige Benutzer, der den Partner zuletzt geändert hat als zuständig. Wurde der Partner noch nie geändert, dann gilt der Erfasser als zuständig.

function create()
{
var p_partner := loadPartner(parameters.PARTNER);
var r_responsible as Unknown;

if (not isNull(p_partner))
r_responsible :=
first(loadResponsibleOfPartner(p_partner:guid):number,
userName(p_partner:updateInfo.updateUser),
userName(p_partner:updateInfo.createUser));

result.IS_NULL := isNull(r_responsible);
result.VALUE := cast(String, r_responsible);
}

Verwenden Sie die Funktion first beispielsweise in den folgenden Fällen:

  • Wenn eine Funktion der System-Skriptsprache den Wert nullzurückgeben kann, wie z. B. bei der Funktion loadResponsibleOfPartner.
  • Wenn für einen Ausdruck, der null annehmen kann, ein Ersatzwert existiert, wie z. B. für das Attribut updateUserund updateInfo.createUsereines Business Objects.
    Hinweis
    Um den letzten Änderungszeitpunkt eines Business Objects zu ermitteln, können Sie max(p:updateInfo.updateTime, p:updateInfo.createTime)verwenden, da UNDEFINED_DATE kleiner als alle anderen Zeitpunkte ist.
  • Um Default-Werte für optionale Benutzereingaben in Aktivitätsergebnissen zu setzen.

isNull

Name isNull
Beschreibung isNull prüft, ob ein Wert null ist.
Signaturen Boolean isNull(Unknown p)
Parameter p ist ein Ausdruck, der den Wert nullannehmen kann.
Ergebnis true wenn p den Wert null besitzt, sonst false.
Fehlerquellen Keine
Beispiele isNull(null) gibt true zurück.

isNull(3) gibt false zurück.

isNull(loadResponsibleOfPartner(parameters.object:guid) gibt true zurück, wenn bei dem referenzierten Partner ein zuständiger Mitarbeiter hinterlegt ist, sonst false.

Kontext ALL
Hinweise Verwenden Sie die Funktion isNull beispielsweise in den folgenden Fällen:

  • Wenn eine Funktion der System-Skriptsprache den Wert nullzurückgeben kann, wie z. B. bei der Funktion loadPartner.
  • Wenn ein Attribut eines Business Objects den Wert nullannehmen kann, z. B. weil die Angabe optional ist, wie z. B. bei dem Attribut responsible eines Vertriebsauftrags oder eines Beschaffungsauftrags.

Hinweis
Darf eine Guid den Wert null nicht annehmen, ist aber dennoch undefiniert, dann wird der Wert ZERO_GUID verwendet. Dies ist z. B. dann der Fall, wenn die Guid Bestandteil eines Primärschlüssels ist.
Siehe auch first

Folgendes Beispiel aus der Aktivitätsdefinition help.isNull prüft, ob der Partner mit der Identifikation parameters.PARTNERexistiert.

function create()
{
var p_partner := loadPartner(parameters.PARTNER);
var r_value := isNull(p_partner);

result.VALUE := r_value;

Czy ten artykuł był pomocny?