Essa função aloca um ponto de vista (PDV) de Origem para um PDV de Destino usando um PDV de Fator como a base da Alocação, com a opção de fazer um lançamento de estorno do valor total alocado para um PDV de Eliminação. Essa função é projetada para alocações de dimensão personalizada.
Valor de Retorno
Nenhum valor de retorno.
Sintaxe
Custom_Alloc(Destination,Source,Factor,FactorN,FactorD,
Elimination)
Tabela 12-18 Sintaxe de Função Custom_Alloc
Parâmetro | Valores Válidos |
---|---|
Destination |
Um PDV de destino válido que seja uma combinação válida de 1-4 membros Conta, ICP e Personalizado. |
Source |
Um PDV de origem válido que seja uma combinação de membros de dimensão. Origem é a quantidade que está para ser alocada. |
Factor |
Um PDV de origem válido. Fator é a Conta usada para armazenar o fator de alocação. |
FactorN |
Um PDV de origem válido. FactorN é o fator numerador usado como base para a alocação. |
FactorD |
Um PDV de origem válido. FactorD é o fator denominador usado como base para a alocação. |
Elimination |
Um PDV de origem válido. Eliminação pode ser uma string vazia (""), o que significa que nesse caso o parâmetro será ignorado. Se o parâmetro Elimination estiver definido, o valor contabilizado no PDV de Destino será multiplicado por -1 e contabilizado no PDV de Eliminação. |
Descrição Detalhada
Essa função aloca um PDV de Origem para um PDV de Destino usando um PDV de Fator como a base da alocação, com a opção de fazer um lançamento de estorno do valor total alocado para um PDV de Eliminação. Essa função é projetada para alocações de dimensão personalizada.
O parâmetro Factor armazena o resultado de FactorN dividido por FactorD. Isso é exigido para habilitar o fator para consultar entidade que não sejam a entidade atual.
Se a entidade no PDV de Origem for um pai, o pai deverá ser consolidado antes de executar o cálculo no nível filho. Se a moeda pai for diferente da moeda filha, a conversão de todas as moedas relevantes deverá ser executada também antes do cálculo no nível filho.
É recomendado que as variáveis sejam definidas na rotina de chamada e informadas para a função Custom_Alloc, que define os PDVs de Destino, Origem, Fator, FactorN, FactorD e Eliminação. Também é recomendado que os nomes da variáveis na rotina de chamada sejam definidos como sendo iguais aos da função Custom_Alloc.
O parâmetro Eliminação pode ser uma string vazia (""), o que significa que nesse caso o parâmetro será ignorado. Se o parâmetro Eliminação for definido, o valor postado no PDV de Destino será multiplicado por -1 e postado no PDV de Eliminação.
Exemplo
A conta Telefone será alocada em Produtos com base em uma razão de Vendas de Produtos para Total de Vendas. O inverso do valor alocado será postado na conta Alocações.
Tabela 12-19 Exemplo de Função Custom_Alloc
Conta | Jan2014 | Feb2014 | Mar2014 |
---|---|---|---|
A#Telephone.C1#[None] |
100 |
300 |
400 |
A#Sales.C1#Product1 |
1000 |
1000 |
1000 |
A#Sales.C1#Product2 |
1000 |
2000 |
3000 |
A#Sales.C1#TotalProducts |
2000 |
3000 |
4000 |
Custom_Alloc |
N/D |
N/D |
N/D |
A#Factor.C1#Product1 |
0.50 |
0.33 |
0.25 |
A#Factor.C1#Product2 |
0.50 |
0.66 |
0.75 |
A#Telephone.C1#Product1 |
50 |
100 |
100 |
A#Telephone.C1#Product2 |
50 |
200 |
300 |
A#ProductAllocations.C1#[None] |
-100 |
-300 |
-400 |
O resultado retornado da função CUSTOM_ALLOC está exibido a seguir:
HS.EXP "A#Factor = A#Sales / A#Sales.C1#TotalProducts"
HS.EXP "A#Telephone = A#Telephone.C1#[None] * A#Factor"
HS.EXP "A#Allocations.C1#[None] = (A#Telephone.C1#[None] * -1)"
Script de Amostra
Este script contém as informações a seguir:
Um exemplo de instrução gravado na rotina de chamada.
Variáveis definidas na rotina de chamada e informadas para a função Custom_Alloc.
Nomes de variável na rotina de chamada foram definidos como sendo iguais aos da função Custom_Alloc.
Sub Calculate()
Dim Destination Dim Source Dim Elimination Dim Factor Dim FactorN Dim FactorD Dim C1list Dim C1item
C1list = HS.Custom1.List("Alloc")
For Each C1item in C1list
Source = "A#Telephone.C1#[None]" Destination = "A#Telephone.C1#" & C1item Factor = "A#Factor.C1#" & C1item FactorN = "A#Sales.C1#" & C1item FactorD = "A#Sales.C1#TotalProducts" Elimination = "A#ProductAllocations.C1#" & C1item
Call Custom_Alloc(Destination,Source,Factor,FactorN, FactorD,Elimination)
Next
End Sub
' Beginning of the Custom_Alloc function
Sub Custom_Alloc(Destination,Source,FactorN,FactorD, Elimination)
HS.Clear Factor
HS.Exp Factor & " = " & FactorN & "/" & FactorD
HS.EXP Destination & " = " & Source & " * " & Factor
If Elimination <> "" Then
HS.EXP Elimination & " = " & Source & " * -1 * " & Factor
End If
End Sub