System-Skriptsprache: Allgemeine Funktionen, Arithmetische Funktionen (Arithmetic functions)

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)
Parameter value ist eine Zahl.
Ergebnis Der Absolutwert von value als Zahl.
Fehlerquellen Keine
Beispiele abs(3.14159) gibt 3.14159 zurück.

abs(-3.14159) gibt -3.14159 zurück.

Kontext 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(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) gibt 4 zurück.

ceil(-3.1415) gibt -3 zurück.

ceil(3.14159 2) gibt 3.15 zurück.

ceil(-3.14159 4) gibt -3.1415 zurück.

Kontext 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 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) gibt 3 zurück.

floor(-3.1415) gibt -4 zurück.

floor(3.14159 4) gibt 3.1415 zurück.

floor(-3.14159 2) gibt -3.15 zurück.

Kontext 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 p2)

Number max(Number p1, Number p2, Number, p3,…, Number p9)

CisDate max(CisDate p1)

CisDate max(CisDate p1, CisDate p2)

CisDate max(CisDate p1, CisDate p2, CisDate p3,…, CisDate p9)

Timestamp max(Timestamp p1)

Timestamp max(Timestamp p1, Timestamp p2)

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) gibt 1 zurück.

max(MIN_DATE, MAX_DATE) gibt 9999.12.31 zurück.

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)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
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 p2)

Number min(Number p1, Number p2, Number, p3,…, Number p9)

CisDate min(CisDate p1)

CisDate min(CisDate p1, CisDate p2)

CisDate min(CisDate p1, CisDate p2, CisDate p3,…, CisDate p9)

Timestamp min(Timestamp p1)

Timestamp min(Timestamp p1, Timestamp p2)

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) gibt -3 zurück.

min(MIN_DATE, MIN_DATE) gibt 1000.01.01 zurück.

min(MIN_DATE, UNDEFINED_DATE) gibt 1000.01.01 zurück.

Kontext 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)
Parameter value ist eine Zahl.
Ergebnis Der Negativwert von value als Zahl.
Fehlerquellen Keine
Beispiele neg(3.14159) gibt -3.14159 zurück.

neg(-3.14159) gibt 3.14159 zurück.

Kontext 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(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) gibt 3 zurück.

round(-3.1415) gibt -3 zurück.

round(3.14159 4) gibt 3.1416 zurück.

round(-3.14159 4) gibt -3.1416 zurück.

Kontext 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;
}

Czy ten artykuł był pomocny?