IBM FileNet P8 Version 5.2.1            

Numerische Funktionen

Dieser Abschnitt enthält eine kurze Beschreibung der Funktionen, die auf Gleitkomma- oder ganzzahlige Werte angewendet werden.

Tabelle 1. Tabelle mit Funktionen, die auf Gleitkommawerte oder ganzzahlige Werte angewendet werden
Funktion Verwendungszweck
abs Gibt den absoluten Wert der numerischen Funktion zurück.
bitor, bitand, bitnot Ermöglichen boolesche Manipulationen an Bits.
convert Konvertiert eine Zahl in einen anderen Datentyp oder konvertiert einen anderen Datentyp in eine Zahl.
err_encode Konvertiert einen dreiteiligen FileNet P8-Fehlertupel in eine einteilige Ganzzahl.
int Schneidet alle Stellen nach dem Dezimalzeichen ab und gibt den ganzzahligen Wert eines numerischen Ausdrucks zurück.
max Gibt den höchsten Wert für jeden unterstützten Datentyp aus einer Liste mit Ausdrücken zurück.
min Gibt den niedrigsten Wert für jeden unterstützten Datentyp aus einer Liste mit Ausdrücken zurück.
mod Gibt den Divisionsrest (Modulus) zurück.
numbertostring Konvertiert einen numerischen Ausdruck in einen Zeichenfolgeausdruck unter Verwendung einer angegebenen Maske.
random Gibt eine Zufallszahl im angegebenen Bereich zurück.
sizeof Gibt die Größe eines Arrays zurück.

abs

Diese Funktion gibt den absoluten Wert eines ganzzahligen oder Gleitkommaausdrucks zurück. Verwenden Sie die folgende Syntax:
abs (num_expr)
Dabei ist num_exp ein Ausdruck, dessen Ergebnis den Ganzzahl- oder Gleitkommadatentyp hat. Beispiel:
abs (SalePrice - PurchasePrice)

bitand, bitor und bitnot

Diese Funktionen ermöglichen boolesche Manipulationen an Bits. Sie können sie für diverse Aufgaben verwenden, z. B. zum Maskieren von Einstellungen und zum Extrahieren von Bits. Jede dieser Funktionen kann boolesche Operationen an bis zu 32 Elementen auf einmal durchführen.

Wenn Sie mit der Programmiersprache 'C' vertraut sind, dann ähneln bitand, bitor und bitnot dem logischen and (&), dem logischen or (|) bzw. dem logischen not (~). Wenn Sie nicht mit 'C' vertraut sind, betrachten Sie die Zahlen als Binärwerte (123 z. B. wäre 1111011).

Diese Funktionen verwenden 32-Bit-Ganzzahlen (d. h. von 0 bis 42946967295) als Eingabe und geben Ganzzahlen im selben Bereich als Ausgabe aus. Verwenden Sie die folgende Syntax:
bitand (expr1, expr2)

bitor (expr1, expr2)

bitnot (expr)
Dabei gilt Folgendes: expr1 und expr2 sind 32-Bit-Ganzzahlen.
Ausführliche Informationen und Beispiele zu jeder Funktion finden Sie im entsprechenden Thema in der Liste unten.

bitand

Die Funktion bitand verknüpft die entsprechenden Bits aus zwei Ganzzahlen mit AND. Dies ist ein bitweiser Vergleich, dessen Ergebnis in eine neue Ganzzahl ausgegeben wird. Dem Vergleich liegen die folgenden Regeln zugrunde:
  • Wenn beide Ganzzahlen eine 1 an derselben Position enthalten, enthält die sich daraus ergebende Ganzzahl ebenfalls eine 1 an dieser Position.
  • Wenn beide Ganzzahlen eine 0 an derselben Position enthalten, enthält die sich daraus ergebende Ganzzahl ebenfalls eine 0 an dieser Position.
  • Wenn eine Ganzzahl eine 1 und die andere Ganzzahl eine 0 an derselben Position enthält, enthält die sich daraus ergebende Ganzzahl eine 0 an dieser Position.
So kann bitand (123, 240) zum Beispiel wie folgt dargestellt werden.
bitand

     (00000000000000000000000001111011,
         

      00000000000000000000000011110000)
          

  Ergebnis: 
      00000000000000000000000001110000

bitor

Die Funktion bitor verknüpft die entsprechenden Bits in zwei Ganzzahlen mit OR. Das Ergebnis dieses bitweisen Vergleichs wird in eine neue Ganzzahl ausgegeben. Dem Vergleich liegen die folgenden Regeln zugrunde:
  • Wenn eine der beiden Ganzzahlen eine 1 an derselben Position enthält, enthält die sich ergebende Ganzzahl auch eine 1 an dieser Stelle.
  • Wenn beide Ganzzahlen eine 0 an derselben Position enthalten, enthält die sich daraus ergebende Ganzzahl ebenfalls eine 0 an dieser Position.
So kann bitor (123, 240) zum Beispiel wie folgt dargestellt werden.
bitor
     (00000000000000000000000001111011,
         
      00000000000000000000000011110000)
          
  Ergebnis:

      00000000000000000000000011111011

