andrebertoletti
9/19/2017 - 1:11 PM

Marketing

Projeto de Marketing

drop table systur.mkt_workflow_destino;
drop table systur.mkt_workflow_danfe;
drop table systur.mkt_solicitacao_filial; 
drop table systur.mkt_solicitacao_arte; 
drop table systur.mkt_solicitacao_periodo; 
drop table systur.mkt_solicitacao;
drop table systur.mkt_tipo_midia;
drop table systur.mkt_meta_anual;

drop sequence systur.mkt_solicitacao_sq01;

create table systur.mkt_meta_anual 
( cd_pessoa           number(10)   not null
, nr_ano              number(4)    not null 
, vl_meta             number(14,2)          default 0 
, pc_meta             number(5,2)           default 0 
, vl_verba            number(14,2)          generated always as ( round(vl_meta * pc_meta / 100,2) ) virtual 
, pc_verba            number(5,2)           default 0               
, vl_verba_anual      number(14,2)          generated always as ( round(vl_meta*pc_meta/100*pc_verba/100,2) ) virtual 
, vl_verba_mensal     number(14,2)          generated always as ( round(vl_meta*pc_meta/100*pc_verba/100/12,2) ) virtual 
, vl_utilizado        number(14,2)          default 0 
, vl_saldo            number(14,2)          generated always as ( round(vl_meta*pc_meta/100*pc_verba/100-vl_utilizado,2) ) virtual 
, dt_atualizacao      date         not null 
, nm_usuario          varchar2(30) not null 
, cd_pessoa_mnt       number(8)    not null 
, ip_usuario          varchar2(50)                     ) tablespace syst_dados_05; 

comment on table systur.mkt_meta_anual is 'Informações de meta de marketing anual.'; 

comment on column systur.mkt_meta_anual.cd_pessoa        is 'Codigo Pessoa da Filial.'; 
comment on column systur.mkt_meta_anual.nr_ano           is 'Ano de referência.'; 
comment on column systur.mkt_meta_anual.vl_meta          is 'Valor de meta anual.'; 
comment on column systur.mkt_meta_anual.pc_meta          is '% de meta que será utilizado para verba.'; 
comment on column systur.mkt_meta_anual.vl_verba         is 'Valor de verba.'; 
comment on column systur.mkt_meta_anual.pc_verba         is 'Porcentagem que será utilizada para calcular a verba .'; 
comment on column systur.mkt_meta_anual.vl_verba_anual   is 'Valor verba Anual'; 
comment on column systur.mkt_meta_anual.vl_verba_mensal  is 'Valor verba mensal.'; 
comment on column systur.mkt_meta_anual.vl_utilizado     is 'Valor de verba utilizado.'; 
comment on column systur.mkt_meta_anual.vl_saldo         is 'Saldo de verba.'; 
comment on column systur.mkt_meta_anual.dt_atualizacao   is 'Data Atualizacão'; 
comment on column systur.mkt_meta_anual.nm_usuario       is 'Nome Usuario'; 
comment on column systur.mkt_meta_anual.cd_pessoa_mnt    is 'Codigo que identifica a pessoa que fez a ultima atualizacão no registro'; 
comment on column systur.mkt_meta_anual.ip_usuario       is 'IP Usuario'; 

alter table systur.mkt_meta_anual add constraint mkt_meta_anual_pk primary key (cd_pessoa,nr_ano) using index tablespace syst_index_05; 

alter table systur.mkt_meta_anual add constraint mkt_meta_anual_fk01 foreign key (cd_pessoa) references systur.gen_pes_cvc (cd_pessoa); 

------------------------------------------------------------ 
create table systur.mkt_tipo_midia 
( cd_tipo_midia       number  (10) not null 
, ds_tipo_midia       varchar2(40) not null 
, st_habilitacao      char     (1)          default 'A' 
, dt_atualizacao      date         not null 
, nm_usuario          varchar2(30) not null 
, cd_pessoa_mnt       number   (8) not null 
, ip_usuario          varchar2(50)                     ) tablespace syst_dados_05; 

