Artigo
· Jul. 31, 2023 2min de leitura

Criando Legendas Personalizadas Para Configurações de Busines Hosts de Interoperabilidade

Ao criar Business Hosts personalizados, muitas vezes é necessário adicionar propriedades à classe para configurações adicionais que serão usadas na inicialização ou operação do host. O próprio nome da propriedade nem sempre é muito descritivo, por isso é uma vantagem ter uma exibição de legenda personalizada com o campo.

No Ensemble, era bastante simples:

TEST> Set ^CacheMsg("EnsColumns","pt-br","<propriedade>") = "<legenda>"

Mas envolve um pouco mais de esforço no IRIS...

No IRIS, os nomes de legenda do business host e das propriedades de produção são armazenados em ^IRIS.Msg("EnsColumns"), que é mapeado a partir do banco de dados somente leitura ENSLIB.

Você não poderá atualizá-los no ENSLIB, a menos que o monte para leitura e gravação, mas não acho que seja uma boa ideia; quaisquer alterações podem ser apagadas em uma atualização subsequente.

No entanto, você pode criar sua própria cópia desse subscrito em um banco de dados de leitura/gravação de sua escolha e mapeá-lo a partir daí:

TEST> merge ^|"^^/isc/iris/db/testdata/"|IRIS.Msg("EnsColumns")=^|"^^/isc/iris/sys/mgr/enslib/"|IRIS.Msg("EnsColumns")

Substitua os caminhos para os bancos de dados de destino e de origem pelos que seguem "^^" no exemplo acima.

Então, altere o mapeamento no Console de Gerenciamento via Administração do Sistema | Configuração | Configuração do Sistema | Namespaces, selecionando o link Mapeamento de Globais para seu namespace. Em seguida, edite o mapeamento para IRIS.Msg("EnsColumns"), alterando-o de ENSLIB para o nome do banco de dados para o qual o subscrito foi copiado:

Clique OK, depois Salvar Alterações.

Crie as entradas para seus novos nomes de legenda:

HICG> Set ^IRIS.Msg("EnsColumns","<locale>","propriedade") = "legenda"

No Brasil, "<locale>" is "pt-br" ... sua localidade pode variar😉 

Aqui vai um exemplo. Considere a propriedade customizada:

/// Facility Code for the Receiving Facility
Property FacilityCode As %String;
Parameter SETTINGS = "FacilityCode:Basic";

In  your production, it would normally appear like this:

Para torná-lo mais descritivo, atribua a legenda em ^IRIS.Msg:

TEST> Set ^IRIS.Msg("EnsColumns","pt-br","FacilityCode")="Código da Instalação do Sistema de Recebimento"

Agora você deve ver a propriedade do business host em sua produção exibida com a nova legenda:

NOTA IMPORTANTE: A desvantagem deste processo é que quaisquer novas configurações adicionadas pela InterSystems não serão exibidas com os novos dados de legenda fornecidos como parte de uma atualização, então você terá que mesclar do ENSLIB novamente para atualizar sua cópia mapeada.

Discussão (0)1
Entre ou crie uma conta para continuar