create or replace TRIGGER LOG_GER_INTG_ITEMPRODUTO
AFTER DELETE OR INSERT OR UPDATE
ON INTG_ITEMPRODUTO FOR EACH ROW
DECLARE
  V_USUARIO   VARCHAR2(40);
  V_TIPO      VARCHAR2(1);
  V_ITPESQ    VARCHAR2(100);
  V_DESC      VARCHAR2(4000);
  V_DTOPER    DATE;
  V_DSREMOTEADDR VARCHAR2(15);
  V_DSREMOTEHOST VARCHAR2(15);
  V_DSSERVERRDM  VARCHAR2(20);
  V_DSSERVMETHOD VARCHAR2(30);
  V_DSREMOTEOPER VARCHAR2(12);
BEGIN

   V_TIPO := '0';
   V_DESC := '';

   WEBTUNNING(V_DSREMOTEADDR,
              V_DSREMOTEHOST,
              V_DSSERVERRDM,
              V_DSSERVMETHOD,
              V_DSREMOTEOPER);

  IF UPDATING THEN
     IF :NEW.QTITEMPRODRECE IS NOT NULL THEN
        V_TIPO   := '2';
        V_ITPESQ := :OLD.NRACESSONFE;
     END IF;
  ELSE
     V_TIPO   := '1';
     V_ITPESQ := :NEW.NRACESSONFE;
  END IF;

  IF :NEW.QTITEMPRODRECE IS NOT NULL THEN
     V_DESC := V_DESC || ' Qtd_Rece=' || :NEW.QTITEMPRODRECE;
  END IF;

   IF V_TIPO <> '0' THEN
      IF NOT V_DESC IS NULL THEN
         NMUSUARIO(V_USUARIO);
         IF NOT V_USUARIO IS NULL THEN
            V_DTOPER := SYSDATE;

            INSERT INTO LOGOPERA
               (NMTABELA,   DTOPERACAO, NMRESPOPER, IDTIPOOPER, CDPESQITEM, DSOPERACAO,
                DSRDMUSUOPER, DSENDUSUOPER, DSNMUSUOPER, DSMETUSUOPER, CDORESPOPER)
            VALUES
               ('INTG_ITEMPRODUTO',  V_DTOPER, V_USUARIO,
                V_TIPO,         V_ITPESQ, SUBSTR(V_DESC, 0, 400),V_DSREMOTEADDR, V_DSREMOTEHOST, V_DSSERVERRDM,
                V_DSSERVMETHOD, V_DSREMOTEOPER);
         END IF;
      END IF;
   END IF;
END;
/