comment on table systur.mkt_tipo_midia is 'Informações de meta de marketing anual.'; 

comment on column systur.mkt_tipo_midia.cd_tipo_midia    is 'Codigo do tipo de mídia.'; 
comment on column systur.mkt_tipo_midia.ds_tipo_midia    is 'Descrição do tipo de mídia.'; 
comment on column systur.mkt_tipo_midia.st_habilitacao   is 'Status de habilitação(Ativo/Inativo).'; 
comment on column systur.mkt_tipo_midia.dt_atualizacao   is 'Data Atualizacão'; 
comment on column systur.mkt_tipo_midia.nm_usuario       is 'Nome Usuario'; 
comment on column systur.mkt_tipo_midia.cd_pessoa_mnt    is 'Codigo que identifica a pessoa que fez a ultima atualizacão no registro'; 
comment on column systur.mkt_tipo_midia.ip_usuario       is 'IP Usuario'; 

alter table systur.mkt_tipo_midia add constraint mkt_tipo_midia_pk primary key (cd_tipo_midia) using index tablespace syst_index_05; 

alter table systur.mkt_tipo_midia add constraint mkt_tipo_midia_ck01 check (st_habilitacao in ('A','I')); 

create sequence systur.mkt_solicitacao_sq01 minvalue 1 maxvalue 9999999999 start with 1 increment by 1 nocache;
-------------------------------------------------------------- 
create table systur.mkt_solicitacao 
( cd_solicitacao       number   (10)           default systur.mkt_solicitacao_sq01.nextval 
, cd_pessoa            number   (10) not null
, nr_ano               number    (4)           default extract(year from sysdate)
, cd_pessoa_fornecedor number   (10)
, cd_cnpj              number   (14)           
, vl_total             number (14,2) 
, id_arte              char      (1)           default 'N' 
, dt_limite_arte       date          
, ds_especificacao     varchar2(100) 
, id_notificar_gerente char      (1)           default 'N' 
, nm_fantasia          varchar2 (40) 
, nm_veiculo           varchar2 (40) 
, nm_praca             varchar2 (40) 
, qt_meses_fechado     number    (2) 
, vl_liquido           number (14,2) 
, nr_tel_contato       number   (13) 
, nr_tel_comercial     number   (13) 
, cd_tipo_midia        number   (10) 
, ds_formato           varchar2 (40) 
, nr_largura           number    (6) 
, nr_altura            number    (6) 
, ds_observacao        varchar2(800) 
, ds_descricao         varchar2(800) 
, dt_entrega_arte      date 
, ds_email             varchar2(100) 
, ds_pacotes           varchar2 (40) 
, ds_endereco_loja     varchar2 (80) 
, nr_tel_loja          number   (13) 
, nm_responsavel       varchar2 (80) 
, nr_tel_responsavel   number   (13) 
, nr_cel_responsavel   number   (13) 
, dt_atualizacao       date          not null 
, nm_usuario           varchar2 (30) not null 
, cd_pessoa_mnt        number    (8) not null 
, ip_usuario           varchar2 (50)                     ) tablespace syst_dados_05; 

comment on table systur.mkt_solicitacao is 'Informações de solicitação de campanha.'; 

