CREATE OR ALTER trigger ttbnfe_parcelamento_bi3 for tbnfe_parcelamento
active before insert position 3
AS
declare variable vDataVencimento Date;
begin

    vDataVencimento = Coalesce((select first 1 b.data_vencimento
                            from tbfrete_doccob_352 b, tbfrete_doccob_353 c, tbnfe nfe
                            where substring(b.transportadora_cnpj from 1 for 8) = substring(nfe.empresa_cnpj from 1 for 8)
                              and b.id = c.frete_doccob_352_id
                              and c.cte_numero = nfe.numero_notafiscal
                              and nfe.controle = new.nfe_controle),new.Data_Vencimento);

   if (new.Data_Vencimento <> :vDataVencimento) then
       Begin
       New.Data_Vencimento = :vDataVencimento;
       End

end;