-- TBHORARIO --

INSERT INTO TBMENU (CONTROLE, GRUPO, SUBGRUPO, TIPO, URL, DESCRICAO) VALUES (22640, 'PCP', 'PCP', '1', '', 'CADASTRO DE HORARIOS');

SET TERM ^ ;

CREATE OR ALTER TRIGGER TTBHORARIO_B02I FOR TBHORARIO
ACTIVE BEFORE INSERT POSITION 1
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF (NEW.ID > 0) THEN
        BEGIN
            HISTORICO = HISTORICO||'REGISTRO INCLUIDO';
        END

    IF (HISTORICO <> '') THEN
        BEGIN
            EXECUTE PROCEDURE SPI_HISTORICO('TBHORARIO',NEW.ID, HISTORICO);
        END
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER TRIGGER TTBHORARIO_B01U FOR TBHORARIO
ACTIVE BEFORE UPDATE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

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

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

    IF (OLD.DATA_INICIO <> NEW.DATA_INICIO) THEN
        BEGIN
            HISTORICO = HISTORICO||' DATA INI:'||OLD.DATA_INICIO||'->'||NEW.DATA_INICIO;
        END

    IF (OLD.DATA_FIM <> NEW.DATA_FIM) THEN
        BEGIN
            HISTORICO = HISTORICO||' DATA FIN:'||OLD.DATA_FIM||'->'||NEW.DATA_FIM;
        END

    IF (OLD.HORA_1 <> NEW.HORA_1) THEN
        BEGIN
            HISTORICO = HISTORICO||' HORA INI:'||OLD.HORA_1||'->'||NEW.HORA_1;
        END

    IF (OLD.HORA_2 <> NEW.HORA_2) THEN
        BEGIN
            HISTORICO = HISTORICO||' HORA FIN:'||OLD.HORA_2||'->'||NEW.HORA_2;
        END

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

    IF (HISTORICO <> '') THEN
        BEGIN
            EXECUTE PROCEDURE SPI_HISTORICO('TBHORARIO',NEW.ID, HISTORICO);
        END
END
^

SET TERM ; ^

SET TERM ^ ;

CREATE TRIGGER TTBHORARIO_B01D FOR TBHORARIO
ACTIVE BEFORE DELETE POSITION 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF (OLD.ID > 0) THEN
        BEGIN
            HISTORICO = HISTORICO||'REGISTRO EXCLUIDO';
        END

    IF (HISTORICO <> '') THEN
        BEGIN
            EXECUTE PROCEDURE SPI_HISTORICO('TBHORARIO',OLD.ID, HISTORICO);
        END
END
^

SET TERM ; ^

