-- SU DWH
ALTER TABLE DWH.MNP_DW_SLA_3GG_OUT
ADD (IS_PENALE_ALTRO_AOM VARCHAR2(1) );

ALTER TABLE DWH.MNP_DW_SLA_TC_OUT
ADD (IS_PENALE_ALTRO_AOM VARCHAR2(1) );

ALTER TABLE DWH.MNP_DW_SLA_TC_OUT
 ADD (T_FINALE_ALTRO_AOM DATE);

create table MNP_DW_SLA_MAT_GIORN_OUT
(
  ID_RICHIESTA           VARCHAR2(23) not null,
  TIPO_MESSAGGIO         VARCHAR2(23) not null,
  DONOR_EFFETTIVO        VARCHAR2(4) not null,
  RECIPIENT_EFFETTIVO    VARCHAR2(4) not null,
  DATA_MESSAGGIO         DATE not null,
  DONOR_RETE             VARCHAR2(4) not null,
  RECIPIENT_RETE         VARCHAR2(4) not null,
  TERZA_PARTE            VARCHAR2(4),
  PROCESSO               VARCHAR2(1) not null,
  FLAG_CALCOLO_NUMSIM    NUMBER(1) default 0 not null,
  NOME_FILE              VARCHAR2(27),
  T_INIZIALE             DATE not null,
  T_FINALE               DATE not null,
  DATA_CUT_OVER          DATE not null,
  MSISDN                 VARCHAR2(15),
  ACK_INIZIALE           VARCHAR2(27),
  ACK_FINALE             VARCHAR2(27),
  DATA_ATTESA_EVENTO_FIN DATE,
  MESE_COMP_FINALE       VARCHAR2(7),
  NOME_FILE_INIZIALE     VARCHAR2(27),
  NOME_FILE_FINALE       VARCHAR2(27),
  NUMERO_GIORNI_RITARDO  NUMBER default 0 not null,
  PENALE                 NUMBER default 0 not null,
  NUMERO_SIM             NUMBER default 0,
  PROC_NAME              VARCHAR2(30) not null,
  DATA_FRONTIERA_SE_IN   DATE,
  DATA_FRONTIERA_SE_OUT  DATE
)
tablespace TAB_SMALL;

alter table MNP_DW_SLA_MAT_GIORN_OUT
add constraint MNP_DW_SLA_MAT_G_PK primary key (ID_RICHIESTA, TIPO_MESSAGGIO, DONOR_EFFETTIVO, RECIPIENT_EFFETTIVO, DONOR_RETE)
using index 
tablespace TAB_IDX_SMALL;
--
--

create index IDX1_MNP_DW_SLA_MAT_GIORN_OUT on MNP_DW_SLA_MAT_GIORN_OUT (T_FINALE)
tablespace TAB_IDX_SMALL;

create table MNP_DW_SLA_IN_MAT_GIORN_OUT
(
  ID_RICHIESTA           VARCHAR2(23) not null,
  TIPO_MESSAGGIO         VARCHAR2(23) not null,
  DONOR_EFFETTIVO        VARCHAR2(4) not null,
  RECIPIENT_EFFETTIVO    VARCHAR2(4) not null,
  DATA_MESSAGGIO         DATE not null,
  DONOR_RETE             VARCHAR2(4) not null,
  RECIPIENT_RETE         VARCHAR2(4) not null,
  TERZA_PARTE            VARCHAR2(4),
  PROCESSO               VARCHAR2(1) not null,
  FLAG_CALCOLO_NUMSIM    NUMBER(1) default 0 not null,
  NOME_FILE              VARCHAR2(27),
  T_INIZIALE             DATE,
  T_FINALE               DATE,
  DATA_CUT_OVER          DATE not null,
  MSISDN                 VARCHAR2(15),
  ACK_INIZIALE           VARCHAR2(27),
  ACK_FINALE             VARCHAR2(27),
  DATA_ATTESA_EVENTO_FIN DATE,
  MESE_COMP_FINALE       VARCHAR2(7),
  NOME_FILE_INIZIALE     VARCHAR2(27),
  NOME_FILE_FINALE       VARCHAR2(27),
  NUMERO_GIORNI_RITARDO  NUMBER default 0 not null,
  PENALE                 NUMBER default 0 not null,
  NUMERO_SIM             NUMBER default 0,
  PROC_NAME              VARCHAR2(30) not null,
  DATA_FRONTIERA_SE_IN   DATE,
  DATA_FRONTIERA_SE_OUT  DATE
)
tablespace TAB_SMALL;

alter table MNP_DW_SLA_IN_MAT_GIORN_OUT
add constraint MNP_DW_SLA_IN_MAT_G_PK primary key (ID_RICHIESTA, TIPO_MESSAGGIO, DONOR_EFFETTIVO, RECIPIENT_EFFETTIVO, DONOR_RETE)
using index 
tablespace TAB_IDX_SMALL;

