SET TERM ^ ;
CREATE OR ALTER TRIGGER TTBNFS_PARCELAMENTO_B2U FOR TBNFS_PARCELAMENTO
ACTIVE BEFORE UPDATE POSITION 2
AS
BEGIN

   IF (NEW.REPRESENTANTE_ID <> OLD.REPRESENTANTE_ID) THEN
       BEGIN
       IF (COALESCE(NEW.REPRESENTANTE_ID,0) = 0) THEN
           BEGIN
           EXCEPTION "..." 'REPRESENTANTE INVÁLIDO OU NÃO INFORMADO, ALTERAÇÃO CANCELADA!';
           END
       END
    
   IF (NEW.FORMA_COMISSAO <> OLD.FORMA_COMISSAO) THEN
       BEGIN
       IF (COALESCE(NEW.FORMA_COMISSAO,'') = '') THEN
           BEGIN
              /*BUSCAR A FORMA DE PAGAMENTO DO CADASTRO QUANDO ESTIVER VAZIA NO DOCUMENTO FISCAL*/
              NEW.FORMA_COMISSAO = COALESCE((SELECT FIRST 1 REP.FORMA_COMISSAO FROM TBREPRESENTANTE REP WHERE REP.CODIGO = NEW.REPRESENTANTE_ID),'');
               IF (COALESCE(NEW.FORMA_COMISSAO,'') = '') THEN
               BEGIN
                   EXCEPTION "..." 'FORMA DE COMISSÃO (LIQUIDEZ OU FATURAMENTO) INVÁLIDA OU NÃO INFORMADA, ALTERAÇÃO CANCELADA!';
               END
           END
       END

END^

^ SET TERM ; ^