🚨 Totvs Error: 'TRIM' is not a recognized built-in function name
⚠️ Se você se deparou com esse erro no TOTVS Protheus utilizando SQL Server, fique tranquilo — você não está sozinho!
💡 O que significa esse erro?
O erro TRIM is not a recognized built-in function name ocorre porque a função TRIM() não é suportada em versões mais antigas do SQL Server (anteriores ao 2017).
📌 Mensagem de erro apresentada:
Error : 195 (37000) (RC=-1) - [Microsoft][SQL Server Native Client 11.0][SQL Server]'TRIM' is not a recognized built-in function name.
Error : 8180 (37000) (RC=-1) - [Microsoft][SQL Server Native Client 11.0][SQL Server]Statement(s) could not be prepared.
Error : 8180 (00000) (RC=-1) -
( From tODBCStatement::SqlBind )
Thread ID [28448] User [jose.souto] IO [3768] Tables [75] MaxTables [75] Comment [MATA020 - TCPIP - ThreadID(21784)] SP [ ] Traced [No] SQLReplay [No] InTran [Yes] DBEnv [MSSQL/02_TESTE] DBThread [(SPID 294,308,368)] Started [06/03/2026 12:01:00] IP [10.0.1.1:2398] IDLE [ ] InTransact [0 s.] Memory [0] Running [ROP_QUERY2 for 0 s.] RCV [257903] SND [1173076] TCBuild [20240224-20250203] TCVersion [24.1.0.2] ARCH [64] OS [WINDOWS] BUILD [RELEASE]
WITH PROF_OPT AS ( SELECT CKJ.CKJ_CODIGO, SUM(CASE WHEN CKK.CKK_CHAVE = ? THEN 1 ELSE 0 END) AS TOT_A2_COD_FR, SUM(CASE WHEN CKK.CKK_CHAVE = ? AND TRIM(CKK.CKK_VALOR) <= SA2.A2_COD THEN 1 ELSE 0 END) AS OK_A2_COD_FR, SUM(CASE WHEN CKK.CKK_CHAVE = ? THEN 1 ELSE 0 END) AS TOT_A2_COD_TO, SUM(CASE WHEN CKK.CKK_CHAVE = ? AND TRIM(CKK.CKK_VALOR) >= SA2.A2_COD THEN 1 ELSE 0 END) AS OK_A2_COD_TO, SUM(CASE WHEN CKK.CKK_CHAVE = ? THEN 1 ELSE 0 END) AS TOT_A2_LOJA_FR, SUM(CASE WHEN CKK.CKK_CHAVE = ? AND TRIM(CKK.CKK_VALOR) <= SA2.A2_LOJA THEN 1 ELSE 0 END) AS OK_A2_LOJA_FR, SUM(CASE WHEN CKK.CKK_CHAVE = ? THEN 1 ELSE 0 END) AS TOT_A2_LOJA_TO, SUM(CASE WHEN CKK.CKK_CHAVE = ? AND TRIM(CKK.CKK_VALOR) >= SA2.A2_LOJA THEN 1 ELSE 0 END) AS OK_A2_LOJA_TO, SUM(CASE WHEN CKK.CKK_CHAVE = ? THEN 1 ELSE 0 END) AS TOT_A2_EST, SUM(CASE WHEN CKK.CKK_CHAVE = ? AND TRIM(CKK.CKK_VALOR) = SA2.A2_EST THEN 1 ELSE 0 END) AS OK_A2_EST
🛠️ Como resolver?
👉 Substitua a função TRIM() por:
LTRIM(RTRIM(campo))
✔️ Exemplo prático:
Antes:
TRIM(CKK.CKK_VALOR)
Depois:
LTRIM(RTRIM(CKK.CKK_VALOR))
🚀 Alternativa (melhor solução)
Atualize seu SQL Server para versão 2017 ou superior, onde a função TRIM() já é suportada nativamente.
📦 Pacotes de correção TOTVS:
12.1.2310: https://r.totvs.io/p/1242944
12.1.2410: https://r.totvs.io/p/1242945
12.1.2510: https://r.totvs.io/p/1242943
📚 Stack de origem do erro:
[TOTVS build: 7.00.240223P-20251030]
Called from FWEXECSTATEMENT:OPENALIAS(FWEXECSTATEMENT.PRW)
Called from PROFILEOPTIMIZER:FINDPROFILES
Called from PROFILEOPTIMIZER:PROCESS
Called from F164PROFOP
Called from MATA020EVBRA:AFTERTTS
Called from FWFORMCOMMIT
Called from A020COMMIT
Called from FWFORMMODEL:COMMITDATA
Called from FWFORMVIEW:BUTTONOKACTION
Called from FWEXECVIEW
Called from A020ALTERA
Called from FWFORMBROWSE:EXECUTE
Called from MATA020
👍 Gostou do conteúdo?
Compartilhe com outros desenvolvedores e fortaleça a comunidade ADVPL / TOTVS! 💙🚀
Deixe seu comentário com dúvidas ou sugestões! 😎
#totvs #protheus #advpl #sqlserver #erro195 #trimerror #db #desenvolvimento #backend #programacao #tecnologia #erp #fiscal #devbrasil