First Commit - Source Code from Reply

This commit is contained in:
vincenzofariello
2024-05-13 12:54:14 +02:00
parent 73e32a5020
commit a15aee1f08
11184 changed files with 1065913 additions and 0 deletions

View File

@@ -0,0 +1,367 @@
CREATE OR REPLACE VIEW DBCGO_GESTIONE_RIC_REC_V00
(ID_RICHIESTA, STATO, TIPO_CLIENTE, DATA_CUT_OVER_CALC, DATA_VALIDAZIONE_MAX,
DATARICEZIONERICHIESTA, DATA_CUT_OVER, CODICE_OPERATORE_DONATING, MSISDN, CODICE_FISCALE_PARTITA_IVA,
CODICE_PRE_POST_PAGATO, NOME_CLIENTE, COGNOME_CLIENTE, RAGIONE_SOCIALE, CAUSALE_ACCODAMENTO,
RICHIESTAADHOC, RICHIESTAADHOCAOM, ID_PRIORITA, INSERT_DATE, UPDATE_DATE,
ICCD_SERIAL_NUMBER, IMSI, NOME_OT, NUMERO_DOCUMENTO, TIPO_DOCUMENTO,
NUMERO_INVII, TIMESTAMP, DATA_TRANSIZIONE_STATO, ID_PRIORITA_MNP, DATA_TRANSIZIONE_STATO_GRP,
CODICE_DEALER, CAR1, CAR2, CODICE_OPERATORE_RECIPIENT, CODICE_GRUPPO,
SISTEMA_MITTENTE, COD_PROFILO_TARIFFARIO, COD_OFFERTA, COD_ACCORDO, DESCR_STATO,
VIS_DAY_NUM, ID_STATO_GRP, PRIORITY_TYPE, PRIORITA, PRIORITA_MNP,
NOME_OT_DESC, NOME_OT_ORDER_BY, TIPO_CLIENTE_DESC, CODICE_PRE_POST_PAGATO_DESC, CAR1_DESC,
CAR2_DESC, SISTEMA_MITTENTE_DESC, DESC_PROFILO_TARIFFARIO, DESC_OFFERTA, DESC_ACCORDO,
CANALE_ACQUISIZIONE, CANALE_ACQUISIZIONE_DESC, SOTTOCANALE_ACQUISIZIONE, SOTTOCANALE_ACQUISIZIONE_DESC, SEGMENTAZIONE_CANALE,
PP_NUM, TIPO_OPERAZIONE, TIPO_OPERAZIONE_DESC, CODICE_ORDINE, FLAG_TC,
DATA_PRESA_IN_CARICO, NOME_FILE_AOM, IMPORTO, TC_STATO, TC_STATO_ID,
CODICE_OPERATORE_V_DONOR, FLAG_FURTO, FLAG_PREVALIDAZIONE, CODICERIFIUTOVALIDAZIONE, FLAG_PROGETTO_ADHOC,
ID_BUSINESS, TRASFERIMENTO_CON_SBLOCCO, NOME_FILE_SBLOCCO, NOME_FILE_ESP, DATA_ATTIVAZIONE_EFFETTIVA,
DATA_ACQUISIZIONE)
AS
(SELECT /*+ INDEX(a) */
a .ID_RICHIESTA,
s.id_STATO,
a.TIPO_CLIENTE,
a.DATA_CUT_OVER_CALC,
a.DATA_VALIDAZIONE_MAX,
a.DATARICEZIONERICHIESTA,
a.DATA_CUT_OVER,
a.CODICE_OPERATORE_DONATING,
a.MSISDN,
a.CODICE_FISCALE_PARTITA_IVA,
a.CODICE_PRE_POST_PAGATO,
a.NOME_CLIENTE,
a.COGNOME_CLIENTE,
a.RAGIONE_SOCIALE,
a.CAUSALE_ACCODAMENTO,
a.RICHIESTAADHOC,
a.RICHIESTAADHOCAOM,
a.ID_PRIORITA,
a.INSERT_DATE,
a.UPDATE_DATE,
a.ICCD_SERIAL_NUMBER,
a.IMSI,
DECODE (a.nome_ot, NULL, NULL, NVL (f.name, 'NN')) AS NOME_OT,
a.NUMERO_DOCUMENTO,
a.TIPO_DOCUMENTO,
a.NUMERO_INVII,
a.TIMESTAMP,
a.DATA_TRANSIZIONE_STATO,
a.ID_PRIORITA_MNP,
a.DATA_TRANSIZIONE_STATO_GRP,
a.CODICE_DEALER,
a.CAR1,
a.CAR2,
a.CODICE_OPERATORE_RECIPIENT,
a.CODICE_GRUPPO,
a.SISTEMA_MITTENTE,
a.COD_PROFILO_TARIFFARIO,
a.COD_OFFERTA,
a.COD_ACCORDO,
s.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,
NVL (f.descr, 'Non disponibile') AS nome_ot_desc,
f.order_by AS nome_ot_order_by,
g.descr AS tipo_cliente_desc,
h.descr AS codice_pre_post_pagato_desc,
i.descr AS car1_desc,
l.descr AS car2_desc,
n.descr AS sistema_mittente_desc,
PTP.DESC_PROFILO_TARIFFARIO,
PTO.DESC_OFFERTA,
PTA.DESC_ACCORDO,
a.cod_canale,
q.descr,
o.name AS SOTTOCANALE_ACQUISIZIONE,
o.descr AS SOTTOCANALE_ACQUISIZIONE_DESC,
saf.SEGMENTAZIONE_CANALE,
pp.pp_num AS pp_num,
a.TIPO_OPERAZIONE,
r.descr AS TIPO_OPERAZIONE_DESC,
a.CODICE_ORDINE,
a.flag_tc,
a.data_presa_in_carico,
getNomeFileESP (a.id_richiesta, a.CODICE_OPERATORE_DONATING, 0)
AS nome_file_AOM,
tc.importo,
DECODE (tc.stato,
1,
'TRASFERITO',
0,
'IN TRASFERIMENTO')
AS tc_stato,
TC.STATO AS TC_STATO_ID,
a.codice_operatore_v_donor,
a.FLAG_FURTO,
a.FLAG_PREVALIDAZIONE,
a.codici_rifiuto_validazione,
DECODE (NVL (t.descr, 'N'),
'Y',
'Y',
'N',
DECODE (NVL (tt.descr, 'N'), 'Y', 'Y', 'N'))
FLAG_PROGETTO_ADHOC,
NULL id_business,
DECODE (
tc_ext.FLAG_VERIFICA_CREDITO_ANOMALO,
1,
'CA',
0,
DECODE (
(SELECT TRUNC ( (tc.importo - 1) / TO_NUMBER (name))
FROM DBCGO_LOV
WHERE lov_name = 'SOGLIA_CREDITO'),
0,
NULL,
'CSS'
)
)
AS trasferimento_con_sblocco,
getNomeFileSbloccoIN (a.id_richiesta) AS nome_file_sblocco,
getNomeFileESP (a.id_richiesta, a.CODICE_OPERATORE_DONATING, 1)
AS nome_file_esp,
--mod temp da.data_ora_cessazione AS data_attivazione_effettiva,
null AS data_attivazione_effettiva,
A.DATA_ACQUISIZIONE
FROM DBCGO_GESTIONE_RICHIESTA_REC a,
DBCGO_GESTIONE_RICHIESTA_R_TC tc,
DBCGO_PP_MV00 pp,
DBCGO_STATO_REC b,
dbcgo_stato_rec_grp d,
DBCGO_PRIORITA_REC c,
DBCGO_PRIORITA_REC e,
DBCGO_LOV f,
DBCGO_LOV g,
DBCGO_LOV h,
DBCGO_LOV i,
DBCGO_LOV l,
DBCGO_LOV n,
DBCGO_LOV m,
DBCGO_LOV o,
DBCGO_LOV q,
DBCGO_LOV r, ---PER TIPO_OPERAZIONE KIT DICEMBRE 07
DBCGO_LOV t,
DBCGO_LOV tt,
DBCGO_LOV_REF p,
DBCGO_PROFILO_TARIFFARIO PTP,
DBCGO_OFFERTA PTO,
DBCGO_ACCORDO PTA,
SAP_ANAG_FV saf,
DBCGO_STATO_MAPPING_REC_DONV s,
MNP_DWH_TC_ANOMALO tc_ext
--mod temp MNP_DWH_MSS_ATT_IN_VIEW da
--MNP_DWH_XML_IN xml1
WHERE (a.CODICE_OPERATORE_V_RECIPIENT IS NULL
AND (a.CODICE_OPERATORE_RECIPIENT = 'TIMG'
OR a.CODICE_OPERATORE_RECIPIENT = 'TIMT'))
AND a.msisdn = pp.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.nome_ot = f.NAME(+)
AND f.lov_name(+) = 'OT_REC'
AND a.tipo_cliente = g.NAME
AND g.lov_name = 'CUST_TYPE'
AND a.codice_pre_post_pagato = h.NAME
AND h.lov_name = 'TIPO_CONTRATTO'
AND a.car1 = i.NAME
AND i.lov_name = 'VALORE_CLIENTE'
AND a.car2 = l.NAME
AND l.lov_name = 'VALORE_SPESA'
AND a.sistema_mittente = n.NAME(+)
AND n.lov_name(+) = 'SIST_MITTENTE'
AND a.id_richiesta = tc.id_richiesta(+)
AND t.lov_name(+) = 'FLAG_PROGETTO_ADHOC'
AND tt.lov_name(+) = 'FLAG_PROGETTO_ADHOC'
AND a.RICHIESTAADHOC = TO_NUMBER (t.name(+))
AND a.RICHIESTAADHOCAOM = TO_NUMBER (tt.name(+))
AND a.SISTEMA_MITTENTE = PTP.SISTEMA_MITTENTE(+)
AND a.COD_PROFILO_TARIFFARIO = PTP.COD_PROFILO_TARIFFARIO(+)
AND a.SISTEMA_MITTENTE = PTO.SISTEMA_MITTENTE(+)
AND a.COD_OFFERTA = PTO.COD_OFFERTA(+)
AND a.SISTEMA_MITTENTE = PTA.SISTEMA_MITTENTE(+)
AND a.COD_ACCORDO = PTA.COD_ACCORDO(+)
AND a.CODICE_DEALER = saf.cod_id(+)
AND saf.SOTTOCANALE_ACQUISIZIONE = m.name(+)
AND m.lov_name(+) = 'SOTTOCAN_ACQ'
AND m.lov_id = p.lov_id(+)
AND p.lov_id_ref = o.lov_id(+)
AND a.cod_canale = q.name(+)
AND r.lov_name(+) = 'TIPO_OPERAZIONE'
AND a.TIPO_OPERAZIONE = r.name(+)
--AND ((tc.stato IS NOT NULL AND s.id_stato_tc=tc.stato) OR (tc.stato IS NULL AND s.id_stato_recipient = a.stato))
AND s.id_stato_recipient = a.stato
AND tc.id_richiesta = tc_ext.id_richiesta(+)
-- mod temp AND a.id_richiesta = da.id_richiesta(+)
-- AND a.id_richiesta= xml1.id_richiesta(+)
-- AND xml1.tipo_file(+)=6
UNION ALL
SELECT /*+ INDEX(a) */
a .ID_RICHIESTA,
s.id_STATO,
a.TIPO_CLIENTE,
a.DATA_CUT_OVER_CALC,
a.DATA_VALIDAZIONE_MAX,
a.DATARICEZIONERICHIESTA,
a.DATA_CUT_OVER,
a.CODICE_OPERATORE_DONATING,
a.MSISDN,
a.CODICE_FISCALE_PARTITA_IVA,
a.CODICE_PRE_POST_PAGATO,
a.NOME_CLIENTE,
a.COGNOME_CLIENTE,
a.RAGIONE_SOCIALE,
NULL AS CAUSALE_ACCODAMENTO,
e.RICHIESTAADHOC AS RICHIESTAADHOC,
NULL AS RICHIESTAADHOCAOM,
0 AS ID_PRIORITA,
a.data_inserimento AS INSERT_DATE,
a.DATA_ORA_MODIFICA AS UPDATE_DATE,
a.ICCD_SERIAL_NUMBER,
NULL AS IMSI,
DECODE (a.nome_ot, NULL, NULL, NVL (f.name, 'NN')) AS NOME_OT,
a.NUMERO_DOCUMENTO,
a.TIPO_DOCUMENTO,
NULL AS NUMERO_INVII,
NULL AS TIMESTAMP,
a.DATA_TRANSIZIONE_STATO,
0 AS ID_PRIORITA_MNP,
NULL AS DATA_TRANSIZIONE_STATO_GRP,
a.CODICE_DEALER,
NULL AS CAR1,
NULL AS CAR2,
a.CODICE_OPERATORE_RECIPIENT,
NULL AS CODICE_GRUPPO,
a.SISTEMA_MITT AS SISTEMA_MITTENTE,
a.COD_PROFILO_TARIFFARIO,
NULL AS COD_OFFERTA,
NULL AS COD_ACCORDO,
s.descr AS descr_stato,
b.vis_day_num AS vis_day_num,
NULL AS id_stato_grp,
0 AS priority_type,
NULL AS priorita,
NULL AS priorita_mnp,
NVL (f.descr, 'Non disponibile') AS nome_ot_desc,
f.order_by AS nome_ot_order_by,
g.descr AS tipo_cliente_desc,
h.descr AS codice_pre_post_pagato_desc,
NULL AS car1_desc, --i.descr AS car1_desc,
NULL AS car2_desc, --l.descr AS car2_desc,
n.descr AS sistema_mittente_desc,
NULL AS DESC_PROFILO_TARIFFARIO, --PTP.DESC_PROFILO_TARIFFARIO,
NULL AS DESC_OFFERTA, --PTO.DESC_OFFERTA,
NULL AS DESC_ACCORDO, --PTA.DESC_ACCORDO,
NULL AS cod_canale, --a.cod_canale,
NULL AS descr, --q.descr,
o.name AS SOTTOCANALE_ACQUISIZIONE,
o.descr AS SOTTOCANALE_ACQUISIZIONE_DESC,
saf.SEGMENTAZIONE_CANALE,
NULL AS pp_num,
NULL AS TIPO_OPERAZIONE,
NULL AS TIPO_OPERAZIONE_DESC, -- r.descr AS TIPO_OPERAZIONE_DESC,
NULL AS CODICE_ORDINE,
a.flag_tc,
a.data_presa_in_carico AS data_presa_in_carico,
NULL AS nome_file_aom,
tc.importo,
DECODE (tc.stato,
1,
'TRASFERITO',
0,
'IN TRASFERIMENTO')
AS tc_stato,
TC.STATO AS TC_STATO_ID,
a.CODICE_OPERATORE_DONATING,
a.FLAG_FURTO,
a.FLAG_PREVALIDAZIONE,
NULL AS codici_rifiuto_validazione,
t.descr FLAG_PROGETTO_ADHOC,
a.BUSINESS_ID_DON AS ID_BUSINESS,
DECODE (
tc_ext.FLAG_VERIFICA_CREDITO_ANOMALO,
1,
'CA',
0,
DECODE (
(SELECT TRUNC ( (tc.importo - 1) / TO_NUMBER (name))
FROM DBCGO_LOV
WHERE lov_name = 'SOGLIA_CREDITO'),
0,
NULL,
'CSS'
)
)
AS trasferimento_con_sblocco,
NULL AS nome_file_sblocco,
getNomeFileESP (a.id_richiesta, a.CODICE_OPERATORE_DONATING, 1)
AS nome_file_esp,
DECODE (b.descr_stato, 'EVASA', a.DATA_TRANSIZIONE_STATO, NULL)
AS data_attivazione_effettiva,
A.DATA_ACQUISIZIONE
FROM DBCGO_GEST_RICH_DON_VIRT a,
DBCGO_GEST_RIC_DON_VIRT_TC tc,
DBCGO_STATO_DON_VIRT b,
DBCGO_LOV f,
DBCGO_LOV g,
DBCGO_LOV h,
--DBCGO_LOV i,
--DBCGO_LOV l,
DBCGO_LOV n,
DBCGO_LOV m,
DBCGO_LOV o,
DBCGO_LOV t,
--DBCGO_LOV q,
--DBCGO_LOV r, ---PER TIPO_OPERAZIONE KIT DICEMBRE 07
DBCGO_LOV_REF p,
--DBCGO_PROFILO_TARIFFARIO PTP,
--DBCGO_OFFERTA PTO,
--DBCGO_ACCORDO PTA ,
SAP_ANAG_FV saf,
DBCGO_STATO_MAPPING_REC_DONV s,
MNP_DWH_TC_ANOMALO tc_ext,
MNP_DWH_RICH_DON_VIRT_EXT e
--MNP_DWH_XML_IN xml1
WHERE a.stato = b.id_stato
AND a.nome_ot = f.NAME(+)
AND f.lov_name(+) = 'OT'
AND a.tipo_cliente = g.NAME
AND g.lov_name = 'CUST_TYPE'
AND a.codice_pre_post_pagato = h.NAME
AND h.lov_name = 'TIPO_CONTRATTO'
AND t.lov_name(+) = 'FLAG_PROGETTO_ADHOC'
AND a.id_richiesta = e.id_richiesta(+)
AND e.RICHIESTAADHOC = TO_NUMBER (t.name(+))
--AND a.car1 = i.NAME
-- AND i.lov_name = 'VALORE_CLIENTE'
--AND a.car2 = l.NAME
--AND l.lov_name = 'VALORE_SPESA'
AND a.sistema_mitt = n.NAME(+)
AND n.lov_name(+) = 'SIST_MITTENTE'
AND a.id_richiesta = tc.id_richiesta(+)
--AND a.SISTEMA_MITTENTE = PTP.SISTEMA_MITTENTE(+)
--AND a.COD_PROFILO_TARIFFARIO = PTP.COD_PROFILO_TARIFFARIO(+)
--AND a.SISTEMA_MITTENTE = PTO.SISTEMA_MITTENTE(+)
--AND a.COD_OFFERTA = PTO.COD_OFFERTA(+)
--AND a.SISTEMA_MITTENTE = PTA.SISTEMA_MITTENTE(+)
--AND a.COD_ACCORDO = PTA.COD_ACCORDO(+)
AND a.CODICE_DEALER = saf.cod_id(+)
AND saf.SOTTOCANALE_ACQUISIZIONE = m.name(+)
AND m.lov_name(+) = 'SOTTOCAN_ACQ'
AND m.lov_id = p.lov_id(+)
AND p.lov_id_ref = o.lov_id(+)
--AND a.cod_canale=q.name (+)
-- AND r.lov_name (+)='TIPO_OPERAZIONE'
-- AND a.TIPO_OPERAZIONE=r.name (+)
--AND ((tc.stato IS NOT NULL AND s.id_stato_tc=tc.stato) OR (tc.stato IS NULL AND s.id_stato_don_virt = a.stato))
AND s.id_stato_don_virt = a.stato
AND tc.id_richiesta = tc_ext.id_richiesta(+) -- AND a.id_richiesta= xml1.id_richiesta(+)
-- AND xml1.tipo_file(+)=6
)
/

