create or replace TRIGGER LOG_GOP_PARAMGESTAO
AFTER UPDATE OR INSERT OR DELETE
ON PARAMGESTAO FOR EACH ROW
DECLARE
   V_TIPO            VARCHAR2(1);
   V_DSREMOTEADDR    VARCHAR2(15);
   V_DSREMOTEHOST    VARCHAR2(15);
   V_DSSERVERRDM     VARCHAR2(100);
   V_DSSERVMETHOD    VARCHAR2(4000);
   V_DSREMOTEOPER    VARCHAR2(12);
   V_DESC            VARCHAR2(500);
   V_CDFILLOGOPER    VARCHAR2(4);
   V_ITPESQ          VARCHAR2(40);
   V_NMOPERADOR      VARCHAR2(40);
   V_CDOPERADOR      VARCHAR2(12);
   V_NMTABELA        VARCHAR2(20);
   V_DESCUPD         VARCHAR2(4000);

BEGIN
/* IDTIPOOPER - '1' - Inclusão, '2' - Alteração, '3' - Exclusão*/
   V_TIPO         := '0';
   V_ITPESQ       := '';
   V_NMOPERADOR   := '';
   V_CDOPERADOR   := '';
   V_CDFILLOGOPER := '';
   V_NMTABELA     := 'PARAMGESTAO';

   V_DSSERVERRDM := 'gop00800_taxa_administrativa';
   V_DESCUPD := 'Taxa Administrativa' || chr(10) || '-> Geral' || chr(10) || chr(10);
   
   WEBTUNNING(V_DSREMOTEADDR,
              V_DSREMOTEHOST,
              V_DSSERVERRDM,
              V_DSSERVMETHOD,
              V_DSREMOTEOPER);

   IF INSERTING THEN
      V_TIPO := '1';
      V_ITPESQ := TO_CHAR(:NEW.CDPARAMGESTAO);
      V_DESC := V_DESC || 'Taxa Administrativa Padrao (%): ' || NVL(TO_CHAR(:NEW.TAXAADMINMATRIZ), ' ');
      V_CDOPERADOR   := :NEW.CDOPERINCLUSAO;
      NMOPERADOR(V_CDOPERADOR, V_NMOPERADOR);
   ELSIF UPDATING THEN
      V_TIPO := '2';
      V_ITPESQ := TO_CHAR(:OLD.CDPARAMGESTAO);
      V_CDOPERADOR := :NEW.CDOPERULTATU;
      NMOPERADOR(V_CDOPERADOR, V_NMOPERADOR);
      IF NVL(:NEW.TAXAADMINMATRIZ, 0) <> NVL(:OLD.TAXAADMINMATRIZ, 0) THEN
         V_DESC := V_DESC || 'Taxa Administrativa Padrao (%) de: ' || TO_CHAR(:OLD.TAXAADMINMATRIZ) || ' para: ' || TO_CHAR(:NEW.TAXAADMINMATRIZ) ;
      END IF;
    END IF;    

   IF NOT V_DESC IS NULL THEN
      V_DESC := V_DESCUPD || V_DESC;
      INSERT INTO LOGOPERAGES
         (NMTABELA,     DTOPERACAO,   NMRESPOPER,  IDTIPOOPER,   DSOPERACAO,  CDPESQITEM,
          DSRDMUSUOPER, DSENDUSUOPER, DSNMUSUOPER, DSMETUSUOPER, CDORESPOPER, CDFILLOGOPER)
      VALUES
         (V_NMTABELA, SYSDATE, NVL(V_NMOPERADOR,' '), V_TIPO, V_DESC, V_ITPESQ, NVL(V_DSSERVERRDM, ' '), 
          NVL(V_DSREMOTEADDR, ' '), NVL(V_DSREMOTEHOST, ' '), NVL(V_DSSERVMETHOD, ' '), NVL(V_CDOPERADOR, ' '),
          NVL(V_CDFILLOGOPER, ' '));
   END IF;
END;
/

-- VERSAO --
BEGIN ATUVEROBJ('LOG_GOP_PARAMGESTAO','6.19.xxx'); END;
/