CREATE OR REPLACE TRIGGER LOG_GPA_FECHAMENTOBEM
AFTER UPDATE OR INSERT OR DELETE
ON FECHAMENTOBEM FOR EACH ROW
DECLARE
  V_DSREMOTEADDR VARCHAR2(15);
  V_DSREMOTEHOST VARCHAR2(15);
  V_DSSERVERRDM  VARCHAR2(20);
  V_DSSERVMETHOD VARCHAR2(30);
  V_DSREMOTEOPER VARCHAR2(12);
  V_DESC         VARCHAR2(500);
  V_ITPESQ       VARCHAR2(40);
  V_NMOPERADOR   VARCHAR2(40);
  V_IDTIPOOPER   VARCHAR2(1);
BEGIN
/* IDTIPOOPER - '1' - Inclusão, '2' - Alteração, '3' - Exclusão*/
   V_DESC       := '';
   V_ITPESQ     := '';
   V_NMOPERADOR := '';
   V_IDTIPOOPER := '';
   NMUSUARIO(V_NMOPERADOR);

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

   IF DELETING THEN
      V_IDTIPOOPER   := '3';
      V_ITPESQ       := :OLD.NRSEQFECHABEM;
      V_DESC         := 'Lote '         || '' || NVL(:OLD.NRSEQFECHABEM,'')||' '||
                        'Empresa '      || '' || NVL(:OLD.CDEMPRESA,'')||' '||
                        'Data     '     || '' || NVL(:OLD.DTFECHABEM,'');

   ELSE
      IF UPDATING THEN
         V_DESC         := 'Lote '          || '' || NVL(:NEW.NRSEQFECHABEM,'')||' '||
                           'Empresa '       || '' || NVL(:NEW.CDEMPRESA,'')||' '||
                           'Situação '      || '' || NVL(:NEW.IDSITFECHABEM,'')||' '||
                           'Data '          || '' || NVL(:NEW.DTFECHABEM,'');
         V_ITPESQ := :NEW.NRSEQFECHABEM;
         V_IDTIPOOPER := '2';
      ELSE
         V_IDTIPOOPER   := '1';
         V_ITPESQ       := :NEW.NRSEQFECHABEM;
         V_DESC         := 'Lote '          || '' || NVL(:NEW.NRSEQFECHABEM,'')||' '||
                           'Empresa '       || '' || NVL(:NEW.CDEMPRESA,'')||' '||
                           'Data '          || '' || NVL(:NEW.DTFECHABEM,'');
      END IF;
  END IF;
   V_DESC := SUBSTR(V_DESC, 1, 300);
   INSERT INTO LOGOPERA
      (NMTABELA,
       DTOPERACAO,
       NMRESPOPER,
       IDTIPOOPER,
       DSOPERACAO,
       CDPESQITEM,
       DSRDMUSUOPER,
       DSENDUSUOPER,
       DSNMUSUOPER,
       DSMETUSUOPER,
       CDORESPOPER)
   VALUES
      ('FECHAMENTOBEM',
       SYSDATE,
       NVL(V_NMOPERADOR,' '),
       V_IDTIPOOPER,
       V_DESC,
       V_ITPESQ,
       V_DSSERVERRDM,
       V_DSREMOTEADDR,
       V_DSREMOTEHOST,
       V_DSSERVMETHOD,
       V_DSREMOTEOPER);
END;
/


-- VERSAO --
BEGIN ATUVEROBJ('LOG_GPA_FECHAMENTOBEM','6.49.022'); END;
/