View File

@@ -0,0 +1,274 @@
CREATE OR REPLACE VIEW DBCGO_GESTIONE_RIC_V00
(ID_RICHIESTA, STATO, STATO_RICHIESTA, 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, TC_STATO_ID, CODICE_OPERATORE_V_DONOR, CODICE_OPERATORE_V_RECIPIENT,
PREVALIDAZIONE, FLAG_FURTO, FLAG_PREVALIDAZIONE, ABBONATO_PREPAGATO, FLAG_PROGETTO_ADHOC,
ID_BUSINESS, TRASFERIMENTO_CON_SBLOCCO, NOME_FILE_SBLOCCO, DATA_CESSAZIONE_EFFETTIVA, ESITO_CAS,
DESCRIZIONE_ESITO_GISP)
AS
(SELECT a.id_richiesta,
s.id_stato,
A.STATO,
a.tipo_cliente,
a.data_cut_over_calc,
a.data_validazione_max,
a.dataricezionerichiesta,
a.data_cut_over,
a.codice_rifiuto_validazione,
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,
DECODE (a.nome_ot_geo, NULL, NULL, NVL (h.name, 'NN'))
AS NOME_OT_GEO,
DECODE (a.nome_ot_leg, NULL, NULL, NVL (i.name, 'NN'))
AS NOME_OT_LEG,
a.id_priorita_mnp,
a.data_transizione_stato_grp,
a.codice_operatore_donating,
s.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,
NVL (h.descr, 'Non disponibile') AS nome_ot_geo_desc,
NVL (i.descr, 'Non disponibile') 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,
--**************************************
NULL AS operatore_virtuale, --m.descr AS operatore_virtuale,
--**************************************
a.stato_linea,
a.flag_tc,
a.data_presa_in_carico,
--tc.nome_file_aom,
getNomeFileEspOUT(a.id_richiesta) AS nome_file_aom,
tc.importo,
DECODE (tc.stato,
1,
'TRASFERITO',
0,
'IN TRASFERIMENTO')
AS tc_stato,
tc.stato AS tc_stato_id,
a.codice_operatore_v_donor,
a.codice_operatore_v_recipient,
a.prevalidazione,
a.flag_furto,
a.flag_prevalidazione,
a.abbonato_prepagato,
DECODE (NVL (t.descr, 'N'),'Y','Y','N',DECODE(NVL (n.descr, 'N'),'Y','Y','N' )) FLAG_PROGETTO_ADHOC,
NULL id_business,
DECODE ( tc_ext.FLAG_VERIFICA_CREDITO_ANOMALO,1,'CA',0,DECODE((SELECT TRUNC ( (tc.importo - 1) / TO_NUMBER (name))
FROM DBCGO_LOV
WHERE lov_name = 'SOGLIA_CREDITO'),0,NULL,'CSS'))
AS trasferimento_con_sblocco,
getNomeFileSbloccoOUT(a.id_richiesta) AS nome_file_sblocco,
--mod temp dc.data_ora_cessazione AS data_cessazione_effettiva,
null AS data_cessazione_effettiva,
A.ESITO_CAS AS ESITO_CAS,
A.DESCRIZIONE_ESITO_GISP AS DESCRIZIONE_ESITO_GISP
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_LOV t,
DBCGO_LOV n,
DBCGO_GESTIONE_RICHIESTA_TC tc,
DBCGO_STATO_MAPPING_DON_RECV s,
MNP_DWH_TC_ANOMALO tc_ext
--mod temp MNP_DWH_MSS_CESS_IN_VIEW dc
WHERE (a.CODICE_OPERATORE_V_DONOR IS NULL
AND (a.CODICE_OPERATORE_DONATING = 'TIMG'
OR a.CODICE_OPERATORE_DONATING = 'TIMT'))
AND 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 t.lov_name(+) = 'FLAG_PROGETTO_ADHOC'
AND a.richiestaadhoc = t.name(+)
AND n.lov_name(+) = 'FLAG_PROGETTO_ADHOC'
AND a.richiestaadhocaom = n.name(+)
AND a.id_richiesta = tc.id_richiesta(+)
--AND ((tc.stato IS NOT NULL AND s.id_stato_tc=tc.stato) OR (tc.stato IS NULL AND s.id_stato_donor = a.stato))
AND s.id_stato_donor = a.stato
AND tc.id_richiesta = tc_ext.id_richiesta(+)
--mod temp AND a.id_richiesta = dc.id_richiesta(+)
UNION ALL
SELECT a.id_richiesta,
s.id_stato,
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,
NULL AS richiestaadhocaom,
TO_CHAR (e.RICHIESTAADHOC) AS richiestaadhoc,
a.marcaggio,
a.sottomarcaggio,
0 AS id_priorita,
a.DATA_INSERIMENTO insert_date,
a.DATA_ORA_MODIFICA update_date,
NULL AS codice_gruppo,
a.iccd_serial_number,
NULL AS imsi,
0 AS ipotesi_rifiuto,
a.numero_documento,
a.tipo_documento,
NULL AS TIMESTAMP,
a.data_transizione_stato,
DECODE (a.nome_ot_geo, NULL, NULL, NVL (h.name, 'NN'))
AS NOME_OT_GEO,
DECODE (a.nome_ot_leg, NULL, NULL, NVL (i.name, 'NN'))
AS NOME_OT_LEG,
0 AS id_priorita_mnp,
NULL data_transizione_stato_grp,
a.codice_operatore_donating,
s.descr AS descr_stato,
b.vis_day_num AS vis_day_num,
0 AS id_stato_grp,
0 AS priority_type,
NULL AS priorita,
NULL AS priorita_mnp,
f.desc_mar AS marcaggio_desc,
g.desc_clu AS sottomarcaggio_desc,
NVL (h.descr, 'Non disponibile') AS nome_ot_geo_desc,
NVL (i.descr, 'Non disponibile') 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,
0 AS pp_num,
a.codice_operatore_DONATING AS operatore_virtuale,
NULL stato_linea,
a.flag_tc,
a.data_presa_in_carico,
NULL nome_file_aom,
tc.importo,
DECODE (tc.stato,
1,
'TRASFERITO',
0,
'IN TRASFERIMENTO')
AS tc_stato,
tc.stato AS tc_stato_id,
a.codice_operatore_DONATING AS codice_operatore_v_donor,
a.codice_operatore_recipient AS codice_operatore_v_recipient,
a.prevalidazione,
a.flag_furto,
a.flag_prevalidazione,
a.abbonato_prepagato,
NVL (t.descr, 'N') FLAG_PROGETTO_ADHOC,
a.BUSINESS_ID_REC id_business,
DECODE ( tc_ext.FLAG_VERIFICA_CREDITO_ANOMALO,1,'CA',0,DECODE((SELECT TRUNC ( (tc.importo - 1) / TO_NUMBER (name))
FROM DBCGO_LOV
WHERE lov_name = 'SOGLIA_CREDITO'),0,NULL,'CSS'))
AS trasferimento_con_sblocco,
NULL AS nome_file_sblocco,
DECODE (b.descr_stato,
'CESSATA', a.DATA_TRANSIZIONE_STATO,
NULL)
AS data_cessazione_effettiva,
A.ESITO_CAS AS ESITO_CAS,
A.DESCRIZIONE_ESITO_GISP AS DESCRIZIONE_ESITO_GISP
FROM DBCGO_GEST_RICH_REC_VIRT a,
DBCGO_STATO_REC_VIRT b,
dbm_anag_mar f,
dbm_anag_clu g,
DBCGO_LOV h,
DBCGO_LOV i,
DBCGO_LOV j,
DBCGO_LOV k,
DBCGO_LOV t,
DBCGO_GEST_RIC_REC_VIRT_TC tc,
DBCGO_STATO_MAPPING_DON_RECV s,
MNP_DWH_RICH_REC_VIRT_EXT e,
MNP_DWH_TC_ANOMALO tc_ext
WHERE a.stato = b.id_stato
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 t.lov_name(+) = 'FLAG_PROGETTO_ADHOC'
AND a.id_richiesta = e.id_richiesta(+)
AND e.RICHIESTAADHOC = TO_NUMBER (t.name(+))
AND a.id_richiesta = tc.id_richiesta(+)
--AND ((tc.stato IS NOT NULL AND s.id_stato_tc=tc.stato) OR (tc.stato IS NULL AND s.id_stato_rec_virt = a.stato))
AND s.id_stato_rec_virt = a.stato
AND tc.id_richiesta = tc_ext.id_richiesta(+)
)
/