comment on column systur.mkt_solicitacao.cd_solicitacao        is 'Cod. da solicitação'; 
comment on column systur.mkt_solicitacao.cd_pessoa             is 'Cod. da pessoa que realizou a solicitação'; 
comment on column systur.mkt_solicitacao.nr_ano                is 'Ano no qual a campanha será utilizada ';
comment on column systur.mkt_solicitacao.cd_pessoa_fornecedor  is 'Cod. do fornecedor que fará a campanha';
comment on column systur.mkt_solicitacao.cd_cnpj               is 'CNPJ informado para a busca de fornecedor';
comment on column systur.mkt_solicitacao.vl_total              is 'Valor total solicitado'; 
comment on column systur.mkt_solicitacao.id_arte               is 'Indica se contém arte'; 
comment on column systur.mkt_solicitacao.dt_limite_arte        is 'Data limite de envio da arte ao fornecedor'; 
comment on column systur.mkt_solicitacao.ds_especificacao      is 'Formato / Especificação'; 
comment on column systur.mkt_solicitacao.id_notificar_gerente  is 'Indica se deve notificar gerente da campanha solicitada'; 
comment on column systur.mkt_solicitacao.nm_fantasia           is 'Razão social/Nome fantasia'; 
comment on column systur.mkt_solicitacao.nm_veiculo            is 'Nome do fornecedor/veículo'; 
comment on column systur.mkt_solicitacao.nm_praca              is 'Praça da veiculação'; 
comment on column systur.mkt_solicitacao.qt_meses_fechado      is 'Período fechado de veiculação (meses)'; 
comment on column systur.mkt_solicitacao.vl_liquido            is 'Valor do investimento LÍQUIDO por anúncio (R$)'; 
comment on column systur.mkt_solicitacao.nr_tel_contato        is 'Telefone de Contato'; 
comment on column systur.mkt_solicitacao.nr_tel_comercial      is 'Contato comercial do fornecedor'; 
comment on column systur.mkt_solicitacao.cd_tipo_midia         is 'Meio/Tipo de Mídia'; 
comment on column systur.mkt_solicitacao.ds_formato            is 'Formato do Anúncio'; 
comment on column systur.mkt_solicitacao.nr_largura            is 'Largura (cm)'; 
comment on column systur.mkt_solicitacao.nr_altura             is 'Altura (cm)'; 
comment on column systur.mkt_solicitacao.ds_observacao         is 'Observações'; 
comment on column systur.mkt_solicitacao.dt_entrega_arte       is 'Data de Entrega das Artes'; 
comment on column systur.mkt_solicitacao.ds_email              is 'E-mail informado'; 
comment on column systur.mkt_solicitacao.ds_pacotes            is 'Quais pacotes devem ser anunciados'; 
comment on column systur.mkt_solicitacao.ds_endereco_loja      is 'Endereço da loja'; 
comment on column systur.mkt_solicitacao.nr_tel_loja           is 'Telefone da loja'; 
comment on column systur.mkt_solicitacao.nm_responsavel        is 'Responsável pela aprovação do anúncio'; 
comment on column systur.mkt_solicitacao.nr_tel_responsavel    is 'Telefone do responsável pela aprovação do anúncio'; 
comment on column systur.mkt_solicitacao.nr_cel_responsavel    is 'Celular do responsável pela aprovação do anúncio'; 
comment on column systur.mkt_solicitacao.dt_atualizacao        is 'Data Atualizacão'; 
comment on column systur.mkt_solicitacao.nm_usuario            is 'Nome Usuario'; 
comment on column systur.mkt_solicitacao.cd_pessoa_mnt         is 'Codigo que identifica a pessoa que fez a ultima atualizacão no registro'; 
comment on column systur.mkt_solicitacao.ip_usuario            is 'IP Usuario'; 

alter table systur.mkt_solicitacao add constraint mkt_solicitacao_pk primary key (cd_solicitacao) using index tablespace syst_index_05; 

alter table systur.mkt_solicitacao add constraint mkt_solicitacao_fk01 foreign key (cd_pessoa) references systur.gen_pessoa (cd_pessoa); 
alter table systur.mkt_solicitacao add constraint mkt_solicitacao_fk02 foreign key (cd_pessoa_fornecedor) references systur.gen_pes_fornecedor (cd_pessoa); 
alter table systur.mkt_solicitacao add constraint mkt_solicitacao_fk03 foreign key (cd_tipo_midia) references systur.mkt_tipo_midia (cd_tipo_midia); 

