ALTER TABLE TBPCM_SETOR_OPERADOR
    ADD PERMITE_VISUALIZAR_AVAL CHAR(1) CHARACTER SET UTF8 COLLATE UTF8;

COMMENT ON COLUMN TBPCM_SETOR_OPERADOR.PERMITE_VISUALIZAR_AVAL IS
'0 - NÃO PODE VISUALIZAR AVALIAÇÕE;
1 - PODE VISUALIZAR AVALIAÇÕES;';

/***********************************************************************/

SET TERM ^ ;

CREATE OR ALTER trigger ttbpcm_setor_operador_b01u for tbpcm_setor_operador
active before update position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(5000);
DECLARE VARIABLE OLD_USUARIO VARCHAR(500);
DECLARE VARIABLE NEW_USUARIO VARCHAR(500);
BEGIN

    HISTORICO = '';
    OLD_USUARIO = COALESCE((SELECT FIRST 1 FN_LPAD(A.CODIGO, 4, '0')||' - '||A.USUARIO FROM TBUSUARIO A WHERE A.CODIGO = OLD.USUARIO_ID), '');
    NEW_USUARIO = COALESCE((SELECT FIRST 1 FN_LPAD(A.CODIGO, 4, '0')||' - '||A.USUARIO FROM TBUSUARIO A WHERE A.CODIGO = NEW.USUARIO_ID), '');

    IF (OLD.USUARIO_ID <> NEW.USUARIO_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' USUARIO:'||OLD_USUARIO||'->'||NEW_USUARIO;
    END

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

    IF (OLD.PERMITE_VISUALIZAR_AVAL <> NEW.PERMITE_VISUALIZAR_AVAL) THEN
    BEGIN
        HISTORICO = HISTORICO||' VISUAL.AVAL:'||OLD.PERMITE_VISUALIZAR_AVAL||'->'||NEW.PERMITE_VISUALIZAR_AVAL;
    END

    IF (HISTORICO <> '') THEN
    BEGIN
        HISTORICO = 'USUARIO:'||NEW_USUARIO||' ALTERADO:'||HISTORICO;
        EXECUTE PROCEDURE SPI_HISTORICO('TBPCM_SETOR', OLD.SETOR_ID, FN_ELIPSE(HISTORICO, 500));
    END                                             
END
^

SET TERM ; ^

