IBM FileNet P8, Version 5.2.1            

Funciones numéricas

Esta sección contiene breves descripciones de las funciones que se aplican a valores de tipo flotante o entero.

Tabla 1. Tabla de funciones que se aplican a valores de tipo flotante o entero
Función Qué hace
abs Devuelve el valor absoluto de la función numérica.
bitor, bitand, bitnot Permite la manipulación booleana de los bits.
convert Convierte un número en otro tipo de dato o convierte otro tipo de dato en un número.
err_encode Convierte una tupla de error de FileNet P8 de tres partes en un entero de una única parte.
int Trunca todo lo que hay después de la coma del decimal y devuelve el valor entero de una expresión numérica.
max Devuelve el mayor valor de una lista de expresiones de cualquier tipo de dato admitido.
min Devuelve el mayor valor de una lista de expresiones de cualquier tipo de dato admitido.
mod Devuelve el resto tras la división (módulo).
numbertostring Convierte una expresión numérica en una expresión de serie, utilizando una máscara especificada.
random Devuelve un entero aleatorio dentro de un intervalo especificado.
sizeof Devuelve el tamaño de una matriz.

abs

Esta función devuelve el valor absoluto de una expresión entera o flotante. Utilice la siguiente sintaxis:
abs (num_expr)
donde num_exp es una expresión cuyo resultado es de tipo entero o flotante. Por ejemplo:
abs (SalePrice - PurchasePrice)

bitand, bitor y bitnot

Estas funciones permiten la manipulación booleana de los bits; utilícelas para realizar diversas tareas como, por ejemplo, la configuración de máscaras y la extracción de bits. Cada una de estas funciones puede llevar a cabo operaciones booleanas en hasta 32 elementos al mismo tiempo.

Si está familiarizado con el lenguaje de programación 'C', bitand, bitor y bitnot equivalen a 'logical and' (&), 'logical or' (|) y 'logical not' (~), respectivamente. Si no está familiarizado con 'C', considere los números como valores binarios (por ejemplo, 123 sería 1111011).

Estas funciones utilizan enteros de 32 bits (es decir, desde 0 hasta 42946967295) como entrada y devuelven enteros dentro del mismo intervalo como salida. Utilice la siguiente sintaxis:
bitand (expr1, expr2)

bitor (expr1, expr2)

bitnot (expr)
donde expr1 y expr2 son enteros de 32 bits.
Para obtener información específica y ejemplos sobre cada función, seleccione un tema de la lista que aparece a continuación.

bitand

La función bitand "ands" los bits correspondientes en dos enteros. Es una comparación bit a bit, cuyo resultado es la salida para un nuevo entero. La comparación sigue estas reglas:
  • Si los dos enteros contienen un 1 en la misma posición, el entero resultante también contiene un 1 en esa posición.
  • Si los dos enteros contienen un 0 en la misma posición, el entero resultante también contiene un 0 en esa posición.
  • Si un entero contiene un 1 y el otro entero contiene un 0 en la misma posición, el entero resultante contiene un 0 en esa posición.
Por ejemplo, bitand (123, 240) se puede visualizar del siguiente modo.
bitand
     (00000000000000000000000001111011,
         

      00000000000000000000000011110000)
          

  results in: 
      00000000000000000000000001110000

bitor

La función bitor "ors" los bits correspondientes en dos enteros. El resultado de esta comparación bit a bit es la salida para un nuevo entero. La comparación sigue estas reglas:
  • Si uno de los enteros contiene un 1 en la misma posición, el entero resultante también contiene un 1 en esa posición.
  • Si los dos enteros contienen un 0 en la misma posición, el entero resultante también contiene un 0 en esa posición.
Por ejemplo, bitor (123, 240) se puede visualizar del siguiente modo.
bitor     (00000000000000000000000001111011,
         
      00000000000000000000000011110000)
          
  results in:

      00000000000000000000000011111011

bitnot

