ALTER TABLE TBPDV_OPERADOR
    ADD STATUS INTEGER DEFAULT 1 NOT NULL;
	
COMMENT ON COLUMN TBPDV_OPERADOR.STATUS IS
'STATUS DO REGISTRO
0 - INATIVO;
1 - ATIVO;';

CREATE INDEX ITBPDV_OPERADOR_01
ON TBPDV_OPERADOR (PDV_ID);

CREATE INDEX ITBPDV_OPERADOR_02
ON TBPDV_OPERADOR (CODIGO_OPERADOR);

CREATE INDEX ITBPDV_OPERADOR_03
ON TBPDV_OPERADOR (USUARIO_ID);

CREATE INDEX ITBPDV_OPERADOR_04
ON TBPDV_OPERADOR (TIPO_OPERADOR);

CREATE INDEX ITBPDV_OPERADOR_05
ON TBPDV_OPERADOR (STATUS);





SET TERM ^ ;

CREATE OR ALTER trigger ttbpdv_operador_b01u for tbpdv_operador
active before update position 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(1000);
DECLARE VARIABLE NOME      VARCHAR(200);
BEGIN
  NOME      = (SELECT FIRST 1 IIF(CHAR_LENGTH(A.NOME) > 0, A.NOME, A.USUARIO) FROM TBUSUARIO A WHERE A.CODIGO = NEW.USUARIO_ID);
  HISTORICO = '';
  IF(NEW.TIPO_OPERADOR <> OLD.TIPO_OPERADOR) THEN
  BEGIN
     HISTORICO = HISTORICO||' GERENTE:'||OLD.TIPO_OPERADOR||'->'||NEW.TIPO_OPERADOR;
  END

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

  IF(NEW.CODIGO_OPERADOR <> OLD.CODIGO_OPERADOR) THEN
  BEGIN
     HISTORICO = HISTORICO||' COD.BARRAS ALTERADO';--||OLD.CODIGO_OPERADOR||'->'||NEW.CODIGO_OPERADOR;
  END

  IF(HISTORICO <> '') THEN
  BEGIN
     HISTORICO = 'OPERADOR:'||fn_lpad(OLD.ID,4,0)||' - '||NOME||' ALTERADO '||HISTORICO;
     EXECUTE PROCEDURE SPI_HISTORICO('TBPDV', NEW.PDV_ID, FN_ELIPSES(HISTORICO,500));
  END
END
^

SET TERM ; ^

