Atualizar campos na tabela Módulo a partir da tabela de Aplicações Sistemas utilizando o Flow
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-20-2024 10:16 AM
Boa tarde pessoal.
Criei a coluna u_exposto_para_internet do tipo escolha contendo as opções "Sim" e 'Não" na tabela cmdb_ci. Essa nova coluna bem como suas escolhas foram replicadas para as tabelas u_module e u_cmdb_ci_aplication_system, uma vez que elas são extensão da cmdb_ci. Com isso, estou construindo um Flow que atualize a coluna u_exposto_para_internet na tabela u_module com o valor dessa mesma coluna que está na tabela u_cmdb_ci_aplication_system sempre que esse for atualizado.
O flow contém um gatilho a partir da tabela u_cmdb_ci_aplication_system que á acionado quando algumas atualizações são realizadas. Logo após, tenho uma ação Atualizar Registro na tabela u_module onde selecionei o campo Exposto para internet (u_exposto_para_internet) e arrastei a pílula de dados do gatilho Aplicação e Sistema conforma abaixo.
A atualização até ocorre, porém, ao inves de selecionar a opção "Sim" ou "Não" cadastradas previamente conforme mencionei acima, um terciero valor de "Sim" ou "Não" é inserido no campo.
Poderiam me ajudar com uma solução que resolva esse problema?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-20-2024 11:38 AM
1 - Na tabela CMDB CI APPLICATION SYSTEM criei um campo do tipo True/False. Como essa tabela estende a CMDB CI, quando for inserido um registro nessa tabela este também será visível a partir da leitura dos registros da CMDB CI.
2 - Os campos da u_module não podem ser copiados para a própria CMDB CI APPLICATION SYSTEM?
Caso você tenha uma persona que precise ver/editar apenas parte das colunas que se referem a essa tabela u_module, é possível criar um componente chamado View Rule para controlar quais campos um usuário vai ver ao acessar determinada tabela.
Teste as operações em uma PDI antes de aplicar na instância de desenvolvimento corporativa.
Abraços.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-20-2024 12:05 PM
O campo Exposto para Internet (u_exposto_para_internet) que eu criei na tabela cmdb_ci aparece perfeitamente nas tabelas u_module e u_cmdb_ci_aplication_system.
O problema que estou enfrentando é a dificuldade de copiar o valor de escolha (Sim ou Não) da tabela u_cmdb_ci_aplication_system para u_module através de um flow.
Ex: Tenho uma apçicação cadastradas na tabela u_cmdb_ci_aplication_system e quando atualizar o campo Exposto para Internet (u_exposto_para_internet) preciso atualizar o campo Exposto na Internet na tabela u_module, uma vez que nessa tabela cadastro os Módulos que são filhos da Aplicação.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-20-2024 04:45 PM
Suponha que eu inclui na tabela u_module um registro com o campo Description contendo "Teste Módulo 1".
Esse registro está vinculado a qual registro na tabela u_cmdb_ci_aplication_system?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-08-2025 03:29 PM
Oi, tudo bem?
Isso acontece porque, ao passar o valor diretamente da pílula de dados, o Flow está inserindo um valor “livre” e não a opção já existente no campo do tipo escolha. Isso gera uma nova opção invisível na prática, mesmo que seja “Sim” ou “Não”.
Para resolver:
Use um valor fixo no campo "Atualizar Registro": Em vez de arrastar diretamente a pílula da variável, crie uma ação Script ou um Branch com condição para verificar o valor do campo de origem.
Exemplo com Script:
Crie uma ação intermediária com Script e defina explicitamente:
if (current.u_exposto_para_internet == 'Sim') {
flow.variables.exposto = 'Sim';
} else {
flow.variables.exposto = 'Não';
}
Depois, no campo de destino, use flow.variables.exposto.
Outra opção: Transforme o valor com uma ação "Set Value" antes de enviar para o campo de destino, garantindo que seja exatamente o valor existente no campo de escolha.
Esse erro é comum quando o campo aceita valores que não estão previamente definidos nas opções. O ideal é sempre garantir que o valor passado seja idêntico ao que já existe como opção cadastrada.