Expresiones y funciones

Una expresión le permite realizar lo siguiente en el campo Valor/expresión:

  • Ejecute una ecuación matemática simple.

  • Utilice un parámetro CURVAL para especificar el valor de una operación de cuenta lógica. El parámetro CURVAL puede utilizarse en expresiones de la misma forma que en funciones lógicas, excepto por el hecho de que, con las expresiones, CURVAL debe estar entre barras verticales. Por ejemplo, la expresión CURVAL incluye la especificación de una cuenta mediante la notación de |Account| y la especificación de un valor mediante detalles de PDV de entidad, categoría, periodo y cuenta.

Las funciones permiten el uso de la lógica simple con if/else que utiliza sintaxis Jython. Los comandos de Jython se pueden utilizar en una función y pueden ser más complejos que una expresión.

Exp

Utilice los operadores de expresión para ejecutar expresiones lógicas personalizadas que están definidas en el campo Valor/expresión. Las expresiones lógicas, que no pueden utilizar variables ni sentencias IF, son más simples que las funciones lógicas. Excepto para |CURVAL|, las expresiones no tienen parámetros integrados. En las expresiones, no es necesario asignar un valor a RESULT.

Las expresiones se ejecutan más rápidamente que las funciones lógicas. Puede utilizar la función de búsqueda de Gestión de datos en las expresiones igual que se utiliza en las funciones lógicas. Para escribir una expresión personalizada, haga doble clic en el campo Valor/Exp para abrir el editor de expresiones.

|CURVAL| + |810| + |238|

La función anterior utiliza la función de búsqueda de Gestión de datos para agregar dos cuentas de origen al valor de la cuenta lógica. Tenga en cuenta que el parámetro CURVAL puede utilizarse en expresiones de la misma forma que en funciones lógicas, excepto por el hecho de que, con las expresiones, CURVAL debe estar entre plecas.

(|CURVAL| + |000,10,09/30/01,810|) * 100

La función anterior utiliza la función de búsqueda de Data Management para agregar una cuenta de origen (810) y una cuenta de origen del centro especificado, una categoría de Data Management y un periodo de Data Management al valor de la cuenta lógica y, a continuación, multiplica la suma resultante por 100.

Función

Utilice los operadores de función para ejecutar una función lógica personalizada, que se define en el campo Valor/expresión.

Para escribir una función, seleccione Función de la lista desplegable Operador en la línea de elementos lógicos y, a continuación, haga clic en el icono Editar para abrir la ventana de edición. Las funciones lógicas se suelen emplear en la asignación condicional y otras operaciones complejas que implican varias cuentas de origen. Las funciones lógicas permiten el uso de comandos Jython que incluyen variables, sentencias if/elif/else, funciones numéricas y otras construcciones de Jython.

La función lógica permite el uso de parámetros de función predefinidos y también requiere que el usuario asigne un valor a la variable RESULT para que este se pueda actualizar para la cuenta lógica recién creada. Los siguientes parámetros de función se pueden utilizar en una función lógica y no requieren el uso de la notación "|":

Tabla 4-22 Operadores de función y descripciones

Operador de función Descripción
CURVAL Valor de origen de la operación de cuenta lógica
StrLocation Nombre de la ubicación activa.
StrCenter Entidad de cuenta lógica.
StrCatKey Clave de categoría activa, no el nombre. Debe consultar la clave de categoría en la base de datos para utilizar este parámetro.
StrPerKey Periodo activo.
Entity, Category, Period, Account| Se puede utilizar la notación de consulta en una función lógica. Es la misma notación proporcionada en la expresión lógica.
Omitir Si "Omitir" está asignado a la palabra clave RESULT, no se crea la cuenta lógica.

Puede definir parámetros de función en mayúsculas, minúsculas o letras en mayúsculas y minúsculas. Sin embargo, la palabra clave RESULT debe estar en mayúsculas.

Asignación de valores devueltos de la función

El resultado de una función lógica debe asignarse a la palabra clave RESULT. Si no se asigna ningún valor de retorno a la palabra clave RESULT, el motor lógico establece automáticamente el valor del resultado en cero. De este modo se omite el cálculo y no se crea la cuenta lógica.

La siguiente función asigna el resultado del cálculo de cuenta de lógica (mediante el parámetro CURVAL) a la cuenta de lógica (RESULT) cuando el cálculo de cuenta de lógica devuelve un valor mayor que cero. Si la primera condición no se cumple, no se crea la cuenta lógica debido a la palabra clave "Skip".

if CURVAL > 0:
   RESULT = CURVAL
else:
    RESULT = "Skip"

Nota:

Debe utilizar la notación de Jython y el sangrado para la función lógica.

La siguiente función solo asigna el resultado del cálculo de la cuenta lógica a la cuenta lógica si "10" es la clave de categoría activa de Data Management.

if StrCatKey == "10":
    RESULT = CURVAL
else:
    RESULT="Skip"

Esta función asigna el resultado del cálculo de cuenta lógica a la cuenta lógica solo cuando la entidad de la cuenta de criterios es "000".

if StrCenter == "000":
    RESULT = CURVAL * 100
else:
    RESULT="Skip"

Esta función utiliza la función de búsqueda de Data Management para agregar una cuenta de origen (810) al valor de la cuenta lógica si el periodo actual de Data Management es "Dic 2013".

if StrPerKey == "12/31/2013":
    RESULT = CURVAL + |810|
else:
    RESULT="Skip"

Esta función utiliza la función de búsqueda de Data Management para agregar otra cuenta de origen de una entidad diferente, una categoría de Data Management y un periodo de Data Management al valor de la cuenta lógica cuando la ubicación activa es "Texas".

If StrLocation == "Texas":
    RESULT = CURVAL + |000,10,09/30/13,810|
else:
    RESULT="Skip"