CREATE OR REPLACE TRIGGER LOG_VND_CONFTELA
AFTER DELETE OR INSERT OR UPDATE
ON CONFTELA 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(4000);
  V_ITPESQ       VARCHAR2(60);
  V_NMOPERADOR   VARCHAR2(40);
  V_IDTIPOOPER   VARCHAR2(1);
BEGIN
/* IDTIPOOPER - '1' - Inclusao, '2' - Alteracao, '3' - Exclusao*/
   V_DESC       := '';
   V_ITPESQ     := '';
   V_NMOPERADOR := '';
   V_IDTIPOOPER := '';
   NMUSUARIO(V_NMOPERADOR);
   IF :NEW.IDORIGENDPOINT = 'S' THEN
      V_NMOPERADOR := 'ORIGEM ENDPOINT';
   END IF;
   WEBTUNNING(V_DSREMOTEADDR,
              V_DSREMOTEHOST,
              V_DSSERVERRDM,
              V_DSSERVMETHOD,
              V_DSREMOTEOPER);
   IF UPDATING THEN
		IF NVL(:NEW.CDFILIAL ,'NULL') <> NVL(:OLD.CDFILIAL ,'NULL') THEN
			V_DESC   := 'Filial ' || '' || NVL(:NEW.CDFILIAL,'');
		END IF;
		IF NVL(:NEW.NRCONFTELA ,'NULL') <> NVL(:OLD.NRCONFTELA ,'NULL') THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Cod Config Tela ' || '' || NVL(:NEW.NRCONFTELA,'');
		END IF;
		IF NVL(:NEW.NMCONFTELA ,'NULL') <> NVL(:OLD.NMCONFTELA ,'NULL') THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Nome Config Tela ' || '' || NVL(:NEW.NMCONFTELA,'');
		END IF;
		IF NVL(:NEW.DSFUNDOTELA ,'NULL') <> NVL(:OLD.DSFUNDOTELA ,'NULL') THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Fundo Tela ' || '' || NVL(:NEW.DSFUNDOTELA,'');
		END IF;    
		IF NVL(:NEW.CDLOJA ,'NULL') <> NVL(:OLD.CDLOJA ,'NULL') THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Cod Loja ' || '' || NVL(:NEW.CDLOJA,'');
		END IF;
		IF NVL(:NEW.DTULTATUCFTE ,TO_DATE('01/01/0001','DD/MM/YYYY')) <> NVL(:OLD.DTULTATUCFTE ,TO_DATE('01/01/0001','DD/MM/YYYY')) THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Dt Ult Atua ' || '' || NVL(:NEW.DTULTATUCFTE,'');
		END IF;
    IF NVL(:NEW.IDTIPOCONF ,'NULL') <> NVL(:OLD.IDTIPOCONF ,'NULL') THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Tipo Config ' || '' || NVL(:NEW.IDTIPOCONF,'');
		END IF;
		IF NVL(:NEW.IDESQUEMA ,'NULL') <> NVL(:OLD.IDESQUEMA ,'NULL') THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Id Esquema ' || '' || NVL(:NEW.IDESQUEMA,'');
		END IF;    
		IF NVL(:NEW.DSLOGOTELA ,'NULL') <> NVL(:OLD.DSLOGOTELA ,'NULL') THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Ds Logo Tela ' || '' || NVL(:NEW.DSLOGOTELA,'');
		END IF;
		IF NVL(:NEW.NRORG ,999999) <> NVL(:OLD.NRORG ,999999) THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Nr Org ' || '' || NVL(:NEW.NRORG,'');
		END IF;
		IF NVL(:NEW.IDATIVO ,'NULL') <> NVL(:OLD.IDATIVO ,'NULL') THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Ativo ' || '' || NVL(:NEW.IDATIVO,'');
		END IF;    
		IF NVL(:NEW.DTINCLUSAO ,TO_DATE('01/01/0001','DD/MM/YYYY')) <> NVL(:OLD.DTINCLUSAO ,TO_DATE('01/01/0001','DD/MM/YYYY')) THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Dt Inclusao ' || '' || NVL(:NEW.DTINCLUSAO,'');
		END IF;
		IF NVL(:NEW.DTULTATU ,TO_DATE('01/01/0001','DD/MM/YYYY')) <> NVL(:OLD.DTULTATU ,TO_DATE('01/01/0001','DD/MM/YYYY')) THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Dt Ult Atualizacao ' || '' || NVL(:NEW.DTULTATU,'');
		END IF;
		IF NVL(:NEW.NRORGINCLUSAO ,999999) <> NVL(:OLD.NRORGINCLUSAO ,999999) THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Nr Org Inclusao ' || '' || NVL(:NEW.NRORGINCLUSAO,'');
		END IF;
		IF NVL(:NEW.CDOPERINCLUSAO ,'NULL') <> NVL(:OLD.CDOPERINCLUSAO ,'NULL') THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Cod Oper Inclusao ' || '' || NVL(:NEW.CDOPERINCLUSAO,'');
		END IF;    
		IF NVL(:NEW.NRORGULTATU ,999999) <> NVL(:OLD.NRORGULTATU ,999999) THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Nr Org Ult Atua ' || '' || NVL(:NEW.NRORGULTATU,'');
		END IF;    
		IF NVL(:NEW.CDOPERULTATU ,'NULL') <> NVL(:OLD.CDOPERULTATU ,'NULL') THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Cod Oper Ult Atua ' || '' || NVL(:NEW.CDOPERULTATU,'');
		END IF;
		IF NVL(:NEW.DTINIVIGENCIA ,TO_DATE('01/01/0001','DD/MM/YYYY')) <> NVL(:OLD.DTINIVIGENCIA ,TO_DATE('01/01/0001','DD/MM/YYYY')) THEN
			V_DESC := NVL(V_DESC,'') || ' ' || 'Dt Ini Vigencia ' || '' || NVL(:NEW.DTINIVIGENCIA,'');
		END IF;
    
    V_ITPESQ := :NEW.NRCONFTELA||:NEW.CDFILIAL||:NEW.DTINIVIGENCIA;    
    V_IDTIPOOPER := '2';
  ELSE
    IF INSERTING THEN
      V_DESC   := 'Filial  '             || '' || NVL(:NEW.CDFILIAL,'')         || ' ' ||
                  'Cod Config Tela '     || '' || NVL(:NEW.NRCONFTELA,'')       || ' ' ||
                  'Nome Config Tela '    || '' || NVL(:NEW.NMCONFTELA,'')       || ' ' ||
                  'Fundo Tela '          || '' || NVL(:NEW.DSFUNDOTELA,'')      || ' ' ||
                  'Cod Loja  '           || '' || NVL(:NEW.CDLOJA,'')           || ' ' ||
                  'Dt Ult Atua  '        || '' || NVL(:NEW.DTULTATUCFTE,'')     || ' ' ||
                  'Tipo Config  '        || '' || NVL(:NEW.IDTIPOCONF,'')       || ' ' ||
                  'Id Esquema  '         || '' || NVL(:NEW.IDESQUEMA,'')        || ' ' ||
                  'Ds Logo Tela  '       || '' || NVL(:NEW.DSLOGOTELA,'')       || ' ' ||
                  'Nr Org  '             || '' || NVL(:NEW.NRORG,'')            || ' ' ||
                  'Ativo  '              || '' || NVL(:NEW.IDATIVO,'')          || ' ' ||				  
                  'Dt Inclusao  '        || '' || NVL(:NEW.DTINCLUSAO,'')       || ' ' ||
                  'Dt Ult Atualizacao  ' || '' || NVL(:NEW.DTULTATU,'')         || ' ' ||
                  'Nr Org Inclusao  '    || '' || NVL(:NEW.NRORGINCLUSAO,'')    || ' ' ||        
                  'Cod Oper Inclusao  '  || '' || NVL(:NEW.CDOPERINCLUSAO,'')   || ' ' ||
                  'Nr Org Ult Atua  '    || '' || NVL(:NEW.NRORGULTATU,'')      || ' ' ||
                  'Cod Oper Ult Atua  '  || '' || NVL(:NEW.CDOPERULTATU,'')     || ' ' ||
                  'Dt Ini Vigencia  '    || '' || NVL(:NEW.DTINIVIGENCIA,'');
                  
         V_ITPESQ := :NEW.NRCONFTELA||:NEW.CDFILIAL||:NEW.DTINIVIGENCIA;    
         V_IDTIPOOPER := '1';
      ELSE
        IF DELETING THEN
          V_DESC   := 'Filial  '             || '' || NVL(:OLD.CDFILIAL,'')         || ' ' ||
                      'Cod Config Tela '     || '' || NVL(:OLD.NRCONFTELA,'')       || ' ' ||
                      'Nome Config Tela '    || '' || NVL(:OLD.NMCONFTELA,'')       || ' ' ||
                      'Fundo Tela '          || '' || NVL(:OLD.DSFUNDOTELA,'')      || ' ' ||
                      'Cod Loja  '           || '' || NVL(:OLD.CDLOJA,'')           || ' ' ||
                      'Dt Ult Atua  '        || '' || NVL(:OLD.DTULTATUCFTE,'')     || ' ' ||
                      'Tipo Config  '        || '' || NVL(:OLD.IDTIPOCONF,'')       || ' ' ||
                      'Id Esquema  '         || '' || NVL(:OLD.IDESQUEMA,'')        || ' ' ||
                      'Ds Logo Tela  '       || '' || NVL(:OLD.DSLOGOTELA,'')       || ' ' ||
                      'Nr Org  '             || '' || NVL(:OLD.NRORG,'')            || ' ' ||
                      'Ativo  '              || '' || NVL(:OLD.IDATIVO,'')          || ' ' ||				  
                      'Dt Inclusao  '        || '' || NVL(:OLD.DTINCLUSAO,'')       || ' ' ||
                      'Dt Ult Atualizacao  ' || '' || NVL(:OLD.DTULTATU,'')         || ' ' ||
                      'Nr Org Inclusao  '    || '' || NVL(:OLD.NRORGINCLUSAO,'')    || ' ' ||        
                      'Cod Oper Inclusao  '  || '' || NVL(:OLD.CDOPERINCLUSAO,'')   || ' ' ||
                      'Nr Org Ult Atua  '    || '' || NVL(:OLD.NRORGULTATU,'')      || ' ' ||
                      'Cod Oper Ult Atua  '  || '' || NVL(:OLD.CDOPERULTATU,'')     || ' ' ||
                      'Dt Ini Vigencia  '    || '' || NVL(:OLD.DTINIVIGENCIA,'');
                      
             V_ITPESQ := :OLD.NRCONFTELA||:OLD.CDFILIAL||:OLD.DTINIVIGENCIA;    
            V_IDTIPOOPER := '3';
         END IF;
      END IF;
   END IF;
   V_DESC := SUBSTR(V_DESC, 1, 4000);
   V_ITPESQ := SUBSTR(V_ITPESQ, 1, 40);
   INSERT INTO LOGOPERAVND
      (NMTABELAVND,
       DTOPERACAOVND,
       NMRESPOPERVND,
       IDTIPOOPERVND,
       DSOPERACAOVND,
       CDPESQITEMVND,
       DSRDMUSUOPERVND,
       DSENDUSUOPERVND,
       DSNMUSUOPERVND,
       DSMETUSUOPERVND,
       CDORESPOPERVND,
       CDFILLOGOPERVND)
   VALUES
      ('ITEMPRECO',
       SYSDATE,
       NVL(V_NMOPERADOR,' '),
       V_IDTIPOOPER,
       NVL(V_DESC,' '),
       V_ITPESQ,
       V_DSSERVERRDM,
       V_DSREMOTEADDR,
       V_DSREMOTEHOST,
       V_DSSERVMETHOD,
       V_DSREMOTEOPER,
       NVL(:NEW.CDFILIAL,:OLD.CDFILIAL));
END;
/