create index IDX1_MNP_DW_SLA_IN_MAT_G_OUT on MNP_DW_SLA_IN_MAT_GIORN_OUT (T_FINALE)
tablespace TAB_IDX_SMALL;


create table MNP_DW_SLA_TC_MAT_GIORN_OUT
(
  ID_RICHIESTA               VARCHAR2(23) not null,
  TIPO_MESSAGGIO             VARCHAR2(23) not null,
  DATA_MESSAGGIO             DATE,
  DONOR_EFFETTIVO            VARCHAR2(4),
  RECIPIENT_EFFETTIVO        VARCHAR2(4),
  NOME_FILE                  VARCHAR2(27),
  NUMERO_GIORNI_RITARDO      NUMBER,
  PENALE                     NUMBER,
  DATA_NOTIFICA_CREDITO      DATE,
  DATA_SBL_IMPORTO           DATE,
  DATA_SBL_CREDITO_ANOMALO   DATE,
  DCO_EFFETTIVA              DATE,
  PROCESSO                   VARCHAR2(1) default 'V' not null,
  T_INIZIALE                 DATE,
  T_FINALE                   DATE,
  NOME_FILE_INIZIALE         VARCHAR2(27),
  NOME_FILE_FINALE           VARCHAR2(27),
  MSISDN                     VARCHAR2(15),
  CODICE_RICHIESTA_RECIPIENT VARCHAR2(23),
  ACK_INIZIALE               VARCHAR2(27),
  ACK_FINALE                 VARCHAR2(27),
  DATA_ATTESA_EVENTO_FIN     DATE,
  MESE_COMP_FINALE           VARCHAR2(7),
  DONOR_RETE                 VARCHAR2(4),
  RECIPIENT_RETE             VARCHAR2(4),
  DATA_FRONTIERA_SE_IN       DATE,
  DATA_FRONTIERA_SE_OUT      DATE
)
tablespace TAB_DWH;

-- Create/Recreate primary, unique and foreign key constraints 
alter table MNP_DW_SLA_TC_MAT_GIORN_OUT
  add constraint MNP_DW_SLA_TC_MAT_G_OUT_PK primary key (ID_RICHIESTA, TIPO_MESSAGGIO)
  using index 
  tablespace TAB_IDX_SMALL;

-- Create/Recreate indexes 
create index IDX1_MNP_DW_SLA_TC_MAT_G_OUT on MNP_DW_SLA_TC_MAT_GIORN_OUT (DATA_NOTIFICA_CREDITO)
  tablespace TAB_IDX_SMALL;


create table MNP_DW_SLA_TC_IN_MAT_GIORN_OUT
(
  ID_RICHIESTA               VARCHAR2(23) not null,
  TIPO_MESSAGGIO             VARCHAR2(23) not null,
  DATA_MESSAGGIO             DATE,
  DONOR_EFFETTIVO            VARCHAR2(4),
  RECIPIENT_EFFETTIVO        VARCHAR2(4),
  NOME_FILE                  VARCHAR2(27),
  NUMERO_GIORNI_RITARDO      NUMBER,
  PENALE                     NUMBER,
  DATA_NOTIFICA_CREDITO      DATE,
  DATA_SBL_IMPORTO           DATE,
  DATA_SBL_CREDITO_ANOMALO   DATE,
  DCO_EFFETTIVA              DATE,
  PROCESSO                   VARCHAR2(1) default 'V' not null,
  T_INIZIALE                 DATE,
  T_FINALE                   DATE,
  NOME_FILE_INIZIALE         VARCHAR2(27),
  NOME_FILE_FINALE           VARCHAR2(27),
  MSISDN                     VARCHAR2(15),
  CODICE_RICHIESTA_RECIPIENT VARCHAR2(23),
  ACK_INIZIALE               VARCHAR2(27),
  ACK_FINALE                 VARCHAR2(27),
  DATA_ATTESA_EVENTO_FIN     DATE,
  MESE_COMP_FINALE           VARCHAR2(7),
  DONOR_RETE                 VARCHAR2(4),
  RECIPIENT_RETE             VARCHAR2(4),
  DATA_FRONTIERA_SE_IN       DATE,
  DATA_FRONTIERA_SE_OUT      DATE
)
tablespace TAB_DWH;

-- Create/Recreate primary, unique and foreign key constraints 
alter table MNP_DW_SLA_TC_IN_MAT_GIORN_OUT
  add constraint MNP_DW_SLA_TC_IN_MAT_G_OUT_PK primary key (ID_RICHIESTA, TIPO_MESSAGGIO)
  using index 
  tablespace TAB_IDX_SMALL;

-- Create/Recreate indexes 
create index IDX1_MNP_DW_SLA_TC_IN_MATG_OUT on MNP_DW_SLA_TC_IN_MAT_GIORN_OUT (DATA_NOTIFICA_CREDITO)
  tablespace TAB_IDX_SMALL;
