Die arithmetischen Funktionen bilden einige grundlegende Operationen der Arithmetik ab. Zu den arithmetischen Funktionen gehören:
Grundlegende Informationen zu den allgemeinen Funktionen der System-Skriptsprache erhalten Sie im Dokument System-Skriptsprache: Allgemeine Funktionen.
abs
Name | abs |
Beschreibung | abs gibt den Absolutwert einer Zahl zurück. |
Signaturen | Number abs(Number value) Number abs(Number value) |
Parameter | value ist eine Zahl. |
Ergebnis | Der Absolutwert von value als Zahl. |
Fehlerquellen | Keine |
Beispiele | abs(3.14159) abs(3.14159) gibt 3.14159 zurück.
abs(-3.14159) abs(-3.14159) gibt -3.14159 zurück. |
Kontext | ALL ALL |
Hinweise | |
Siehe auch |
Folgendes Beispiel aus der Aktivitätsdefinition help.abs gibt den Absolutwert einer Zahl zurück:
function create() { var p_number := parameters.NUMBER; var r_abs := abs(p_number); result.VALUE := r_abs; }
ceil
Name | ceil |
Beschreibung | ceil rundet eine Zahl auf. |
Signaturen | Number ceil(Numbervalue) Number ceil(Numbervalue)
Number ceil(Number value, Number scale) Number ceil(Number value, Number scale) |
Parameter | value ist eine Zahl, die aufgerundet werden soll.
scale ist die Anzahl der Nachkommstellen für das Ergebnis. |
Ergebnis | Die Zahl value aufgerundet auf scale Nachkommastellen. Ist scale nicht angegeben, dann werden 0 Nachkommastellen angenommen. Ist scale eine negative Zahl oder keine Ganzzahl, dann wird auf round(abs(„scale“)) aufgerundet. |
Fehlerquellen | Keine |
Beispiele | ceil(3.14159) ceil(3.14159) gibt 4 zurück.
ceil(-3.1415) ceil(-3.1415) gibt -3 zurück.
ceil(3.14159 2) ceil(3.14159 2) gibt 3.15 zurück.
ceil(-3.14159 4) ceil(-3.14159 4) gibt -3.1415 zurück. |
Kontext | ALL ALL |
Hinweise | |
Siehe auch | floor, round |
Folgendes Beispiel aus der Aktivitätsdefinition help.ceil rundet eine Zahl auf:
function create() { var p_number := parameters.NUMBER; var p_scale := parameters.SCALE; var r_ceil := ceil(p_number, p_scale); result.VALUE := r_ceil; }
floor
Name | floor |
Beschreibung | floor rundet eine Zahl ab. |
Signaturen | Number floor(Number value) Number floor(Number value)
Number floor(Number value, Number scale) Number floor(Number value, Number scale) |
Parameter | value ist eine Zahl, die abgerundet werden soll.
scale ist die Anzahl der Nachkommstellen für das Ergebnis. |
Ergebnis | Die Zahl value abgerundet auf scale Nachkommastellen. Ist scale nicht angegeben, dann werden 0 Nachkommastellen angenommen. Ist scale eine negative Zahl oder keine Ganzzahl, dann wird auf round(abs(„scale“)) abgerundet. |
Fehlerquellen | Keine |
Beispiele | floor(3.14159) floor(3.14159) gibt 3 zurück.
floor(-3.1415) floor(-3.1415) gibt -4 zurück.
floor(3.14159 4) floor(3.14159 4) gibt 3.1415 zurück.
floor(-3.14159 2) floor(-3.14159 2) gibt -3.15 zurück. |
Kontext | ALL ALL |
Hinweise | |
Siehe auch | ceil, round |
Folgendes Beispiel aus der Aktivitätsdefinition help.floor rundet eine Zahl ab.
function create() { var p_number := parameters.NUMBER; var p_scale := parameters.SCALE; var r_ceil := floor(p_number, p_scale); result.VALUE := r_ceil; }
max
Name | max |
Beschreibung | max ermittelt die größte Zahl, CisDate oder Timestamp aus bis zu 9 Parametern. |
Signaturen | Number max(Number p1) Number max(Number p1)
Number max(Number p1, Number p2) Number max(Number p1, Number p2)
Number max(Number p1, Number p2, Number, p3,…, Number p9) Number max(Number p1, Number p2, Number, p3,…, Number p9)
CisDate max(CisDate p1) CisDate max(CisDate p1)
CisDate max(CisDate p1, CisDate p2) CisDate max(CisDate p1, CisDate p2)
CisDate max(CisDate p1, CisDate p2, CisDate p3,…, CisDate p9) CisDate max(CisDate p1, CisDate p2, CisDate p3,…, CisDate p9)
Timestamp max(Timestamp p1) Timestamp max(Timestamp p1)
Timestamp max(Timestamp p1, Timestamp p2) Timestamp max(Timestamp p1, Timestamp p2)
Timestamp max(Timestamp p1, Timestamp p2, Timestamp p3,…, Timestamp p9) Timestamp max(Timestamp p1, Timestamp p2, Timestamp p3,…, Timestamp p9) |
Parameter | p1 ist die erste Zahl, CisDate oder Zeitpunkt.
p2 ist die zweite Zahl, CisDate oder Zeitpunkt. p3 ist die dritte Zahl, CisDate oder Zeitpunkt. […] p9 ist die neunte Zahl, CisDate oder Zeitpunkt. |
Ergebnis | Die größte Zahl, CisDate oder Timstamp unter den übergebenen Parametern. |
Fehlerquellen | Keine |
Beispiele | max(-3, 1) max(-3, 1) gibt 1 zurück.
max(MIN_DATE, MAX_DATE) max(MIN_DATE, MAX_DATE) gibt 9999.12.31 zurück.
max(MIN_DATE, UNDEFINED_DATE) max(MIN_DATE, UNDEFINED_DATE) gibt 1000.01.01 zurück.
Wenn parameters ein Business Object mit einem Part updateInfo referenziert, dann gibt max(parameters.object:updateInfo.createTime, parameters.object:updateInfo.updateTime) max(parameters.object:updateInfo.createTime, parameters.object:updateInfo.updateTime) den Zeitpunkt der letzten Änderung zurück. Wurde das Business Object seit dem Erfassen nicht mehr geändert, dann gibt der Ausdruck den Erfassungszeitpunkt zurück. |
Kontext | ALL ALL |
Hinweise | |
Siehe auch | min |
Folgendes Beispiel aus der Aktivitätsdefinition help.max gibt die größte von zwei Zahlen, zwei Zeitpunkten und zwei CisDates zurück:
function create() { var p_number1 := parameters.NUMBER1; var p_number2 := parameters.NUMBER2; var p_timestamp1 := parameters.TIMESTAMP1; var p_timestamp2 := parameters.TIMESTAMP2; var p_cisDate1 := createCisDate(year(p_timestamp1), month(p_timestamp1), day(p_timestamp1)); var p_cisDate2 := createCisDate(year(p_timestamp2), month(p_timestamp2), day(p_timestamp2)); var r_max_number := max(p_number1, p_number2); var r_max_cisDate := max(p_cisDate1, p_cisDate2); var r_max_timestamp := max(p_timestamp1, p_timestamp2); result.VALUE_NUMBER := r_max_number; result.VALUE_CISDATE := r_max_cisDate; result.VALUE_CISDATE := r_max_cisDate; result.VALUE_TIMESTAMP := r_max_timestamp; }
Um die größte Zahl aus einer Liste mit mehr als 9 Zahlen zu ermitteln, können Sie z. B. folgende benutzerdefinierte Funktion verwenden:
function maxOfList(numberList as Number[]) as Number { var largest := 0; if (size(numberList) > 0) largest := numberList[0]; for (n as Number : numberList) if (n > largest) largest := n;} return largest; }
min
Name | min |
Beschreibung | min ermittelt die kleinste Zahl, CisDate oder Timestamp aus bis zu 9 Parametern. |
Signaturen | Number min(Number p1) Number min(Number p1)
Number min(Number p1, Number p2) Number min(Number p1, Number p2)
Number min(Number p1, Number p2, Number, p3,…, Number p9) Number min(Number p1, Number p2, Number, p3,…, Number p9)
CisDate min(CisDate p1) CisDate min(CisDate p1)
CisDate min(CisDate p1, CisDate p2) CisDate min(CisDate p1, CisDate p2)
CisDate min(CisDate p1, CisDate p2, CisDate p3,…, CisDate p9) CisDate min(CisDate p1, CisDate p2, CisDate p3,…, CisDate p9)
Timestamp min(Timestamp p1) Timestamp min(Timestamp p1)
Timestamp min(Timestamp p1, Timestamp p2) Timestamp min(Timestamp p1, Timestamp p2)
Timestamp min(Timestamp p1, Timestamp p2, Timestamp p3,…, Timestamp p9) Timestamp min(Timestamp p1, Timestamp p2, Timestamp p3,…, Timestamp p9) |
Parameter | p1 ist die erste Zahl, CisDate oder Zeitpunkt.
p2 ist die zweite Zahl, CisDate oder Zeitpunkt. p3 ist die dritte Zahl, CisDate oder Zeitpunkt. […] p9 ist die neunte Zahl, CisDate oder Zeitpunkt. |
Ergebnis | Die kleinste Zahl, CisDate oder Timstamp unter den übergebenen Parameter. |
Fehlerquellen | Keine |
Beispiele | min(-3, 1) min(-3, 1) gibt -3 zurück.
min(MIN_DATE, MIN_DATE) min(MIN_DATE, MIN_DATE) gibt 1000.01.01 zurück.
min(MIN_DATE, UNDEFINED_DATE) min(MIN_DATE, UNDEFINED_DATE) gibt 1000.01.01 zurück. |
Kontext | ALL ALL |
Hinweise | |
Siehe auch | max |
Folgendes Beispiel aus der Aktivitätsdefinition help.min gibt die kleinste von zwei Zahlen, zwei Zeitpunkten und zwei CisDates zurück:
function create() { var p_number1 := parameters.NUMBER1; var p_number2 := parameters.NUMBER2; var p_timestamp1 := parameters.TIMESTAMP1; var p_timestamp2 := parameters.TIMESTAMP2; var p_cisDate1 as CisDate; var p_cisDate2 as CisDate; if (p_timestamp1 <> UNDEFINED_DATE) p_cisDate1 := createCisDate(year(p_timestamp1), month(p_timestamp1), day(p_timestamp1)); if (p_timestamp2 <> UNDEFINED_DATE) p_cisDate2 := createCisDate(year(p_timestamp2), month(p_timestamp2), day(p_timestamp2)); var r_min_number := min(p_number1, p_number2); var r_min_cisDate := min(p_cisDate1, p_cisDate2); var r_min_timestamp := min(p_timestamp1, p_timestamp2); result.VALUE_NUMBER := r_min_number; result.VALUE_TIMESTAMP := r_min_timestamp; result.VALUE_CISDATE := r_min_cisDate; result.IS_NULL := isNull(r_min_cisDate); }
Um die kleinste Zahl aus einer Liste mehr als 9 Zahlen zu ermitteln, können Sie z. B. folgende benutzerdefinierte Funktion verwenden:
function minOfList(numberList as Number[]) as Number { var smallest := 0; if (size(numberList) > 0) smallest := numberList[0]; for (n as Number : numberList) if (n < smallest) smallest := n; return smallest; }
neg
Name | neg |
Beschreibung | neg gibt den Negativwert einer Zahl zurück. |
Signaturen | Number neg(Number value) Number neg(Number value) |
Parameter | value ist eine Zahl. |
Ergebnis | Der Negativwert von value als Zahl. |
Fehlerquellen | Keine |
Beispiele | neg(3.14159) neg(3.14159) gibt -3.14159 zurück.
neg(-3.14159) neg(-3.14159) gibt 3.14159 zurück. |
Kontext | ALL ALL |
Hinweise | |
Siehe auch | abs |
Folgendes Beispiel aus der Aktivitätsdefinition help.neg negiert eine Zahl:
function create() { var p_number := parameters.NUMBER; var r_neg := neg(p_number); result.VALUE := r_neg; }
round
Name | round |
Beschreibung | round rundet eine Zahl. |
Signaturen | Number round(Numbe rvalue) Number round(Numbe rvalue)
Number round(Number value, Number scale) Number round(Number value, Number scale) |
Parameter | value ist eine Zahl, die gerundet werden soll.
scale ist die Anzahl der Nachkommstellen für das Ergebnis. |
Ergebnis | Die Zahl value gerundet auf scale Nachkommastellen. Ist scale nicht angegeben, dann werden 0 Nachkommastellen angenommen. Ist scale eine negative Zahl oder keine Ganzzahl, dann wird auf round(abs(„scale“)) gerundet. |
Fehlerquellen | Keine |
Beispiele | round(3.14159) round(3.14159) gibt 3 zurück.
round(-3.1415) round(-3.1415) gibt -3 zurück.
round(3.14159 4) round(3.14159 4) gibt 3.1416 zurück.
round(-3.14159 4) round(-3.14159 4) gibt -3.1416 zurück. |
Kontext | ALL ALL |
Hinweise | |
Siehe auch | ceil, floor |
Folgendes Beispiel aus der Aktivitätsdefinition help.round rundet eine Zahl auf eine bestimmte Anzahl von Nachkommastellen:
function create() { var p_number := parameters.NUMBER; var p_scale := parameters.SCALE; var r_round := round(p_number, p_scale); result.VALUE := r_round; }