ZAttributeCalculatorTransformUniversalMappingByParam
Essa classe de cálculo calcula o valor de um atributo usando um arquivo de mapeamento baseado em outro valor de atributo. A transformação do valor de atributo pode ser aplicada aos atributos de processo e de objeto.
Pode controlar o comportamento da classe de cálculo especificando os seguintes parâmetros:
Parâmetro |
Descrição |
Valor de exemplo |
attrname |
Atributos do sistema de origem cujos valores são convertidos |
AT_PLZ |
mappingfile |
Arquivo que contém as informações de mapeamento (pares de valor-chave) Especifique o diretório que contém o arquivo de mapeamento relativo ao diretório data_ppm\bin. O diretório está localizado em <diretório de instalação do PPM>\ppm\server\bin\work\. |
..\custom\<ppmclient>\xml\ |
defaultcopy |
Especifica o comportamento se não for encontrado qualquer mapeamento para o valor de atributo. |
FALSE |
Note que é usado um valor padrão especificado na regra de cálculo (elemento XML defaultvalue) independentemente do parâmetro defaultcopy. Se um valor padrão for especificado, tem prioridade.
Exemplo
No exemplo abaixo, os valores do atributo de processo AT_PLZ são convertidos no atributo de processo AT_ORT. A conversão é especificada no arquivo PLZ_Ort.mappings. Se o código postal não estiver relacionado com nenhuma cidade, o atributo AT_ORT é associado ao valor Not specified.
Extrato da configuração de medidas
...
<calcattr name="AT_ORT" type="PROCESS">
<defaultvalue>Not specified</defaultvalue>
<calcclass name="com.idsscheer.ppm.server.
keyindicator.attributecalculator
ZAttributeCalculatorTransformUniversalMappingByParam">
<calcparam key="attrname" value="AT_PLZ"/>
<calcparam key="mappingfile" value="PLZ_Ort.mappings"/>
</calcclass>
</calcattr>
...
Conteúdo do arquivo de mapeamento PLZ_Ort.mappings:
66115 = Saarbruecken
10117 = Berlin Center
14612 = Falkensee
Certifique-se de que os arquivos de mapeamento que está usando sejam arquivos de propriedades Java regulares. Se eles contêm acentos ou outros caracteres especiais, eles devem ser convertidos com native2ascii. Mais informações sobre a conversão de arquivos com conteúdo nativo para arquivos ASCII estão disponíveis nas páginas de ajuda da página da Web da Sun Microsystems, Inc.
ObjectCounterByEpcEnv
A classe de cálculo ObjectCounterByEpcEnv calcula o número de funções anteriores ou seguintes à função atual, ignorando quaisquer eventos e conectores. A função atual é a função para a qual a regra de cálculo está sendo executada.
Pode controlar o comportamento da classe de cálculo especificando os seguintes parâmetros:
Parâmetro |
Descrição |
Valor de exemplo |
DIRECTION |
Direção de pesquisa para funções predecessoras ou sucessoras a partir da função atual |
FORWARD (funções sucessoras) ou |
ENVTYPE |
Procurar funções na proximidade imediata da função ou em toda a instância do processo |
DIRECT (apenas funções imediatamente adjacentes) INDIRECT (Todas as funções na direção de pesquisa especificada) |
OBJECTNAMEFILTER |
Limita a pesquisa a nomes de funções internas específicas, com uso dos espaços reservados * e ? conforme necessário. Vários padrões de nomes são especificados usando a chave da seguinte forma: OBJECTNAMEFILTER.0 |
*AUFT*,????AUFT* FCT_AUFT1, FCT_AUFT_2 *AUFT?? |
Aviso
Note que o nome (key) de cada parâmetro está escrito em maiúsculas.
Exemplo (extrato da configuração de medidas)
...
<calcattr name="AT_KI_COUNTFUNC_ENV" type="OT_FUNC"
objectname="FCT_CREATE_ORD">
<calcclass name="com.idsscheer.ppm.server.
keyindicator.attributecalculator.
ZAttributeCalculatorObjectCounterByEpcEnv">
<calcparam key="DIRECTION" value="FORWARD"/>
<calcparam key="ENVTYPE" value="DIRECT"/>
<calcparam key="OBJECTNAMEFILTER.0"
value="FCT_CREATE_*"/>
<calcparam key="OBJECTNAMEFILTER.1"
value="FCT_ORDER_*">
</calcclass>
</calcattr>
...
A pesquisa configurada recupera todas as funções sucessoras diretamente adjacentes à função atual. O conjunto de funções recuperadas é ainda mais limitado pelas expressões de filtro especificadas FCT_CREATE_* e FCT_ORDER_*. A quantidade de objetos no conjunto de funções recuperadas é calculado e é salvo no tipo de atributo calculado AT_KI_COUNTFUNC_ENV.
AttributeCopierByEpcEnv
Use esta classe de cálculo para definir dependências entre diversos cálculos de atributo (<depends attrname="..." type="..."/>). Por exemplo, pode ser útil executar somente um cálculo de atributo específico quando determinados valores de tipo de atributo já tiverem sido copiados para funções selecionadas usando a classe de cálculo AttributeCopierByEpcEnv.
No cálculo real, é usada uma pesquisa configurável a partir da função atual para recuperar determinadas funções adjacentes.
Valores de tipo de atributo específicos para uma função são então copiados para uma ou mais funções, de acordo com os parâmetros especificados. É feita uma distinção entre os dois casos principais a seguir:
1º caso
A função atual será o destino da operação de cópia<calcparam key="COPYROLE" value="DESTINATION"/>).
Se várias funções adjacentes forem recuperadas, uma função precisa ser selecionada do conjunto de funções recuperadas para ser a origem da operação de cópia. Neste caso, o parâmetro COPYTYPE deve ter o valor 1-TO-1. Deve classificar o conjunto de funções, caso contrário o valor é copiado de uma função aleatória, ou nenhum valor é copiado se a função não tiver o atributo.
2º caso
A função atual funcionará como origem para a operação de cópia (<calcparam key="COPYROLE" value="SOURCE"/>).
Os valores do tipo de atributo especificados devem ser copiados da função inicial para outra função especificada. O parâmetro COPYTYPE deve ter o valor 1-TO-1 já que a pesquisa pode recuperar várias funções adjacentes. Os parâmetros SORTATTRIBUTE e SORTTYPE são usados para selecionar uma função de destino a partir do conjunto recuperado.
Se os valores especificados do tipo de atributo tiverem de ser copiados da função inicial para todas as funções adjacentes, o parâmetro COPYTYPE deve ter o valor 1-TO-N. Neste caso, não é necessário especificar os parâmetros de classificação SORTATTRIBUTE e SORTTYPE porque não há necessidade de fazer qualquer outra distinção entre as funções encontradas.
Identificar a origem para a cópia
Para estabelecer a origem e o destino da operação de cópia, são usados os parâmetros SORTATTRIBUTE e SORTTYPE para determinar a função que está na primeira posição com base na direção de classificação especificada.
Valores do tipo de atributo a serem copiados
A lista de valores do tipo de atributo a serem copiados é especificada com numeração consecutiva usando os parâmetros SOURCEATTRIBUTE.<x> ou DESTINATIONATTRIBUTE.<x>, com <x> sendo um inteiro. Se nenhum tipo de atributo de destino for especificado, o tipo de atributo de origem será criado como o tipo de atributo de destino, com os valores correspondentes para as funções especificadas.
Pode controlar o comportamento da classe de cálculo AttributeCopierByEpcEnv especificando os seguintes parâmetros:
Parâmetro |
Descrição |
Valor de exemplo |
DIRECTION |
Direção de pesquisa para funções predecessoras ou sucessoras a partir da função atual |
FORWARD (funções sucessoras) ou |
ENVTYPE |
Procurar funções na direção especificada e na proximidade imediata da função ou em toda a instância de processo. Todas as funções encontradas serão adicionadas a um conjunto não classificado. |
DIRECT (apenas funções imediatamente adjacentes) INDIRECT (Todas as funções na direção de pesquisa especificada) |
OBJECTNAMEFILTER |
Limita a pesquisa a nomes de funções internas específicas, com uso dos espaços reservados * e ? conforme necessário. Vários padrões de nomes são especificados usando a chave da seguinte forma: OBJECTNAMEFILTER.0 |
*AUFT*,????AUFT* FCT_AUFT1, FCT_AUFT_2 *AUFT?? |
COPYROLE |
Papel da função atual no processo de cópia. As funções adjacentes identificadas pela pesquisa assumem papéis opostos. |
SOURCE (origem de cópia) DESTINATION (destino de cópia) |
COPYTYPE |
Se várias funções forem identificadas como destino de cópia, esse parâmetro especificará se o valor deve ser copiado para todos eles ou apenas para uma função. |
1-TO-1 (o valor é copiado para 1-TO-N (o valor é copiado para |
SORTATTRIBUTE |
Atributo usado como critério de classificação se múltiplas funções forem recuperadas. Isso só será considerado se o COPYTYPE 1-TO-1 for especificado. |
Tipo de atributo PPM |
SORTTYPE |
Direção de classificação para o critério de classificação selecionado. Isso só será considerado se o COPYTYPE 1-TO-1 for especificado. |
ASC (valor padrão: DESC (descendente) |
SORTNULLVALUES |
Especifica se os objetos cujo atributo de classificação não foi inserido devem ser classificados por valor máximo ou mínimo, ou se uma mensagem de erro deve ser emitida. |
MIN, MAX, DEFAULT (valor padrão) |
SOURCEATTRIBUTE.<x> |
O tipo de atributo de origem cujo valor deve ser copiado. <x> é um inteiro e corresponde a destinationattribute.<x> |
Um tipo de atributo PPM |
DESTINATION |
O tipo de atributo de destino para o qual o valor deve ser copiado. <x> é um inteiro e corresponde a sourceattribute.<x> |
Tipo de atributo PPM |
Exemplo
A busca configurada recupera todas as funções predecessoras diretamente adjacentes à função atual, que deve ser usada como origem para a operação de cópia. Se várias funções predecessoras forem recuperadas, o conjunto de funções identificadas será classificado em ordem decrescente usando o critério de classificação AT_START_TIME. O valor do tipo de atributo AT_START_TIME é copiado da função mais recente para o tipo de atributo AT_END_TIME da função de destino.
Extrato da configuração de medidas
...
<calcattr name="AT_END_TIME" type="OT_FUNC" objectname="...">
<calcclass name="com.idsscheer.ppm.server.
keyindicator.attributecalculator.
ZAttributeCalculatorAttributeCopierByEpcEnv">
<calcparam key="DIRECTION" value="BACKWARD"/>
<calcparam key="ENVTYPE" value="DIRECT"/>
<calcparam key="COPYROLE" value="SOURCE"/>
<calcparam key="COPYTYPE" value="1-TO-1"/>
<calcparam key="SORTATTRIBUTE" value="AT_START_TIME"/>
<calcparam key="SORTTYPE" value="DESC"/>
<calcparam key="SOURCEATTRIBUTE.0"
value="AT_START_TIME"/>
<calcparam key="DESTINATIONATTRIBUTE.0"
value="AT_END_TIME"/>
</calcclass>
</calcattr>
...
AttributeAggregatorByEpcEnv
A classe de cálculo AttributeAggregatorByEpcEnv adiciona o tipo de atributo numérico especificado para todas as funções adjacentes. O resultado é salvo no tipo de atributo especificado.
Pode controlar o comportamento da classe de cálculo AttributeAggregatorByEpcEnv especificando os seguintes parâmetros:
Parâmetro |
Descrição |
Valor de exemplo |
DIRECTION |
Direção de pesquisa para funções predecessoras ou sucessoras a partir da função atual |
FORWARD (funções sucessoras) ou |
ENVTYPE |
Procurar funções na direção especificada e na proximidade imediata da função ou em toda a instância de processo |
DIRECT (apenas funções imediatamente adjacentes) INDIRECT (Todas as funções na direção de pesquisa especificada) |
OBJECTNAMEFILTER |
Limita a pesquisa a nomes de funções internas específicas, com uso dos espaços reservados * e ? conforme necessário. Vários padrões de nomes são especificados usando a chave da seguinte forma: OBJECTNAMEFILTER.0 |
*AUFT*,????AUFT* FCT_AUFT1, FCT_AUFT_2 *AUFT?? |
AGGREGATION_ |
Tipo de atributo a ser agregado |
Tipo de atributo PPM existente |
Exemplo
No exemplo abaixo, todas as funções sucessoras são recuperadas para a função atual na instância do processo, cuja designação interna começa com a cadeia de caracteres FCT_ORDER_ ou FCT_INVOICING_ seguida por quaisquer quatro caracteres. O tipo de atributo AT_ORDER_VOL é agregado no conjunto de funções recuperadas e guardado no tipo de atributo AT_KI_ORDER_VOL_AGG.
Extrato da configuração de medidas
...
<calcattr name="AT_KI_ORDER_VOL_AGG" type="OT_FUNC"
objectname="ORDER*">
<calcclass name="com.idsscheer.ppm.server.
keyindicator.attributecalculator.
ZAttributeCalculatorAttributeAggregatorByEpcEnv">
<calcparam key="DIRECTION" value="FORWARD"/>
<calcparam key="ENVTYPE" value="INDIRECT"/>
<calcparam key="OBJECTNAMEFILTER.0"
value="FCT_ORDER_*"/>
<calcparam key="OBJECTNAMEFILTER.1"
value="FCT_INVOICING_????"/>
<calcparam key="AGGREGATION_ATTRIBUTE"
value="AT_ORDER_VOL"/>
</calcclass>
</calcattr>
...