Pode especificar o tipo de dados a ser associado a um atributo desconhecido das seguintes formas:
A sequência mostrada corresponde à priorização da identificação automática do tipo de dados.
Aviso
O tipo de dados de atributos PPM existentes não pode ser modificado.
Metadados
Nos arquivos de evento do sistema a serem importados, pode especificar um tipo de dados do PPM e, opcionalmente, um formato (por exemplo, para identificar carimbos de data/hora) e descrição de atributo para cada atributo de um evento de sistema. Os atributos que ainda não são conhecidos no sistema PPM são gerados automaticamente com o tipo de dados especificado.
Os metadados são especificados no elemento XML metadata:
<eventlist>
<metadata>
<attr_desc type="...">
<ppmdatatype>...</ppmdatatype>
<format>...</format>
<description>...</description>
</attr_desc>
...
</metadata>
<event>
...
</event>
...
</eventlist>
As marcas XML para o elemento XML metadata têm o seguinte significado:
Marca XML |
Descrição |
attr_desc |
Definição individual de metadados de um atributo de evento de sistema. Podem ser especificadas diversas definições. |
type |
Nome do atributo do evento de sistema |
ppmdatatype |
Tipo de dados do PPM a ser associado ao atributo do PPM gerado. |
format |
Formato a ser usado para análise do valor do atributo. Se também tiver habilitado o mapeamento automático, o formato também será usado para transformar o valor em formato de hora do PPM. |
description |
Descrição do atributo do PPM gerado. A descrição especificada é transferida na configuração de atributos, no idioma padrão do cliente PPM. |
Exemplo
<eventlist>
<metadata>
<attr_desc type="SWWWIHEAD-WI_ID">
<ppmdatatype>TEXT</ppmdatatype>
<description>Work item ID</description>
</attr_desc>
<attr_desc type="SWWWIRET-WI_AED">
<ppmdatatype>DAY</ppmdatatype>
<format>yyyyMMdd</format>
<description>End date of work item</description>
</attr_desc>
</metadata>
<event>
<attribute type="SWWWIHEAD-WI_ID">000000525723</attribute>
<attribute type="SWWWIRET-WI_AED">20011211</attribute>
</event>
</eventlist>
Os extratores disponíveis para o PPM (PPM Process Extractor SAP-2-PPM e PPM Process Extractor JDBC-2-PPM) geram automaticamente o elemento XML metadata, permitindo importar diretamente os arquivos de evento de sistema gerados, sem que seja necessária qualquer ação. Os atributos que ainda não são conhecidos no sistema PPM são gerados automaticamente com o tipo de dados correto.
Identificação de padrões
O elemento XML datatypekeydetectionsettings do arquivo da fonte de dados pode ser usado para especificar uma lista de padrões (elementos XML datatypedetectionpattern) a ser usada para associação do tipo de dados. Os nomes de todos os novos atributos identificados são comparados com os padrões. O primeiro padrão identificado na lista especifica o tipo de dados do atributo.
Exemplo
O extrato seguinte do arquivo de fonte de dados configura o seguinte padrão de nomeação para identificar o tipo de dados de novos atributos identificados:
...
<attributesettings autoextendattributes="true">
<datatypedetectionsettings>
<datatypekeydetectionsettings >
<datatypedetectionpattern datatype=”LONG”>*L
</datatypedetectionpattern>
<datatypedetectionpattern datatype=”LONG”>L_*
</datatypedetectionpattern>
<datatypedetectionpattern datatype=”DOUBLE”>D*D
</datatypedetectionpattern>
</datatypekeydetectionsettings>
</datatypedetectionsettings>
</attributesettings>
...
Análise do valor do atributo
Se a identificação de padrões não puder identificar um tipo de dados, será feita uma tentativa para identificar o tipo de dados com base no valor do atributo. Os seguintes tipos de dados são identificados: BOOLEAN, LONG, DOUBLE, TIME, TIMEOFDAY, DAY e TEXT. A enumeração corresponde à prioridade para identificação do tipo de dados.
Tipo de dados BOOLEAN
Os valores de atributo true e false são associados ao tipo de dados BOOLEAN independentemente da capitalização. Outros valores, por exemplo, 0 e 1 não são identificados como BOOLEAN.
Tipos de dados LONG e DOUBLE
Se o tipo de dados BOOLEAN não for identificado, o sistema tentará identificar valores numéricos. Ao identificar tipos de dados numéricos, é feita uma distinção entre números inteiros e números de ponto flutuante. No atributo doubleonly para o elemento XML datatypevaluedetectionsettings, pode usar o valor TRUE (valor padrão) para especificar que os valores de atributo inteiros devem ser associados ao tipo de dados DOUBLE.
A identificação do tipo de dados DOUBLE não requer a especificação de um separador de milhares. O ponto é o único separador decimal identificado.
Tipos de dados TIME, TIMEOFDAY e DAY
Se nenhum tipo de dados numérico for identificado, o sistema tenta identificar o valor do atributo como um carimbo de data/hora (TIME), hora do dia (TIMEOFDAY) ou data (DAY). A enumeração corresponde à prioridade para identificação do tipo de dados. Para cada um dos tipos de dados do carimbo de data/hora, hora do dia e data, pode usar opcionalmente os elementos XML timeformat, timeofdayformat e dayformat para especificar cadeias de caracteres de formato descrevendo os formatos dos valores de atributo especificados. Se não especificar cadeias de caracteres de formato, os seguintes formatos padrão serão aplicados:
Tipo de dados |
Formato padrão |
TIME |
dd.MM.yyyy HH:mm:ss |
TIMEOFDAY |
dd.MM.yyyy |
DAY |
HH:mm:ss |
Tipo de dados TEXT
Se nenhum tipo de dados for identificado através da análise do valor do atributo, o atributo será associado ao tipo de dados TEXT.
Comportamento com tipos de dados ambíguos
Pode usar o atributo numberofvaluestocheck para o elemento XML datatypevaluedetectionsettings para especificar com que frequência o tipo de dados deve ser recuperado ao analisar o valor do atributo. Se o atributo XML não for especificado, é usado o valor padrão 100. Se diferentes tipos de dados forem identificados para um atributo, o tipo de dados identificado anteriormente é convertido em um tipo de dados geral. A tabela seguinte se aplica:
Tipo de dados |
Tipo de dados geral |
BOOLEAN |
TEXT |
LONG |
DOUBLE, TEXT |
DOUBLE |
TEXT |
TIME |
TEXT |
TIMEOFDAY |
TEXT |
DAY |
TEXT |
TEXT |
TEXT |
Exemplo
O extrato de arquivo abaixo mostra uma configuração completa para identificação automática de tipo de dados, analisando o valor do atributo.
...
<attributesettings autoextendattributes="true">
<excludepatterns>
<excludepattern>TEST*</excludepattern>
<excludepattern>USER</excludepattern>
</excludepatterns>
<datatypedetectionsettings>
<datatypekeydetectionsettings>
<datatypedetectionpattern datatype = "LONG">LG_*
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "LONG">*LONG*
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "LONG">*_lng
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "DOUBLE">DOUBLE_*
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "DOUBLE">*_dbl
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "DAY">DAY_*
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "DAY">*_day
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "TIMEOFDAY">TIMEOFDAY_*
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "TIMEOFDAY">*_tod
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "TIME">TIME_*
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "TIME">*_tm
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "TEXT">TEXT_*
</datatypedetectionpattern>
<datatypedetectionpattern datatype = "TEXT">*_txt
</datatypedetectionpattern>
</datatypekeydetectionsettings>
<datatypevaluedetectionsettings
doubleonly = "FALSE"
numberofvaluestocheck = "100">
<timeformat>dd.MM.yyyy HH:mm:ss</timeformat>
<timeofdayformat>HH:mm:ss</timeofdayformat>
<dayformat>dd.MM.yyyy</dayformat>
</datatypevaluedetectionsettings>
</datatypedetectionsettings>
<attributeprefix>AT_</attributeprefix>
</attributesettings>
...