Tempo aproximado para leitura: 00:15:00 min
Dúvida
CTBA940 - Conciliador Backoffice Financeiro - Ao "Aplicar Conciliação" registros na aba "Dados da Conciliação" não marcando os campos E5_RECONC=X , FK5_DTDISP=AAAMMDD ou registros não indo para aba "Dados da Conciliação" após conciliar na aba "Dados não encontrados"
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Financeiro – A partir da release 12.1.2310
Qual motivo do problema:
Caso o ambiente tenha algum tipo de problema de base de dados, poderá acontecer essa ação de não gravação dos campos E5_RECONC=X , FK5_DTDISP=AAAMMDD ao "Aplicar Conciliação" registros na aba "Dados da Conciliação
1 Ponto de análise
Verificar se os tamanhos de campos estão iguais. Verificar tanto no dicionário (SX3) como no banco de dados
IG_VLREXT == FK5_VALOR
IG_VLRMOV == FK5_VALOR
IG_DTMOVI == FK5_DTDISP
IG_AGEMOV == FK5_AGENCI
IG_CONMOV == FK5_CONTA
IG_HISMOV == FK5_HISTOR
IG_NATMOV == FK5_NATURE
Observação: Segue uma imagem do tamanho de campo no banco de dados.
Abrir a tabela que irá verificar em top connect
Depois acessar a opção "Arquivo > Estrutura"
E neste exemplo podemos observar que o tamanho do meu campo IG_HISMOV no banco de dados tem o tamanho 40 caracteres.
Caso o tamanho do campo FK5_HISTOR esteja diferente, irá apresentar problemas.
2 Ponto de análise
Caso os campos IG_MSUIDT, FK5_MSUIDT, E5_MSUIDT referente aos títulos a serem conciliados estejam sem conteúdo, poderá apresentar problemas ao conciliar.
Possível problema: As tabelas SIG, FK5 e SE5 foram criadas com problemas de estrutura, possivelmente devido a falhas no processo de migração ou troca de modelo de banco de dados (por exemplo, de SQL Server para Oracle), sem que os procedimentos corretos tenham sido seguidos.
3 Ponto de análise para banco ORACLE:
Na query abaixo, podemos alterar a consulta das tabelas a serem verificadas através da coluna TABLE_NAME alterando para SIG, FK5 e SE5
E podemos alterar a consulta dos campos a serem verificadas através da coluna COLUMN_NAME alterando para IG_MSUIDT, FK5_MSUIDT, E5_MSUIDT
No exemplo abaixo vamos executar a query no banco Oracle para a tabela SIG, para verificar a estrutura do campo IG_MSUIDT
SELECT
COLUMN_NAME, -- Nome da coluna
DATA_TYPE, -- Tipo de dado
DATA_LENGTH, -- Tamanho do campo
COLUMN_ID, -- Posição da coluna na tabela
NULLABLE, -- Indica se a coluna aceita nulos ('Y' ou 'N')
DATA_DEFAULT -- Valor padrão ou função associada
FROM
ALL_TAB_COLUMNS
WHERE
TABLE_NAME = 'SIG010' -- Nome da tabela (em letras maiúsculas)
AND COLUMN_NAME = 'IG_MSUIDT'; -- Nome da coluna que você está buscando
Segue um exemplo de como a estrutura deve ser criada
A função SYS_GUID() é responsável por criar o conteúdo ID no campo IG_MSUIDT para banco Oracle
Possível problema: Caso a estrutura do tamanho do campo esteja diferente de 32 de tamanho, o sistema não irá conseguir encontrar o registro gerando uma busca indevida conforme um exemplo abaixo, fazendo o registro não conciliar.
IG_MSUIDT = HEXTORAW('BB0FCC9C7D4341F098680050562C9A52 ') <--- modo inválido caso o campo COLUMN_ID esteja mais que o tamanho de 32 de caractere
IG_MSUIDT = HEXTORAW('BB0FCC9C7D4341F098680050562C9A52') <---- modo correto quando o campo COLUMN_ID possui o tamanho de 32 de caractere
Os campos das tabelas foram criadas com problemas de estrutura, possivelmente devido a falhas no processo de migração ou troca de modelo de banco de dados (por exemplo, de SQL Server para Oracle), sem que os procedimentos corretos tenham sido seguidos.
4 Ponto de análise para banco SQL SERVER:
Na query abaixo, podemos alterar a consulta das tabelas a serem verificadas através da coluna TABLE_NAME alterando para SIG, FK5 e SE5
E podemos alterar a consulta dos campos a serem verificadas através da coluna COLUMN_NAME alterando para IG_MSUIDT, FK5_MSUIDT, E5_MSUIDT
No exemplo abaixo vamos executar a query no banco SQL SERVER para a tabela SIG, para verificar a estrutura do campo IG_MSUIDT
SELECT
COLUMN_NAME, -- Nome da coluna
DATA_TYPE, -- Tipo de dado
CHARACTER_MAXIMUM_LENGTH AS DATA_LENGTH, -- Tamanho máximo do campo (para tipos de dados de caracteres)
ORDINAL_POSITION AS COLUMN_ID, -- Posição da coluna na tabela
IS_NULLABLE, -- Indica se a coluna aceita nulos ('YES' ou 'NO')
COLUMN_DEFAULT -- Valor padrão ou função associada à coluna
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'SIG010' -- Nome da tabela
AND COLUMN_NAME = 'IG_MSUIDT'; -- Nome da coluna
Segue um exemplo de como a estrutura deve ser criada
A função (newid()) é responsável por criar o conteúdo ID no campo IG_MSUIDT para SQL Server
Observações: Sempre permita que o sistema Protheus crie automaticamente todas as estruturas e campos necessários. O ideal é evitar a inclusão ou alteração de informações diretamente no banco de dados, ou por meio do APSDU, para garantir a integridade e o funcionamento correto do sistema.
Saiba mais
Suporte Financeiro- CTBA940 Conciliador Financeiro
0 Comentários