View File

@@ -0,0 +1,10 @@
--execute as MNP
spool /mnpapp/log/script/mnp_Kit_ottobre_11.log;
-----------------------------
--CREATE/MODIFY OBJECT
@@dbcDDL.sql
-----------------------------
--INSERT/UPDATE DATA
@@dbcDML.sql
-----------------------------
spool off;

View File

@@ -0,0 +1,5 @@
--Eseguire come utente MNP
-- creazione sinonimo tabella per report SLA MVNO --
Create synonym MNP_DW_SLA_MVNO_OUT for dwh.MNP_DW_SLA_MVNO_OUT;

View File

@@ -0,0 +1,21 @@
--aggiunta log flusso fms
INSERT INTO MNP_ANAGRAFICA_PROCESSO (CODICE_PROCESSO,NOME_PROCESSO) VALUES ('SO', 'MvnoSlaOut');
INSERT INTO MNP_PROCESSO_LOG(CODICE_PROCESSO, CODICE_LOG, LOG_ON, TIPO_EVENTO)
SELECT 'SO', CODICE_LOG, 1, '00'
FROM MNP_ANAGRAFICA_LOG
WHERE CODICE_LOG LIKE '00%';
INSERT INTO MNP_PROCESSO_LOG(CODICE_PROCESSO, CODICE_LOG, LOG_ON, TIPO_EVENTO)
VALUES('SO', '9999', 1, '00');
Insert into MNP_ANAGRAFICA_LOG
(CODICE_LOG, SEVERITA, DESCRIZIONE)
Values
('2606', 'N', 'CREAZIONE DEL FILE SLA DWH MVNO');
Insert into MNP_ANAGRAFICA_LOG
(CODICE_LOG, SEVERITA, DESCRIZIONE)
Values
('2607', 'C', 'ERRORE NELLA CREAZIONE DEL FILE SLA DWH MVNO');
INSERT INTO MNP_PROCESSO_LOG(CODICE_PROCESSO, CODICE_LOG, LOG_ON, TIPO_EVENTO)
VALUES('SO', '2606', 1, '00');
INSERT INTO MNP_PROCESSO_LOG(CODICE_PROCESSO, CODICE_LOG, LOG_ON, TIPO_EVENTO)
VALUES('SO', '2607', 1, '00');
COMMIT;

