SET TERM ^ ;

ALTER TABLE TBNFE_TRANSPORTADORA ADD TRANSPORTE_RAZAOSOCIAL      VARCHAR(50)^
ALTER TABLE TBNFE_TRANSPORTADORA ADD TRANSPORTE_CNPJ             VARCHAR(14)^
ALTER TABLE TBNFE_TRANSPORTADORA ADD TRANSPORTE_ENDERECO         VARCHAR(200)^
ALTER TABLE TBNFE_TRANSPORTADORA ADD TRANSPORTE_BAIRRO           VARCHAR(20)^
ALTER TABLE TBNFE_TRANSPORTADORA ADD TRANSPORTE_CEP              VARCHAR(8)^
ALTER TABLE TBNFE_TRANSPORTADORA ADD TRANSPORTE_CIDADE           VARCHAR(40)^
ALTER TABLE TBNFE_TRANSPORTADORA ADD TRANSPORTE_COMPLEMENTO      VARCHAR(200)^
ALTER TABLE TBNFE_TRANSPORTADORA ADD TRANSPORTE_IE               VARCHAR(20)^
ALTER TABLE TBNFE_TRANSPORTADORA ADD TRANSPORTE_UF               VARCHAR(2)^
ALTER TABLE TBNFE_TRANSPORTADORA ADD TRANSPORTE_NOMEFANTASIA     VARCHAR(20)^

