drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_ALLEGATO;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_ALLEOBJT;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_ANAG;                           
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_CEDE_FATT;                      
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_CEDE_REEA;                      
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_CESS_FATT;                      
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_CONTATTO;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_EVEN;                           
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATTCASS;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATTURA;                        
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATT_PAGA;                      
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATT_RFLN;                      
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATT_RIFDOC;                    
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATT_RPLG;                      
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATT_TRAS;                      
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_INDI;                           
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_INVIOFILE;                      
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_NOTIFICA;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_OBJTFATT;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_OBJTFILE;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_OBJTNOTI;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_RIGA_CODI;                      
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_RIGA_FATT;                      
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_RIGA_GEST;                      
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_RITEFATT;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_SCNTFATT;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_SOGGETTO;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_SOGG_IPA;                       
drop sequence CARLOWNR_S.SEQ_SAN_CPF_SOGEI_TRASM;                          
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_ALLEGATO cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_ALLEOBJT cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_ANAG cascade constraints;          
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_CEDE_FATT cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_CEDE_REEA cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_CESS_FATT cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_CONTATTO cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_EVEN cascade constraints;          
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTCASS cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA cascade constraints;       
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_PAGA cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_RFLN cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_RIFDOC cascade constraints;   
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_RPLG cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_TRAS cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_INDI cascade constraints;          
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFATT cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFICA cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFATT cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFILE cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTNOTI cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_CODI cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_FATT cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_GEST cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_RITEFATT cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_SCNTFATT cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGGETTO cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGG_AZSL cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGG_IPA cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATFATT cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATNOT cascade constraints;       
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_STAT_INVIO cascade constraints;    
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOFATT cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONATU cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONOT cascade constraints;       
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORIFEDOCU cascade constraints;  
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORITE cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOSCNT cascade constraints;      
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_CNDPAGA cascade constraints;  
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA cascade constraints;  
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_OBJT cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_PRST cascade constraints;     
drop table CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM cascade constraints;         


CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE
(
       CODI_INVI INTEGER NOT NULL,
       CODI_DEST VARCHAR2(50) NOT NULL,
       CODI_IDEN NUMBER(18) NOT NULL,
       CODI_IDEN_META NUMBER(18) NOT NULL,
       DATA_CREA DATE,
       DATA_ELAB DATE,
       FLAG_ESIT VARCHAR2(1),
       PRES_CEDE VARCHAR2(50),
       CESS_EMIT VARCHAR2(50),
       DESC_FILE VARCHAR2(255),
       DESC_FILE_META VARCHAR2(255),
       CONSTRAINT CPK_SAN_CPF_SOGEI_INVIOFILE PRIMARY KEY (CODI_INVI)
 );
 
CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_INVIOFILE  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_INVIOFILE1 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE (CODI_IDEN);
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_INVIOFILE2 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE (PRES_CEDE);
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_INVIOFILE3 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE (CODI_DEST);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFILE
(
       CODI_OBJT_INVI INTEGER NOT NULL,
       OBJT_FILE BLOB NOT NULL,
       OBJT_META_FILE BLOB NOT NULL,
       CODI_INVI INTEGER NOT NULL,
       CONSTRAINT CPK_SAN_CPF_SOGEI_OBJTFILE PRIMARY KEY (CODI_OBJT_INVI),
       CONSTRAINT CFK_SAN_CPF_SOGEI_OBJT_FILE FOREIGN KEY (CODI_INVI) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE (CODI_INVI)
 );
 
CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_OBJTFILE  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE; 

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_OBJTFILE1 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFILE (CODI_INVI);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATFATT
(
       CODI_STAT INTEGER NOT NULL,
       CODI_XXML VARCHAR2(20) NOT NULL,
       CONSTRAINT CPK_SAN_CPF_SOGEI_STATFATT PRIMARY KEY (CODI_STAT)
 );

insert into CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATFATT (CODI_STAT, CODI_XXML) values (5, 'RIFIUTATA');
insert into CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATFATT (CODI_STAT, CODI_XXML) values (6, 'DECORRENZA_TERMINI');
insert into CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATFATT (CODI_STAT, CODI_XXML) values (7, 'SCARTATA');
insert into CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATFATT (CODI_STAT, CODI_XXML) values (1, 'IMMESSA');
insert into CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATFATT (CODI_STAT, CODI_XXML) values (2, 'INSERITA');
insert into CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATFATT (CODI_STAT, CODI_XXML) values (3, 'RICEVUTA');
insert into CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATFATT (CODI_STAT, CODI_XXML) values (4, 'ACCETTATA');

--- CREATE FATTURA TABLE: TEMPORARY STRUCTURE JUST FOR TESTING PURPOSE --
CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA
(
 CODI_FATT_SOGE INTEGER NOT NULL,
 DESC_NUME VARCHAR2(255) NOT NULL,
 DATA_FATT DATE NOT NULL,
 NUME_POSI NUMBER(19),
 CODI_INVI INTEGER NOT NULL,
 CODI_STAT INTEGER NOT NULL,
 CONSTRAINT CPK_SAN_CPF_SOGEI_FATTURA PRIMARY KEY (CODI_FATT_SOGE),
 CONSTRAINT CFK_SAN_CPF_SOGEI_FATTINVI FOREIGN KEY (CODI_INVI) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE (CODI_INVI),
 CONSTRAINT CFK_SAN_CPF_SOGEI_FATTSTAT FOREIGN KEY (CODI_STAT) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATFATT (CODI_STAT)
 );
 
 CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATTURA  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE; 
 
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_FATTURA1 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_INVI);
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_FATTURA2 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_STAT);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFATT
(
       CODI_OBJT_FATT INTEGER NOT NULL,
       OBJT_FILE BLOB NOT NULL,
       CODI_FATT_SOGE INTEGER NOT NULL,
       CONSTRAINT CPK_SAN_CPF_SOGEI_OBJTFATT PRIMARY KEY (CODI_OBJT_FATT),
       CONSTRAINT CFK_SAN_CPF_SOGEI_OBJTFATT FOREIGN KEY (CODI_FATT_SOGE) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE)
 );
 
CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_OBJTFATT  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;  
 
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_OBJTFATT ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFATT (CODI_FATT_SOGE);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONOT
(
       CODI_TIPO_NOTI INTEGER NOT NULL,
       DESC_TIPO VARCHAR2(50) NOT NULL,
       CODI_XXML VARCHAR2(50) NOT NULL,
       CONSTRAINT CPK_SAN_CPF_SOGEI_TIPONOT PRIMARY KEY (CODI_TIPO_NOTI)
 );

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONOT VALUES (1,'ESITO_ACCETTATO','EC01');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONOT VALUES (2,'ESITO_RIFIUTATO','EC01');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONOT VALUES (3,'SCARTO','SE');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONOT VALUES (4,'DECORRENZA_TERMINI','DT');

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATNOT
(
       CODI_STAT_NOTI INTEGER NOT NULL,
       DESC_STAT VARCHAR2(50) NOT NULL,
       CODI_XXML VARCHAR2(50) NOT NULL,
       DESC_QUAL VARCHAR2(10) NOT NULL,
       CONSTRAINT CPK_SAN_CPF_SOGEI_STATNOT PRIMARY KEY (CODI_STAT_NOTI)
 );

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATNOT VALUES (1,'NON_ACCETTATA','ES00', 'EC');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATNOT VALUES (2,'ACCETTATA','ES01', 'EC');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATNOT VALUES (3,'SERVIZIO_NON_DISPONIBILE','ES02', 'EC');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATNOT VALUES (4,'NON_CONFORME','EN00', 'SE');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATNOT VALUES (5,'NON_AMMISSIBILE','EN01', 'SE');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATNOT VALUES (6,'DECORRENZA','DT', 'SE');

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFICA
(
         CODI_NOTI INTEGER NOT NULL,
         DATA_CREA DATE NOT NULL,
         DESC_FILE VARCHAR2(255),
         IDEN_MESS NUMBER(19),
         DESC_NOTE VARCHAR2(255),
         DESC_TEXT VARCHAR2(1000),
         CODI_STAT_NOTI INTEGER NOT NULL,
         CODI_TIPO_NOTI INTEGER NOT NULL,
         CODI_INVI INTEGER NOT NULL,
         NUME_PROG INTEGER,
         CONSTRAINT CPK_SAN_CPF_SOGEI_NOTIFICA PRIMARY KEY (CODI_NOTI),
         CONSTRAINT CFK_SAN_CPF_SOGEI_NOTIFICA1 FOREIGN KEY (CODI_STAT_NOTI) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_STATNOT (CODI_STAT_NOTI),
         CONSTRAINT CFK_SAN_CPF_SOGEI_NOTIFICA2 FOREIGN KEY (CODI_TIPO_NOTI) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONOT (CODI_TIPO_NOTI),
         CONSTRAINT CFK_SAN_CPF_SOGEI_NOTIFICA3 FOREIGN KEY (CODI_INVI) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE (CODI_INVI)
 );

CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_NOTIFICA  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;  

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_NOTIFICA1 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFICA (CODI_INVI);
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_NOTIFICA2 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFICA (IDEN_MESS);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFATT
(
         CODI_NOTI INTEGER NOT NULL,
         CODI_FATT_SOGE INTEGER NOT NULL,
         CONSTRAINT CPK_SAN_CPF_SOGEI_NOTIFATT PRIMARY KEY (CODI_NOTI, CODI_FATT_SOGE),
         CONSTRAINT CFK_SAN_CPF_SOGEI_NOTIFATT1 FOREIGN KEY (CODI_NOTI) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFICA (CODI_NOTI),
         CONSTRAINT CFK_SAN_CPF_SOGEI_NOTIFATT2 FOREIGN KEY (CODI_FATT_SOGE) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE)
 );

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_NOTIFATT1 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFATT (CODI_NOTI);
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_NOTIFATT2 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFATT (CODI_FATT_SOGE);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTNOTI
(
       CODI_OBJT_NOTI INTEGER NOT NULL,
       OBJT_NOTI BLOB NOT NULL,
       OBJT_NOTI_RESP BLOB,
       CODI_NOTI INTEGER NOT NULL,
       CONSTRAINT CPK_SAN_CPF_SOGEI_OBJTNOTI PRIMARY KEY (CODI_OBJT_NOTI),
       CONSTRAINT CFK_SAN_CPF_SOGEI_OBJTNOTI FOREIGN KEY (CODI_NOTI) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFICA (CODI_NOTI)
 );
 
CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_OBJTNOTI  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;  
 
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_OBJTNOTI ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTNOTI (CODI_NOTI);


ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE MODIFY (CODI_IDEN_META NULL);
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE ADD DATA_RICE DATE;

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_STAT_INVIO
(
         CODI_STAT INTEGER NOT NULL PRIMARY KEY,
         DESC_STAT VARCHAR2(50)
 );
 
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STAT_INVIO VALUES (1, 'IMMESSO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STAT_INVIO VALUES (2, 'RICEVUTO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STAT_INVIO VALUES (3, 'INSERITO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STAT_INVIO VALUES (4, 'PRELEVATO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STAT_INVIO VALUES (5, 'SCARTATO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STAT_INVIO VALUES (6, 'IN_ERRORE');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_STAT_INVIO VALUES (7, 'BOZZA');

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE ADD CODI_STAT INTEGER;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE ADD 
CONSTRAINT CFK_SAN_CPF_SOGEI_INVIO_STAT FOREIGN KEY (CODI_STAT) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_STAT_INVIO (CODI_STAT);

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_INVIOFILE4 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE (CODI_STAT);

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFILE MODIFY (OBJT_META_FILE NULL);

--- CREAZIONE TABELLE SOGEI (DATA) ---

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_CONTATTO
(
  CODI_CONT INTEGER NOT NULL PRIMARY KEY,
  DESC_NUME_TEL VARCHAR2(12),
  DESC_NUME_FAXX VARCHAR2(12),
  DESC_EMAIL VARCHAR2(255),
  DATA_CREA DATE DEFAULT SYSDATE NOT NULL
  );

CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_CONTATTO MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM
(
  CODI_TRAS INTEGER NOT NULL PRIMARY KEY,
  DESC_NAZI VARCHAR2(2) NOT NULL,
  DESC_IDEN_FISC VARCHAR2(50) NOT NULL,
  DESC_PROG_INVI VARCHAR2(50) NOT NULL,
  DESC_FORM_TRAS VARCHAR2(10) NOT NULL,
  CODI_DEST VARCHAR2(50) NOT NULL,
  DATA_CREA DATE DEFAULT SYSDATE NOT NULL,
  CODI_CONT INTEGER,
  DESC_EMIT VARCHAR2(2),
  CONSTRAINT CFK_SAN_CPF_SOGEI_TRASM1 FOREIGN KEY (CODI_CONT) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_CONTATTO (CODI_CONT)
  );

CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_TRASM  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC
(
  CODI_REGI INTEGER NOT NULL PRIMARY KEY,
  CODI_XXML VARCHAR2(5) NOT NULL,
  DESC_REGI VARCHAR2(120)
  );

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (1, 'RF01', 'Ordinario');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (2, 'RF02', 'Contribuenti minimi (art.1, c.96-117, L. 244/07)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (3, 'RF03', 'Nuove iniziative produttive (art.13, L. 388/00)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (4, 'RF04', 'Agricoltura e attività connesse e pesca (artt.34 e 34-bis, DPR 633/72)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (5, 'RF05', 'Vendita sali e tabacchi (art.74, c.1, DPR. 633/72)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (6, 'RF06', 'Commercio fiammiferi (art.74, c.1, DPR 633/72)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (7, 'RF07', 'Editoria (art.74, c.1, DPR 633/72)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (8, 'RF08', 'Gestione servizi telefonia pubblica (art.74, c.1, DPR 633/72)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (9, 'RF09', 'Rivendita documenti di trasporto pubblico e di sosta (art.74, c.1, DPR 633/72)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (10, 'RF10', 'Intrattenimenti, giochi e altre attività di cui alla tariffa allegata al DPR 640/72 (art.74, c.6, DPR 633/72)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (11, 'RF11', 'Agenzie viaggi e turismo (art.74-ter, DPR 633/72)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (12, 'RF12', 'Agriturismo (art.5, c.2, L. 413/91)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (13, 'RF13', 'Vendite a domicilio (art.25-bis, c.6, DPR 600/73)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (14, 'RF14', 'Rivendita beni usati, oggetti d’arte, d''antiquariato o da collezione (art.36, DL 41/95)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (15, 'RF15', 'Agenzie di vendite all''asta di oggetti d''arte, antiquariato o da collezione (art.40-bis, DL 41/95)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (16, 'RF16', 'IVA per cassa P.A. (art.6, c.5, DPR 633/72)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (17, 'RF17', 'IVA per cassa soggetti con vol. d''affari inferiore ad euro 200.000 (art.7, DL 185/2008)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC VALUES (18, 'RF18', 'Altro');

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_INDI
(
  CODI_INDI INTEGER NOT NULL PRIMARY KEY,
  DESC_INDI VARCHAR2(60) NOT NULL,
  DESC_NUME_CIVI VARCHAR2(8),
  DESC_CAP VARCHAR2(10) NOT NULL,
  DESC_COMU VARCHAR2(60) NOT NULL,
  DESC_PROV VARCHAR2(2),
  DESC_NAZI VARCHAR2(2) NOT NULL,
  DATA_CREA DATE  DEFAULT SYSDATE NOT NULL
  );

CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_INDI  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_CEDE_REEA
(
  CODI_REEA INTEGER NOT NULL PRIMARY KEY,
  DESC_UFFI VARCHAR2(2) NOT NULL,
  DESC_NUME_REEA VARCHAR2(20) NOT NULL,
  NUME_IMPT_SOCI NUMBER(18,5),
  DESC_CODI_SOCI VARCHAR2(2),
  DESC_STAT_LIQU VARCHAR2(2) NOT NULL,
  DATA_CREA DATE  DEFAULT SYSDATE NOT NULL
  );

CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_CEDE_REEA MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_ANAG
(
  CODI_ANAG INTEGER NOT NULL PRIMARY KEY,
  DESC_NAZI VARCHAR2(2),
  DESC_IDEN_FISC VARCHAR2(50) ,
  DESC_CODI_FISC VARCHAR2(50),
  DESC_DENO VARCHAR2(80),
  DESC_NOME VARCHAR2(60),
  DESC_COGN VARCHAR2(60),
  DESC_TITO VARCHAR2(10),
  DESC_EORI VARCHAR2(17),
  DATA_CREA DATE  DEFAULT SYSDATE NOT NULL
  );

CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_ANAG MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

--- QUA --
CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_CEDE_FATT
(
  CODI_CEDE INTEGER NOT NULL PRIMARY KEY,
  CODI_ANAG INTEGER NOT NULL,
  CODI_RAPP INTEGER,
  CODI_INTE INTEGER,
  DESC_ALBO VARCHAR2(60),
  DESC_PROV_ALBO VARCHAR2(2),
  DESC_NUME_ALBO VARCHAR2(60),
  DATA_ALBO DATE,
  CODI_REGI INTEGER,
  CODI_INDI_SEDE INTEGER NOT NULL,
  CODI_INDI_STAB INTEGER,
  CODI_REEA INTEGER,
  CODI_CONT INTEGER,
  DESC_RIFE_AMMI VARCHAR2(20),
  CODI_TRAS INTEGER NOT NULL,
  CONSTRAINT CFK_SAN_CPF_SOGEI_CEDE_FATT0 FOREIGN KEY (CODI_ANAG) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_ANAG (CODI_ANAG),
  CONSTRAINT CFK_SAN_CPF_SOGEI_CEDE_FATT1 FOREIGN KEY (CODI_REGI) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_REGI_FISC (CODI_REGI),
  CONSTRAINT CFK_SAN_CPF_SOGEI_CEDE_FATT2 FOREIGN KEY (CODI_INDI_SEDE) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_INDI (CODI_INDI),
  CONSTRAINT CFK_SAN_CPF_SOGEI_CEDE_FATT3 FOREIGN KEY (CODI_INDI_STAB) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_INDI (CODI_INDI),
  CONSTRAINT CFK_SAN_CPF_SOGEI_CEDE_FATT4 FOREIGN KEY (CODI_REEA) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_CEDE_REEA (CODI_REEA),
  CONSTRAINT CFK_SAN_CPF_SOGEI_CEDE_FATT5 FOREIGN KEY (CODI_CONT) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_CONTATTO (CODI_CONT),
  CONSTRAINT CFK_SAN_CPF_SOGEI_CEDE_FATT6 FOREIGN KEY (CODI_RAPP) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_ANAG (CODI_ANAG),
  CONSTRAINT CFK_SAN_CPF_SOGEI_CEDE_FATT7 FOREIGN KEY (CODI_INTE) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_ANAG (CODI_ANAG),
  CONSTRAINT CFK_SAN_CPF_SOGEI_CEDE_FATT8 FOREIGN KEY (CODI_TRAS) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM (CODI_TRAS)
  );
  
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_CEDE_FATT01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_CEDE_FATT (CODI_TRAS); 

CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_CEDE_FATT MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_CESS_FATT
(
  CODI_CESS INTEGER NOT NULL PRIMARY KEY,
  CODI_ANAG INTEGER,
  CODI_INDI_SEDE INTEGER NOT NULL,
  CODI_TRAS INTEGER NOT NULL,
  CONSTRAINT CFK_SAN_CPF_SOGEI_CESS_FATT0 FOREIGN KEY (CODI_ANAG) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_ANAG (CODI_ANAG),
  CONSTRAINT CFK_SAN_CPF_SOGEI_CESS_FATT2 FOREIGN KEY (CODI_INDI_SEDE) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_INDI (CODI_INDI),
  CONSTRAINT CFK_SAN_CPF_SOGEI_CESS_FATT8 FOREIGN KEY (CODI_TRAS) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM (CODI_TRAS)
  );

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_CESS_FATT01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_CESS_FATT (CODI_TRAS);

CREATE SEQUENCE  CARLOWNR_S.SEQ_SAN_CPF_SOGEI_CESS_FATT MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOFATT
(
  CODI_TIPO INTEGER NOT NULL PRIMARY KEY,
  CODI_XXML VARCHAR2(10) NOT NULL,
  DESC_TIPO VARCHAR2(50) NOT NULL
  );

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOFATT VALUES (1, 'TD01', 'FATTURA');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOFATT VALUES (2, 'TD02', 'ACCONTO/ANTICIPO FATTURA');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOFATT VALUES (3, 'TD03', 'ACCONTO/ANTICIPO PARCELLA');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOFATT VALUES (4, 'TD04', 'NOTA DI CREDITO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOFATT VALUES (5, 'TD05', 'NOTA DI DEBITO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOFATT VALUES (6, 'TD06', 'PARCELLA');

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD CODI_TIPO INTEGER;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD 
CONSTRAINT CFK_SAN_CPF_SOGEI_FATTURA1 FOREIGN KEY (CODI_TIPO) 
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOFATT (CODI_TIPO);
UPDATE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA SET CODI_TIPO = 1;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA MODIFY (CODI_TIPO NOT NULL);

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_FATTURA01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_TIPO);

-- 07/03/2014--
CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORITE 
(
  CODI_TIPO_RITE INTEGER NOT NULL PRIMARY KEY,
  CODI_XXML VARCHAR2(50),
  DESC_TIPO_RITE VARCHAR2(50)
 );
 
 INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORITE VALUES (1, 'RT01', 'RITENUTA PERSONE FISICHE');
 INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORITE VALUES (2, 'RT02', 'RITENUTA PERSONE GIURIDICHE');
 
 CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_RITEFATT
 (
         CODI_RITE_FATT INTEGER NOT NULL PRIMARY KEY,
         CODI_FATT_SOGE INTEGER NOT NULL,
         CODI_TIPO_RITE INTEGER NOT NULL,
         NUME_IMPT_RITE NUMBER(18,5),
         NUME_IMPT_ALIQ NUMBER(18,5),
         DESC_CAUS VARCHAR2(50),
         CONSTRAINT CFK_SAN_CPF_SOGEI_RITEFATT1 FOREIGN KEY (CODI_FATT_SOGE) 
         REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE),
         CONSTRAINT CFK_SAN_CPF_SOGEI_RITEFATT2 FOREIGN KEY (CODI_TIPO_RITE) 
         REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORITE (CODI_TIPO_RITE)
 );
 
CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_RITEFATT MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_RITEFATT01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_RITEFATT (CODI_FATT_SOGE);
 
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD DESC_NUME_BOLL VARCHAR2(20);
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD NUME_IMPT_BOLL NUMBER(18,5); 

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS
(
CODI_TIPO_CASS INTEGER NOT NULL PRIMARY KEY,
CODI_XXML VARCHAR2(20),
DESC_TIPO_CASS VARCHAR2(100)
);

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (1, 'TC01','Cassa nazionale previdenza e assistenza avvocati e procuratori legali');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (2, 'TC02','Cassa previdenza dottori commercialisti');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (3, 'TC03','Cassa previdenza e assistenza geometri');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (4, 'TC04','Cassa nazionale previdenza e assistenza ingegneri e architetti liberi professionisti');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (5, 'TC05','Cassa nazionale del notariato');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (6, 'TC06','Cassa nazionale previdenza e assistenza ragionieri e periti commerciali');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (7, 'TC07','Ente nazionale assistenza agenti e rappresentanti di commercio (ENASARCO)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (8, 'TC08','Ente nazionale previdenza e assistenza consulenti del lavoro (ENPACL)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (9, 'TC09','Ente nazionale previdenza e assistenza medici (ENPAM)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (10, 'TC10','Ente nazionale previdenza e assistenza farmacisti (ENPAF)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (11, 'TC11','Ente nazionale previdenza e assistenza veterinari (ENPAV)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (12, 'TC12','Ente nazionale previdenza e assistenza impiegati dell''agricoltura (ENPAIA)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (13, 'TC13','Fondo previdenza impiegati imprese di spedizione e agenzie marittime');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (14, 'TC14','Istituto nazionale previdenza giornalisti italiani (INPGI)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (15, 'TC15','Opera nazionale assistenza orfani sanitari italiani (ONAOSI)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (16, 'TC16','Cassa autonoma assistenza integrativa giornalisti italiani (CASAGIT)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (17, 'TC17','Ente previdenza periti industriali e periti industriali laureati (EPPI)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (18, 'TC18','Ente previdenza e assistenza pluricategoriale (EPAP)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (19, 'TC19','Ente nazionale previdenza e assistenza biologi (ENPAB)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (20, 'TC20','Ente nazionale previdenza e assistenza professione infermieristica (ENPAPI)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (21, 'TC21','Ente nazionale previdenza e assistenza psicologi (ENPAP)');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS VALUES (22, 'TC22','INPS');

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONATU
(
CODI_TIPO_NATU INTEGER NOT NULL PRIMARY KEY,
CODI_XXML VARCHAR2(20),
DESC_TIPO_NATU VARCHAR2(100)
);

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONATU VALUES (1, 'N1','escluse ex art. 15');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONATU VALUES (2, 'N2','non soggette');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONATU VALUES (3, 'N3','non imponibili');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONATU VALUES (4, 'N4','esenti');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONATU VALUES (5, 'N5','regime del margine');


CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTCASS
(
 CODI_FATT_CASS INTEGER NOT NULL PRIMARY KEY,
 CODI_TIPO_CASS INTEGER NOT NULL,
 NUME_IMPT_ALCS NUMBER(18,5) NOT NULL,
 NUME_IMPT_CNTR NUMBER(18,5) NOT NULL,
 NUME_IMPN_CASS NUMBER(18,5),
 NUME_IMPT_ALIQ NUMBER(18,5) NOT NULL,
 FLAG_RITE VARCHAR2(1),
 CODI_TIPO_NATU INTEGER,
 DESC_RIFE_AMMI VARCHAR2(20),
 CODI_FATT_SOGE INTEGER NOT NULL,
 CONSTRAINT CFK_SAN_CPF_SOGEI_FATTCASS01 FOREIGN KEY (CODI_FATT_SOGE)
 REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE),
 CONSTRAINT CFK_SAN_CPF_SOGEI_FATTCASS02 FOREIGN KEY (CODI_TIPO_CASS)
 REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOCASS (CODI_TIPO_CASS),
 CONSTRAINT CFK_SAN_CPF_SOGEI_FATTCASS03 FOREIGN KEY (CODI_TIPO_NATU)
 REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONATU (CODI_TIPO_NATU)
 );
 
CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATTCASS MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_FATTCASS01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTCASS (CODI_FATT_SOGE);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOSCNT
(
CODI_TIPO_SCNT INTEGER NOT NULL PRIMARY KEY,
CODI_XXML VARCHAR2(20),
DESC_TIPO_SCNT VARCHAR2(100)
);
 
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOSCNT VALUES (1, 'SC','SCONTO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOSCNT VALUES (2, 'MG','MAGGIORAZIONE');

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_SCNTFATT
(
CODI_SCNT INTEGER NOT NULL PRIMARY KEY,
CODI_TIPO_SCNT INTEGER NOT NULL,
NUME_IMPT_ALIQ NUMBER(18,5),
NUME_IMPT NUMBER(18,5),
CODI_FATT_SOGE INTEGER NOT NULL,
CONSTRAINT CFK_SAN_CPF_SOGEI_SCNTFATT01 FOREIGN KEY (CODI_FATT_SOGE) 
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE),
CONSTRAINT CFK_SAN_CPF_SOGEI_SCNTFATT02 FOREIGN KEY (CODI_TIPO_SCNT) 
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPOSCNT (CODI_TIPO_SCNT)
);

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_SCNTFATT MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_SCNTFATT01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_SCNTFATT (CODI_TIPO_SCNT);

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD NUME_IMPT_TOTA NUMBER(18,5);
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD NUME_IMPT_ARRO NUMBER(18,5);
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD DESC_CAUS VARCHAR2(200);
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD FLAG_AR73 VARCHAR2(1);

--- 10/03/2014--
CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORIFEDOCU
(
CODI_TIPO_RIFE INTEGER NOT NULL PRIMARY KEY,
CODI_XXML VARCHAR2(50),
DESC_TIPO_RIFE VARCHAR2(100)
);

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORIFEDOCU VALUES (1, 'ORDINE','Documento di riferimento di tipo Ordine');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORIFEDOCU VALUES (2, 'CONTRATTO','Documento di riferimento di tipo Contratto');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORIFEDOCU VALUES (3, 'CONVENZIONE','Documento di riferimento di tipo Convenzione');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORIFEDOCU VALUES (4, 'DOCUMENTO DI RICEZIONE','Documento di riferimento contenente i dati di Ricezione nel gestionale della PA');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORIFEDOCU VALUES (5, 'FATTURE','Documento di riferimento contenente i dati di fatture collegate al presente documento');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORIFEDOCU VALUES (6, 'SAL','Documento di riferimento contenente di dati della fase di avanzamento lavori');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORIFEDOCU VALUES (7, 'DDT','Documento di riferimento di tipo DDT');

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_RIFDOC
(
CODI_FATT_RIFE INTEGER NOT NULL PRIMARY KEY,
CODI_TIPO_RIFE INTEGER NOT NULL,
CODI_FATT_SOGE INTEGER NOT NULL,
DESC_NUME_DOCU VARCHAR2(50),
DATA_DOCU DATE,
DESC_NUME_ITEM VARCHAR2(50),
DESC_COMM_CONV VARCHAR2(100),
DESC_NUME_CCUP VARCHAR2(20),
DESC_NUME_CCIG VARCHAR2(20),
NUME_RIFE_FASE INTEGER,
CONSTRAINT CFK_SAN_CPF_SOGEI_FATT_RIDO01 FOREIGN KEY (CODI_TIPO_RIFE)
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPORIFEDOCU (CODI_TIPO_RIFE),
CONSTRAINT CFK_SAN_CPF_SOGEI_FATT_RIDO02 FOREIGN KEY (CODI_FATT_SOGE)
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE)
);

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATT_RIFDOC MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_FATT_RIDO01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_RIFDOC (CODI_FATT_SOGE);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_RFLN
(
CODI_FATT_RFLN INTEGER NOT NULL PRIMARY KEY,
NUME_RIFE_LINE INTEGER NOT NULL,
CODI_FATT_RIFE INTEGER NOT NULL,
CONSTRAINT CFK_SAN_CPF_SOGEI_FATT_RFLN01 FOREIGN KEY (CODI_FATT_RIFE)
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_RIFDOC (CODI_FATT_RIFE)
);

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATT_RFLN MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_FATT_RFLN01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_RFLN (CODI_FATT_RIFE);


CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_TRAS
(
CODI_DATI_TRAS INTEGER NOT NULL PRIMARY KEY,
CODI_FATT_SOGE INTEGER NOT NULL,
CODI_ANAG INTEGER,
DESC_NUME_LICE VARCHAR2(20),
DESC_MEZZ_TRAS VARCHAR2(80),
DESC_CAUS VARCHAR2(100),
NUME_COLL INTEGER,
DESC_TRAS VARCHAR2(100),
DESC_UNIT_PESO VARCHAR2(10),
NUME_PESO_LORD NUMBER(18,5),
NUME_PESO_NETT NUMBER(18,5),
DATA_RITI DATE,
DATA_TRAS DATE,
DATA_CONS DATE,
DESC_TIPO_RESA VARCHAR2(3),
CODI_INDI_RESA INTEGER,
CONSTRAINT CFK_SAN_CPF_SOGEI_FATT_TRAS01 FOREIGN KEY (CODI_FATT_SOGE) 
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE),
CONSTRAINT CFK_SAN_CPF_SOGEI_FATT_TRAS02 FOREIGN KEY (CODI_ANAG)
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_ANAG (CODI_ANAG),
CONSTRAINT CFK_SAN_CPF_SOGEI_FATT_TRAS03 FOREIGN KEY (CODI_INDI_RESA)
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_INDI (CODI_INDI)
);

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATT_TRAS MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_FATT_TRAS01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_TRAS (CODI_FATT_SOGE);

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD DESC_RIFE_NORM VARCHAR2(100);
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD NUME_FATT_PRIN VARCHAR2(20);
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD DATA_FATT_PRIN DATE;

--- ALTER SCNT FOR ROW --
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_SCNTFATT MODIFY (CODI_FATT_SOGE NULL);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_PRST
(
CODI_TIPO_PRST INTEGER NOT NULL PRIMARY KEY,
CODI_XXML VARCHAR2(50),
DESC_TIPO_PRST VARCHAR2(100)
);

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_PRST VALUES (1, 'SC','SCONTO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_PRST VALUES (2, 'PR','PREMIO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_PRST VALUES (3, 'AB','ABBUONO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_PRST VALUES (4, 'AC','SPESA ACCESSORIA');

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_FATT
(
  CODI_RIGA_SOGE INTEGER NOT NULL PRIMARY KEY,
  CODI_FATT_SOGE INTEGER NOT NULL,
  NUME_PROG INTEGER NOT NULL,
  CODI_TIPO_PRST INTEGER,
  DESC_RIGA VARCHAR2(100) NOT NULL,
  NUME_QUAN NUMBER(18,5),
  DESC_UNIT_MISU VARCHAR2(10),
  DATA_INIZ DATE,
  DATA_FINE DATE,
  NUME_IMPT_UNIT NUMBER(18,5) NOT NULL,
  NUME_IMPT_TOTA NUMBER(18,5) NOT NULL,
  NUME_ALIQ NUMBER(18,5) NOT NULL,
  FLAG_RITE VARCHAR2(1),
  DESC_RIFE_AMMI VARCHAR2(20),
  CODI_TIPO_NATU INTEGER,
  CONSTRAINT CFK_SAN_CPF_SOGEI_RIGA_FATT01 FOREIGN KEY (CODI_FATT_SOGE)
  REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE),
  CONSTRAINT CFK_SAN_CPF_SOGEI_RIGA_FATT02 FOREIGN KEY (CODI_TIPO_PRST)
  REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_PRST (CODI_TIPO_PRST),
  CONSTRAINT CFK_SAN_CPF_SOGEI_RIGA_FATT03 FOREIGN KEY (CODI_TIPO_NATU)
  REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONATU (CODI_TIPO_NATU)
  );
  
CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_RIGA_FATT MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_RIGA_FATT01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_FATT (CODI_FATT_SOGE);

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_SCNTFATT ADD CODI_RIGA_SOGE INTEGER;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_SCNTFATT ADD 
CONSTRAINT CFK_SAN_CPF_SOGEI_SCNTFATT03 FOREIGN KEY (CODI_RIGA_SOGE) REFERENCES 
CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_FATT (CODI_RIGA_SOGE);
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_SCNTFATT02 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_SCNTFATT (CODI_RIGA_SOGE);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_CODI
(
 CODI_RIGA_CODI INTEGER NOT NULL PRIMARY KEY,
 CODI_RIGA_SOGE INTEGER NOT NULL,
 DESC_TIPO VARCHAR2(35) NOT NULL,
 DESC_VALO VARCHAR2(35) NOT NULL,
 CONSTRAINT CFK_SAN_CPF_SOGEI_RIGA_CODI01 FOREIGN KEY (CODI_RIGA_SOGE) 
 REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_FATT (CODI_RIGA_SOGE)
 );
 
CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_RIGA_CODI MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_RIGA_CODI01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_CODI (CODI_RIGA_SOGE);


CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_GEST
(
CODI_DATI_GEST INTEGER NOT NULL PRIMARY KEY,
CODI_RIGA_SOGE INTEGER NOT NULL,
DESC_TIPO_DATO VARCHAR2(10) NOT NULL,
DESC_RIFE_TEXT VARCHAR2(60),
NUME_RIFE NUMBER(18,5),
DATA_RIFE DATE,
CONSTRAINT CFK_SAN_CPF_SOGEI_RIGA_GEST01 FOREIGN KEY (CODI_RIGA_SOGE)
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_FATT (CODI_RIGA_SOGE)
);

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_RIGA_GEST MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_RIGA_GEST01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_RIGA_GEST (CODI_RIGA_SOGE);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_RPLG
(
CODI_FATT_RPLG INTEGER NOT NULL PRIMARY KEY,
CODI_FATT_SOGE INTEGER NOT NULL,
NUME_ALIQ NUMBER(18,5) NOT NULL,
CODI_TIPO_NATU INTEGER,
NUME_SPES_ACCE NUMBER(18,5),
NUME_ARRO NUMBER(18,5),
NUME_IMPN NUMBER(18,5),
NUME_IMPT_TASS NUMBER(18,5) NOT NULL,
DESC_ESIG_IIVA VARCHAR2(1),
DESC_RIFE_NORM VARCHAR2(100),
CONSTRAINT CFK_SAN_CPF_SOGEI_FATT_RPLG01 FOREIGN KEY (CODI_FATT_SOGE)
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE),
CONSTRAINT CFK_SAN_CPF_SOGEI_FATT_RPLG02 FOREIGN KEY (CODI_TIPO_NATU)
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONATU (CODI_TIPO_NATU)
);

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATT_RPLG MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_FATT_RPLG01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_RPLG (CODI_FATT_SOGE);

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD DATA_VEIC DATE;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD DESC_PERC_VEIC VARCHAR2(15);
  
CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_CNDPAGA
(
CODI_TIPO_COND INTEGER NOT NULL PRIMARY KEY,
CODI_XXML VARCHAR2(10),
DESC_TIPO_COND VARCHAR2(50)
);

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_CNDPAGA VALUES (1, 'TP01','PAGAMENTO A RATE');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_CNDPAGA VALUES (2, 'TP02','PAGAMENTO COMPLETO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_CNDPAGA VALUES (3, 'TP03','ANTICIPO');

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA
(
CODI_TIPO_MODL INTEGER NOT NULL PRIMARY KEY,
CODI_XXML VARCHAR2(10),
DESC_TIPO_MODL VARCHAR2(50)
);

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (1, 'MP01','contanti');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (2, 'MP02','assegno');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (3, 'MP03','assegno circolare');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (4, 'MP04','contanti presso Tesoreria');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (5, 'MP05','bonifico');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (6, 'MP06','vaglia cambiario');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (7, 'MP07','bollettino bancario');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (8, 'MP08','carta di credito');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (9, 'MP09','RID');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (10, 'MP10','RID utenze');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (11, 'MP11','RID veloce');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (12, 'MP12','RIBA');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (13, 'MP13','MAV');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (14, 'MP14','quietanza erario');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (15, 'MP15','giroconto su conti di contabilità speciale');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (16, 'MP16','domiciliazione bancaria');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA VALUES (17, 'MP17','domiciliazione postale');


CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_PAGA
(
        CODI_PAGA INTEGER NOT NULL PRIMARY KEY,
        CODI_FATT_SOGE INTEGER NOT NULL,
        DESC_BENE VARCHAR2(200),
        CODI_TIPO_MODL INTEGER NOT NULL,
        CODI_TIPO_COND INTEGER NOT NULL,
        DATA_RIFE_PAGA DATE,
        NUME_GIOR_PAGA INTEGER,
        DATA_SCAD_PAGA DATE,
        NUME_IMPT_PAGA NUMBER(18,5) NOT NULL,
        DESC_UFFI_POST VARCHAR2(20),
        DESC_COGN_QUIE VARCHAR2(60),
        DESC_NOME_QUIE VARCHAR2(60),
        DESC_FISC_QUIE VARCHAR2(16),
        DESC_TITO_QUIE VARCHAR2(10),
        DESC_ISTI_FINA VARCHAR2(80),
        DESC_IBAN VARCHAR2(35),
        DESC_AABI VARCHAR2(5),
        DESC_CCAB VARCHAR2(5),
        DESC_BBIC VARCHAR2(12),
        NUME_SCNT_PAGA NUMBER(18,5),
        DATA_LIMI_PAGA DATE,
        NUME_IMPT_PENA_RITA NUMBER(18,5),
        DATA_PENA DATE,
        DESC_CODI_PAGA VARCHAR2(15),
        CONSTRAINT CFK_SAN_CPF_SOGEI_FATT_PAGA01 FOREIGN KEY (CODI_FATT_SOGE) 
        REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE),
        CONSTRAINT CFK_SAN_CPF_SOGEI_FATT_PAGA02 FOREIGN KEY (CODI_TIPO_MODL) 
        REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_MDLPAGA (CODI_TIPO_MODL),
        CONSTRAINT CFK_SAN_CPF_SOGEI_FATT_PAGA03 FOREIGN KEY (CODI_TIPO_COND) 
        REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_CNDPAGA (CODI_TIPO_COND)
);

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_FATT_PAGA MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_FATT_PAGA01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATT_PAGA (CODI_FATT_SOGE);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_ALLEOBJT
(
 CODI_ALLE_OBJT INTEGER NOT NULL PRIMARY KEY,
 DATA_OBJT BLOB NOT NULL
);

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_ALLEOBJT MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_ALLEGATO
(
CODI_ALLE INTEGER NOT NULL PRIMARY KEY,
CODI_FATT_SOGE INTEGER NOT NULL,
CODI_ALLE_OBJT INTEGER NOT NULL,
DESC_NOME VARCHAR2(60) NOT NULL,
DESC_ALGO VARCHAR2(10),
DESC_FORM VARCHAR2(10),
DESC_ALLE VARCHAR2(100),
CONSTRAINT CFK_SAN_CPF_SOGEI_ALLEGATO01 FOREIGN KEY (CODI_FATT_SOGE) 
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE),
CONSTRAINT CFK_SAN_CPF_SOGEI_ALLEGATO02 FOREIGN KEY (CODI_ALLE_OBJT) 
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_ALLEOBJT (CODI_ALLE_OBJT)
);

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_ALLEGATO MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_ALLEGATO01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_ALLEGATO (CODI_FATT_SOGE);


ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD CODI_TRAS INTEGER;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD 
CONSTRAINT CFK_SAN_CPF_SOGEI_FATTURA02 FOREIGN KEY (CODI_TRAS) 
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM (CODI_TRAS);

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_FATTURA02 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_TRAS);

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA ADD CODI_DIVI VARCHAR2(3);

-- 02/04/2014--
CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGGETTO
(
  CODI_SOGG INTEGER NOT NULL PRIMARY KEY,
  DESC_NAZI VARCHAR2(2),
  DESC_IDEN_FISC VARCHAR2(50) ,
  DESC_CODI_FISC VARCHAR2(50),
  DESC_DENO VARCHAR2(80),
  DESC_NOME VARCHAR2(60),
  DESC_COGN VARCHAR2(60),
  DESC_TITO VARCHAR2(10),
  DESC_EORI VARCHAR2(17),
  DESC_MAIL VARCHAR2(255),
  DATA_CREA DATE  DEFAULT SYSDATE NOT NULL
  );

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_SOGGETTO MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_SOGGETTO01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGGETTO (DESC_IDEN_FISC);
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_SOGGETTO02 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGGETTO (DESC_CODI_FISC);

CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGG_IPA
(
  CODI_IPA INTEGER NOT NULL PRIMARY KEY,
  CODI_SOGG INTEGER NOT NULL,
  DESC_CODI VARCHAR2(50) NOT NULL,
  DATA_CREA DATE  DEFAULT SYSDATE NOT NULL,
  CONSTRAINT CFK_SAN_CPF_SOGEI_SOGG_IPA01 FOREIGN KEY (CODI_SOGG) 
  REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGGETTO (CODI_SOGG)
);

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_SOGG_IPA MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_SOGG_IPA01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGG_IPA (CODI_SOGG);
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_SOGG_IPA02 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGG_IPA (DESC_CODI);

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGG_IPA ADD CONSTRAINT UQK_SAN_CPF_SOGEI_SOGG_IPA02 UNIQUE (DESC_CODI);


ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM ADD CODI_INVI INTEGER;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM ADD CONSTRAINT 
CFK_SAN_CPF_SOGEI_TRASM2 FOREIGN KEY (CODI_INVI) 
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE (CODI_INVI);

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_TRASM01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM (CODI_INVI);

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE MODIFY (CODI_IDEN NULL);


CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_OBJT
(
CODI_TIPO INTEGER NOT NULL PRIMARY KEY,
DESC_TIPO VARCHAR2(50) NOT NULL
);

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_OBJT VALUES (1, 'LOTTO_FIRMATO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_OBJT VALUES (2, 'LOTTO_NON_FIRMATO');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_OBJT VALUES (3, 'METAFILE_LOTTO');

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFILE ADD CODI_TIPO INTEGER;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFILE ADD 
CONSTRAINT CFK_SAN_CPF_SOGEI_OBJTFILE01 FOREIGN KEY (CODI_TIPO) 
REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPO_OBJT (CODI_TIPO);

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_OBJTFILE01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFILE (CODI_TIPO);
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFILE DROP COLUMN OBJT_META_FILE;

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFILE ADD DATA_CREA DATE DEFAULT SYSDATE NOT NULL;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE ADD NUME_PROG INTEGER;

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFILE ADD DESC_FILE VARCHAR2(255);
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_OBJTFILE ADD DESC_TYPE VARCHAR2(50);


CREATE TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_EVEN
(
CODI_EVEN INTEGER NOT NULL PRIMARY KEY,
DATA_EVEN DATE NOT NULL,
DESC_EVEN VARCHAR2(255),
CODI_INVI INTEGER,
CODI_FATT_SOGE INTEGER,
CODI_STAT INTEGER,
CONSTRAINT CFK_SAN_CPF_SOGEI_EVEN01 FOREIGN KEY (CODI_INVI) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_INVIOFILE (CODI_INVI),
CONSTRAINT CFK_SAN_CPF_SOGEI_EVEN02 FOREIGN KEY (CODI_FATT_SOGE) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_FATTURA (CODI_FATT_SOGE),
CONSTRAINT CFK_SAN_CPF_SOGEI_EVEN03 FOREIGN KEY (CODI_STAT) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_STAT_INVIO (CODI_STAT)
);

CREATE SEQUENCE CARLOWNR_S.SEQ_SAN_CPF_SOGEI_EVEN MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER  NOCYCLE;
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_EVEN01 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_EVEN (CODI_INVI);
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_EVEN02 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_EVEN (CODI_FATT_SOGE);
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_EVEN03 ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_EVEN (CODI_STAT);

INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONOT VALUES (5, 'RICEVUTA_CONSEGNA', 'RC');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONOT VALUES (6, 'SCARTO_INVIO', 'NS');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONOT VALUES (7, 'MANCATA_CONSEGNA', 'MC');
INSERT INTO CARLOWNR_S.TAB_SAN_CPF_SOGEI_TIPONOT VALUES (8, 'ATTESTAZIONE_NO_RECAPITO', 'AT');

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFICA ADD DATA_ELAB DATE;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_NOTIFICA ADD FLAG_ESIT VARCHAR2(1);

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM ADD CODI_EMIT INTEGER;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM ADD CONSTRAINT 
CFK_SAN_CPF_SOGEI_TRASM_ET FOREIGN KEY (CODI_EMIT) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGGETTO (CODI_SOGG);

ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM ADD CODI_COMM INTEGER;
ALTER TABLE CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM ADD CONSTRAINT 
CFK_SAN_CPF_SOGEI_TRASM_CM FOREIGN KEY (CODI_COMM) REFERENCES CARLOWNR_S.TAB_SAN_CPF_SOGEI_SOGGETTO (CODI_SOGG);

CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_TRASM_CM ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM (CODI_COMM);
CREATE INDEX CARLOWNR_S.IDX_SAN_CPF_SOGEI_TRASM_EM ON CARLOWNR_S.TAB_SAN_CPF_SOGEI_TRASM (CODI_EMIT);