View File

@@ -0,0 +1,10 @@
DROP VIEW DWH.MNP_DWH_MSS_CESS_IN_VIEW;
CREATE OR REPLACE FORCE VIEW DWH.MNP_DWH_MSS_CESS_IN_VIEW
(
ID_RICHIESTA,
DATA_ORA_CESSAZIONE
)
AS
SELECT id_richiesta, data_ora_cessazione FROM MNP.MNP_MSS_CESSAZIONE_IN;

View File

@@ -0,0 +1,16 @@
--execute as DWH
spool /mnpapp/log/script/dwh_Kit_ottobre_11.log;
-----------------------------
--CREATE/MODIFY OBJECT
@@dwhDDL.sql
-----------------------------
--INSERT/UPDATE DATA
-----------------------------
spool off;

View File

@@ -0,0 +1,179 @@
CREATE OR REPLACE
PACKAGE svecchiamento_dwh
IS
PROCEDURE old_mnp_report_agcom (path_file in varchar2, anno_mese in varchar2);
END; -- Package spec
/
CREATE OR REPLACE
PACKAGE BODY svecchiamento_dwh
IS
PROCEDURE old_mnp_report_agcom (path_file in varchar2, anno_mese in varchar2)
IS
puntatore_file SYS.UTL_FILE.FILE_TYPE;
puntatore_file_log SYS.UTL_FILE.FILE_TYPE;
tutto varchar2(1000);
sql_msg varchar2(1000);
sql_code integer;
nome_file varchar2(100);
n_rec_in integer;
n_rec_fin integer;
n_rec_del integer;
clob_loc CLOB;
buffer VARCHAR2(32767);
buffer_size CONSTANT BINARY_INTEGER := 32767;
amount BINARY_INTEGER;
offset NUMBER(38);
file_handle UTL_FILE.FILE_TYPE;
directory_name CONSTANT VARCHAR2(80) := path_file;
--csv_filename CONSTANT VARCHAR2(80) := '';
csv_filename VARCHAR2(80);
CURSOR cur_rep_agcom is
SELECT a.anno||'|'||a.mese||'|'||a.tipo||'|'||a.data_creazione||'|',
path_file||'/agcom_'||a.anno||'_'||a.mese||'_'||a.tipo||'_'||to_char(a.data_creazione,'yyyymmdd')||'.csv',
a.csv
FROM mnp_report_agcom a
WHERE anno||mese = anno_mese;
BEGIN
DBMS_OUTPUT.put_line ('Inizio Procedura old_mnp_report_agcom '||to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss'));
--puntatore_file := UTL_FILE.FOPEN('E:\Oracle\oradata','prova.txt','w');
puntatore_file_log := UTL_FILE.FOPEN(path_file,'old_mnp_report_agcom_'||to_char(sysdate, 'ddmmyyyy_hh24miss')||'.log','w');
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Inizio Procedura old_mnp_report_agcom '||to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss'));
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Apertura file old_mnp_report_agcom_'||anno_mese||'.dat');
puntatore_file := UTL_FILE.FOPEN(path_file,'old_mnp_report_agcom_'||anno_mese||'.dat','w');
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Inizio scrittura file old_mnp_report_agcom_'||anno_mese||'.dat');
OPEN cur_rep_agcom;
LOOP
FETCH cur_rep_agcom
INTO
tutto, csv_filename, clob_loc;
EXIT WHEN cur_rep_agcom%NOTFOUND;
SYS.UTL_FILE.PUT_LINE(puntatore_file, tutto||csv_filename||'|');
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Inizio export file '||csv_filename);
----------------------------
----------------------------
DBMS_OUTPUT.ENABLE(100000);
-- ----------------
-- GET CLOB LOCATOR
-- ----------------
/*SELECT csv INTO clob_loc
FROM mnp_report_agcom
where rownum < 2;*/
-- --------------------------------
-- OPEN NEW XML FILE IN WRITE MODE
-- --------------------------------
file_handle := UTL_FILE.FOPEN(
location => directory_name,
--filename => new_xml_filename||replace(tutto,'|','_')||'.csv',
filename => csv_filename,
open_mode => 'w',
max_linesize => buffer_size);
amount := buffer_size;
offset := 1;
-- ----------------------------------------------
-- READ FROM CLOB XML / WRITE OUT NEW XML TO DISK
-- ----------------------------------------------
WHILE amount >= buffer_size
LOOP
DBMS_LOB.READ(
lob_loc => clob_loc,
amount => amount,
offset => offset,
buffer => buffer);
offset := offset + amount;
UTL_FILE.PUT(
file => file_handle,
buffer => buffer);
UTL_FILE.FFLUSH(file => file_handle);
END LOOP;
UTL_FILE.FCLOSE(file => file_handle);
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Fine export file '||csv_filename);
----------------------------------------------
----------------------------------------------
END LOOP;
CLOSE cur_rep_agcom;
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Fine scrittura file old_mnp_report_agcom_'||anno_mese||'.dat');
SYS.UTL_FILE.FCLOSE(puntatore_file);
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Chiusura file old_mnp_report_agcom_'||anno_mese||'.dat');
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Inizio Delete tabella mnp_report_agcom');
select count(*) into n_rec_in from mnp_report_agcom where anno||mese = anno_mese;
delete from mnp_report_agcom where anno||mese = anno_mese;
commit;
select count(*) into n_rec_fin from mnp_report_agcom where anno||mese = anno_mese;
n_rec_del := n_rec_in - n_rec_fin;
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Fine Delete tabella mnp_report_agcom, eliminati '||n_rec_del||' record');
sql_msg := sqlerrm;
sql_code := sqlcode;
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Fine Procedura old_mnp_report_agcom '||to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' sqlmsg: '||sql_msg||' - sqlcode: '||sql_code);
SYS.UTL_FILE.FCLOSE(puntatore_file_log);
DBMS_OUTPUT.put_line ('Fine Procedura old_mnp_report_agcom '||to_char(sysdate, 'dd/mm/yyyy hh24:mi:ss')||' sqlmsg: '||sql_msg||' - sqlcode: '||sql_code);
EXCEPTION
WHEN OTHERS THEN
sql_msg := sqlerrm;
sql_code := sqlcode;
ROLLBACK;
SYS.UTL_FILE.PUT_LINE(puntatore_file_log, 'Procedura old_mnp_report_agcom terminata con errore '||to_char(sysdate, 'dd/mm/yyyy_hh24:mi:ss')||' sqlmsg: '||sql_msg||' - sqlcode: '||sql_code);
SYS.UTL_FILE.FCLOSE(puntatore_file_log);
DBMS_OUTPUT.put_line ('Procedura old_mnp_report_agcom terminata con errore '||to_char(sysdate, 'dd/mm/yyyy_hh24:mi:ss')||' sqlmsg: '||sql_msg||' - sqlcode: '||sql_code);
END; -- Procedure
END;
/

