CREATE TABLE TBTEF_PARAMETROS_CAIXAS (
    ID             INTEGER NOT NULL,
    TERMINAL       VARCHAR(100) CHARACTER SET NONE,
    INSTALACAO_ID  VARCHAR(100) CHARACTER SET NONE,
    SENHA          VARCHAR(50),
    TERMINAL_ID    VARCHAR(100) CHARACTER SET NONE,
    CAIXA_PDV_ID   INTEGER,
    TEF_ID         INTEGER);

ALTER TABLE TBTEF_PARAMETROS_CAIXAS
ADD CONSTRAINT PK_TBTEF_PARAMETROS_CAIXAS
PRIMARY KEY (ID);

CREATE SEQUENCE GTBTEF_PARAMETROS_CAIXAS;

SET TERM ^ ;

create trigger ttbtef_parametros_caixas_b01i for tbtef_parametros_caixas
active before insert position 0
as
begin
  if (new.id is null) then
    new.id = gen_id(gtbtef_parametros_caixas,1);
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE OR ALTER trigger ttbtef_parametros_caixas_b02i for tbtef_parametros_caixas
active before insert position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN
    HISTORICO = '';

    IF(NEW.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||' CAIXA INCLUÍDO: '||FN_LPAD(NEW.ID, 4, '0');
    END

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

SET TERM ; ^

SET TERM ^ ;

CREATE trigger ttbtef_parametros_caixas_b01u for tbtef_parametros_caixas
active before update position 9
AS
declare variable HISTORICO VARCHAR(500);
begin
    HISTORICO = '';

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

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

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

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

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

    IF(HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBTEF_PARAMETROS', NEW.TEF_ID, ' CAIXA '||FN_LPAD(NEW.TEF_ID, 4, '0')||' | '||HISTORICO);
    END
end
^

SET TERM ; ^

SET TERM ^ ;

CREATE trigger ttbtef_parametros_caixas_b01d for tbtef_parametros_caixas
active before delete position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN
    HISTORICO = '';

    IF(OLD.ID > 0) THEN
    BEGIN
        HISTORICO = HISTORICO||' CAIXA EXCLUÍDO: '||FN_LPAD(OLD.ID, 4, '0');
    END

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

SET TERM ; ^





