CREATE TRIGGER TTBOPERADOR_B01U FOR TBOPERADOR
ACTIVE BEFORE UPDATE POSITION 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN
    HISTORICO = '';
    IF(OLD.NOME <> NEW.NOME) THEN
    BEGIN
       HISTORICO = HISTORICO||'Nome:'||OLD.NOME||'->'||NEW.NOME;
    END

    IF(OLD.CODIGO_BARRAS <> NEW.CODIGO_BARRAS)THEN
    BEGIN
        HISTORICO = HISTORICO||'Cod.Barras:'||OLD.CODIGO_BARRAS||'->'||NEW.CODIGO_BARRAS;
    END

    IF(OLD.FAMILIA <> NEW.FAMILIA)THEN
    BEGIN
        HISTORICO = HISTORICO||'Fam:'||OLD.FAMILIA||'->'||NEW.FAMILIA;
    END

    IF(OLD.LOCALIZACAO <> NEW.LOCALIZACAO)THEN
    BEGIN
        HISTORICO = HISTORICO||'Loc:'||OLD.LOCALIZACAO||'->'||NEW.LOCALIZACAO;
    END
    
    IF(HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBOPERADOR',NEW.CODIGO,FN_ELIPSES(HISTORICO,500));
    END
END;

CREATE TRIGGER TTBOPERADOR_B02D FOR TBOPERADOR
ACTIVE BEFORE DELETE POSITION 9
AS
declare variable historico varchar(500);
BEGIN
  HISTORICO = '';
  IF(OLD.CODIGO > 0) then
  BEGIN
    historico = historico||' Reg.Excluido';
  END

  IF(HISTORICO <> '') then
  BEGIN
    execute procedure spi_historico('TBOPERADOR',OLD.CODIGO,historico);
  END
END;

CREATE TRIGGER TTBOPERADOR_SETOR_B02I FOR TBOPERADOR_SETOR
ACTIVE BEFORE INSERT POSITION 9
AS
declare variable historico varchar(500);
BEGIN
  HISTORICO = '';
  IF(NEW.OPERADOR_ID > 0 AND NEW.SETOR_ID > 0) then
  BEGIN
    historico = historico||'UP Vínc.'||NEW.SETOR_ID;
  END

  IF(HISTORICO <> '') then
  BEGIN
    execute procedure spi_historico('TBOPERADOR',NEW.OPERADOR_ID,historico);
  END
END;

CREATE TRIGGER TTBOPERADOR_SETOR_B01D FOR TBOPERADOR_SETOR
ACTIVE BEFORE DELETE POSITION 9
AS
declare variable historico varchar(500);
BEGIN
  HISTORICO = '';
  IF(OLD.OPERADOR_ID > 0) then
  BEGIN
    historico = historico||' Vínc.UP excl.'||OLD.SETOR_ID;
  END

  IF(HISTORICO <> '') then
  BEGIN
    execute procedure spi_historico('TBOPERADOR',OLD.OPERADOR_ID,historico);
  END
END;

