Dimensão de função compartilhada

Por padrão, as funções compartilhadas são transferidas para o sistema por meio de uma importação única de um fragmento compartilhado. A aplicação das regras de fragmento compartilhado mescla as funções compartilhadas contidas nos fragmentos compartilhados importados com os fragmentos de instâncias normais do processo. Todos os objetos do fragmento compartilhado são copiados para a instância de fragmento. Isso garante automaticamente a exclusividade de uma função compartilhada e permite usar o ID de função de uma função compartilhada para diferenciar entre funções compartilhadas.

Se importar diretamente funções compartilhadas como instâncias de fragmentos normais usando o formato de evento, um ID único será criado para cada função importada. O ID da função não pode ser usado como característica de uma função compartilhada. É possível, no entanto, definir uma dimensão de função compartilhada em que valores de dimensão idênticos combinam funções em funções compartilhadas. Valores de dimensão não especificados não são incluídos.

Uma dimensão de função compartilhada tem as seguintes propriedades:

Exemplo

O exemplo a seguir mostra uma seção de arquivos de configuração da árvore de medida e processo. Nas funções com um atributo AT_IS_SHARED_FUNCTION e valor true, a regra de cálculo do atributo de função AT_SHARED_FUNCTION_ID usado na dimensão de função compartilhada encadeia o nome da função interna com o carimbo de data/hora da execução da função.

extrato do arquivo keyindicator.xml

...

<calcattr name="AT_SHARED_FUNCTION_ID" type="OT_FUNC" delete="yes">

<calculation>

<if>

<and mode="PPM4">

<exists mode="PPM4">

<filteredattribute name="AT_IS_SHARED_FUNCTION"Quebra de linha

nodetype="OT_FUNC" objectname="this"Quebra de linha

onerror="CONTINUE" filter="EARLY" />

</exists>

<eq mode="PPM4">

<filteredattribute name="AT_IS_SHARED_FUNCTION"Quebra de linha

nodetype="OT_FUNC" objectname="this"Quebra de linha

onerror="CONTINUE" filter="EARLY" />

<constant>

<dataitem value="TRUE">

TRUE

<datatypeQuebra de linha

name="BOOLEAN">Logical value</datatype>

</dataitem>

</constant>

</eq>

</and>

<then>

<concat mode="PPM4">

<set mode="PPM4">

<filteredattribute name="AT_OBJNAME_INTERN"Quebra de linha

nodetype="OT_FUNC" objectname="this"Quebra de linha

onerror="EXIT_WARNING" filter="EARLY" />

<convert datatype="TEXT">

<filteredattribute name="AT_END_TIME"Quebra de linha

nodetype="OT_FUNC" objectname="this"Quebra de linha

onerror="EXIT_WARNING" filter="EARLY" />

</convert>

</set>

</concat>

</then>

</if>

</calculation>

</calcattr>

...

<sharedfunctiondim name="SHARED_FUNCTION">

<description name="Shared Function" language="de" />

<description name="Shared Function" language="en" />

<dimitem attrname="AT_SHARED_FUNCTION_ID"Quebra de linha

colname="SHARED_FUNCTION" calculated="TRUE">

<description language="de" name="SHARED_FUNCTION" />

<description language="en" name="SHARED_FUNCTION" />

</dimitem>

</sharedfunctiondim>

...

estrato do arquivo processtree.xml

...

<usesfdim name="SHARED_FUNCTTION" />

<processtypegroup name="Standard order"Quebra de linha

dbtablename="CUBE1">

<processtype name="Order processing" autovisible="FALSE" />

</processtypegroup>

...