Tempo aproximado para leitura: 00:10:00 min
Dúvida
FINA110 - Ao efetuar uma baixa automática a receber apresentando em tela Help: SGDBINFO, e ao abrir o log apresentando o erro "ORA-00932: inconsistent datatypes: expected BLOB got CLOB"
Ambiente
Exemplo:
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Financeiro - Todas as versões
Erro dentro do log FR100LOG.log :
01:40:00 [2920152] Function F110TOTRB Line 4424
[TEMPORARIA_TITULOS] Error : 932 - ORA-00932: inconsistent datatypes: expected BLOB got CLOB
( From tDBServer::ROP_SQLEXEC )
Thread ID [1332323] User [Administrador] IO [4344] Tables [44] MaxTables [70] Comment [FINA110 - TCPIP - ThreadID(1332323)] SP [ ] Traced [No] SQLReplay [No] InTran [No] Totvs [ORACLE/TOTVS_DB] DBThread [(SID 33,322,22)] Started [04/01/2021] IP [11.0.0.0] IDLE [ ] InTransact [ ] Memory [0] Running [ROP_SQLEXEC for 0 s.] RCV [323232] SND [53134] TCBuild [20240221-20250921] TCVersion [24.1.1.0] ARCH [64] OS [LINUX] BUILD [RELEASE]
INSERT INTO TSC02_33730731 ( E1_FILIAL, E1_PREFIXO, E1_NUM, E1_PARCELA, E1_TIPO, E1_NATUREZ, E1_PORTADO, E1_AGEDEP, E1_NOMCLI, E1_EMISSAO, E1_VENCTO, E1_VENCREA, E1_VALOR, E1_BASEIRF, E1_ISS, E1_IRRF, E1_NUMBCO, E1_INDICE, E1_BAIXA, E1_NUMBOR, E1_DATABOR, E1_EMIS1, E1_HIST, E1_LA, E1_LOTE, E1_MOTIVO, E1_MOVIMEN, E1_OP, E1_SITUACA, E1_CONTRAT, E1_SALDO, E1_SUPERVI, E1_VEND1, E1_VEND2, E1_VEND3, E1_VEND4, E1_VEND5, E1_COMIS1, E1_COMIS2, E1_COMIS3, E1_COMIS4, E1_DESCONT, E1_COMIS5, E1_MULTA, E1_JUROS, E1_CORREC, E1_VALLIQ, E1_VENCORI, E1_CONTA, E1_VALJUR, E1_PORCJUR, E1_MOEDA, E1_BASCOM1, E1_BASCOM2, E1_BASCOM3, E1_BASCOM4, E1_BASCOM5, E1_FATPREF, E1_FATURA, E1_OK, E1_PROJETO, E1_CLASCON, E1_VALCOM1, E1_VALCOM2, E1_VALCOM3, E1_VALCOM4, E1_VALCOM5, E1_OCORREN, E1_INSTR1, E1_INSTR2, E1_PEDIDO, E1_DTVARIA, E1_VARURV, E1_VLCRUZ, E1_DTFATUR, E1_NUMNOTA, E1_SERIE, E1_STATUS, E1_ORIGEM, E1_IDENTEE, E1_NUMCART, E1_FLUXO, E1_DESCFIN, E1_DIADESC, E1_TIPODES, E1_CARTAO, E1_CARTVAL, E1_CARTAUT, E1_ADM, E1_VLRREAL, E1_TRANSF, E1_BCOCHQ, E1_AGECHQ, E1_CTACHQ, E1_NUMLIQ, E1_ORDPAGO, E1_RECIBO, E1_INSS, E1_FILORIG, E1_DTACRED, E1_TIPOFAT, E1_TIPOLIQ, E1_CSLL, E1_COFINS, E1_PIS, E1_FLAGFAT, E1_MESBASE, E1_ANOBASE, E1_PLNUCOB, E1_CODINT, E1_CODEMP, E1_MATRIC, E1_TXMOEDA, E1_ACRESC, E1_SDACRES, E1_DECRESC, E1_SDDECRE, E1_MULTNAT, E1_MSFIL, E1_MSEMP, E1_PROJPMS, E1_DESDOBR, E1_NRDOC, E1_EMITCHQ, E1_MODSPB, E1_IDCNAB, E1_PLCOEMP, E1_PLTPCOE, E1_CODCOR, E1_PARCCSS, E1_CODORCA, E1_CODIM
02:08:12 [2933220] Function F110TOTRB Line 4424
Solução:
No caso do exemplo acima, caso na tabela SE1 esteja configurado como E2_CLOB = 2 não
Caso a empresa possua nos campos customizados da tabela SE1 com os dois tipos, CLOB e BLOB, irá apresentar o erro.
Ou caso na SX2 esteja definido como X2_CLOB = 2 não, e na tabela SE1 tenha campos com o tipo CLOB, irá apresentar o erro
Exemplo
(Na imagem abaixo o modo correto conforme a SX2 da tabela SE1)
Poderá executar o select de exemplo abaixo no banco de dados oracle para identificar se existe algum campo DATA_TYPE = BLOB junto com CLOB
SELECT COLUMN_NAME, DATA_TYPE
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'SE1010' AND
DATA_TYPE IN ('CLOB','BLOB')
Caso tenha dúvida para efetuar esse tipo de alteração, sugerimos um DBA para realizar o ajuste ou poderá verificar a possibilidade de excluir o campo customizado e inclui-lo com o tipo correto com o tipo BLOB, primeiramente faça em base de teste e faça as validações
Os campos memos quando utilizados em ambiente com TOPCONECT, portanto, banco de dados relacionais, podem utilizar 2 tipos de campos: BLOB ou CLOB. O padrão de criação do tipo de memo é definido pelo SX2, no campo X2_MEMTYPE.
O padrão do sistema é o BLOB, que cria campos binários, caso for definido a utilização de CLOB o campo será criado como um caractere especial dependendo do banco. Se utilizado BLOB não é permitido utilizar o campo em índice e filtros.
Saiba mais:
- FWTemporaryTable
- X2_MEMTYPE - Determina se o campo memo das tabelas será armazenado no banco de dados como BLOB ou CLOB. Caso esteja em branco ou com “1” será BLOB, caso esteja com “2” – CLOB.
- Tipos de dados - Dicionário de Dados
- DFRM4-6950 DT Campo MEMO tipo BLOB com X2_CLOB = 1
- JUR0095_Configuração O1A com X2_CLOB ativado
0 Comentários