create index systur.mkt_solicitacao_fk01 on systur.mkt_solicitacao (cd_pessoa) tablespace syst_index_05; 
create index systur.mkt_solicitacao_fk02 on systur.mkt_solicitacao (cd_pessoa_fornecedor) tablespace syst_index_05; 
create index systur.mkt_solicitacao_fk03 on systur.mkt_solicitacao (cd_tipo_midia) tablespace syst_index_05; 

alter table systur.mkt_solicitacao add constraint mkt_solicitacao_ck01 check (id_arte in ('S','N')); 
alter table systur.mkt_solicitacao add constraint mkt_solicitacao_ck02 check (id_notificar_gerente in ('S','N')); 

---------------------------------------------------------------------- 

create table systur.mkt_solicitacao_filial 
( cd_solicitacao      number   (10) not null 
, cd_pessoa           number   (10) not null
, vl_rateio           number (14,2) default  0 ) tablespace syst_dados_05; 

comment on table systur.mkt_solicitacao_filial is 'Filiais associadas à socilitação.'; 

comment on column systur.mkt_solicitacao_filial.cd_solicitacao    is 'Codigo da solicitacao.'; 
comment on column systur.mkt_solicitacao_filial.cd_pessoa         is 'Filial associada.';
comment on column systur.mkt_solicitacao_filial.vl_rateio         is 'Valor referente.';

alter table systur.mkt_solicitacao_filial add constraint mkt_solicitacao_filial_pk primary key (cd_solicitacao,cd_pessoa) using index tablespace syst_index_05; 

alter table systur.mkt_solicitacao_filial add constraint mkt_solicitacao_filial_fk01 foreign key (cd_solicitacao) references systur.mkt_solicitacao (cd_solicitacao); 
alter table systur.mkt_solicitacao_filial add constraint mkt_solicitacao_filial_fk02 foreign key (cd_pessoa) references systur.gen_pes_cvc (cd_pessoa); 

create index systur.mkt_solicitacao_filial_fk02 on systur.mkt_solicitacao_filial (cd_pessoa) tablespace syst_index_05; 

------------------------------------------------------------------------- 

create table systur.mkt_solicitacao_arte 
( cd_solicitacao      number  (10) not null
, nm_arquivo          varchar(256) not null
, ds_arte             blob                  ) tablespace syst_dados_05; 

comment on table systur.mkt_solicitacao_arte is 'Arte da campanha.'; 

comment on column systur.mkt_solicitacao_arte.cd_solicitacao    is 'Codigo da solicitacao.'; 
comment on column systur.mkt_solicitacao_arte.nm_arquivo        is 'Nome do arquivo.'; 
comment on column systur.mkt_solicitacao_arte.ds_arte           is 'Arquivo.'; 

alter table systur.mkt_solicitacao_arte add constraint mkt_solicitacao_arte_pk primary key (cd_solicitacao) using index tablespace syst_index_05; 

alter table systur.mkt_solicitacao_arte add constraint mkt_solicitacao_arte_fk01 foreign key (cd_solicitacao) references systur.mkt_solicitacao (cd_solicitacao); 


----------------------------------------------- 
create table systur.mkt_solicitacao_periodo 
( cd_solicitacao      number   (10) not null 
, nr_mes              number    (2) not null   
, vl_mes              number (14,2)          default 0 ) tablespace syst_dados_05; 

comment on table systur.mkt_solicitacao_periodo is 'Valores da campanha.'; 

comment on column systur.mkt_solicitacao_periodo.cd_solicitacao    is 'Codigo da solicitacao.'; 
comment on column systur.mkt_solicitacao_periodo.nr_mes            is 'Mês de referência.'; 
comment on column systur.mkt_solicitacao_periodo.vl_mes            is 'Valor de referência.'; 

alter table systur.mkt_solicitacao_periodo add constraint mkt_solicitacao_periodo_pk primary key (cd_solicitacao,nr_mes) using index tablespace syst_index_05; 

