[firebase-br] Erro em campo "Computed By": Overflow occurred during data type convertion. Convertion erros string "16030"

Mário Reis mariodosreyx em gmail.com
Quinta Setembro 25 12:07:52 -03 2025


Quem possa ajudar.!
Deparei-me com este problemas numa tabela em particular "Empresas"  com um
campo  "CP7_ID" COMPUTED BY (
CAST(CP4_ID AS CHAR(4))||LPAD(CAST(CP3_ID AS VARCHAR(3)), 3, '0') !?
Nenhum dos campo CP4 ou CP3 tem o CP4=1603 nem o CP3=0 ! Eliminando o campo
o problema encontrado em scroll.
Na aplicação em delphi o "DbLookUpCombobox" que
alimenta, simplesmente travava , porém sem rebentar quando ocorre o erro!
Uso o mesmo código em várias outras tabelas sem problemas mas aqui dá. O
Chat Gpt diz ser comun no "cast" eu digo que é o "Lapd" ou dos 2 combinados
e é um bug. porque removendo o LPAD não dá mais o erro usando o IBX: SQL
Code: -413  [ 335544334 -"Overflow occurred during data type convertion.
Convertion error string "16030"]
Resolvi da forma mais básica criei um campo varchar(7) CP7_ID E update
empresas e set e.cp7_id=CAST(CP4 AS CHAR(4)) || LPAD(CAST(CP3 AS
VARCHAR(3)), 3, '0'); E UMA TRIGGER, mas, - sabe mal porque assim para que
serve o "Compute By" se o LPAD nestes casos parece não funcionar !
SET TERM ^ ;

CREATE TRIGGER EMPRESAS_BIU FOR EMPRESAS
ACTIVE BEFORE
  INSERT OR
  UPDATE
POSITION 0
AS
BEGIN
  /* Trigger body */

  NEW.CP7_ID = CAST(NEW.CP4 AS CHAR(4)) || LPAD(CAST(NEW.CP3 AS
VARCHAR(3)), 3, '0');

END^

SET TERM ; ^
NOTA: Não tenho nada no CP4 nem no CP3 que combinado -ainda menos com o
"LPAD" - possa dar "16030"!?
Se alguém puder ajudar a esclarecer o "mistério", agradecido.
Atentamente
Com os meus melhores cumprimentos
Mário Agostinho Reis
919262146

Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.


Mais detalhes sobre a lista de discussão lista