Quando um evento CBE é mapeado para uma classe de eventos do Console Corporativo na base de regra, todos os elementos de dados estendidos são mapeados para um atributo no evento resultante do Console Corporativo.
Se o nome completo de um elemento de dados estendidos não corresponder ao nome de um atributo da definição da classe de eventos do Console Corporativo, o elemento de dados estendidos será descartado.
A Tabela 1 ilustra o mapeamento de um elemento de dados estendidos CBE para atributos em um evento do Console Corporativo.
Subcampo do Elemento de Dados Estendidos |
Atributo do Console Corporativo |
---|---|
nome do atributo |
|
indica se o valor do atributo do Console Corporativo é um valor simples ou uma matriz. |
|
valor do atributo |
|
extendedDataElement.children |
todo elemento filho do elemento de dados estendidos é convertido em outro atributo no evento do Console Corporativo. O processo é repetido recursivamente até que não haja mais subelementos dentro do elemento de dados estendidos. Consulte a seção "Nome" para obter detalhes sobre o nome do atributo resultante no evento do Console Corporativo. |
Tabela 1. Mapeamento de elementos de dados estendidos CBE para atributos do Console Corporativo.
As seções a seguir explicam em detalhes como cada atributo de uma definição do evento CBE é mapeado para um atributo em uma definição de classe do evento do Console Corporativo:
Um extendedDataElement pode ser aninhado dentro de outro extendedDataElement. O nome do atributo resultante da definição de classe do evento do Console Corporativo é formado pela concatenação dos nomes de todos os extendedDataElements, começando pelo primeiro ascendente até o nome do elemento que está sendo mapeado. O caractere "." (ponto) é utilizado como separador.
Como exemplo, considere um evento CBE com os seguintes elementos de dados estendidos
<CommonBaseEvent ...> <extendedDataElements name="abc" type="string"> <values>my value</values> <children name="def" type="int"> <values>123</values> </children> </extendedDataElements> ... </CommonBaseEvent>
Os atributos resultantes e os valores correspondentes no evento do Console Corporativo seriam:
abc='my value' abc.def=123
Se o nome mapeado de um elemento de dados estendidos entrar em conflito com o nome de outro atributo no evento do Console Corporativo, o elemento de dados estendidos será descartado. Consulte o tópico "Conflitos de Nomes para Elementos de Dados Estendidos" para obter mais detalhes.
Pela mesma razão, os elementos de dados estendidos com os seguintes nomes não são mapeados para um atributo no evento do Console Corporativo, pois o algoritmo de conversão processa atributos básicos antes dos elementos de dados estendidos:
Nota:
O subcampo de tipo em um elemento de dados estendidos indica o tipo de dados esperado para os valores dentro do elemento. O elemento de dados estendidos só será mapeado para um atributo no evento de destino do Console Corporativo se os dois tipos forem compatíveis.
A Tabela 2 ilustra a compatibilidade de tipos entre o tipo do elemento de dados estendidos e tipos de atributos do Console Corporativo.
Tipo do Elemento de Dados Estendidos |
Tipo de Atributo do Console Corporativo |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Tabela 2. Mapeamento de tipos de elementos de dados estendidos para tipos de atributos do Console Corporativo.
Como exemplo, considere um evento CBE com os seguintes elementos de dados estendidos
<CommonBaseEvent extensionName="CustomEvent" ...> <extendedDataElements name="slot1" type="string"> <values>my value1</values> <values>my value2</values> <values>my value3</values> </extendedDataElements> ... </CommonBaseEvent>
Supondo que o atributo "slot1" da classe de eventos "CustomEvent" na base de regra esteja definido como uma lista de cadeias, o evento resultante do Console Corporativo deveria conter o seguinte atributo:
slot1=['my value1', 'my value2', 'my value3']
Conflitos de Nomes para Elementos de Dados Estendidos