alter table systur.mkt_solicitacao_periodo add constraint mkt_solicitacao_periodo_fk01 foreign key (cd_solicitacao) references systur.mkt_solicitacao (cd_solicitacao); 
------------------------------------------------------------------ 
create table systur.mkt_workflow_danfe 
           ( nm_arquivo      varchar2(256) 
           , cd_solicitacao  number (10)
           , dt_vencimento   date          
           , dt_atualizacao  date         not null 
           , nm_usuario      varchar2(30) not null 
           , cd_pessoa_mnt   number   (8) not null 
           , ip_usuario      varchar2(50)                     ) tablespace syst_dados_05; 

comment on table systur.mkt_workflow_danfe is 'Tabela de anexos de NFE.'; 

comment on column systur.mkt_workflow_danfe.nm_arquivo       is 'Nome do arquivo.'; 
comment on column systur.mkt_workflow_danfe.cd_solicitacao   is 'Código da solicitação de marketing.';
comment on column systur.mkt_workflow_danfe.dt_vencimento    is 'Data de vencimento da NFE.';
comment on column systur.mkt_workflow_danfe.dt_atualizacao   is 'Data Atualizacão';
comment on column systur.mkt_workflow_danfe.nm_usuario       is 'Nome Usuario';
comment on column systur.mkt_workflow_danfe.cd_pessoa_mnt    is 'Codigo que identifica a pessoa que fez a ultima atualizacão no registro'; 
comment on column systur.mkt_workflow_danfe.ip_usuario       is 'IP Usuario'; 

alter table systur.mkt_workflow_danfe add constraint mkt_workflow_danfe_fk01 foreign key (cd_solicitacao) references systur.mkt_solicitacao (cd_solicitacao); 

create index systur.mkt_workflow_danfe_fk01 on systur.mkt_workflow_danfe (cd_solicitacao) tablespace syst_index_05;

create table systur.mkt_workflow_destino 
           ( cd_solicitacao  number  (10) 
           , cd_pais         varchar2 (2)
           , cd_estado       varchar2 (2)
           , cd_cidade       number   (5)
           , dt_atualizacao  date         not null 
           , nm_usuario      varchar2(30) not null 
           , cd_pessoa_mnt   number   (8) not null 
           , ip_usuario      varchar2(50)                     ) tablespace syst_dados_05; 

comment on table systur.mkt_workflow_destino is 'Tabela de anexos de NFE.'; 

comment on column systur.mkt_workflow_destino.cd_solicitacao   is 'Código da solicitação de marketing.';
comment on column systur.mkt_workflow_destino.cd_pais          is 'Sigla do país.';
comment on column systur.mkt_workflow_destino.cd_estado        is 'Sigla do estado.';
comment on column systur.mkt_workflow_destino.cd_cidade        is 'Código da cidade.';
comment on column systur.mkt_workflow_destino.nm_usuario       is 'Nome Usuario';
comment on column systur.mkt_workflow_destino.cd_pessoa_mnt    is 'Codigo que identifica a pessoa que fez a ultima atualizacão no registro'; 
comment on column systur.mkt_workflow_destino.ip_usuario       is 'IP Usuario'; 

alter table systur.mkt_workflow_destino add constraint mkt_workflow_destino_fk01 foreign key (cd_solicitacao) references systur.mkt_solicitacao (cd_solicitacao); 

create index systur.mkt_workflow_destino_fk01 on systur.mkt_workflow_destino (cd_solicitacao) tablespace syst_index_05;
create or replace trigger systur.mkt_meta_anual_usu
  before insert or update on systur.mkt_meta_anual for each row
declare
  vcd_pessoa_mnt mkt_meta_anual.cd_pessoa_mnt%type := nvl(upper(trim(wsgsec.get_cd_pessoa_user)),0);
  vip_usuario    mkt_meta_anual.ip_usuario%type := sys_context('userenv','ip_address');
  vnm_usuario    mkt_meta_anual.nm_usuario%type := nvl(upper(trim(wsgsec.get_user)),user);
