CREATE TABLE MNP_XML_IN_FP
(
  NOME_FILE           VARCHAR2(27 BYTE)         NOT NULL,
  MITTENTE            VARCHAR2(4 BYTE)          NOT NULL,
  DESTINATARIO        VARCHAR2(4 BYTE)          NOT NULL,
  TIPO_FILE           VARCHAR2(2 BYTE)          NOT NULL,
  DATA_EFF            DATE,
  XML_DATA            CLOB                      NOT NULL
)
TABLESPACE TAB_SMALL;

CREATE UNIQUE INDEX PK_XML_IN_FP ON MNP_XML_IN_FP
(NOME_FILE)
TABLESPACE TAB_IDX_SMALL;

ALTER TABLE MNP_XML_IN_FP ADD (
  CONSTRAINT PK_XML_INFP PRIMARY KEY (NOME_FILE)
);
CREATE TABLE MNP_XML_ACK_OUT_FP
(
  ID_PROG             NUMBER(18) NOT NULL,
  NOME_FILE_RIFERITO  VARCHAR2(27 BYTE)   NOT NULL,
  ACK_NOME_FILE       VARCHAR2(27 BYTE)   NOT NULL,
  ACK_DATA_EFF        DATE,
  ACK_RISULTATO       VARCHAR2(5 BYTE),
  ACK_ERR_MSG         VARCHAR2(2000 BYTE),
  ACK_DATA            CLOB
)
TABLESPACE TAB_SMALL;

ALTER TABLE MNP_XML_ACK_OUT_FP ADD
  CONSTRAINT PK_MNP_XML_ACK_OUT_FP
 PRIMARY KEY
 (ID_PROG)
    USING INDEX
    TABLESPACE TAB_IDX_SMALL;
ALTER TABLE MNP_XML_ACK_OUT_FP
ADD CONSTRAINT FK_MNP_XML_ACK_OUT_FP_1 FOREIGN KEY (NOME_FILE_RIFERITO)
REFERENCES MNP_XML_IN_FP (NOME_FILE);
CREATE TABLE MNP_XML_OUT_FP
(
  NOME_FILE                 VARCHAR2(27 BYTE)   NOT NULL,
  MITTENTE                  VARCHAR2(4 BYTE)    NOT NULL,
  DESTINATARIO              VARCHAR2(4 BYTE)    NOT NULL,
  TIPO_FILE                 VARCHAR2(2 BYTE)    NOT NULL,
  NUMERO_INVII              NUMBER(5),
  DATA_INVIO                DATE,
  TIPO_PROCESSO             VARCHAR2(1 BYTE)    NOT NULL,
  CANALE_ALTERNATIVO        NUMBER(1)           NOT NULL,
  NUMERO_INVII_ALTERNATIVO  NUMBER(5),
  DATA_ULTIMO_INVIO         DATE,
  XML_DATA                  CLOB                NOT NULL
)
TABLESPACE TAB_SMALL;
CREATE UNIQUE INDEX PK_XML_OUT_FP ON MNP_XML_OUT_FP
(NOME_FILE)
TABLESPACE TAB_IDX_SMALL;
ALTER TABLE MNP_XML_OUT_FP ADD (
  CONSTRAINT PK_XML_OUTFP PRIMARY KEY (NOME_FILE)
);
CREATE TABLE MNP_XML_ACK_IN_FP
(
  ID_PROG             NUMBER(18) NOT NULL,
  NOME_FILE_RIFERITO  VARCHAR2(27 BYTE)   NOT NULL,
  ACK_NOME_FILE       VARCHAR2(27 BYTE)   NOT NULL,
  ACK_DATA_EFF        DATE,
  ACK_RISULTATO       VARCHAR2(5 BYTE),
  ACK_ERR_MSG         VARCHAR2(2000 BYTE),
  ACK_DATA            CLOB
)
TABLESPACE TAB_SMALL;
ALTER TABLE MNP_XML_ACK_IN_FP ADD
  CONSTRAINT PK_MNP_XML_ACK_IN_FP
 PRIMARY KEY
 (ID_PROG)
    USING INDEX
    TABLESPACE TAB_IDX_SMALL;
ALTER TABLE MNP_XML_ACK_IN_FP
ADD CONSTRAINT FK_MNP_XML_ACK_IN_FP_1 FOREIGN KEY (NOME_FILE_RIFERITO)
REFERENCES MNP_XML_OUT_FP (NOME_FILE);