View File

@@ -0,0 +1,414 @@
CREATE OR REPLACE PACKAGE PKG_POPOLA_SLA_SE AS
/******************************************************************************
NAME: PACKAGE PKG_POPOLA_SLA_SE
PURPOSE:
REVISIONS:
Ver Date Author Description
--------- ---------- --------------- ------------------------------------
1.0 02/11/2011 1. Created this package.
******************************************************************************/
PROCEDURE CARICAMENTO_SLA3GG_DONOR_VIRT (dataRif IN DATE,cod_errore OUT NUMBER);
PROCEDURE CARICAMENTO_SLA3GG_REC_VIRT (dataRif IN DATE,cod_errore OUT NUMBER);
PROCEDURE CARICAMENTO_SLATC_DONOR_VIRT (dataRif IN DATE,cod_errore OUT NUMBER);
PROCEDURE CARICAMENTO_SLATC_REC_VIRT (dataRif IN DATE,cod_errore OUT NUMBER);
PROCEDURE CARICAMENTO_SLA_SE(dataRif IN DATE);
END PKG_POPOLA_SLA_SE;
/
CREATE OR REPLACE package body PKG_POPOLA_SLA_SE as
procedure CARICAMENTO_SLA3GG_DONOR_VIRT(dataRif IN DATE,cod_errore OUT NUMBER) IS
--procedura per il caricamento dello SLA1 del DONOR VIRTUALE MVNO
proc_name constant varchar2(30) := 'CARICAMENTO_SLA3GG_DONOR_VIRT';
D_ini DATE;
D_fine DATE;
BEGIN
cod_errore := 0;
D_ini:=sysdate;
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: INIZIO PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_INI,'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO MNP_DW_SLA_SE_IN_OUT
(
UNIQUE_ID,
PROCESSO,
TIPO_SLA,
MESE,
REC_EFF,
DON_EFF,
ID_RICHIESTA,
MSISDN,
TIPO_CLIENTE,
NOME_OT,
DATA_VALIDAZIONE_MAX,
BUSINESS_ID_DONATING,
DATA_AGG
)
SELECT
SEQ_DW_SLA_SE_IN_OUT.NEXTVAL,
a.processo,
a.tipo_messaggio,
a.mese_comp_finale,
a.recipient_effettivo,
a.donor_effettivo,
a.id_richiesta,
b.Msisdn,
b.Tipo_cliente,
b.Nome_ot,
b.data_validazione_max,
b.business_id,
SYSDATE
FROM MNP_DW_SLA_3GG_OUT a, mnp.MNP_GEST_RICH_DONOR_VIRT b
WHERE
a.mese_comp_finale= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
a.tipo_messaggio='SLA1' AND
a.recipient_effettivo IN ('TIMG') AND
a.donor_effettivo in ('NOVE', 'COOP', 'TISC') AND
a.processo = ('V') AND
a.id_richiesta = b.id_richiesta;
COMMIT;
D_finE:=sysdate;
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: FINE PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_FINE,'YYYY-MM-DD HH24:MI:SS')||' - DURATA IN MINUTI:'||TRUNC((D_fine-D_ini)*1440));
EXCEPTION
WHEN OTHERS
THEN
cod_errore := 1;
DBMS_OUTPUT.put_line ('Errore in DWH.CARICAMENTO_SLA3GG_DONOR_VIRT ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
RETURN;
END CARICAMENTO_SLA3GG_DONOR_VIRT;
procedure CARICAMENTO_SLA3GG_REC_VIRT(dataRif IN DATE,cod_errore OUT NUMBER) IS
--procedura per il caricamento dello degli SLA di: RECIPIENT VIRTUALE MVNO, DONOR VIRTUALE M2M e RECIPIENT VIRTUALE M2M
proc_name constant varchar2(30) := 'CARICAMENTO_SLA3GG_REC_VIRT';
D_ini DATE;
D_fine DATE;
BEGIN
cod_errore := 0;
D_ini:=sysdate;
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: INIZIO PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_INI,'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO MNP_DW_SLA_SE_IN_OUT
(
UNIQUE_ID,
PROCESSO,
TIPO_SLA,
MESE,
REC_EFF,
DON_EFF,
ID_RICHIESTA,
MSISDN,
DESCR_STATO,
TIPO_CLIENTE,
NOME_OT,
DATA_VALIDAZIONE_MAX,
BUSINESS_ID_DONATING,
BUSINESS_ID_RECIPIENT,
CAUSALE_RIF,
DATA_RICEZIONE_RICHIESTA,
DATA_CUT_OVER,
DATA_ESPL_DON,
DATA_ESPL_TP,
DATA_ESPL_GISP,
DATA_AGG
)
SELECT
SEQ_DW_SLA_SE_IN_OUT.NEXTVAL,
a.processo,
a.tipo_messaggio,
a.mese_comp_finale,
a.recipient_effettivo,
a.donor_effettivo,
a.id_richiesta,
b.Msisdn,
d.descr_stato,
b.Tipo_cliente,
b.Nome_ot,
b.data_validazione_max,
b.business_id_donating,
b.business_id_recipient,
b.Codice_rifiuto_validazione,
b.Dataricezionerichiesta,
b.Data_cut_over,
c.data_i_o,
c.data_i_o, -- tbv
c.data_i_o, -- tbv
SYSDATE
FROM MNP_DW_SLA_3GG_OUT a, mnp.MNP_GEST_RICH_REC_VIRT b, mnp.MNP_STORICO_RICH_REC_VIRT c, mnp.MNP_STATO_REC_VIRT d
WHERE
a.mese_comp_finale= TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
a.recipient_effettivo IN ('NOVE', 'COOP', 'TISC') AND
a.donor_effettivo in ('TIMG', 'NOVE', 'COOP', 'TISC') AND
a.processo = ('V') AND
d.id_stato = b.stato AND
a.id_richiesta = b.id_richiesta AND
a.id_richiesta = c.id_richiesta AND
c.stato_a = 12; -- EVASA
COMMIT;
D_finE:=sysdate;
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: FINE PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_FINE,'YYYY-MM-DD HH24:MI:SS')||' - DURATA IN MINUTI:'||TRUNC((D_fine-D_ini)*1440));
EXCEPTION
WHEN OTHERS
THEN
cod_errore := 1;
DBMS_OUTPUT.put_line ('Errore in DWH.CARICAMENTO_SLA3GG_REC_VIRT ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
RETURN;
END CARICAMENTO_SLA3GG_REC_VIRT;
procedure CARICAMENTO_SLATC_DONOR_VIRT(dataRif IN DATE,cod_errore OUT NUMBER) IS
--procedura per il caricamento dello degli SLA di TC: DONOR VIRTUALE
proc_name constant varchar2(30) := 'CARICAMENTO_SLATC_DONOR_VIRT';
D_ini DATE;
D_fine DATE;
BEGIN
cod_errore := 0;
D_ini:=sysdate;
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: INIZIO PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_INI,'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO MNP_DW_SLA_SE_IN_OUT
(
UNIQUE_ID,
PROCESSO,
TIPO_SLA,
MESE,
REC_EFF,
DON_EFF,
ID_RICHIESTA,
MSISDN,
TIPO_CLIENTE,
DON_RETE,
DATA_ESPL_DON,
BUSINESS_ID_DONATING,
DESCR_STATO,
CREDITO,
DATA_NOTIF_RECIPIENT,
DATA_AGG
)
SELECT
SEQ_DW_SLA_SE_IN_OUT.NEXTVAL,
a.processo,
a.tipo_messaggio,
a.mese_comp_finale,
a.recipient_effettivo,
a.donor_effettivo,
a.id_richiesta,
b.Msisdn,
b.Tipo_cliente,
'TIMG',
e.data_i_o,
b.business_id,
c.DESCR_STATO,
d.credito,
d.data_notifica_recipient,
SYSDATE
FROM MNP_DW_SLA_TC_OUT a, mnp.MNP_GEST_RICH_DONOR_VIRT b, mnp.MNP_STATO_DON_VIRT c, mnp.MNP_GEST_RICH_DON_VIRT_TC d, mnp.MNP_STORICO_RICH_DON_VIRT e
WHERE
a.mese_comp_finale = TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
a.tipo_messaggio IN ('SLA X', 'SLA Y', 'SLA Z') AND
a.recipient_effettivo IN ('TIMG') AND
a.donor_effettivo in ('NOVE', 'COOP', 'TISC') AND
a.processo = ('V') AND
a.id_richiesta = b.id_richiesta AND
a.id_richiesta=d.id_richiesta AND
a.id_richiesta=e.id_richiesta AND
c.ID_STATO= b.STATO AND
e.stato_a = 11; -- EVASA;
COMMIT;
D_finE:=sysdate;
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: FINE PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_FINE,'YYYY-MM-DD HH24:MI:SS')||' - DURATA IN MINUTI:'||TRUNC((D_fine-D_ini)*1440));
EXCEPTION
WHEN OTHERS
THEN
cod_errore := 1;
DBMS_OUTPUT.put_line ('Errore in DWH.CARICAMENTO_SLATC_DONOR_VIRT ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
RETURN;
END CARICAMENTO_SLATC_DONOR_VIRT;
procedure CARICAMENTO_SLATC_REC_VIRT(dataRif IN DATE,cod_errore OUT NUMBER) IS
--procedura per il caricamento dello degli SLA di TC: RECIPIENT VIRTUALE MVNO, DONOR VIRTUALE M2M e RECIPIENT VIRTUALE M2M
proc_name constant varchar2(30) := 'CARICAMENTO_SLATC_REC_VIRT';
D_ini DATE;
D_fine DATE;
BEGIN
cod_errore := 0;
D_ini:=sysdate;
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: INIZIO PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_INI,'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO MNP_DW_SLA_SE_IN_OUT
(
UNIQUE_ID,
PROCESSO,
TIPO_SLA,
MESE,
REC_EFF,
DON_EFF,
ID_RICHIESTA,
MSISDN,
TIPO_CLIENTE,
DON_RETE,
DATA_ESPL_DON,
BUSINESS_ID_DONATING,
BUSINESS_ID_RECIPIENT,
DESCR_STATO,
CREDITO,
DATA_NOTIF_RECIPIENT,
DATA_CUT_OVER,
DATA_AGG
)
SELECT
SEQ_DW_SLA_SE_IN_OUT.NEXTVAL,
a.processo,
a.tipo_messaggio,
a.mese_comp_finale,
a.recipient_effettivo,
a.donor_effettivo,
a.id_richiesta,
b.Msisdn,
b.Tipo_cliente,
'TIMG',
e.data_i_o,
b.business_id_donating,
b.business_id_recipient,
c.DESCR_STATO,
d.credito,
d.data_notifica_recipient,
b.data_cut_over,
SYSDATE
FROM MNP_DW_SLA_TC_OUT a, mnp.MNP_GEST_RICH_REC_VIRT b, mnp.MNP_STATO_REC_VIRT c, mnp.MNP_GEST_RICH_REC_VIRT_TC d, mnp.MNP_STORICO_RICH_REC_VIRT e
WHERE
a.mese_comp_finale = TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy') AND
a.tipo_messaggio IN ('SLA X', 'SLA Y', 'SLA Z') AND
a.recipient_effettivo in ('NOVE', 'COOP', 'TISC') AND
a.donor_effettivo in ('TIMG','NOVE', 'COOP', 'TISC') AND
a.processo = ('V') AND
a.id_richiesta = b.id_richiesta AND
a.id_richiesta=d.id_richiesta AND
a.id_richiesta=e.id_richiesta AND
c.ID_STATO= b.STATO AND
e.stato_a = 12; -- EVASA;;
COMMIT;
D_finE:=sysdate;
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: FINE PROCEDURA '||PROC_NAME||' - '||TO_CHAR(D_FINE,'YYYY-MM-DD HH24:MI:SS')||' - DURATA IN MINUTI:'||TRUNC((D_fine-D_ini)*1440));
EXCEPTION
WHEN OTHERS
THEN
cod_errore := 1;
DBMS_OUTPUT.put_line ('Errore in DWH.CARICAMENTO_SLATC_REC_VIRT ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
RETURN;
END CARICAMENTO_SLATC_REC_VIRT;
procedure CARICAMENTO_SLA_SE(dataRif IN Date) IS
cod_errore NUMBER (1);
cod_errore_sla3GG_don_virt NUMBER (1):=0;
cod_errore_sla3GG_rec_virt NUMBER (1):=0;
cod_errore_slaTC_don_virt NUMBER (1):=0;
cod_errore_slaTC_rec_virt NUMBER (1):=0;
proc_name constant varchar2(30) := 'CARICAMENTO_SLA_SE';
D_ini DATE;
D_fine DATE;
BEGIN
dbms_output.enable(9999999);
D_ini:=sysdate;
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: INIZIO PROCESSO '||PROC_NAME||' - '||TO_CHAR(D_INI,'YYYY-MM-DD HH24:MI:SS'));
-----------------------------------------------------
-- DELETE PREVENTIVA DELLA TABELLA
-----------------------------------------------------
DELETE MNP_DW_SLA_SE_IN_OUT WHERE TO_CHAR(MESE,'mm/yyyy')=TO_CHAR(ADD_MONTHS(dataRif,-1),'mm/yyyy');
cod_errore := 0;
-- caricamento dati:
CARICAMENTO_SLA3GG_DONOR_VIRT (dataRif,cod_errore_sla3GG_don_virt);
CARICAMENTO_SLA3GG_REC_VIRT (dataRif,cod_errore_sla3GG_rec_virt);
CARICAMENTO_SLATC_DONOR_VIRT (dataRif,cod_errore_slaTC_don_virt);
CARICAMENTO_SLATC_REC_VIRT (dataRif,cod_errore_slaTC_rec_virt);
cod_errore := cod_errore_sla3GG_don_virt + cod_errore_sla3GG_rec_virt+cod_errore_slaTC_don_virt +cod_errore_slaTC_rec_virt;
IF cod_errore = 0
THEN
-- tutto a posto
DBMS_OUTPUT.put_line ('Caricamento dati SLA avvenuto.');
ELSE
-- tutto na sola
DBMS_OUTPUT.put_line ('CARICAMENTO DATI SLA PARZIALE: PROCESSO TERMINATO CON ERRORI VERIFICARE LOG!');
END IF;
COMMIT;
D_fine:=sysdate;
DBMS_OUTPUT.put_line ('PKG_POPOLA_SLA_SE: FINE PROCESSO '||PROC_NAME||' - '||TO_CHAR(D_FINE,'YYYY-MM-DD HH24:MI:SS')||' - DURATA IN MINUTI:'||TRUNC((D_fine-D_ini)*1440));
EXCEPTION
WHEN OTHERS THEN
cod_errore := 1;
DBMS_OUTPUT.put_line ('Errore nel caricamento dati Sla ' || SQLERRM||' - '||to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'));
RETURN;
END CARICAMENTO_SLA_SE;
END PKG_POPOLA_SLA_SE;
/

View File

@@ -0,0 +1,91 @@
--Eseguire come utente DWH
-- creazione tabella per report SLA MVNO --
CREATE TABLE MNP_DW_SLA_MVNO_OUT
(
UNIQUE_ID NUMBER NOT NULL,
MESE VARCHAR2(7 BYTE) NOT NULL,
DON_OSPITATO VARCHAR2(4 BYTE) NOT NULL,
REC_OSPITATO VARCHAR2(4 BYTE) NOT NULL,
DON_RETE VARCHAR2(4 BYTE) NOT NULL,
REC_RETE VARCHAR2(4 BYTE) NOT NULL,
MSISDN VARCHAR2(12 BYTE) NOT NULL,
ID_RICHIESTA VARCHAR2(18 BYTE) NOT NULL,
TIPO_FILE VARCHAR2(7 BYTE) NOT NULL,
FLAG_VALIDAZIONE CHAR(1 BYTE) DEFAULT '1' NOT NULL,
FILE_XML VARCHAR2(27 BYTE) NOT NULL,
FILE_ACK VARCHAR2(27 BYTE) NOT NULL,
DATA_AGG DATE DEFAULT sysdate NOT NULL,
DATA_ESTRAZIONE DATE NULL
)
TABLESPACE TAB_SMALL
PCTUSED 40
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 10M
NEXT 10M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
NOMONITORING;
CREATE UNIQUE INDEX DWH.MNP_DW_SLA_MVNO_OUT_IDX ON DWH.MNP_DW_SLA_MVNO_OUT
(MESE,ID_RICHIESTA, DON_OSPITATO, REC_OSPITATO, DON_RETE, TIPO_FILE, FLAG_VALIDAZIONE)
LOGGING
NOPARALLEL;
CREATE UNIQUE INDEX MNP_DW_SLA_MVNO_OUT_PK ON MNP_DW_SLA_MVNO_OUT
(UNIQUE_ID)
LOGGING
TABLESPACE TAB_IDX_SMALL
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 10M
NEXT 10M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
)
NOPARALLEL;
ALTER TABLE MNP_DW_SLA_MVNO_OUT ADD (
CONSTRAINT MNP_DW_MVNO_SLA_OUT_PK
PRIMARY KEY
(UNIQUE_ID)
USING INDEX
TABLESPACE TAB_IDX_SMALL
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 10M
NEXT 10M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
));
Grant select,insert,update,delete on MNP_DW_SLA_MVNO_OUT to MNP;
CREATE SEQUENCE SEQ_DW_SLA_MVNO_OUT
START WITH 1
MAXVALUE 999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 30
NOORDER;

View File

@@ -0,0 +1 @@
GRANT SELECT ON mnp_mss_cessazione_in TO dwh;

View File

@@ -0,0 +1,202 @@
--Eseguire come utente DWH
PROMPT loading vie_MNP_DWH_REC_PUSH.sql
DROP MATERIALIZED VIEW dwh.MNP_DWH_REC_PUSH
/
CREATE MATERIALIZED VIEW dwh.MNP_DWH_REC_PUSH
TABLESPACE tab_dwh
NOCACHE
NOLOGGING
NOPARALLEL
BUILD IMMEDIATE
REFRESH COMPLETE ON DEMAND
WITH PRIMARY KEY
AS
SELECT ROWNUM AS id_prog, r.*
FROM (SELECT SYSDATE AS data_aggiornamento,
DECODE (a.richiestaadhocaom || a.richiestaadhoc,
'00', 'Standard',
'PHoc'
) AS tipo_richiesta,
a.tipo_cliente, a.nome_ot, a.codice_pre_post_pagato,
t.codice_dealer,
a.tipo_servizio_sistema_mitt AS tipo_servizio,
a.codice_operatore_recipient AS codice_operatore_recipient,
a.codice_operatore_donating AS donating,
a.codice_operatore_rec_eff AS recipient_effettivo,
a.codice_operatore_don_eff AS donor_effettivo,
TRUNC (b.data_i_o) AS data_evento,
TO_CHAR (b.data_i_o, 'yy-iw') AS settimana_evento,
TO_CHAR (b.data_i_o, 'mm') AS mese_evento,
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
) AS descr_stato_evento,
s.descr_stato AS descr_stato_attuale,
b.stato_a AS stato_evento, a.stato AS stato_attuale,
DECODE (a.stato, 5, 'Scartata', 'Pic') AS pic_scarto,
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
) AS cod_rifiuto,
DECODE (a.stato,
7, r.causale,
9, r.causale,
NULL
) AS causale_rifiuto,
COUNT (*) AS richieste,
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione
FROM mnp.mnp_gestione_richiesta_rec a,
mnp.mnp_storico_richiesta_rec b,
mnp.mnp_stato_rec c,
mnp.mnp_stato_rec s,
mnp.mnp_causale_rifiuto r,
mnp.mnp_gestione_richiesta_rec_ext t,
dbcgo_sap_anag_fv
WHERE (a.codice_operatore_rec_eff = 'TIMG' OR a.codice_operatore_rec_eff='TIMT')
and TRUNC (b.data_i_o) BETWEEN TO_DATE (SYSDATE - 397) AND TRUNC (SYSDATE)
AND a.id_richiesta = b.id_richiesta
AND a.id_richiesta = t.id_richiesta
AND ( b.stato_a IN (2, 4, 6, 7, 8, 9, 12)
OR (b.stato_da = -1 AND b.stato_a = 3 AND a.stato <> 5)
)
AND b.stato_a = c.id_stato
AND a.stato = s.id_stato
AND a.codicerifiutovalidazione = r.cod_causale_rifiuto(+)
AND t.codice_dealer = dbcgo_sap_anag_fv.cod_id(+)
-- prendere ultime tre partizioni che sono su base semestrale
AND trunc(a.dataricezionerichiesta) BETWEEN TO_DATE (SYSDATE - 730) AND TRUNC (SYSDATE)
AND trunc(b.dataricezionerichiesta) BETWEEN TO_DATE (SYSDATE - 730) AND TRUNC (SYSDATE)
GROUP BY DECODE (a.richiestaadhocaom || a.richiestaadhoc,
'00', 'Standard',
'PHoc'
),
a.tipo_cliente,
a.nome_ot,
a.codice_pre_post_pagato,
t.codice_dealer,
a.tipo_servizio_sistema_mitt,
a.codice_operatore_recipient,
a.codice_operatore_donating,
TRUNC (b.data_i_o),
TO_CHAR (b.data_i_o, 'yy-iw'),
TO_CHAR (b.data_i_o, 'mm'),
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
),
s.descr_stato,
b.stato_a,
a.stato,
DECODE (a.stato, 5, 'Scartata', 'Pic'),
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
),
DECODE (a.stato, 7, r.causale, 9, r.causale, NULL),
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione,
a.codice_operatore_rec_eff,
a.codice_operatore_don_eff) r
UNION
SELECT ROWNUM AS id_prog, r.*
FROM (SELECT SYSDATE AS data_aggiornamento,
DECODE ( a.richiestaadhoc,
'0', 'Standard',
'PHoc'
) AS tipo_richiesta,
a.tipo_cliente, a.nome_ot, a.codice_pre_post_pagato,
a.codice_dealer,
a.tipo_servizio_sistema_mitt AS tipo_servizio,
'TIMG' AS codice_operatore_recipient,
a.codice_operatore_donating AS donating,
a.codice_operatore_recipient AS recipient_effettivo,
a.codice_operatore_donating AS donor_effettivo,
TRUNC (b.data_i_o) AS data_evento,
TO_CHAR (b.data_i_o, 'yy-iw') AS settimana_evento,
TO_CHAR (b.data_i_o, 'mm') AS mese_evento,
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
) AS descr_stato_evento,
s.descr_stato AS descr_stato_attuale,
b.stato_a AS stato_evento, a.stato AS stato_attuale,
DECODE (a.stato, 4, 'Pic', 'Pic') AS pic_scarto,--xxx da capire
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
) AS cod_rifiuto,
DECODE (a.stato,
7, r.causale,
9, r.causale,
NULL
) AS causale_rifiuto,
COUNT (*) AS richieste,
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione
FROM mnp.mnp_gest_rich_donor_virt a,
mnp.mnp_storico_rich_don_virt b,
mnp.mnp_stato_don_virt c,
mnp.mnp_stato_don_virt s,
mnp.mnp_causale_rifiuto r,
dbcgo_sap_anag_fv
WHERE TRUNC (b.data_i_o) BETWEEN TO_DATE (SYSDATE - 397)
AND TRUNC (SYSDATE)
AND (a.codice_operatore_recipient = 'TIMG' or a.codice_operatore_recipient = 'TIMT')
AND a.id_richiesta = b.id_richiesta
AND (b.stato_a IN (1, 3, 4, 9, 10, 11, 16)) -- modificato stato da 12 ad 11 (EVASA)
AND b.stato_a = c.id_stato
AND a.stato = s.id_stato
AND a.codicerifiutovalidazione = r.cod_causale_rifiuto(+)
AND a.codice_dealer = dbcgo_sap_anag_fv.cod_id(+)
-- prendere ultime tre partizioni che sono su base semestrale
AND trunc(a.dataricezionerichiesta) BETWEEN TO_DATE (SYSDATE - 730) AND TRUNC (SYSDATE)
AND trunc(b.dataricezionerichiesta) BETWEEN TO_DATE (SYSDATE - 730) AND TRUNC (SYSDATE)
GROUP BY DECODE (a.richiestaadhoc,
'0', 'Standard',
'PHoc'
),
a.tipo_cliente,
a.nome_ot,
a.codice_pre_post_pagato,
a.codice_dealer,
a.tipo_servizio_sistema_mitt,
codice_operatore_recipient,
a.codice_operatore_donating,
a.codice_operatore_recipient,
TRUNC (b.data_i_o),
TO_CHAR (b.data_i_o, 'yy-iw'),
TO_CHAR (b.data_i_o, 'mm'),
DECODE (b.stato_da || b.stato_a,
'-13', 'RIGENERATA',
c.descr_stato
),
s.descr_stato,
b.stato_a,
a.stato,
DECODE (a.stato, 4, 'Pic', 'Pic'),
DECODE (a.stato,
7, a.codicerifiutovalidazione,
9, a.codicerifiutovalidazione,
NULL
),
DECODE (a.stato, 7, r.causale, 9, r.causale, NULL),
dbcgo_sap_anag_fv.canale_acquisizione,
dbcgo_sap_anag_fv.sottocanale_acquisizione) r;
--CREA INDICE SU dwh.mnp_dwh_rec_push
CREATE INDEX IDX_MNP_DWH_REC_1 ON dwh.MNP_DWH_REC_PUSH
(DATA_EVENTO)
TABLESPACE TAB_IDX_BIG;
CREATE INDEX IDX_MNP_DWH_REC_2 ON dwh.MNP_DWH_REC_PUSH
(STATO_ATTUALE)
TABLESPACE TAB_IDX_BIG;