begin
  if owa.num_cgi_vars > 0 then
    vip_usuario := owa_util.get_cgi_env('remote_addr');
  end if;
  case
    when inserting then
      :new.dt_atualizacao := nvl(:new.dt_atualizacao,sysdate);
      :new.cd_pessoa_mnt  := nvl(:new.cd_pessoa_mnt,vcd_pessoa_mnt);
      :new.ip_usuario     := nvl(:new.ip_usuario,vip_usuario);
      :new.nm_usuario     := nvl(:new.nm_usuario,vnm_usuario);
    when updating then
      if not updating('dt_atualizacao') then
        :new.dt_atualizacao := sysdate;
      end if;
      if not updating('cd_pessoa_mnt') then
        :new.cd_pessoa_mnt := vcd_pessoa_mnt;
      end if;
      if not updating('ip_usuario') then
        :new.ip_usuario := vip_usuario;
      end if;
      if not updating('nm_usuario') then
          :new.nm_usuario := vnm_usuario;
      end if;
    else
      null;
  end case;
end;
/

create or replace trigger systur.mkt_tipo_midia_usu
  before insert or update on systur.mkt_tipo_midia for each row
declare
  vcd_pessoa_mnt mkt_tipo_midia.cd_pessoa_mnt%type := nvl(upper(trim(wsgsec.get_cd_pessoa_user)),0);
  vip_usuario    mkt_tipo_midia.ip_usuario%type := sys_context('userenv','ip_address');
  vnm_usuario    mkt_tipo_midia.nm_usuario%type := nvl(upper(trim(wsgsec.get_user)),user);
begin
  if owa.num_cgi_vars > 0 then
    vip_usuario := owa_util.get_cgi_env('remote_addr');
  end if;
  case
    when inserting then
      :new.dt_atualizacao := nvl(:new.dt_atualizacao,sysdate);
      :new.cd_pessoa_mnt  := nvl(:new.cd_pessoa_mnt,vcd_pessoa_mnt);
      :new.ip_usuario     := nvl(:new.ip_usuario,vip_usuario);
      :new.nm_usuario     := nvl(:new.nm_usuario,vnm_usuario);
    when updating then
      if not updating('dt_atualizacao') then
        :new.dt_atualizacao := sysdate;
      end if;
      if not updating('cd_pessoa_mnt') then
        :new.cd_pessoa_mnt := vcd_pessoa_mnt;
      end if;
      if not updating('ip_usuario') then
        :new.ip_usuario := vip_usuario;
      end if;
      if not updating('nm_usuario') then
          :new.nm_usuario := vnm_usuario;
      end if;
    else
      null;
  end case;
end;
/

create or replace trigger systur.mkt_solicitacao_usu
  before insert or update on systur.mkt_solicitacao for each row
declare
  vcd_pessoa_mnt mkt_solicitacao.cd_pessoa_mnt%type := nvl(upper(trim(wsgsec.get_cd_pessoa_user)),0);
  vip_usuario    mkt_solicitacao.ip_usuario%type := sys_context('userenv','ip_address');
  vnm_usuario    mkt_solicitacao.nm_usuario%type := nvl(upper(trim(wsgsec.get_user)),user);
begin
  if owa.num_cgi_vars > 0 then
    vip_usuario := owa_util.get_cgi_env('remote_addr');
  end if;
  case
    when inserting then
      :new.dt_atualizacao := nvl(:new.dt_atualizacao,sysdate);
      :new.cd_pessoa_mnt  := nvl(:new.cd_pessoa_mnt,vcd_pessoa_mnt);
      :new.ip_usuario     := nvl(:new.ip_usuario,vip_usuario);
      :new.nm_usuario     := nvl(:new.nm_usuario,vnm_usuario);
    when updating then
      if not updating('dt_atualizacao') then
        :new.dt_atualizacao := sysdate;
      end if;
      if not updating('cd_pessoa_mnt') then
        :new.cd_pessoa_mnt := vcd_pessoa_mnt;
      end if;
      if not updating('ip_usuario') then
        :new.ip_usuario := vip_usuario;
      end if;
      if not updating('nm_usuario') then
          :new.nm_usuario := vnm_usuario;
      end if;
    else
      null;
  end case;