CREATE OR ALTER trigger tbnfe_transportadora_b01iu for tbnfe_transportadora
active before insert or update position 0
AS
DECLARE VARIABLE TRANSPORTE_RAZAOSOCIAL      VARCHAR(50);
DECLARE VARIABLE TRANSPORTE_CNPJ             VARCHAR(14);
DECLARE VARIABLE TRANSPORTE_ENDERECO         VARCHAR(200);
DECLARE VARIABLE TRANSPORTE_BAIRRO           VARCHAR(20);
DECLARE VARIABLE TRANSPORTE_CEP              VARCHAR(8);
DECLARE VARIABLE TRANSPORTE_CIDADE           VARCHAR(40);
DECLARE VARIABLE TRANSPORTE_COMPLEMENTO      VARCHAR(200);
DECLARE VARIABLE TRANSPORTE_IE               VARCHAR(20);
DECLARE VARIABLE TRANSPORTE_UF               VARCHAR(2);
DECLARE VARIABLE TRANSPORTE_NOMEFANTASIA     VARCHAR(20);
BEGIN
     
    NEW.TRANSPORTE_RAZAOSOCIAL         =  '';
    NEW.TRANSPORTE_CNPJ                =  '';
    NEW.TRANSPORTE_ENDERECO            =  '';
    NEW.TRANSPORTE_BAIRRO              =  '';
    NEW.TRANSPORTE_CEP                 =  '';
    NEW.TRANSPORTE_CIDADE              =  '';
    NEW.TRANSPORTE_COMPLEMENTO         =  '';
    NEW.TRANSPORTE_IE                  =  '';
    NEW.TRANSPORTE_UF                  =  '';
    NEW.TRANSPORTE_NOMEFANTASIA        =  '';

     IF(NEW.FRETE = 3)THEN
     BEGIN
        FOR SELECT FIRST 1
                A.razaosocial  AS TRANSPORTE_RAZAOSOCIAL,
                A.cnpj         AS TRANSPORTE_CNPJ,
                A.endereco     AS TRANSPORTE_ENDERECO,
                A.BAIRRO       AS TRANSPORTE_BAIRRO,
                A.cep          AS TRANSPORTE_CEP,
                A.cidade       AS TRANSPORTE_CIDADE,
                A.complemento  AS TRANSPORTE_COMPLEMENTO,
                A.ie           AS TRANSPORTE_IE,
                A.uf           AS TRANSPORTE_UF,
                A.nomefantasia AS TRANSPORTE_NOMEFANTASIA
    
                FROM TBESTABELECIMENTO A, TBNFe B
                WHERE A.CODIGO = B.ESTABELECIMENTO_CODIGO
                AND B.CONTROLE = NEW.nfe_controle
                INTO :TRANSPORTE_RAZAOSOCIAL, :TRANSPORTE_CNPJ, :TRANSPORTE_ENDERECO, :TRANSPORTE_BAIRRO,
                    :TRANSPORTE_CEP, :TRANSPORTE_CIDADE, :TRANSPORTE_COMPLEMENTO, :TRANSPORTE_IE, :TRANSPORTE_UF,
                    :TRANSPORTE_NOMEFANTASIA
                DO BEGIN
                    NEW.TRANSPORTE_RAZAOSOCIAL         =  :TRANSPORTE_RAZAOSOCIAL;
                    NEW.TRANSPORTE_CNPJ                =  :TRANSPORTE_CNPJ;
                    NEW.TRANSPORTE_ENDERECO            =  :TRANSPORTE_ENDERECO;
                    NEW.TRANSPORTE_BAIRRO              =  :TRANSPORTE_BAIRRO;
                    NEW.TRANSPORTE_CEP                 =  :TRANSPORTE_CEP;
                    NEW.TRANSPORTE_CIDADE              =  :TRANSPORTE_CIDADE;
                    NEW.TRANSPORTE_COMPLEMENTO         =  :TRANSPORTE_COMPLEMENTO;
                    NEW.TRANSPORTE_IE                  =  :TRANSPORTE_IE;
                    NEW.TRANSPORTE_UF                  =  :TRANSPORTE_UF;
                    NEW.TRANSPORTE_NOMEFANTASIA        =  :TRANSPORTE_NOMEFANTASIA;
                END
       END

       IF(NEW.FRETE = 4)THEN
       BEGIN
          FOR SELECT FIRST 1
                A.razaosocial  AS TRANSPORTE_RAZAOSOCIAL,
                A.cnpj         AS TRANSPORTE_CNPJ,
                A.endereco     AS TRANSPORTE_ENDERECO,
                A.BAIRRO       AS TRANSPORTE_BAIRRO,
                A.cep          AS TRANSPORTE_CEP,
                A.cidade       AS TRANSPORTE_CIDADE,
                A.complemento  AS TRANSPORTE_COMPLEMENTO,
                A.ie           AS TRANSPORTE_IE,
                A.uf           AS TRANSPORTE_UF,
                A.nomefantasia AS TRANSPORTE_NOMEFANTASIA
    
                FROM TBEMPRESA A, TBNFE B
                WHERE A.CODIGO = B.empresa_codigo
                AND B.CONTROLE = NEW.NFE_CONTROLE
                INTO :TRANSPORTE_RAZAOSOCIAL, :TRANSPORTE_CNPJ, :TRANSPORTE_ENDERECO, :TRANSPORTE_BAIRRO,
                    :TRANSPORTE_CEP, :TRANSPORTE_CIDADE, :TRANSPORTE_COMPLEMENTO, :TRANSPORTE_IE, :TRANSPORTE_UF,
                    :TRANSPORTE_NOMEFANTASIA
                DO BEGIN
                    NEW.TRANSPORTE_RAZAOSOCIAL         =  :TRANSPORTE_RAZAOSOCIAL;
                    NEW.TRANSPORTE_CNPJ                =  :TRANSPORTE_CNPJ;
                    NEW.TRANSPORTE_ENDERECO            =  :TRANSPORTE_ENDERECO;
                    NEW.TRANSPORTE_BAIRRO              =  :TRANSPORTE_BAIRRO;
                    NEW.TRANSPORTE_CEP                 =  :TRANSPORTE_CEP;
                    NEW.TRANSPORTE_CIDADE              =  :TRANSPORTE_CIDADE;
                    NEW.TRANSPORTE_COMPLEMENTO         =  :TRANSPORTE_COMPLEMENTO;
                    NEW.TRANSPORTE_IE                  =  :TRANSPORTE_IE;
                    NEW.TRANSPORTE_UF                  =  :TRANSPORTE_UF;
                    NEW.TRANSPORTE_NOMEFANTASIA        =  :TRANSPORTE_NOMEFANTASIA;
                END
       END

       IF(NEW.FRETE <> 4 AND NEW.FRETE <> 3 AND NEW.FRETE <> 9)THEN
       BEGIN
          FOR SELECT FIRST 1
                A.razaosocial  AS TRANSPORTE_RAZAOSOCIAL,
                A.cnpj         AS TRANSPORTE_CNPJ,
                A.endereco     AS TRANSPORTE_ENDERECO,
                A.BAIRRO       AS TRANSPORTE_BAIRRO,
                A.cep          AS TRANSPORTE_CEP,
                A.cidade       AS TRANSPORTE_CIDADE,
                A.complemento  AS TRANSPORTE_COMPLEMENTO,
                A.ie           AS TRANSPORTE_IE,
                A.uf           AS TRANSPORTE_UF,
                A.nomefantasia AS TRANSPORTE_NOMEFANTASIA
    
                FROM TBEMPRESA A
                WHERE A.CODIGO = new.transportadora_codigo
                INTO :TRANSPORTE_RAZAOSOCIAL, :TRANSPORTE_CNPJ, :TRANSPORTE_ENDERECO, :TRANSPORTE_BAIRRO,
                    :TRANSPORTE_CEP, :TRANSPORTE_CIDADE, :TRANSPORTE_COMPLEMENTO, :TRANSPORTE_IE, :TRANSPORTE_UF,
                    :TRANSPORTE_NOMEFANTASIA
                DO BEGIN
                    NEW.TRANSPORTE_RAZAOSOCIAL         =  :TRANSPORTE_RAZAOSOCIAL;
                    NEW.TRANSPORTE_CNPJ                =  :TRANSPORTE_CNPJ;
                    NEW.TRANSPORTE_ENDERECO            =  :TRANSPORTE_ENDERECO;
                    NEW.TRANSPORTE_BAIRRO              =  :TRANSPORTE_BAIRRO;
                    NEW.TRANSPORTE_CEP                 =  :TRANSPORTE_CEP;
                    NEW.TRANSPORTE_CIDADE              =  :TRANSPORTE_CIDADE;
                    NEW.TRANSPORTE_COMPLEMENTO         =  :TRANSPORTE_COMPLEMENTO;
                    NEW.TRANSPORTE_IE                  =  :TRANSPORTE_IE;
                    NEW.TRANSPORTE_UF                  =  :TRANSPORTE_UF;
                    NEW.TRANSPORTE_NOMEFANTASIA        =  :TRANSPORTE_NOMEFANTASIA;
                END
       END
END^

^ SET TERM ; ^