La función bitnot "nots" un entero; el resultado de este análisis bit a bit es la salida para un nuevo entero. Para cada posición, el nuevo entero contiene el valor-significado de bit opuesto; por ejemplo, si el entero de entrada contiene un 1 en una posición determinada, el nuevo entero contiene un 0 en la misma posición.

Por ejemplo, bitnot (123) se puede visualizar del siguiente modo.
bitnot              (00000000000000000000000001111011
  results in:
               11111111111111111111111110000100

int

Esta función computa el valor entero de una expresión flotante truncando todo lo que aparece después de la coma del decimal. Por ejemplo, los valores flotantes 6,2 y 6,8 se convierten en el valor entero 6. El signo del número no cambia.

Utilice la siguiente sintaxis:
int (num_expr)
donde num_expr es una expresión cuyo resultado es de tipo flotante. Por ejemplo:
int (365 / 7)

mod

Esta función devuelve el resto tras la división (módulo). Tenga en cuenta que si intenta dividir un valor por cero, se produce un error en tiempo de ejecución.

Utilice la siguiente sintaxis:
mod (num1, num2)
donde num1 y num2 son variables de tipo flotante o entero, y pueden contener valores negativos.
En el siguiente ejemplo, la función devuelve el resto de la división de NumberOfDays por 7.
mod (NumberOfDays, 7)
Tenga en cuenta que el signo de num2 determina el signo de la salida de la función mod (cuando la salida no es igual a 0):
If num2 > 0,

				0 <= mod (num1, num2) < num2

If num2 < 0,

				num2 < mod (num1, num2) <= 0

random

Algunas aplicaciones necesitan una forma de generar un entero aleatorio, tal vez como medio para realizar un muestreo aleatorio. Esta función devuelve un entero aleatorio dentro de un intervalo especificado. Necesita un entero como parámetro para determinar el intervalo.

Utilice la siguiente sintaxis:
random (num)
donde num es un entero entre 2 y 32768 (ambos inclusive). El intervalo está entre 0 y num - 1. En el ejemplo anterior, si num fuese 23, el entero aleatorio caería entre 0 y 22.

err_encode

Esta función convierte una tupla de error de FileNet P8 de tres partes en un valor entero, que se puede comparar con un código de resultado devuelto por una llamada al punto de entrada de WorkFlo Application Libraries (WAL). WAL devuelve códigos de resultado cuando en el procesamiento normal se producen condiciones excepcionales (como un fin de archivo en el procesamiento de datos simples) o cuando se producen errores.

El uso primario de err_encode es basar el procesamiento posterior de un elemento de trabajo en los resultados devueltos por una operación que llama a WAL. Normalmente, una operación de ese tipo va seguida de una instrucción de sistema Branch; cuando se ejecuta la instrucción Branch, el elemento de trabajo sigue la ruta de procesamiento determinada por el código de resultado que había devuelto la operación anterior. Por ejemplo, utilice la función err_code en la definición de Branch para indicar que si <return code> = err_encode (80, 0, 2), el elemento de trabajo sigue una ruta de procesamiento, mientras que sigue otra ruta diferente de procesamiento si <return code> = err_encode (80, 0, 5).

Utilice la siguiente sintaxis:
err_encode (mod_num, func_num, err_num)
donde:
Tabla 2. Parámetros y descripción de la función err_encode
Parámetro Descripción
mod_num La primera parte del código de resultado. Es una expresión entera (dentro del intervalo 0-255) que indica qué servicio, biblioteca o aplicación es el origen del error.
func_num La segunda parte del código de resultado. Es una expresión entera (dentro del intervalo 0-255) que indica de qué función o módulo procede el error o la categoría a la que pertenece el error.
err_num La tercera parte del código de resultado. Es una expresión entera (dentro del intervalo 0-65535) que indica el número de error.


Last updated: October 2015
bpfe010.htm

© Copyright IBM Corp. 2015.