/*==============================================================*/
/* DBMS name:      ORACLE Version 9i                            */
/* Created on:     29/01/2008 02:43:05 p.m.                     */
/*==============================================================*/


CREATE SEQUENCE DESCTOESPECIAL;

/*==============================================================*/
/* Table: PREDESCCLASE                                          */
/*==============================================================*/
CREATE TABLE PREDESCCLASE  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_CLASE            VARCHAR2(5)                     NOT NULL,
   COD_LINEA            VARCHAR2(5),
   COD_MARCA            VARCHAR2(5),
   COD_ARTICULO         VARCHAR2(25),
   DETALLE              VARCHAR2(40)                    NOT NULL,
   TIPO                 CHAR(1)                         NOT NULL
      CONSTRAINT PREDESCCLASE_TIPO_CK CHECK (TIPO IN ('P','M')),
   VALOR                NUMBER(14,4)                    NOT NULL
      CONSTRAINT PREDESCCLASE_VALOR_CK CHECK (VALOR >= 0),
   COD_USUARIO          VARCHAR2(30)                    NOT NULL,
   CONSTRAINT PREDESCCLASE_AK UNIQUE (COD_CIA, COD_CLASE, COD_LINEA, COD_MARCA, COD_ARTICULO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: PREDESCUSUARIO                                        */
/*==============================================================*/
CREATE TABLE PREDESCUSUARIO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   COD_USUARIO          VARCHAR2(30)                    NOT NULL,
   PORCENTAJE           NUMBER(7,4),
   COD_LISTA_PRECIO     CHAR(3)                         NOT NULL,
   CONSTRAINT PREDESCUSUARIO_PK PRIMARY KEY (COD_CIA, SUCURSAL, COD_USUARIO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: PREDETCAMBIO                                          */
/*==============================================================*/
CREATE TABLE PREDETCAMBIO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   DOCUMENTO            NUMBER(10)                      NOT NULL,
   COD_ARTICULO         VARCHAR2(25)                    NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   COSTO                NUMBER(14,4)                    NOT NULL
      CONSTRAINT PREDETCAMBIO_COSTO_CK CHECK (COSTO >= 0),
   PRECIO_UNITARIO      NUMBER(14,4)                    NOT NULL
      CONSTRAINT PREDETCAMBIO_PRECIO_UNI_CK CHECK (PRECIO_UNITARIO >= 0),
   PORC_UTILIDAD        NUMBER(7,4)                     NOT NULL,
   DESC_FIJO            NUMBER(7,4)                     NOT NULL,
   DESC_PROMOCION       NUMBER(7,4),
   OBSERVACION          VARCHAR2(100),
   DIF_MARGEN           NUMBER(7,4),
   CONSTRAINT PREDETCAMBIO_PK PRIMARY KEY (COD_CIA, DOCUMENTO, COD_ARTICULO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: PREDETLISTA                                           */
/*==============================================================*/
CREATE TABLE PREDETLISTA  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_LISTA_PRECIO     CHAR(3)                         NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   COD_ARTICULO         VARCHAR2(25)                    NOT NULL,
   COSTO                NUMBER(14,4)                    NOT NULL
      CONSTRAINT PREDETLISTA_COSTO_CK CHECK (COSTO >= 0),
   PRECIO_UNITARIO      NUMBER(14,4)                    NOT NULL
      CONSTRAINT PREDETLISTA_PRECIO_UNI_CK CHECK (PRECIO_UNITARIO >= 0),
   PORC_UTILIDAD        NUMBER(7,4)                     NOT NULL,
   DESCUENTO            NUMBER(7,4)                     NOT NULL,
   DOCUMENTO            NUMBER(10),
   CONSTRAINT PREDETLISTA_PK PRIMARY KEY (COD_CIA, COD_LISTA_PRECIO, COD_MONEDA, COD_ARTICULO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: PREDETLISTA_HIST                                      */
/*==============================================================*/
CREATE TABLE PREDETLISTA_HIST  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_LISTA_PRECIO     CHAR(3)                         NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   COD_ARTICULO         VARCHAR2(25)                    NOT NULL,
   FEC_FINAL            DATE                            NOT NULL,
   COSTO                NUMBER(14,4)                    NOT NULL
      CONSTRAINT PREDETLISTA_HIST_COSTO_CK CHECK (COSTO >= 0),
   PRECIO_UNITARIO      NUMBER(14,4)                    NOT NULL
      CONSTRAINT PREDETLISTA_HIST_PRECIO_UNI_CK CHECK (PRECIO_UNITARIO >= 0),
   PORC_UTILIDAD        NUMBER(7,4)                     NOT NULL,
   DESCUENTO            NUMBER(7,4)                     NOT NULL,
   DOCUMENTO            NUMBER(10),
   USUARIO              VARCHAR2(30),
   CONSTRAINT PREDETLISTA_HIST_PK PRIMARY KEY (COD_CIA, COD_LISTA_PRECIO, COD_MONEDA, COD_ARTICULO, FEC_FINAL)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: PREENCCAMBIO                                          */
/*==============================================================*/
CREATE TABLE PREENCCAMBIO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   DOCUMENTO            NUMBER(10)                      NOT NULL,
   COD_PROVEEDOR        VARCHAR2(25),
   COD_LISTA_PRECIO     CHAR(3)                         NOT NULL,
   FECHA                DATE                            NOT NULL,
   FEC_INICIO           DATE                            NOT NULL,
   FEC_FINAL            DATE,
   TIPO_TRANSACCION     CHAR(2)                         NOT NULL
      CONSTRAINT PREENCCAMBIO_TIPO_TRANS_CK CHECK (TIPO_TRANSACCION IN ('AN','DA','CC','DP','DF','UP','IV','PA','PT','SC','CP')),
   OBSERVACIONES        VARCHAR2(100),
   USUARIO              VARCHAR2(30)                    NOT NULL,
   USUARIO_AUTORIZA     VARCHAR2(30),
   ORIGEN               CHAR(1)                         NOT NULL
      CONSTRAINT PREENCCAMBIO_ORIGEN_CK CHECK (ORIGEN IN ('D','F','N','R','S','I')),
   DOC_REF              VARCHAR2(10),
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT PREENCCAMBIO_ESTADO_CK CHECK (ESTADO IN ('A','P','N')),
   CONSTRAINT PREENCCAMBIO_PK PRIMARY KEY (COD_CIA, DOCUMENTO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: PRELISTA_ENCCAMBIO_FK                                 */
/*==============================================================*/
CREATE INDEX PRELISTA_ENCCAMBIO_FK ON PREENCCAMBIO (
   COD_CIA ASC,
   COD_LISTA_PRECIO ASC
);

/*==============================================================*/
/* Table: PREESPECIALES                                         */
/*==============================================================*/
CREATE TABLE PREESPECIALES  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   CLAVE                NUMBER(5)                       NOT NULL,
   FECHA_MOV            DATE                            NOT NULL,
   DES_PRECIO           VARCHAR2(40),
   SUCURSAL             CHAR(3)                         NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   COD_LINEA            VARCHAR2(5),
   COD_LISTA_PRECIO     CHAR(3)                         NOT NULL,
   PORCENTAJE           NUMBER(7,4)                     NOT NULL,
   COD_ARTICULO         VARCHAR2(25),
   COD_USUARIO          VARCHAR2(30)                    NOT NULL,
   DOCUMENTO            VARCHAR2(20),
   CONSTRAINT PREESPECIALES_PK PRIMARY KEY (COD_CIA, COD_CLIENTE, CLAVE)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: PRELISTA_ESPECIALES_FK                                */
/*==============================================================*/
CREATE INDEX PRELISTA_ESPECIALES_FK ON PREESPECIALES (
   COD_CIA ASC,
   COD_LISTA_PRECIO ASC
);

/*==============================================================*/
/* Table: PREINCONSCAMBIO                                       */
/*==============================================================*/
CREATE TABLE PREINCONSCAMBIO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   DOCUMENTO            NUMBER(10)                      NOT NULL,
   COD_ARTICULO         VARCHAR2(25)                    NOT NULL,
   COSTO                NUMBER(14,4)                    NOT NULL
      CONSTRAINT PREINCONSCAMBIO_COSTO_CK CHECK (COSTO >= 0),
   PRECIO_UNITARIO      NUMBER(14,4)                    NOT NULL
      CONSTRAINT PREINCONSCAMBIO_PRECIO_UNI_CK CHECK (PRECIO_UNITARIO >= 0),
   PORC_UTILIDAD        NUMBER(7,4)                     NOT NULL,
   DESC_FIJO            NUMBER(7,4)                     NOT NULL,
   DESC_PROMOCION       NUMBER(7,4),
   OBSERVACION          VARCHAR2(100),
   DIF_MARGEN           NUMBER(7,4),
   CONSTRAINT PREINCONSCAMBIO_PK PRIMARY KEY (COD_CIA, DOCUMENTO, COD_ARTICULO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: PRELISTA                                              */
/*==============================================================*/
CREATE TABLE PRELISTA  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_LISTA_PRECIO     CHAR(3)                         NOT NULL,
   DES_LISTA            VARCHAR2(40)                    NOT NULL,
   LISTA_MADRE          CHAR(3),
   PORCENTAJE           NUMBER(7,4),
   CONSTRAINT PRELISTA_PK PRIMARY KEY (COD_CIA, COD_LISTA_PRECIO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: PRELISTA_LISTAMADRE_FK                                */
/*==============================================================*/
CREATE INDEX PRELISTA_LISTAMADRE_FK ON PRELISTA (
   COD_CIA ASC,
   LISTA_MADRE ASC
);

/*==============================================================*/
/* Table: PRELISTAMON                                           */
/*==============================================================*/
CREATE TABLE PRELISTAMON  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_LISTA_PRECIO     CHAR(3)                         NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   MONEDA_ORIG          VARCHAR2(3)                     NOT NULL,
   AJUSTECALCULO        CHAR(1)                         NOT NULL
      CONSTRAINT PRELISTAMON_AJUSTECALC_CK CHECK (AJUSTECALCULO IN ('D','O','F','N')),
   COMPAJU              NUMBER(10,6)                    NOT NULL,
   MULTAJU              NUMBER(10,6)                    NOT NULL,
   CONSTRAINT PRELISTAMON_PK PRIMARY KEY (COD_CIA, COD_LISTA_PRECIO, COD_MONEDA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: PREPRECIOPRO                                          */
/*==============================================================*/
CREATE TABLE PREPRECIOPRO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_ARTICULO         VARCHAR2(25)                    NOT NULL,
   COD_PROMOCION        VARCHAR2(10)                    NOT NULL,
   PORC_DESCUENTO       NUMBER(7,4)                     NOT NULL,
   CONSTRAINT PREPRECIOPRO_PK PRIMARY KEY (COD_CIA, COD_ARTICULO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: PREPROMOCION_PRECIOPRO_FK                             */
/*==============================================================*/
CREATE INDEX PREPROMOCION_PRECIOPRO_FK ON PREPRECIOPRO (
   COD_CIA ASC,
   COD_PROMOCION ASC
);

/*==============================================================*/
/* Table: PREPROMOCION                                          */
/*==============================================================*/
CREATE TABLE PREPROMOCION  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_PROMOCION        VARCHAR2(10)                    NOT NULL,
   COD_USUARIO          VARCHAR2(30)                    NOT NULL,
   FECHA_INI            DATE                            NOT NULL,
   FECHA_FIN            DATE                            NOT NULL,
   DESCRIPCION          VARCHAR2(40)                    NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   COD_LISTA_PRECIO     CHAR(3),
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT PREPROMOCION_ESTADO_CK CHECK (ESTADO IN ('A','C','P')),
   CONSTRAINT PREPROMOCION_PK PRIMARY KEY (COD_CIA, COD_PROMOCION)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: PREDETPROMOCION                                       */
/*==============================================================*/
CREATE TABLE PREDETPROMOCION  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_PROMOCION        VARCHAR2(10)                    NOT NULL,
   COD_ARTICULO         VARCHAR2(25)                    NOT NULL,
   PORC_DESCUENTO       NUMBER(7,4)                     NOT NULL,
   CONSTRAINT PREDETPROMOCION_PK PRIMARY KEY (COD_CIA, COD_PROMOCION, COD_ARTICULO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: PRELISTARES                                           */
/*==============================================================*/
CREATE TABLE PRELISTARES  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_LISTA_PRECIO     CHAR(3)                         NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   COD_LINEA            VARCHAR2(5)                     NOT NULL,
   COD_CLASE            VARCHAR2(5)                     NOT NULL,
   COD_MARCA            VARCHAR2(5)                     NOT NULL,
   PRECIOBASE           NUMBER(14,4)                    NOT NULL
      CONSTRAINT PRELISTARES_PRECIOBASE_CK CHECK (PRECIOBASE >= 0),
   PRECIOIVI            NUMBER(14,4)                    NOT NULL
      CONSTRAINT PRELISTARES_PRECIOIVI_CK CHECK (PRECIOIVI >= 0),
   PROVEEDOR            VARCHAR2(25)                    NOT NULL,
   COD_ARTICULO         VARCHAR2(25)                    NOT NULL,
   LOCALIZA             VARCHAR2(10)                    NOT NULL,
   DES_ARTICULO         VARCHAR2(50)                    NOT NULL,
   CONSTRAINT PRELISTARES_PK PRIMARY KEY (COD_CIA, COD_LISTA_PRECIO, COD_MONEDA, COD_LINEA, COD_CLASE, COD_MARCA, PRECIOBASE, PRECIOIVI)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: PREPARAMETRO                                          */
/*==============================================================*/
CREATE TABLE PREPARAMETRO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   METODO_CALCULO       CHAR(1)                        DEFAULT 'M' NOT NULL
      CONSTRAINT PREPARAMETRO_METODO_CAL_CK CHECK (METODO_CALCULO IN ('M','P')),
   CON_PRECIO           NUMBER(10)                      NOT NULL,
   REQAUTORIZA          CHAR(1)                         NOT NULL
      CONSTRAINT PREPARAMETRO_REQAUTORIZ_CK CHECK (REQAUTORIZA IN ('S','N')),
   TOMAMARGEN           CHAR(1)                        DEFAULT 'P' NOT NULL
      CONSTRAINT PREPARAMETRO_TOMAMARGEN_CK CHECK (TOMAMARGEN IN ('P','L')),
   PRECIOIVI            CHAR(1)                         NOT NULL
      CONSTRAINT PREPARAMETRO_PRECIOIVI_CK CHECK (PRECIOIVI IN ('S','N')),
   LISTA_PRINCIPAL      CHAR(3),
   MULTIMON             CHAR(1)                        DEFAULT 'N' NOT NULL
      CONSTRAINT PREPARAMETRO_MULTIMON_CK CHECK (MULTIMON IN ('N','C','S')),
   MONEDA_PRINCIPAL     VARCHAR2(3)                     NOT NULL,
   CONSTRAINT PREPARAMETRO_PK PRIMARY KEY (COD_CIA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: PRELISTA_PARAMETRO_FK                                 */
/*==============================================================*/
CREATE INDEX PRELISTA_PARAMETRO_FK ON PREPARAMETRO (
   LISTA_PRINCIPAL ASC,
   COD_CIA ASC
);

/*==============================================================*/
/* Table: PREC_AUTORIZA                                         */
/*==============================================================*/
CREATE TABLE PREC_AUTORIZA  (
   COD_CIA              CHAR(3)                         NOT NULL,
   USUARIO              VARCHAR2(30)                    NOT NULL,
   CONSTRAINT PREC_AUTORIZA_PK PRIMARY KEY (COD_CIA, USUARIO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: PREC_PROVEEDOR                                        */
/*==============================================================*/
CREATE TABLE PREC_PROVEEDOR  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_PROVEEDOR        VARCHAR2(25)                    NOT NULL,
   COD_LISTA_PRECIO     CHAR(3)                         NOT NULL,
   MARGEN_SUG           NUMBER(7,4)                     NOT NULL,
   CONSTRAINT PREC_PROVEEDOR_PK PRIMARY KEY (COD_CIA, COD_PROVEEDOR, COD_LISTA_PRECIO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: PRELISTA_PRECPROV_FK                                  */
/*==============================================================*/
CREATE INDEX PRELISTA_PRECPROV_FK ON PREC_PROVEEDOR (
   COD_CIA ASC,
   COD_LISTA_PRECIO ASC
);

/*==============================================================*/
/* Table: PREPARMONEDA                                          */
/*==============================================================*/
CREATE TABLE PREPARMONEDA  (
   COD_CIA              CHAR(3)                         NOT NULL,
   MONEDA               VARCHAR2(3)                     NOT NULL,
   COMPREDONDEO         NUMBER(5,2)                     NOT NULL,
   MULTREDONDEO         NUMBER(5,2)                     NOT NULL,
   CONSTRAINT PREPARMONEDA_PK PRIMARY KEY (COD_CIA, MONEDA)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* View: PRECAMBIOACT                                           */
/*==============================================================*/
CREATE OR REPLACE VIEW PRECAMBIOACT AS
SELECT A.COD_LISTA_PRECIO, A.DOCUMENTO, A.COD_ARTICULO, B.COD_PROVEEDOR, A.COSTO, 
       C.IMPTOCONS, A.DESCUENTO, A.PORC_UTILIDAD, A.PRECIO_UNITARIO, B.FEC_INICIO, 
       A.COD_CIA, A.COD_MONEDA, C.IMPTOVTAS, C.COD_DEPTO, C.COD_LINEA, C.COD_CLASE, 
       C.COD_MARCA, C.DES_ARTICULO
FROM PREDETLISTA A, PREENCCAMBIO B, INV_ARTICULO C
WHERE A.COD_CIA = B.COD_CIA 
AND A.DOCUMENTO = B.DOCUMENTO 
AND A.COD_CIA = C.COD_CIA 
AND A.COD_ARTICULO = C.COD_ARTICULO;

/*==============================================================*/
/* View: PRECAMBIOPEN                                           */
/*==============================================================*/
CREATE OR REPLACE VIEW PRECAMBIOPEN AS
SELECT  B.COD_LISTA_PRECIO, A.DOCUMENTO, A.COD_ARTICULO, B.COD_PROVEEDOR, A.COSTO,
   C.IMPTOCONS, A.DESC_PROMOCION, A.DESC_FIJO, A.PORC_UTILIDAD, A.PRECIO_UNITARIO,
   B.FECHA, B.FEC_INICIO, B.FEC_FINAL, A.COD_CIA, A.COD_MONEDA, C.IMPTOVTAS,
   C.COD_DEPTO, C.COD_LINEA, C.COD_CLASE, C.COD_MARCA, C.DES_ARTICULO,
   B.TIPO_TRANSACCION, A.OBSERVACION
FROM PREDETCAMBIO A,
   PREENCCAMBIO B,
   INV_ARTICULO C
WHERE A.COD_CIA = B.COD_CIA
  AND A.DOCUMENTO = B.DOCUMENTO
  AND A.COD_CIA = C.COD_CIA
  AND A.COD_ARTICULO = C.COD_ARTICULO
  AND B.ESTADO = 'P';

ALTER TABLE PREDESCCLASE
   ADD CONSTRAINT PREPARAMETRO_DESCCLASE_FK FOREIGN KEY (COD_CIA)
      REFERENCES PREPARAMETRO (COD_CIA);

ALTER TABLE PREDESCUSUARIO
   ADD CONSTRAINT PREPARAMETRO_DESCUSUARIO_FK FOREIGN KEY (COD_CIA)
      REFERENCES PREPARAMETRO (COD_CIA);

ALTER TABLE PREDETCAMBIO
   ADD CONSTRAINT PREENCCAMBIO_DETCAMBIO_FK FOREIGN KEY (COD_CIA, DOCUMENTO)
      REFERENCES PREENCCAMBIO (COD_CIA, DOCUMENTO);

ALTER TABLE PREDETLISTA
   ADD CONSTRAINT PRELISTA_DETLISTA_FK FOREIGN KEY (COD_CIA, COD_LISTA_PRECIO)
      REFERENCES PRELISTA (COD_CIA, COD_LISTA_PRECIO);

ALTER TABLE PREDETLISTA_HIST
   ADD CONSTRAINT PRELISTA_DETLISTAHIST_FK FOREIGN KEY (COD_CIA, COD_LISTA_PRECIO)
      REFERENCES PRELISTA (COD_CIA, COD_LISTA_PRECIO);

ALTER TABLE PREENCCAMBIO
   ADD CONSTRAINT PRELISTA_ENCPRECIO_FK FOREIGN KEY (COD_CIA, COD_LISTA_PRECIO)
      REFERENCES PRELISTA (COD_CIA, COD_LISTA_PRECIO);

ALTER TABLE PREESPECIALES
   ADD CONSTRAINT PRELISTA_ESPECIALES_FK FOREIGN KEY (COD_CIA, COD_LISTA_PRECIO)
      REFERENCES PRELISTA (COD_CIA, COD_LISTA_PRECIO);

ALTER TABLE PREINCONSCAMBIO
   ADD CONSTRAINT PREENCCAMBIO_INCONS_FK FOREIGN KEY (COD_CIA, DOCUMENTO)
      REFERENCES PREENCCAMBIO (COD_CIA, DOCUMENTO);

ALTER TABLE PRELISTA
   ADD CONSTRAINT PRELISTA_LISTAMADRE_FK FOREIGN KEY (COD_CIA, LISTA_MADRE)
      REFERENCES PRELISTA (COD_CIA, COD_LISTA_PRECIO);

ALTER TABLE PRELISTAMON
   ADD CONSTRAINT PRELISTA_LISTAMON_FK FOREIGN KEY (COD_CIA, COD_LISTA_PRECIO)
      REFERENCES PRELISTA (COD_CIA, COD_LISTA_PRECIO);

ALTER TABLE PREPRECIOPRO
   ADD CONSTRAINT PREPROMOCION_PRECIOPRO_FK FOREIGN KEY (COD_CIA, COD_PROMOCION)
      REFERENCES PREPROMOCION (COD_CIA, COD_PROMOCION);

ALTER TABLE PREDETPROMOCION
   ADD CONSTRAINT PREPROMOCION_DETPROMO_FK FOREIGN KEY (COD_CIA, COD_PROMOCION)
      REFERENCES PREPROMOCION (COD_CIA, COD_PROMOCION);

ALTER TABLE PREPARAMETRO
   ADD CONSTRAINT PRELISTA_PARAMETRO_FK FOREIGN KEY (COD_CIA, LISTA_PRINCIPAL)
      REFERENCES PRELISTA (COD_CIA, COD_LISTA_PRECIO);

ALTER TABLE PREC_AUTORIZA
   ADD CONSTRAINT PREPARAMETRO_FK FOREIGN KEY (COD_CIA)
      REFERENCES PREPARAMETRO (COD_CIA);

ALTER TABLE PREC_PROVEEDOR
   ADD CONSTRAINT PRELISTA_PRECPROV_FK FOREIGN KEY (COD_CIA, COD_LISTA_PRECIO)
      REFERENCES PRELISTA (COD_CIA, COD_LISTA_PRECIO);

ALTER TABLE PREPARMONEDA
   ADD CONSTRAINT PREPARAMETRO_PARMON_FK FOREIGN KEY (COD_CIA)
      REFERENCES PREPARAMETRO (COD_CIA);

