--da eseguire come utente DBCGO

ALTER TABLE DBCGO_GESTIONE_RICHIESTA
ADD (
	 PREVALIDAZIONE VARCHAR2(100)
)
/

CREATE TABLE dbcgo_vo_prevalidazione_dbc
    (id                             NUMBER(2,0) NOT NULL,
    label                          VARCHAR2(60),
    value                          VARCHAR2(100),
    ordine                         NUMBER(2,0))
/

ALTER TABLE dbcgo_vo_prevalidazione_dbc
ADD CONSTRAINT id_prevalidazione_dbc_pk PRIMARY KEY (id)
/

CREATE OR REPLACE VIEW dbcgo_gestione_ric_v00 (
   id_richiesta,
   stato,
   tipo_cliente,
   data_cut_over_calc,
   data_validazione_max,
   dataricezionerichiesta,
   data_cut_over,
   codicerifiutovalidazione,
   codice_operatore_recipient,
   msisdn,
   codice_fiscale_partita_iva,
   codice_pre_post_pagato,
   nome_cliente,
   cognome_cliente,
   ragione_sociale,
   richiestaadhocaom,
   richiestaadhoc,
   marcaggio,
   sottomarcaggio,
   id_priorita,
   insert_date,
   update_date,
   codice_gruppo,
   iccd_serial_number,
   imsi,
   ipotesi_rifiuto,
   numero_documento,
   tipo_documento,
   timestamp,
   data_transizione_stato,
   nome_ot_geo,
   nome_ot_leg,
   id_priorita_mnp,
   data_transizione_stato_grp,
   codice_operatore_donating,
   descr_stato,
   vis_day_num,
   id_stato_grp,
   priority_type,
   priorita,
   priorita_mnp,
   marcaggio_desc,
   sottomarcaggio_desc,
   nome_ot_geo_desc,
   nome_ot_leg_desc,
   nome_ot_leg_order_by,
   tipo_cliente_desc,
   codice_pre_post_pagato_desc,
   pp_num,
   operatore_virtuale,
   stato_linea,
   flag_tc,
   data_presa_in_carico,
   nome_file_aom,
   importo,
   tc_stato,
   codice_operatore_v_donor,
   codice_operatore_v_recipient,
   prevalidazione )
AS
((SELECT a.id_richiesta, a.stato, a.tipo_cliente, a.data_cut_over_calc,
         a.data_validazione_max, a.dataricezionerichiesta, a.data_cut_over,
         a.codicerifiutovalidazione, a.codice_operatore_recipient, a.msisdn,
         a.codice_fiscale_partita_iva, a.codice_pre_post_pagato,
         a.nome_cliente, a.cognome_cliente, a.ragione_sociale,
         a.richiestaadhocaom, a.richiestaadhoc, a.marcaggio, a.sottomarcaggio,
         a.id_priorita, a.insert_date, a.update_date, a.codice_gruppo,
         a.iccd_serial_number, a.imsi, a.ipotesi_rifiuto, a.numero_documento,
         a.tipo_documento, a.TIMESTAMP, a.data_transizione_stato,
         a.nome_ot_geo, a.nome_ot_leg, a.id_priorita_mnp,
         a.data_transizione_stato_grp, a.codice_operatore_donating,
         d.descr AS descr_stato, d.vis_day_num AS vis_day_num,
         d.id_stato_grp AS id_stato_grp, b.priority_type AS priority_type,
         c.descr AS priorita, e.descr AS priorita_mnp,
         f.desc_mar AS marcaggio_desc, g.desc_clu AS sottomarcaggio_desc,
         h.descr AS nome_ot_geo_desc, i.descr AS nome_ot_leg_desc,
         i.order_by AS nome_ot_leg_order_by, j.descr AS tipo_cliente_desc,
         k.descr AS codice_pre_post_pagato_desc, l.pp_num AS pp_num,
         m.descr AS operatore_virtuale, a.stato_linea, a.flag_tc,
         a.data_presa_in_carico, tc.nome_file_aom, tc.importo,
         DECODE (tc.stato,
                 1, 'TRASFERITO',
                 0, 'IN TRASFERIMENTO'
                ) AS tc_stato, a.codice_operatore_v_donor,
         a.codice_operatore_v_recipient, a.prevalidazione
    FROM dbcgo_gestione_richiesta a,
         dbcgo_pp_mv00 l,
         dbcgo_stato b,
         dbcgo_stato_grp d,
         dbcgo_priorita c,
         dbcgo_priorita e,
         dbm_anag_mar f,
         dbm_anag_clu g,
         dbcgo_lov h,
         dbcgo_lov i,
         dbcgo_lov j,
         dbcgo_lov k,
         dbcgo_lov m,
         dbcgo_gestione_richiesta_tc tc
   WHERE a.msisdn = l.msisdn(+)
     AND a.stato = b.id_stato
     AND b.id_stato_grp = d.id_stato
     AND a.id_priorita = c.id_priorita
     AND a.id_priorita_mnp = e.id_priorita
     AND a.marcaggio = f.cod_mar(+)
     AND a.sottomarcaggio = g.cod_clu(+)
     AND a.nome_ot_geo = h.NAME(+)
     AND h.lov_name(+) = 'OT'
     AND a.nome_ot_leg = i.NAME(+)
     AND i.lov_name(+) = 'OT'
     AND a.tipo_cliente = j.NAME
     AND j.lov_name = 'CUST_TYPE'
     AND a.codice_pre_post_pagato = k.NAME
     AND k.lov_name = 'TIPO_CONTRATTO'
     AND a.codice_operatore_v_donor = m.NAME(+)
     AND m.lov_name(+) = 'OPERATORE_VIRTUALE'
     AND a.id_richiesta = tc.id_richiesta(+))
)
/