end;
/

create or replace trigger systur.mkt_workflow_danfe_usu
  before insert or update on systur.mkt_workflow_danfe for each row
declare
  vcd_pessoa_mnt mkt_workflow_danfe.cd_pessoa_mnt%type := nvl(upper(trim(wsgsec.get_cd_pessoa_user)),0);
  vip_usuario    mkt_workflow_danfe.ip_usuario%type := sys_context('userenv','ip_address');
  vnm_usuario    mkt_workflow_danfe.nm_usuario%type := nvl(upper(trim(wsgsec.get_user)),user);
begin
  if owa.num_cgi_vars > 0 then
    vip_usuario := owa_util.get_cgi_env('remote_addr');
  end if;
  case
    when inserting then
      :new.dt_atualizacao := nvl(:new.dt_atualizacao,sysdate);
      :new.cd_pessoa_mnt  := nvl(:new.cd_pessoa_mnt,vcd_pessoa_mnt);
      :new.ip_usuario     := nvl(:new.ip_usuario,vip_usuario);
      :new.nm_usuario     := nvl(:new.nm_usuario,vnm_usuario);
    when updating then
      if not updating('dt_atualizacao') then
        :new.dt_atualizacao := sysdate;
      end if;
      if not updating('cd_pessoa_mnt') then
        :new.cd_pessoa_mnt := vcd_pessoa_mnt;
      end if;
      if not updating('ip_usuario') then
        :new.ip_usuario := vip_usuario;
      end if;
      if not updating('nm_usuario') then
          :new.nm_usuario := vnm_usuario;
      end if;
    else
      null;
  end case;
end;
/

create or replace trigger systur.mkt_workflow_destino_usu
  before insert or update on systur.mkt_workflow_destino for each row
declare
  vcd_pessoa_mnt mkt_workflow_destino.cd_pessoa_mnt%type := nvl(upper(trim(wsgsec.get_cd_pessoa_user)),0);
  vip_usuario    mkt_workflow_destino.ip_usuario%type := sys_context('userenv','ip_address');
  vnm_usuario    mkt_workflow_destino.nm_usuario%type := nvl(upper(trim(wsgsec.get_user)),user);
begin
  if owa.num_cgi_vars > 0 then
    vip_usuario := owa_util.get_cgi_env('remote_addr');
  end if;
  case
    when inserting then
      :new.dt_atualizacao := nvl(:new.dt_atualizacao,sysdate);
      :new.cd_pessoa_mnt  := nvl(:new.cd_pessoa_mnt,vcd_pessoa_mnt);
      :new.ip_usuario     := nvl(:new.ip_usuario,vip_usuario);
      :new.nm_usuario     := nvl(:new.nm_usuario,vnm_usuario);
    when updating then
      if not updating('dt_atualizacao') then
        :new.dt_atualizacao := sysdate;
      end if;
      if not updating('cd_pessoa_mnt') then
        :new.cd_pessoa_mnt := vcd_pessoa_mnt;
      end if;
      if not updating('ip_usuario') then
        :new.ip_usuario := vip_usuario;
      end if;
      if not updating('nm_usuario') then
          :new.nm_usuario := vnm_usuario;
      end if;
    else
      null;
  end case;
end;
/
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (1,'Rádio');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (2,'Revista');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (3,'Jornal');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (4,'Online');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (5,'Impressos');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (6,'Televisão');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (7,'Patrocínio');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (8,'Produção/Eventos');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (9,'Mídia Exterior');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (10,'Painel Digital');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (11,'Outros');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (12,'Camisetas Campanhas');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (13,'Comunicação Visual');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (14,'Distribuição');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (15,'Internet');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (16,'Merchandising');
insert into systur.mkt_tipo_midia (cd_tipo_midia, ds_tipo_midia) values (17,'Mídia Digital');

commit;