Funções e Expressões

Uma expressão permite que você execute o seguinte no campo Valor / Expressão:

  • Executar uma equação matemática simples.

  • Use um parâmetro CURVAL para especificar o valor de uma operação de conta lógica. O parâmetro <code>CURVAL</code> pode ser usado nas expressões como pode ser usado nas funções lógicas; a diferença é que, com as expressões, <code>CURVAL</code> deve vir entre barras verticais. Por exemplo, a expressão CURVAL inclui a especificação de uma conta usando a notação de |Conta| e a especificação de um valor usando Detalhes de PDV da entidade, categoria, período e conta.

As funções permitem o uso de lógica simples com if/else usando a sintaxe de Jython. É possível usar comandos de Jython em uma função, e eles podem ser mais complexos que uma expressão.

Exp

Use operadores de Expressão são usados para executar expressões lógicas personalizadas, que são definidas no campo Valor/Expressão. As expressões lógicas, que não podem usar variáveis ou instruções If, são mais simples do que as funções lógicas. Exceto por |CURVAL|, as expressões não têm parâmetros internos. No caso das expressões, você não precisa atribuir um valor a RESULT.

A execução das expressões é mais rápida do que a execução das funções lógicas. Você pode usar a função de Pesquisa do Data Management nas expressões, pois ela é usada nas funções lógicas. Para gravar uma expressão personalizada, clique duas vezes no campo Valor/Exp para abrir o editor de expressão.

|CURVAL| + |810| + |238|

A função acima usa a função de Pesquisa do Data Management para adicionar duas contas de origem ao valor da conta lógica. Observe que o parâmetro CURVAL pode ser usado nas expressões, pois ele pode ser usado nas funções lógicas; a diferença é que, com as expressões, CURVAL deve vir entre barras verticais.

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

A função acima usa a função de Pesquisa do Data Management para adicionar uma conta de origem (810) e uma conta de origem de um centro especificado, uma categoria do Data Management e um período do Data Management ao valor da conta lógica e multiplica a soma resultante por 100.

Função

Use operadores de função para executar uma função lógica personalizada no campo Valor/Expressão.

Para escrever uma função, selecione Função na lista drop-down Operador, na linha Item Lógico e clique no ícone de edição para abrir a janela de edição. Normalmente, as funções lógicas são usadas para o mapeamento condicional e outras operações complexas que envolvem várias contas de origem. As funções lógicas permitem o uso de comandos do Jython, incluindo as variáveis, instruções if/elif/else, as funções numéricas e outras construções Jython.

A função lógica permite o uso de parâmetros de função predefinidos e também requer que o usuário atribua um valor à variável RESULT para que seja possível atualizar um valor para a conta lógica recém-criada. Os seguintes parâmetros de função podem ser usados em uma função lógica, sem exigir o uso da notação "|":

Tabela 4-22 Operadores e descrições de Função

Operador de Função Descrição
CURVAL Valor de origem da operação de conta lógica
StrLocation Nome do local ativo
StrCenter Entidade da conta lógica
StrCatKey Chave de categoria de ativo, não o nome. Você precisa pesquisar a chave de categoria no banco de dados para usar este parâmetro.
StrPerKey Período ativo
Categoria, Período, Entidade, Conta A notação de pesquisa pode ser usada em uma função lógica. Essa é a mesma notação fornecida na expressão lógica.
Ignorar Se "Ignorar" for atribuído à palavra-chave RESULT, a conta lógica não será criada.

Você pode definir parâmetros de função em letras maiúsculas, minúsculas ou letras maiúsculas e minúsculas misturadas. No entanto, a palavra-chave RESULT deverá estar em letras maiúsculas.

Atribuindo Valores de Retorno de Função

O resultado de uma Função Lógica deve ser atribuído à palavra-chave RESULT. Se nenhum valor de retorno for atribuído à palavra-chave RESULT, o mecanismo lógico definirá automaticamente o valor do resultado como zero. Com isso, o cálculo será ignorado e a conta lógica não será criada.

A função a seguir atribui o resultado do cálculo da conta lógica (usando o parâmetro CURVAL) à conta lógica (RESULT) quando o cálculo da conta lógica retorna um valor maior que zero. Se a primeira condição não for atendida, a conta lógica não será criada por causa da palavra-chave "Skip".

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

Nota:

Você deverá usar a notação Jython e um recuo para a função lógica.

A função a seguir só atribuirá o resultado do cálculo da conta lógica à conta lógica quando "10" for a chave de categoria ativa do Gerenciamento de Dados.

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

Esta função só atribui o resultado do cálculo da conta lógica para a conta lógica quando a Entidade da Conta do Critério for "000".

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

Esta função usará a função de pesquisa do Gerenciamento de Dados para adicionar uma conta de origem (810) ao valor da conta lógica se o período do Gerenciamento de Dados for "Dec 2013".

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

Esta função usa a função de pesquisa do Gerenciamento de Dados para adicionar outra conta de origem de outra entidade, outra categoria do Gerenciamento de Dados e outro período do Gerenciamento de Dados ao valor da conta lógica quando o local ativo for "Texas".

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