--------------------------------------------------------------------------
-- Play this script in PRUEBAS@VISANY to make it look like DESA@VISMAR
--                                                                      --
-- Please review the script before using it to make sure it won't       --
-- cause any unacceptable data loss.                                    --
--                                                                      --
-- PRUEBAS@VISANY Schema Extracted by User PRUEBAS 
-- DESA@VISMAR Schema Extracted by User DESA 

--
CREATE TABLE COMDISTRIBUCION
(
  COD_CIA       CHAR(3 BYTE)                    NOT NULL,
  SISTEMA       VARCHAR2(4 BYTE)                NOT NULL,
  DISTRIBUCION  NUMBER(10)                      NOT NULL,
  DESCRIPCION   VARCHAR2(40 BYTE),
  FECHA         DATE                            NOT NULL,
  FECREG        DATE                            NOT NULL,
  ORIGEN        VARCHAR2(4 BYTE)                NOT NULL,
  CLASE         VARCHAR2(6 BYTE)                NOT NULL,
  MONEDA        VARCHAR2(3 BYTE)                NOT NULL,
  TIPCAMBIO     NUMBER(14,4)                    NOT NULL,
  CAMBIOBASE    NUMBER(14,4)                    NOT NULL,
  ASIENTO       VARCHAR2(15 BYTE),
  PERIODO       NUMBER(6),
  ESTADO        CHAR(1 BYTE)                    NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL
NOMONITORING;

ALTER TABLE COMDISTRIBUCION
 ADD CONSTRAINT COMDISTRIBUCION_ESTADO_CK
 CHECK (ESTADO in ('A','N'));

ALTER TABLE COMDISTRIBUCION
 ADD CONSTRAINT COMDISTRIBUCION_PK
 PRIMARY KEY
 (COD_CIA, SISTEMA, DISTRIBUCION);

ALTER TABLE COMLOGCXP
MODIFY(FECHA_REC  DEFAULT sysdate);

ALTER TABLE COMRESFACTURA
 ADD (CALCULO  VARCHAR2(10 BYTE));

ALTER TABLE COMRESFACTURA
 ADD (TIPOCAMBIO  NUMBER(14,4)                      NOT NULL);

ALTER TABLE COMRESFACTURA
 ADD (MON_BASE  NUMBER(14,4)                        NOT NULL);

ALTER TABLE COMRESFACTURA
 ADD (IMPVENTABASE  NUMBER(14,4)                    NOT NULL);

ALTER TABLE COM_ENC_ORDEN
 ADD (NUM_FLETE  NUMBER(10));

ALTER TABLE COM_ENC_ORDEN
 ADD (USUARIOAUTORIZA  VARCHAR2(30 BYTE));

CREATE OR REPLACE FORCE VIEW COMVDISTRIBUCION
(COD_CIA, SISTEMA, DISTRIBUCION, DESCRIPCION, FECHA, 
 FECREG, ORIGEN, CLASE, MONEDA, TIPCAMBIO, 
 CAMBIOBASE, ASIENTO, PERIODO, ESTADO)
AS 
select COD_CIA, SISTEMA, DISTRIBUCION, DESCRIPCION, FECHA, FECREG,
          ORIGEN, CLASE, MONEDA, TIPCAMBIO, CAMBIOBASE, ASIENTO,
          PERIODO, DECODE(ASIENTO,NULL,ESTADO,'C') ESTADO
   from COMDISTRIBUCION;

CREATE TABLE COMDETDISTRIBUCION
(
  COD_CIA       CHAR(3 BYTE)                    NOT NULL,
  SISTEMA       VARCHAR2(4 BYTE)                NOT NULL,
  DISTRIBUCION  NUMBER(10)                      NOT NULL,
  LINEA         NUMBER(4)                       NOT NULL,
  COD_CTA       VARCHAR2(25 BYTE)               NOT NULL,
  CCOSTO        VARCHAR2(7 BYTE)                NOT NULL,
  DESCRIPCION   VARCHAR2(40 BYTE),
  DEBITO        NUMBER(14,2)                    NOT NULL,
  CREDITO       NUMBER(14,2)                    NOT NULL,
  REFERENCIA    VARCHAR2(10 BYTE)
)
LOGGING 
NOCACHE
NOPARALLEL
NOMONITORING;

ALTER TABLE COMDETDISTRIBUCION
 ADD CONSTRAINT COMDETDISTRIBUCION_PK
 PRIMARY KEY
 (COD_CIA, SISTEMA, DISTRIBUCION, LINEA);

ALTER TABLE COM_ENC_FACTURA
MODIFY(COD_PROCEDENCIA  NOT NULL);

ALTER TABLE COM_ENC_NACIONALIZACION
 ADD (NUM_ASIENTO  VARCHAR2(15 BYTE));

ALTER TABLE COM_ENC_RECIBO
 ADD (NUM_ASIENTO  VARCHAR2(15 BYTE));

ALTER TABLE COM_ENC_RECLAMO
 ADD (NUM_ASIENTO  VARCHAR2(15 BYTE));

ALTER TABLE COM_ENC_SOLICITUD
 ADD (COD_PROVEEDOR  VARCHAR2(25 BYTE));

ALTER TABLE COM_HIST_DETFAC
MODIFY(SUBTOTAL_ADUANERO  DEFAULT 0);

ALTER TABLE COM_HIST_DETFAC
MODIFY(CANT_ADUANA  DEFAULT 0);

ALTER TABLE COM_PRORECIBO
MODIFY(MATRIZ  DEFAULT 'A');

ALTER TABLE COM_PRORECIBO
MODIFY(INDMATRIZ  DEFAULT 0);

ALTER TABLE COM_CARGOS_FACTURA
MODIFY(MONTO_ADUANERO  DEFAULT 0);

ALTER TABLE COM_DET_FACTURA
MODIFY(SUBTOTAL_ADUANERO  DEFAULT 0);

ALTER TABLE COM_DET_FACTURA
MODIFY(CANT_ADUANA  DEFAULT 0);

ALTER TABLE COM_DET_RECIBO
MODIFY(NUM_LINEA  DEFAULT 0);

ALTER TABLE COM_DET_SOLICITUD
MODIFY(CANT_AUTORIZADA  NULL);

ALTER TABLE COMRESFACTURA
 DROP PRIMARY KEY CASCADE;

ALTER TABLE COMRESFACTURA
 ADD CONSTRAINT COMRESFACTURA_PK
 PRIMARY KEY
 (COD_CIA, USUARIO, SUCURSAL, NUM_FACTURA, COD_PROVEEDOR, REFERENCIA, ACREEDOR, COD_MONEDA);

ALTER TABLE COM_CARGOS
 DROP CONSTRAINT COM_CARGOS_TIPO_PRORRATEO_CK;
ALTER TABLE COM_CARGOS
 ADD CONSTRAINT COM_CARGOS_TIPO_PRORRATEO_CK
 CHECK (tipo_prorrateo in ('P','M','N'));

ALTER TABLE COM_CONSECUTIVO
 ADD CONSTRAINT COM_CONSECUTIVO_CONSEC_REC_CK
 CHECK (consec_reclamo >= 0);

ALTER TABLE COM_CONSECUTIVO
 ADD CONSTRAINT COM_CONSECUTIVO_CONSEC_NAC_CK
 CHECK (consec_nacio >= 0);

ALTER TABLE COM_CONSECUTIVO
 ADD CONSTRAINT COM_CONSECUTIVO_ORDEN_CK
 CHECK (consec_orden >= 0);

ALTER TABLE COM_CONSECUTIVO
 ADD CONSTRAINT COM_CONSECUTIVO_SOLICITUD_CK
 CHECK (consec_solicitud >= 0);

ALTER TABLE COM_CONSECUTIVO
 ADD CONSTRAINT COM_CONSECUTIVO_CONSEC_REC_CK2
 CHECK (consec_recnac >= 0);

ALTER TABLE COM_ENC_RECIBO
 ADD CONSTRAINT COM_ENC_RECIBO_ESTADO_CK
 CHECK (estado in ('P','A','N'));

ALTER TABLE COMDETDISTRIBUCION
 ADD CONSTRAINT COMDISTRIBUCION_DETALLE_FK 
 FOREIGN KEY (COD_CIA, SISTEMA, DISTRIBUCION) 
 REFERENCES COMDISTRIBUCION (COD_CIA,SISTEMA,DISTRIBUCION);

ALTER TABLE COM_ENC_NACIONALIZACION
MODIFY(COD_AGENCIA_ADUANA  NULL);

ALTER TABLE COM_ENC_FACTURA DROP COLUMN DISTRIBUCUION;

**NO
ALTER TABLE COM_DET_NACIONALIZACION
MODIFY(COD_ARTICULO_FINAL  DEFAULT 'x');

****** NO TIENEN SENTIDO ESTAS
ALTER TABLE COM_ENC_ORDEN
 ADD CONSTRAINT COM_ENC_ORDEN_NUMORDEN_CK
 CHECK (num_orden >= 0);

ALTER TABLE COM_EST_ORDEN
 ADD CONSTRAINT COM_EST_ORDEN_NUM_ORDEN_CK
 CHECK (num_orden >= 0);

ALTER TABLE COM_HIST_ENCORD
 ADD CONSTRAINT COM_ENC_ORDEN_NUMORDEN_CK2
 CHECK (num_orden >= 0);

ALTER TABLE COM_ENC_SOLICITUD
 ADD CONSTRAINT COM_ENC_SOLICITUD_NUMSOLIC_CK
 CHECK (num_solicitud >= 0);

ALTER TABLE COM_DET_SOLICITUD
 ADD CONSTRAINT COM_DET_SOLICITUD_NUMSOLIC_CK
 CHECK (num_solicitud >= 0);

ALTER TABLE COM_ENC_RECIBO DROP COLUMN NOM_ASIENTO;