bitnot

Die Funktion bitnot schließt eine Ganzzahl mit NOT aus. Das Ergebnis dieser bitweisen Analyse wird in eine neue Ganzzahl ausgegeben. Für jede Position enthält die neue Ganzzahl die gegenteilige Bitwert-Bedeutung. Wenn die Ganzzahl der Eingabe z. B. an einer bestimmten Position eine 1 enthält, enthält die neue Ganzzahl an dieser Position eine 0.

bitnot (123) z. B. kann wie folgt dargestellt werden.
bitnot
              (00000000000000000000000001111011
  Ergebnis:
               11111111111111111111111110000100

int

Diese Funktion berechnet den ganzzahligen Wert eines Gleitkommaausdrucks, indem sie alle Stellen nach dem Dezimalzeichen abschneidet. Die Gleitkommawerte 6,2 und 6,8 z. B. werden in den ganzzahligen Wert 6 konvertiert. Das Vorzeichen der Zahl ändert sich dabei nicht.

Verwenden Sie die folgende Syntax:
int (num_expr)
Dabei ist num_expr ein Ausdruck, dessen Ergebnis den Gleitkommadatentyp hat. Beispiel:
int (365 / 7)

mod

Diese Funktion gibt den Divisionsrest (Modulus) zurück. Wenn Sie versuchen, einen Wert durch null zu teilen, tritt ein Laufzeitfehler auf.

Verwenden Sie die folgende Syntax:
mod (num1, num2)
Dabei sind num1 und num2 Variablen vom Gleitkomma- oder Ganzzahldatentyp, die auch negative Werte enthalten können.
Im folgenden Beispiel gibt die Funktion den Rest der Division von NumberOfDays geteilt durch 7 zurück.
mod (NumberOfDays, 7)
Das Vorzeichen von num2 bestimmt das Vorzeichen der Ausgabe der Funktion mod (wenn die Ausgabe nicht gleich 0 ist):
Bei num2 > 0:

				0 <= mod (num1, num2) < num2

Bei num2 < 0:

				num2 < mod (num1, num2) <= 0

random

Einige Anwendungen benötigen eine Methode zur Generierung einer Zufallszahl, möglicherweise für eine Zufallsstichprobe. Diese Funktion gibt eine Zufallszahl im angegebenen Bereich zurück. Sie setzt eine Ganzzahl als Parameter für die Bereichsermittlung voraus.

Verwenden Sie die folgende Syntax:
random (num)
Dabei ist num eine Ganzzahl von 2 bis 32768 einschließlich. Der zulässige Bereich reicht von 0 bis num - 1. Wenn im obige Beispiel num gleich 23 wäre, würde die Zufallszahl zwischen 0 und 22 liegen.

err_encode

Diese Funktion konvertiert einen dreiteiligen FileNet P8-Fehlertupel in einen einteiligen ganzzahligen Wert, den Sie mit einem Ergebniscode vergleichen können, der von einem Aufruf an einen WAL-Eingangspunkt (WorkFlo Application Libraries) zurückgegeben wird. WAL gibt Ergebniscodes zurück, wenn bei der normalen Verarbeitung Ausnahmebedingungen (z. B. Dateiende bei einfacher Datenverarbeitung) oder Fehler auftreten.

err_encode wird hauptsächlich dazu verwendet, dass die nachfolgende Verarbeitung eines Arbeitselements auf den Ergebnissen basiert, die von einer Operation zurückgegeben werden, die WAL aufruft. Typischerweise folgt auf eine solche Operation eine Verzweigungssystemanweisung (Branch); beim Ausführen der Verzweigung folgt das Arbeitselement dem Verarbeitungspfad, der von dem von der vorherigen Operation zurückgegebenen Fehlercode bestimmt wird. Verwenden Sie die Funktion err_code z. B. in der Verzweigungsdefinition, um anzugeben, dass bei <Rückgabecode> = err_encode (80, 0, 2) das Arbeitselement einem Verarbeitungspfad folgt, während es bei <Rückgabecode> = err_encode (80, 0, 5) einem anderen Verarbeitungspfad folgt.

Verwenden Sie die folgende Syntax:
err_encode (mod_num, func_num, err_num)
Dabei gilt Folgendes:
Tabelle 2. Parameter und Beschreibungen für die Funktion err_encode
Parameter Beschreibung
mod_num Der erste Teil des Ergebniscodes. Dies ist ein ganzzahliger Ausdruck (von 0-255), der angibt, welcher Service, welche Bibliothek oder welche Anwendung die Fehlerquelle ist.
func_num Der zweite Teil des Ergebniscodes. Dies ist ein ganzzahliger Ausdruck (von 0-255), der angibt, von welcher Funktion oder welchem Modul der Fehler kommt oder zu welcher Kategorie der Fehler gehört.
err_num Der dritte Teil des Ergebniscodes. Dies ist ein ganzzahliger Ausdruck (von 0-65535), der die Fehlernummer angibt.


Letzte Aktualisierung: Oktober 2015
bpfe010.htm

© Copyright IBM Corp. 2015.