Melhoria Fenix - Revisão de Envios
v22.07a-r
Orienta a implementação do processo de revisão de envios no Teorema Fênix, comparando registros sincronizados e criando índices necessários no banco de dados através do IBExpert.
user_manual
public
melhoria-fenix-revisao-de-envios
|
Sistemas Teorema -> 00001
22
14/06/2026 16:18
· Bernardo
- Título
- Melhoria Fenix - Revisão de Envios
- Slug
- melhoria-fenix-revisao-envios
- Sistema(s)
- "Sistemas Teorema -> 00001"
- Categoria
- user_manual
- Tipo
- how-to
- Autor
- Andreia Burko Bley
- Setor
- Qualidade
- Modulo
- Fenix
- Publico
- ""
- Keywords
- fenix revisao de envios sincronizacao IBExpert TEO_SINCRONIZA_ENVIOS TEO_SINCRONIZA_NOVO
- Aprovado em
- 16/05/2023
- Release
- ""
- Versão Pipeline
- 2.7.0
- Ultima Revisao
- "2026-06-13"
- Chamado
- ""
---
title: Melhoria Fenix - Revisão de Envios
slug: melhoria-fenix-revisao-envios
sistema:
- "Sistemas Teorema -> 00001"
categoria: user_manual
tipo: how-to
autor: Andreia Burko Bley
setor: Qualidade
modulo: Fenix
publico: ""
keywords:
- fenix
- revisao de envios
- sincronizacao
- IBExpert
- TEO_SINCRONIZA_ENVIOS
- TEO_SINCRONIZA_NOVO
aprovado_em: 16/05/2023
release: ""
versao_pipeline: 2.7.0
ultima_revisao: "2026-06-13"
chamado: ""
---
## Visão Geral
O processo **Revisar Envios** do Teorema Fênix compara as informações nas tabelas `TEO_SINCRONIZA_NOVO` e `TEO_SINCRONIZA_ENVIOS` para verificar se o Fênix enviou todos os dados para o Bridge. Ele foi criado para corrigir casos em que o sistema pulou registros durante a sincronização.
Para ativar essa funcionalidade é necessário criar a tabela `TEO_SINCRONIZA_ENVIOS` no banco de dados via IBExpert, executando o script fornecido neste documento. O mesmo script também cria o índice `TEO_SINCRONIZA_NOVO_IDX_DATA` — caso o índice já exista no banco, o erro gerado pode ser ignorado com segurança.
> ⚠️ **Atenção:** Antes de iniciar, certifique-se de que todos os sistemas que dependem do banco de dados estejam fechados. Não deve haver nenhuma atividade de acesso ou gravação no banco durante o processo.
## Executar o Script no IBExpert
### Localizar e iniciar o IBExpert
1. Acesse a pasta `C:\teorema\windados\` no Windows Explorer e abra o arquivo `ibexpert.exe`.

2. O IBExpert abrirá o **Database Explorer**. Localize o banco `C:\teorema\windados\TEOREMA.FDB` na lista de bancos de dados conectados.

### Verificar o caminho da base no teorema.ini
3. Confirme o caminho do banco de dados consultando o arquivo `teorema.ini`, localizado em `C:\teorema\bin\users\Windows10\`.

4. Abra o `teorema.ini` e localize a linha `Pitagoras=localhost:c:\teorema\windados\teorema.fdb` para confirmar o caminho da base.

### Conectar ao banco e abrir o Script Executive
5. No IBExpert, acesse o banco `C:\teorema\windados\TEOREMA.FDB` com a estrutura expandida (Domains, Tables, Views, Procedures, Triggers, Generators, Exceptions, UDFs, Roles, Indices, Scripts).

6. Clique no menu **Tools** na barra superior do IBExpert.

7. No menu **Tools**, clique em **Script Executive** (atalho Ctrl+F12).

8. A janela **Script Executive** abrirá com a aba **Script** em branco e a opção **Use current connect** disponível na barra de ferramentas.

### Inserir e executar o script
9. Na aba **Script**, insira o seguinte comando:
```sql
/******************************************************************************/
/*** Generated by IBExpert 03/05/2023 14:03:23 ***/
/******************************************************************************/
/******************************************************************************/
/*** Following SET SQL DIALECT is just for the Database Comparer ***/
/******************************************************************************/
SET SQL DIALECT 3;
CREATE OR ALTER INDEX TEO_SINCRONIZA_NOVO_IDX_DATA ON TEO_SINCRONIZA_NOVO (DATA);
/******************************************************************************/
/*** Tables ***/
/******************************************************************************/
CREATE TABLE TEO_SINCRONIZA_ENVIOS (
SINCRONIZA_TABELA DMN_VCHR_30 NOT NULL /* DMN_VCHR_30 = VARCHAR(30) */,
SINCRONIZA_CHAVE DMN_VCHR_50 NOT NULL /* DMN_VCHR_50 = VARCHAR(50) */,
SINCRONIZA_OPERACAO DMN_CHR_01 NOT NULL /* DMN_CHR_01 = CHAR(1) */,
SINCRONIZA_TIPO DMN_CHR_02 /* DMN_CHR_02 = CHAR(2) */,
DATA TIMESTAMP,
UUID CHAR(36),
FILA DMN_VCHR_100 /* DMN_VCHR_100 = VARCHAR(100) */,
REENVIAR DMN_CHR_01 /* DMN_CHR_01 = CHAR(1) */,
TENTATIVA DMN_SMALLINT /* DMN_SMALLINT = SMALLINT */
);
/******************************************************************************/
/*** Primary Keys ***/
/******************************************************************************/
ALTER TABLE TEO_SINCRONIZA_ENVIOS ADD CONSTRAINT PK_TEO_SINCRONIZA_ENVIOS PRIMARY KEY (SINCRONIZA_TABELA, SINCRONIZA_CHAVE, SINCRONIZA_OPERACAO);
/******************************************************************************/
/*** Indices ***/
/******************************************************************************/
CREATE INDEX TEO_SINCRONIZA_ENVIOS_IDX_DATA ON TEO_SINCRONIZA_ENVIOS (DATA);
/******************************************************************************/
/*** Triggers ***/
/******************************************************************************/
SET TERM ^ ;
/******************************************************************************/
/*** Triggers for tables ***/
/******************************************************************************/
/* Trigger: TEO_SINCRONIZA_ENVIOS_UUID */
CREATE OR ALTER TRIGGER TEO_SINCRONIZA_ENVIOS_UUID FOR TEO_SINCRONIZA_ENVIOS
ACTIVE BEFORE INSERT OR UPDATE POSITION 0
AS declare variable newUUID char(36); begin /* Trigger text */ if (new.uuid is null) then begin EXECUTE PROCEDURE PAT_TEO_UUID RETURNING_VALUES :newUUID; new.uuid= newUUID; end end
^
SET TERM ; ^
/******************************************************************************/
/*** Privileges ***/
/******************************************************************************/
/* Privileges of users */
GRANT ALL ON TEO_SINCRONIZA_ENVIOS TO REPL;
```
10. Marque a opção **Use Current connect** na barra de ferramentas da janela Script Executive e execute o script clicando no botão de execução.

11. Antes da execução do script, observe que a tabela `TEO_SINCRONIZA_ENVIOS` ainda não existe na lista de objetos do banco.

12. Se o índice `TEO_SINCRONIZA_NOVO_IDX_DATA` já existir no banco, o script exibirá o erro: **"Unsuccessful metadata update. Index TEO_SINCRONIZA_NOVO_IDX_DATA already exists"**. Esse erro pode ser ignorado — ele indica apenas que o índice já estava presente.
> **Nota:** A criação da tabela `TEO_SINCRONIZA_ENVIOS` prossegue normalmente mesmo com esse erro.

13. Após a execução bem-sucedida, a tabela `TEO_SINCRONIZA_ENVIOS` aparecerá na lista de objetos do banco de dados.

## Ativar o Revisar Envios no Fênix
14. Abra o Fênix 2 - Teorema e faça login. Na tela principal, acesse a aba **Configurações**.
15. Na seção **Sincronização - Local para Nuvem**, localize a opção **Revisar envios** e marque o checkbox.
16. Clique em **Salvar** para confirmar a configuração.

## Informações do documento
> Autor: Andreia Burko Bley
> Setor: Qualidade
> Módulo: Fenix
> Chamado:
> Versão do Sistema: 22.07a
> Versão do documento: 01
> Revisão: Mauricio Fujimoto, Gustavo Ribas Campos Pinto
> Aprovado em: 16/05/2023
---
> 📎 **Arquivos originais:** [Manual Melhoria Fenix - Revisão de envios.docx](https://drive.google.com/uc?export=download&id=1JL6ca63xlgjarOaQu4ZoLLe-rPaPeSx8) · [Manual Melhoria Fenix - Revisão de envios.pdf](https://drive.google.com/uc?export=download&id=1FkKcqlvQL42-10z2mnebnORdhmdHF2Rk)
Tags IA:
2023
anteriores
docx
envios
fenix
junho
manuais
melhoria
melhoria-fenix-revisao-envios
revisao
Prioridade: 7