SET TERM ^ ;

CREATE OR ALTER trigger tbpdv_cfe_forma_pagamento_b05i for tbpdv_cfe_forma_pagamento
active before insert position 1
AS
DECLARE VARIABLE BANDEIRA_DESCRICAO VARCHAR(100);
DECLARE VARIABLE BANDEIRA_ID VARCHAR(100);

BEGIN
  IF(COALESCE(NEW.BANDEIRA_CARTAO, '') = '' AND COALESCE(NEW.CARTAO_BANDEIRA_ID, 0) > 0) THEN
  BEGIN

    SELECT FIRST 1 T.DESCRICAO FROM TBCARTAO_BANDEIRA T WHERE T.ID = NEW.CARTAO_BANDEIRA_ID INTO :BANDEIRA_DESCRICAO;

    NEW.BANDEIRA_CARTAO = :BANDEIRA_DESCRICAO;

  END

  IF(COALESCE(NEW.BANDEIRA_CARTAO, '') <> '' AND COALESCE(NEW.CARTAO_BANDEIRA_ID, 0) = 0) THEN
  BEGIN
        
        SELECT FIRST 1 T.ID FROM TBCARTAO_BANDEIRA T INTO :BANDEIRA_ID;

        NEW.CARTAO_BANDEIRA_ID = :BANDEIRA_ID;

  END

  IF(COALESCE(NEW.ADQUIRENTE_ID, 0) = 0) THEN
  BEGIN
        NEW.ADQUIRENTE_ID = 25;

  END
END
^

SET TERM ; ^

