--------------------------------------------------------------------------
-- Play this script in PRUEBAS@VISANY to make it look like VISIONI@VISIONI
--                                                                      --
-- 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 
-- VISIONI@VISIONI Schema Extracted by User VISIONI 

ALTER TABLE GEN_CAMB_PRECIO ADD (COD_MONEDA VARCHAR2(3) NOT NULL);

ALTER TABLE COMLOGCXP
Add CONSTRAINT COMLOGCXP_CAMBIOBASE_CK CHECK (TIP_CAMBIO_BASE >= 0);

ALTER TABLE PENSIONADO
 DROP PRIMARY KEY CASCADE;
ALTER TABLE PENSIONADO
 ADD CONSTRAINT PENSIONADO_PK PRIMARY KEY (COD_CIA, COD_CLIENTE);

ALTER TABLE PRYTARIFAPROYECTO
   ADD CONSTRAINT PRYPROYECTO_TARIFAPROYECTO_FK FOREIGN KEY (PROYECTO)
      REFERENCES PRYPROYECTO (PROYECTO);

ALTER TABLE PRYTARIFAPROYECTO
ADD CONSTRAINT PRYTIPOLABOR_TARIFAPROYECTO_FK 
FOREIGN KEY (TIPOLABOR)
REFERENCES PRYTIPOLABOR (TIPO);

ALTER TABLE RHSOLICITUD
   ADD CONSTRAINT RHBOLSAEMPLEO_SOLICITUD_FK FOREIGN KEY (CEDULA)
      REFERENCES RHBOLSAEMPLEO (CEDULA);

ALTER TABLE SEG_GRPUSUARIO
 DROP PRIMARY KEY CASCADE;
ALTER TABLE SEG_GRPUSUARIO ADD
CONSTRAINT SEG_GRPUSUARIO_PK PRIMARY KEY (COD_GRUPO, COD_USUARIO);

ALTER TABLE SEG_GRPUSUARIO
   ADD CONSTRAINT SEGGRUPO_GRPUSUARIO_FK FOREIGN KEY (COD_GRUPO)
      REFERENCES SEG_GRUPO (COD_GRUPO);

ALTER TABLE SEG_GRPUSUARIO
   ADD CONSTRAINT SEGUSUARIO_GRPUSUARIO_FK FOREIGN KEY (COD_USUARIO)
      REFERENCES SEG_USUARIO (COD_USUARIO);

ALTER TABLE SEG_GRUPO ADD
CONSTRAINT SEG_GRUPO_PK PRIMARY KEY (COD_GRUPO);

ALTER TABLE SEG_MNUITM
ADD CONSTRAINT SEG_MNUITM_PK PRIMARY KEY (MODID, ITEMID);

ALTER TABLE SEG_MNUMNU ADD
CONSTRAINT SEG_MNUMNU_PK PRIMARY KEY (MODID, ITEMID);
ALTER TABLE SEG_MNUMNU
   ADD CONSTRAINT SEGMNUMOD_MENU_FK FOREIGN KEY (MODID)
      REFERENCES SEG_MNUMOD (MODID);

ALTER TABLE SEG_MNUMOD ADD
CONSTRAINT SEG_MNUMOD_PK PRIMARY KEY (MODID);

ALTER TABLE SEG_MNUMOD ADD
CONSTRAINT SEG_MNUMOD_UQ UNIQUE (MODKEY, OWNER);

ALTER TABLE SEG_OPCION
 DROP CONSTRAINT SEG_OPCION_IND_PRIVILEGIO_CH;
ALTER TABLE SEG_OPCION ADD
 CONSTRAINT SEG_OPCION_IND_PRIVIL_CK CHECK (IND_PRIVILEGIO IN ('T','S'));

ALTER TABLE SEG_OPCION ADD
CONSTRAINT SEG_OPCION_PK PRIMARY KEY (MODID, ITEMID, NOM_FORMA, NOM_TABLA);

ALTER TABLE VENDETRESERVA
 DROP CONSTRAINT VENDETPEDIDO_RESERVA_FK;

ALTER TABLE ACT_FAMILIA
 DROP CONSTRAINT CON_CUENTA_ACTFAM_DPR_FK;

ALTER TABLE ACT_FAMILIA
 DROP CONSTRAINT CON_CUENTA_ACTFAM_REV_FK;

ALTER TABLE ACT_FAMILIA
 DROP CONSTRAINT CON_CUENTA_ACTFAM_CTA_FK;

ALTER TABLE ACT_FAMILIA
 DROP CONSTRAINT CON_CUENTA_ACTFAM_DPO_FK;

ALTER TABLE ACT_LOCALDET
 DROP CONSTRAINT CON_CUENTA_ACTLOC_DEP_FK;

ALTER TABLE ACT_LOCALDET
 DROP CONSTRAINT CON_CUENTA_ACTLOC_REV_FK;

ALTER TABLE ACT_LOCALDET
 DROP CONSTRAINT CON_CUENTA_ACTLOC_GAS_FK;

ALTER TABLE COM_HIST_DETFAC ADD
CONSTRAINT COM_HIST_DETFAC_CANT_ADUAN_CK CHECK (CANT_ADUANA >= 0);

ALTER TABLE COM_HIST_DETFAC ADD
CONSTRAINT COM_HIST_DETFAC_SUBTOTAL_A_CK CHECK (SUBTOTAL_ADUANERO >= 0);

ALTER TABLE GEN_ENC_PRECIO ADD
CONSTRAINT GEN_ENC_PRECIO_ORIGEN_CK CHECK (ORIGEN IN ('D','F','N','R','S','I'));

ALTER TABLE INV_PARAMETRO
 DROP CONSTRAINT CON_CUENTA_PARAM_CTAIV_FK;

ALTER TABLE INV_PARAMETRO
 DROP CONSTRAINT CON_CUENTA_PARAM_CTAEN_FK;

ALTER TABLE INV_PARAMETRO
 DROP CONSTRAINT CON_CUENTA_PARAM_CTASL_FK;

ALTER TABLE PLAPLANILLA ADD
CONSTRAINT PLAPLANILLA_TIPOSALARI_CK CHECK (TIPOSALARIO IN ('P','M'));

ALTER TABLE SEG_GRANT ADD
CONSTRAINT SEG_GRANT_IND_DERECHO_CK CHECK (IND_DERECHO IN ('S','N'));

ALTER TABLE SEG_GRANT ADD
CONSTRAINT SEG_GRANT_PK PRIMARY KEY (MODID, ITEMID, COD_GRUPO, COD_CIA);

ALTER TABLE SEG_GRANT
   ADD CONSTRAINT SEGGRUPO_GRANT_FK FOREIGN KEY (COD_GRUPO)
      REFERENCES SEG_GRUPO (COD_GRUPO);

ALTER TABLE SEG_GRANT
   ADD CONSTRAINT SEGPARAMETRO_GRANT_FK FOREIGN KEY (COD_CIA)
      REFERENCES SEGPARAMETRO (CIA);

ALTER TABLE COM_DOCUMENTO ADD
CONSTRAINT COM_DOCUMENTO_CLASECOMPR_CK CHECK (CLASECOMPRA IN ('V','C'));

ALTER TABLE COM_PARAMETRO ADD 
CONSTRAINT COM_PARAMETRO_IND_LIBRO_CK CHECK (IND_LIBRO_PRECIO IN ('S','N'));

ALTER TABLE COM_PARAMETRO ADD 
CONSTRAINT COM_PARAMETRO_IND_REQUIE_CK CHECK (IND_REQUIERE_OC IN ('S','N'));
 
ALTER TABLE COM_PARAMETRO ADD
CONSTRAINT COM_PARAMETRO_IND_VALIDA_CK CHECK (IND_VALIDA_CODBAR IN ('S','N'));

ALTER TABLE COM_PARAMETRO ADD
CONSTRAINT COM_PARAMETRO_ORDENFALSO_CK CHECK (ORDENFALSOB IN ('F','S','A','N'));

ALTER TABLE COM_PARAMETRO ADD
CONSTRAINT COM_PARAMETRO_RECIBOMER_CK CHECK (RECIBOMER IN ('P','N','O'));

ALTER TABLE GEN_CLIENTE
ADD CONSTRAINT GENSUBZONA_CLIENTE_FK 
FOREIGN KEY (COD_CIA, COD_ZONA, COD_SUBZONA)
REFERENCES GEN_SUBZONA (COD_CIA, COD_ZONA, COD_SUBZONA);

ALTER TABLE INV_CONCEPMOVTO ADD 
CONSTRAINT INV_CONCEPMOVTO_CLASE_MOVTO_CK
CHECK (CLASE_MOVTO IN ('EI','EC','ED','EA','ET','EO','SV','ST','SD','SA','SR'));

ALTER TABLE INV_CONCEPMOVTO
 DROP CONSTRAINT CON_CUENTA_CONCEP_CTA_FK;

ALTER TABLE VMLBANDEJA
   ADD CONSTRAINT VMLUSUARIO_BANDEJA_FK FOREIGN KEY (DESTINO)
      REFERENCES VMLUSUARIO (USUARIO);

ALTER TABLE COM_CARGOS_FACTURA ADD
CONSTRAINT COM_CARGOS_FACTU_MONTO_ADUA_CK CHECK (MONTO_ADUANERO >= 0);

ALTER TABLE COM_DET_FACTURA ADD
CONSTRAINT COM_DET_FACTURA_CANT_ADUAN_CK CHECK (CANT_ADUANA >= 0);

ALTER TABLE COM_DET_FACTURA ADD
CONSTRAINT COM_DET_FACTURA_SUBTOTAL_A_CK CHECK (SUBTOTAL_ADUANERO >= 0);

ALTER TABLE COM_ENC_RECIBO ADD
CONSTRAINT COM_ENC_RECIBO_ESTADO_CK CHECK (ESTADO IN ('P','A','N'));

ALTER TABLE COM_PRORECIBO ADD
CONSTRAINT COM_PRORECIBO_COSTO_CK CHECK (COSTO >= 0);

ALTER TABLE CON_CCDESCR
 DROP PRIMARY KEY CASCADE;

ALTER TABLE CON_CCDESCR ADD
CONSTRAINT CON_CCDESCR_PK PRIMARY KEY (CCOSTO, COD_CIA);

ALTER TABLE CXC_CLICOMISION
 DROP CONSTRAINT GENCOMISION_CLICOMISION_FK;

ALTER TABLE INV_ACUM_PERIODO 
ADD CONSTRAINT INVARTICBODEGA_ACUM_FK 
FOREIGN KEY (COD_CIA, COD_BODEGA, COD_ARTICULO)
REFERENCES INV_ARTICULOBOD (COD_CIA, COD_BODEGA, COD_ARTICULO);

ALTER TABLE VENDETPEDIDO
 DROP CONSTRAINT VENDETPEDIDO_ARTICULO_FK;
alter table VenDetPedido
    add constraint InvArticulo_VendetPedido_FK
        foreign key (cia, articulo)
        references inv_articulo (cod_cia, cod_articulo)
 /

ALTER TABLE VENDETDEVOLUCION
ADD CONSTRAINT VENDEVOLUCION_DETDEV_FK 
FOREIGN KEY (CIA, SUCURSAL, DOCUMENTO)
REFERENCES VENDEVOLUCION (CIA, SUCURSAL, DOCUMENTO);

ALTER TABLE VENPELRESPUESTA
 DROP PRIMARY KEY CASCADE;
DROP TABLE VENPELRESPUESTA CASCADE CONSTRAINTS;

ALTER TABLE VENARQUEODET
 DROP PRIMARY KEY CASCADE;
DROP TABLE VENARQUEODET CASCADE CONSTRAINTS;

ALTER TABLE PLAIMPSALSUBSIDIO
 DROP PRIMARY KEY CASCADE;
DROP TABLE PLAIMPSALSUBSIDIO CASCADE CONSTRAINTS;

ALTER TABLE PLAIMPSALCREDITO
 DROP PRIMARY KEY CASCADE;
DROP TABLE PLAIMPSALCREDITO CASCADE CONSTRAINTS;

ALTER TABLE PLAIMPSAL
 DROP PRIMARY KEY CASCADE;
DROP TABLE PLAIMPSAL CASCADE CONSTRAINTS;

ALTER TABLE PLADEVPTU
 DROP PRIMARY KEY CASCADE;
DROP TABLE PLADEVPTU CASCADE CONSTRAINTS;

ALTER TABLE PLADEVIMPSAL
 DROP PRIMARY KEY CASCADE;
DROP TABLE PLADEVIMPSAL CASCADE CONSTRAINTS;

ALTER TABLE PLADEVIMPNOMINA
 DROP PRIMARY KEY CASCADE;
DROP TABLE PLADEVIMPNOMINA CASCADE CONSTRAINTS;

ALTER TABLE PLADETPASIVO
 DROP PRIMARY KEY CASCADE;
DROP TABLE PLADETPASIVO CASCADE CONSTRAINTS;

DROP TABLE INVLOGX CASCADE CONSTRAINTS;

--
-- ACUPARAMETRO  (Table) 
--
CREATE TABLE ACUPARAMETRO
(
  CIA          CHAR(3)                          NOT NULL,
  PERIODO      NUMBER(6)                        NOT NULL,
  TRANSACCION  NUMBER(10)                       NOT NULL,
  LECTURA      NUMBER(10)                       NOT NULL,
  FACTURA      NUMBER(10)                       NOT NULL,
  SOLICITUD    NUMBER(10)                       NOT NULL,
  MEDIDOR      NUMBER(5)                        NOT NULL,
  MAXLINEAS    NUMBER(3)                        NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACUPARAMETRO
 ADD CONSTRAINT ACUPARAMETRO_PK
 PRIMARY KEY
 (CIA);

--
-- ACURUTA  (Table) 
--
CREATE TABLE ACURUTA
(
  CIA          CHAR(3)                          NOT NULL,
  RUTA         NUMBER(3)                        NOT NULL,
  DESCRIPCION  VARCHAR2(30)                     NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACURUTA
 ADD CONSTRAINT ACURUTA_PK
 PRIMARY KEY
 (CIA, RUTA);

--
-- ACUSERVICIO  (Table) 
--
CREATE TABLE ACUSERVICIO
(
  CIA               CHAR(3)                     NOT NULL,
  SERVICIO          CHAR(3)                     NOT NULL,
  DESCRIPCION       VARCHAR2(30)                NOT NULL,
  CARGOCONECCION    NUMBER(14,2)                NOT NULL,
  CARGORECONECCION  NUMBER(14,2)                NOT NULL,
  CARGOMULTA        NUMBER(14,2)                NOT NULL,
  CONSUMOMINIMO     NUMBER(14,2)                NOT NULL,
  DIASVENCE         NUMBER(3)                   NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACUSERVICIO
 ADD CONSTRAINT ACUSERVICIO_CARGOCONEC_CK
 CHECK (cargoconeccion >= 0);

ALTER TABLE ACUSERVICIO
 ADD CONSTRAINT ACUSERVICIO_CARGORECON_CK
 CHECK (cargoreconeccion >= 0);

ALTER TABLE ACUSERVICIO
 ADD CONSTRAINT ACUSERVICIO_CARGOMULTA_CK
 CHECK (cargomulta >= 0);

ALTER TABLE ACUSERVICIO
 ADD CONSTRAINT ACUSERVICIO_CONSUMOMIN_CK
 CHECK (consumominimo >= 0);

ALTER TABLE ACUSERVICIO
 ADD CONSTRAINT ACUSERVICIO_DESCRIPCIO_CK
 CHECK (descripcion >= '0');

ALTER TABLE ACUSERVICIO
 ADD CONSTRAINT ACUSERVICIO_PK
 PRIMARY KEY
 (CIA, SERVICIO);

--
-- ACUTARIFA  (Table) 
--
CREATE TABLE ACUTARIFA
(
  CIA       CHAR(3)                             NOT NULL,
  SERVICIO  CHAR(3)                             NOT NULL,
  DESDE     NUMBER(4)                           NOT NULL,
  COSTOM3   NUMBER(9,4)                         NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACUTARIFA
 ADD CONSTRAINT ACUTARIFA_COSTOM3_CK
 CHECK (costom3 >= 0);

ALTER TABLE ACUTARIFA
 ADD CONSTRAINT ACUTARIFA_PK
 PRIMARY KEY
 (CIA, SERVICIO, DESDE);

--
-- AUD_VENPEDIDO  (Table) 
--
CREATE TABLE AUD_VENPEDIDO
(
  AUDFECHA      DATE                            NOT NULL,
  AUDTRANS      CHAR(1)                         NOT NULL,
  AUDUSUARIO    VARCHAR2(30)                    NOT NULL,
  CIA           CHAR(3)                         NOT NULL,
  SUCURSAL      CHAR(3)                         NOT NULL,
  DOCUMENTO     NUMBER(10)                      NOT NULL,
  CLASE         CHAR(1)                         NOT NULL,
  TIPO          CHAR(3)                         NOT NULL,
  LINEA         CHAR(3),
  FECHA         DATE                            NOT NULL,
  VENCIMIENTO   DATE,
  AGENTEVENTA   VARCHAR2(3)                     NOT NULL,
  CLIENTE       VARCHAR2(25)                    NOT NULL,
  AUTORIZACION  NUMBER(10),
  NOMBRE        VARCHAR2(50)                    NOT NULL,
  ESTADO        CHAR(1)                         NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE AUD_VENPEDIDO
 ADD CONSTRAINT AUD_VENPEDIDO_TRANS_CK
 CHECK (audtrans in ('I','U','D'));

ALTER TABLE AUD_VENPEDIDO
 ADD CONSTRAINT AUD_VENPEDIDO_PK
 PRIMARY KEY
 (AUDFECHA, AUDTRANS, CIA, SUCURSAL, DOCUMENTO);

--
-- BANMAERES  (Table) 
--
CREATE TABLE BANMAERES
(
  COD_CIA        CHAR(3)                        NOT NULL,
  CUENTA         VARCHAR2(20)                   NOT NULL,
  SUCURSAL       CHAR(3)                        NOT NULL,
  COD_MONEDA     VARCHAR2(3)                    NOT NULL,
  COD_CTA        VARCHAR2(25)                   NOT NULL,
  DETALLE        VARCHAR2(30)                   NOT NULL,
  COD_BANCO      VARCHAR2(12)                   NOT NULL,
  SALDO_INI      NUMBER(13,2)                   NOT NULL,
  DEBMES         NUMBER(13,2)                   NOT NULL,
  CREMES         NUMBER(13,2)                   NOT NULL,
  INGPEN         NUMBER(13,2)                   NOT NULL,
  EGRPEN         NUMBER(13,2)                   NOT NULL,
  LIMITE         NUMBER(13,2)                   NOT NULL,
  SOBREGIRO      NUMBER(13,2)                   NOT NULL,
  SALBAN         NUMBER(13,2)                   NOT NULL,
  DEBBAN         NUMBER(13,2)                   NOT NULL,
  CREBAN         NUMBER(13,2)                   NOT NULL,
  CONSECUTIVO    NUMBER(10)                     NOT NULL,
  CHEQUE         NUMBER(10)                     NOT NULL,
  ENTREGA        CHAR(1)                        NOT NULL,
  CON_LINEA      CHAR(1)                        NOT NULL,
  PAG_LINEA      CHAR(1)                        NOT NULL,
  FORMA          CHAR(4)                        NOT NULL,
  ULTIMO_CIERRE  DATE                           NOT NULL,
  ESTADO         CHAR(1)                        NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE COM_HIST_ENCFAC
MODIFY(FECHA_VENCE  NOT NULL);

ALTER TABLE COM_HIST_ENCFAC
 DROP COLUMN NOM_ASIENTO;

ALTER TABLE COM_HIST_ENCNAC
 DROP COLUMN NOM_ASIENTO;

ALTER TABLE COM_HIST_ENCORD
MODIFY(NUM_ORDEN NUMBER(10));

ALTER TABLE COM_HIST_ENCREC
MODIFY(NUM_RECLAMO NUMBER(10));

ALTER TABLE COM_HIST_ENCREC
 DROP COLUMN NOM_ASIENTO;

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

--
-- DETALLELABOR_IE  (Table) 
--
CREATE TABLE DETALLELABOR_IE
(
  COLABORADOR  VARCHAR2(10)                     NOT NULL,
  PROYECTO     VARCHAR2(10)                     NOT NULL,
  FECHA        DATE                             NOT NULL,
  MODULO       CHAR(4)                          NOT NULL,
  OBJETO       CHAR(1)                          NOT NULL,
  NOMBRE       VARCHAR2(15)                     NOT NULL,
  TAREA        VARCHAR2(200)                    NOT NULL,
  HORAS        NUMBER(4,2)                      NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE DETALLELABOR_IE
 ADD CONSTRAINT DETALLELABOR_IE_OBJETO_CK
 CHECK (objeto in ('F','R','L','M','B','G','O'));

ALTER TABLE DETALLELABOR_IE
 ADD CONSTRAINT DETALLELABOR_IE_HORAS_CK
 CHECK (horas > 0);

ALTER TABLE DETALLELABOR_IE
 ADD CONSTRAINT DETALLELABOR_IE_PK
 PRIMARY KEY
 (COLABORADOR, PROYECTO, FECHA, MODULO, OBJETO, NOMBRE);

ALTER TABLE GENIMPBARRAS DROP COLUMN CANMTS;
ALTER TABLE GENIMPBARRAS ADD (CANMTS NUMBER(5,2));
-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE INV_ENCMOVDESP
MODIFY(NUM_DOCTO VARCHAR2(10));

ALTER TABLE INV_ENCMOVDESP
MODIFY(NUM_DESPACHO VARCHAR2(10));

ALTER TABLE INV_ENCSOLTRASLADO
MODIFY(NUM_DOCTO VARCHAR2(10));

ALTER TABLE INV_ENCSOLTRASLADO
MODIFY(NUM_DOCTOSAL VARCHAR2(10));

ALTER TABLE INV_MOVGRUPO
MODIFY(NUM_DOCTO VARCHAR2(10));

ALTER TABLE INV_MOVGRUPO
MODIFY(NUM_DOCTOGRP VARCHAR2(10));

-- Difference : Column Order (No action taken) 

ALTER TABLE INV_TOMAFIS
MODIFY(USUARIO  DEFAULT USER);

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

--
-- LICENCIABAK  (Table) 
--
CREATE TABLE LICENCIABAK
(
  CLIENTE     VARCHAR2(25)                      NOT NULL,
  FECHA       DATE                              NOT NULL,
  SERIE       NUMBER(10)                        NOT NULL,
  LICENCIA    VARCHAR2(25)                      NOT NULL,
  NOMBRE      VARCHAR2(40)                      NOT NULL,
  VALIDEZ     VARCHAR2(10)                      NOT NULL,
  ESTACIONES  NUMBER(4)
)
LOGGING 
NOCACHE
NOPARALLEL;

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE PLAPUESTO
MODIFY(DESCRIPCION  NOT NULL);

-- Difference : Column Order (No action taken) 

ALTER TABLE PPLPARAMETROS
MODIFY(TIP_DOC_INV  DEFAULT '07');

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE PREPARAMETRO
MODIFY(MONEDA_PRINCIPAL  DEFAULT 'CL');

-- Difference : Column Order (No action taken) 

ALTER TABLE PRYPARAMETROS
MODIFY(CIA  DEFAULT NULL);

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

--
-- REPETIDOS  (Table) 
--
CREATE TABLE REPETIDOS
(
  NUEVOCONCEPTO  VARCHAR2(15),
  REFERENCIA     VARCHAR2(25)                   NOT NULL,
  CONTEO         NUMBER
)
LOGGING 
NOCACHE
NOPARALLEL;

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE SEG_GRANTBAK DROP COLUMN NAME;
ALTER TABLE SEG_GRANTBAK DROP COLUMN LABEL;
ALTER TABLE SEG_GRANTBAK DROP COLUMN MNUNAME;

ALTER TABLE SEG_GRANTBAK ADD (NAME  VARCHAR2(32)  NOT NULL);
ALTER TABLE SEG_GRANTBAK ADD (LABEL VARCHAR2(64)  NOT NULL);
ALTER TABLE SEG_GRANTBAK ADD (MNUNAME VARCHAR2(32) NOT NULL);
-- Difference : Column Order (No action taken) 

ALTER TABLE SEG_OPCION
MODIFY(NOM_FORMA VARCHAR2(12));

ALTER TABLE SEG_OPCIONBAK DROP COLUMN NAME;
ALTER TABLE SEG_OPCIONBAK DROP COLUMN LABEL;
ALTER TABLE SEG_OPCIONBAK DROP COLUMN MNUNAME;

ALTER TABLE SEG_OPCIONBAK ADD (NAME  VARCHAR2(32)  NOT NULL);
ALTER TABLE SEG_OPCIONBAK ADD (LABEL VARCHAR2(64)  NOT NULL);
ALTER TABLE SEG_OPCIONBAK ADD (MNUNAME VARCHAR2(32) NOT NULL);
--
-- VBCATEGORIA  (Table) 
--
CREATE TABLE VBCATEGORIA
(
  CIA          CHAR(3)                          NOT NULL,
  BODEGA       CHAR(3)                          NOT NULL,
  CATEGORIA    CHAR(1)                          NOT NULL,
  DESCRIPCION  VARCHAR2(30)                     NOT NULL,
  LOTE         VARCHAR2(15)                     NOT NULL,
  DESCUENTO    NUMBER(5,2)                      NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE VBCATEGORIA
 ADD CONSTRAINT VBCATEGORIA_PK
 PRIMARY KEY
 (CIA, BODEGA, CATEGORIA);

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE VENCLASECLI
MODIFY(CATALOGO  DEFAULT '0');

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE VENEMPLEADO
MODIFY(USUARIO  DEFAULT user);

--
-- VENFACTURAENTREGA  (Table) 
--
CREATE TABLE VENFACTURAENTREGA
(
  CIA        CHAR(3)                            NOT NULL,
  SUCURSAL   CHAR(3)                            NOT NULL,
  DOCUMENTO  NUMBER(10)                         NOT NULL,
  FECHA      DATE                               NOT NULL,
  ESTADO     CHAR(1)                            NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE VENFACTURAENTREGA
 ADD CONSTRAINT VENFACTURAENT_ESTADO_CK
 CHECK (estado in ('O','C','N','L'));

ALTER TABLE VENFACTURAENTREGA
 ADD CONSTRAINT VENFACTURAENTREGA_PK
 PRIMARY KEY
 (CIA, SUCURSAL, DOCUMENTO);

ALTER TABLE VENFONDODET
MODIFY(INDICE NUMBER(8,2));

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

--
-- X  (Table) 
--
CREATE TABLE X
(
  X  VARCHAR2(10),
  Y  VARCHAR2(10)
)
LOGGING 
NOCACHE
NOPARALLEL;

--
-- XX  (Table) 
--
CREATE TABLE XX
(
  MODULO     VARCHAR2(10)                       NOT NULL,
  INSTANCIA  VARCHAR2(20)                       NOT NULL,
  CLAVE      VARCHAR2(20)                       NOT NULL,
  OBJETO     VARCHAR2(20)                       NOT NULL,
  VALOR      VARCHAR2(256)
)
LOGGING 
NOCACHE
NOPARALLEL;

--
-- Y  (Table) 
--
CREATE TABLE Y
(
  X  VARCHAR2(10),
  Y  VARCHAR2(10)
)
LOGGING 
NOCACHE
NOPARALLEL;

--
-- ACTUALIZA_EVENTO  (Trigger) 
--
CREATE OR REPLACE TRIGGER ACTUALIZA_EVENTO
AFTER INSERT OR DELETE ON VenEventoAlisto
FOR EACH ROW
Declare
   Eventos varchar2(18):=':AI:AT:C :EI:ET:T ';
   Function Pred(eve in varchar2) return varchar2 is
      Vpos number(2);
   begin
      Vpos:=InStr(Eventos, ':'||Eve);
      if Vpos>1 then
         return rtrim(substr(Eventos, Vpos-2, 2));
      else
         return null;
      end if;
   end;
   procedure Actualizar(Pcia in char, Psuc in char, Pdoc in number, Peve in varchar2) is
   Begin
      update venalisto
         Set ultEvento=Peve
      where cia=Pcia
        and sucursal=Psuc
        and documento=Pdoc;
   End;
BEGIN
   If Inserting Then
      Actualizar(:new.cia, :new.sucursal, :new.documento, :new.tipo);
   elsif Deleting then
      Actualizar(:old.cia, :old.sucursal, :old.documento, Pred(:old.tipo));
   end if;
END;
/
SHOW ERRORS;

--
-- ACUCOMUNIDAD  (Table) 
--
CREATE TABLE ACUCOMUNIDAD
(
  CIA            CHAR(3)                        NOT NULL,
  COMUNIDAD      VARCHAR2(5)                    NOT NULL,
  DESCRIPCION    VARCHAR2(30)                   NOT NULL,
  RUTA           NUMBER(3)                      NOT NULL,
  OBSERVACIONES  VARCHAR2(200),
  COD_PROVINCIA  CHAR(2)                        NOT NULL,
  COD_CANTON     CHAR(3)                        NOT NULL,
  COD_DISTRITO   CHAR(3)                        NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACUCOMUNIDAD
 ADD CONSTRAINT ACUCOMUNIDAD_PK
 PRIMARY KEY
 (CIA, COMUNIDAD);

--
-- ACUCONCEPTO  (Table) 
--
CREATE TABLE ACUCONCEPTO
(
  CIA          CHAR(3)                          NOT NULL,
  CONCEPTO     CHAR(3)                          NOT NULL,
  DESCRIPCION  VARCHAR2(30)                     NOT NULL,
  TIPO         CHAR(1)                          NOT NULL,
  IMPVENTA     NUMBER(5,2)                      NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACUCONCEPTO
 ADD CONSTRAINT ACUCONCEPTO_TIPO_CK
 CHECK (tipo in ('A','C','D','O'));

ALTER TABLE ACUCONCEPTO
 ADD CONSTRAINT ACUCONCEPTO_PK
 PRIMARY KEY
 (CIA, CONCEPTO);

ALTER TABLE BANMOV
MODIFY(MONTO NUMBER(14,2));

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE COM_HIST_DETNAC
MODIFY(COD_ARTICULO_FINAL  DEFAULT 'x');

-- Difference : Column Order (No action taken) 

ALTER TABLE COM_HIST_DETORD
MODIFY(NUM_ORDEN NUMBER(10));

ALTER TABLE COM_HIST_DETREC
MODIFY(NUM_RECLAMO NUMBER(10));

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE GEN_ENC_PRECIO
 DROP COLUMN COD_MONEDA;

-- Difference : Column Order (No action taken) 

ALTER TABLE INV_DETSOLTRASLADO
MODIFY(NUM_DOCTO VARCHAR2(10));

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE PLAPARAMETRO DROP COLUMN DIASPAGOVAC;

ALTER TABLE PLAPARAMETRO DROP COLUMN DIASAGUINALDO;

ALTER TABLE PLAPARAMETRO DROP COLUMN PORCSUBSIDIO;

ALTER TABLE PLAPARAMETRO DROP COLUMN MOVIMSS;

ALTER TABLE PLAPARAMETRO DROP COLUMN MOVIMPSAL;

ALTER TABLE PLAPARAMETRO DROP COLUMN MOVIMPNOMINA;

ALTER TABLE PLAPLANILLA
MODIFY(TIPOSALARIO  NOT NULL);

ALTER TABLE PLATEF
MODIFY(CUENTAEMPRESA  NOT NULL);

-- Difference : Column Order (No action taken) 

ALTER TABLE PRYTAR
MODIFY(FECSAT  NOT NULL);

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE COM_DOCUMENTO
MODIFY(CLASECOMPRA  NOT NULL);

-- Difference : Column Order (No action taken) 

ALTER TABLE COM_ENC_FACTURA
MODIFY(FECHA_VENCE  NOT NULL);

ALTER TABLE COM_ENC_FACTURA ADD(NUM_ASIENTO VARCHAR2(15));

ALTER TABLE COM_ENC_FAC_ORDEN
MODIFY(NUM_ORDEN NUMBER(10));

-- Difference : Column Order (No action taken) 

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

ALTER TABLE COM_ENC_ORDEN
MODIFY(NUM_ORDEN NUMBER(10));

-- Difference : Column Order (No action taken) 

ALTER TABLE COM_ENC_RECLAMO
MODIFY(NUM_RECLAMO NUMBER(10));

ALTER TABLE COM_ENC_RECLAMO
MODIFY(COD_MOVTO CHAR(3));

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

ALTER TABLE COM_EST_ORDEN
MODIFY(NUM_ORDEN NUMBER(10));

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE GEN_CLIENTE_CLASIF
MODIFY(USUARIO  DEFAULT user);

-- Difference : Column Order (No action taken) 

ALTER TABLE INV_ENCABMOVIMIENTO
MODIFY(NUM_DOCTO VARCHAR2(10));

-- Difference : Column Order (No action taken) 

ALTER TABLE INV_ENCABTRASLADO
MODIFY(NUM_DOCTO VARCHAR2(10));

ALTER TABLE INV_ENCABTRASLADO
MODIFY(NUM_DOCTOENT VARCHAR2(10));

ALTER TABLE INV_HIST_ENC_MOVTO
MODIFY(NUM_DOCTO VARCHAR2(10));

ALTER TABLE INV_HIST_ENC_MOVTO
MODIFY(ESTADO  NOT NULL);

-- Difference : Column Order (No action taken) 

ALTER TABLE INV_LOTE_ARTIC_BODEGA
MODIFY(COS_TOTAL NUMBER(14,4));

ALTER TABLE INV_MOVGRUPODET
MODIFY(LOTE  DEFAULT NULL);

-- Difference : Column Order (No action taken) 

ALTER TABLE PLAEMPLEADO
MODIFY(MONEDASALARIO  DEFAULT 'CL');

ALTER TABLE PLAEMPLEADO DROP COLUMN CURP;

-- Difference : Column Order (No action taken) 

ALTER TABLE PLAPROVEMP
MODIFY(FECHAREG  DEFAULT SYSDATE);

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE VENPEDIDO
MODIFY(CONSIGNATARIO  NULL);

-- Difference : Column Order (No action taken) 

--
-- ALERTACORREO  (Trigger) 
--
CREATE OR REPLACE TRIGGER AlertaCorreo
BEFORE INSERT ON VmlBandeja
FOR EACH ROW
BEGIN
   Dbms_Alert.Signal('VM'||:new.destino,'Tienes un correo');
END;
/
SHOW ERRORS;

--
-- AUD_VENPEDIDO  (Trigger) 
--
CREATE OR REPLACE TRIGGER AUD_VENPEDIDO
AFTER INSERT OR DELETE OR UPDATE OF cia, sucursal, documento,
                                    clase, linea, fecha, vencimiento, agenteventa,
                                    cliente, autorizacion, nombre, estado
      ON VenPedido
FOR EACH ROW
Declare
   procedure CreaPista(Vtrans in char) is
   begin
      if vtrans='D' then
         insert into aud_venpedido
             (audfecha, audtrans, audusuario, cia, sucursal, documento, clase, tipo,linea,
              fecha, vencimiento, agenteventa, cliente, autorizacion, nombre, estado)
             values (sysdate, 'D', User, :old.cia, :old.sucursal, :old.documento, :old.clase,
                     :old.tipo, :old.linea, :old.fecha, :old.vencimiento, :old.agenteventa,
                     :old.cliente, :old.autorizacion, :old.nombre, :old.estado);
      else
         insert into aud_venpedido
             (audfecha, audtrans, audusuario, cia, sucursal, documento, clase, tipo,linea,
              fecha, vencimiento, agenteventa, cliente, autorizacion, nombre, estado)
             values (sysdate, vtrans, User, :new.cia, :new.sucursal, :new.documento, :new.clase,
                     :new.tipo, :new.linea, :new.fecha, :new.vencimiento, :new.agenteventa,
                     :new.cliente, :new.autorizacion, :new.nombre, :new.estado);
      end if;
   end;
BEGIN
   If Inserting Then
      CreaPista('I');
   elsif Updating then
      CreaPista('U');
   elsif Deleting then
      CreaPista('D');
   end if;
END;
/
SHOW ERRORS;

--
-- PRYLABORCOBRABLEACTDET  (Trigger) 
--
CREATE OR REPLACE TRIGGER PRYLABORCOBRABLEACTDET
Before Insert or Update Of Proyecto, Tarea, Horas or Delete On PRYLABORCOBRABLE
For Each Row
Declare
   vLabor PryDetalleLabor.Labor%Type;
Begin
   If Inserting Then
      If :New.Control = 'S' Then
         Select Nvl(Max(Labor),0)+1
            Into vLabor
         From PryDetalleLabor
         Where Informe=:New.Informe
           And Fecha  =:New.Fecha;

         Insert Into PryDetalleLabor(Informe, Fecha, Labor, Proyecto, Modulo,
                            Referencia, Tarea, HorasPlan, HorasReal,
                                     LaborCobroRef)
                    Values(:New.Informe, :New.Fecha, vLabor, :New.Proyecto,
                                     Null, Null, :New.Tarea, 0,:New.Horas,
                                     :New.Labor);
      End If;
   Elsif Updating Then
      Update PryDetalleLabor
         Set Proyecto  = :New.Proyecto,
             Tarea     = :New.Tarea,
      HorasReal = :New.Horas
      Where Informe       = :New.Informe
        And Fecha         = :New.Fecha
        And LaborCobroRef = :New.Labor;
   Else
      Delete From PryDetalleLabor
      Where Informe       = :Old.Informe
        And Fecha         = :Old.Fecha
        And LaborCobroRef = :Old.Labor;
   End If;
End;
/
SHOW ERRORS;

--
-- ACUFACTURA  (Table) 
--
CREATE TABLE ACUFACTURA
(
  CIA          CHAR(3)                          NOT NULL,
  DOCUMENTO    NUMBER(10)                       NOT NULL,
  FECHA        DATE                             NOT NULL,
  DESCRIPCION  VARCHAR2(40),
  CLIENTE      VARCHAR2(25)                     NOT NULL,
  ESTADO       CHAR(1)                          NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACUFACTURA
 ADD CONSTRAINT ACUFACTURA_ESTADO_CK
 CHECK (estado in ('P','A','N'));

ALTER TABLE ACUFACTURA
 ADD CONSTRAINT ACUFACTURA_PK
 PRIMARY KEY
 (CIA, DOCUMENTO);

--
-- ACUMEDIDOR  (Table) 
--
CREATE TABLE ACUMEDIDOR
(
  CIA            CHAR(3)                        NOT NULL,
  MEDIDOR        NUMBER(5)                      NOT NULL,
  DESCRIPCION    VARCHAR2(30)                   NOT NULL,
  DIRECCION      VARCHAR2(60)                   NOT NULL,
  OBSERVACIONES  VARCHAR2(200),
  COMUNIDAD      VARCHAR2(5)                    NOT NULL,
  RUTA           NUMBER(3)                      NOT NULL,
  SECUENCIA      NUMBER(4),
  CLIENTE        VARCHAR2(25)                   NOT NULL,
  SERVICIO       CHAR(3)                        NOT NULL,
  ESTADO         CHAR(1)                        NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACUMEDIDOR
 ADD CONSTRAINT ACUMEDIDOR_SECUENCIA_CK
 CHECK (secuencia is null or (secuencia >= 0 ));

ALTER TABLE ACUMEDIDOR
 ADD CONSTRAINT ACUMEDIDOR_ESTADO_CK
 CHECK (estado in ('A','C','N'));

ALTER TABLE ACUMEDIDOR
 ADD CONSTRAINT ACUMEDIDOR_PK
 PRIMARY KEY
 (CIA, MEDIDOR);

--
-- ACUSOLICITUD  (Table) 
--
CREATE TABLE ACUSOLICITUD
(
  CIA            CHAR(3)                        NOT NULL,
  DOCUMENTO      NUMBER(10)                     NOT NULL,
  CLIENTE        VARCHAR2(25)                   NOT NULL,
  FECHA          DATE                           NOT NULL,
  SERVICIO       CHAR(3)                        NOT NULL,
  MEDIDOR        NUMBER(5),
  MONTO          NUMBER(14,2)                   NOT NULL,
  UBICACION      CHAR(1)                        NOT NULL,
  FINCA          VARCHAR2(30),
  ESCRITURA      VARCHAR2(30),
  PLANOCATASTRO  VARCHAR2(30),
  CARTAVENTA     VARCHAR2(30),
  OTROS          VARCHAR2(30),
  OBSERVACIONES  VARCHAR2(120),
  ESTADO         CHAR(1)                        NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACUSOLICITUD
 ADD CONSTRAINT ACUSOLICITUD_MONTO_CK
 CHECK (monto >= 0);

ALTER TABLE ACUSOLICITUD
 ADD CONSTRAINT ACUSOLICITUD_ESTADO_CK
 CHECK (estado in ('P','A','N'));

ALTER TABLE ACUSOLICITUD
 ADD CONSTRAINT ACUSOLICITUD_PK
 PRIMARY KEY
 (CIA, DOCUMENTO);

--
-- ACUTRANSACCION  (Table) 
--
CREATE TABLE ACUTRANSACCION
(
  CIA          CHAR(3)                          NOT NULL,
  DOCUMENTO    NUMBER(10)                       NOT NULL,
  FECHA        DATE                             NOT NULL,
  DESCRIPCION  VARCHAR2(40)                     NOT NULL,
  CONCEPTO     CHAR(3)                          NOT NULL,
  CLIENTE      VARCHAR2(25)                     NOT NULL,
  MONTO        NUMBER(14,2)                     NOT NULL,
  DESCUENTO    NUMBER(14,2)                     NOT NULL,
  SALDO        NUMBER(14,2)                     NOT NULL,
  ESTADO       CHAR(1)                          NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACUTRANSACCION
 ADD CONSTRAINT ACUTRANSACCION_MONTO_CK
 CHECK (monto >= 0);

ALTER TABLE ACUTRANSACCION
 ADD CONSTRAINT ACUTRANSACCION_DESCUENTO_CK
 CHECK (descuento >= 0);

ALTER TABLE ACUTRANSACCION
 ADD CONSTRAINT ACUTRANSACCION_SALDO_CK
 CHECK (saldo >= 0);

ALTER TABLE ACUTRANSACCION
 ADD CONSTRAINT ACUTRANSACCION_ESTADO_CK
 CHECK (estado in ('P','A','N'));

ALTER TABLE ACUTRANSACCION
 ADD CONSTRAINT ACUTRANSACCION_PK
 PRIMARY KEY
 (CIA, DOCUMENTO);

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE COM_CONSECUTIVO
MODIFY(CONSEC_ORDEN NUMBER(10));

ALTER TABLE COM_CONSECUTIVO
MODIFY(CONSEC_SOLICITUD NUMBER(10));

ALTER TABLE COM_CONSECUTIVO
MODIFY(CONSEC_RECLAMO NUMBER(10));

ALTER TABLE COM_CONSECUTIVO
MODIFY(CONSEC_RECNAC NUMBER(10));

ALTER TABLE COM_CONSECUTIVO
MODIFY(CONSEC_NACIO NUMBER(10));

-- Difference : Column Order (No action taken) 

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

-- Difference : Column Order (No action taken) 

ALTER TABLE COM_DET_ORDEN
MODIFY(NUM_ORDEN NUMBER(10));

ALTER TABLE COM_DET_RECLAMO
MODIFY(NUM_RECLAMO NUMBER(10));

ALTER TABLE COM_ENC_RECIBO ADD NUM_ASIENTO VARCHAR2(15);

ALTER TABLE COM_ENC_SOLICITUD
MODIFY(NUM_SOLICITUD NUMBER(10));

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE INV_DETMOVIMIENTO
MODIFY(NUM_DOCTO VARCHAR2(10));

ALTER TABLE INV_HIST_DET_MOVTO
MODIFY(NUM_DOCTO VARCHAR2(10));

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Validity: No action taken

--
-- VENCIESURTIDOR  (Trigger) 
--
CREATE OR REPLACE TRIGGER VENCIESURTIDOR
AFTER INSERT ON VencieSurtidor
FOR EACH ROW
BEGIN
  update Vensurtidor
  set lectura    = :New.lectura
  where cia      = :New.cia
  and   surtidor = :New.surtidor
  and   articulo = :new.articulo;
END;
/
SHOW ERRORS;

-- Difference : Column Order (No action taken) 

--
-- ACUASIGNACION  (Table) 
--
CREATE TABLE ACUASIGNACION
(
  CIA       CHAR(3)                             NOT NULL,
  MEDIDOR   NUMBER(5)                           NOT NULL,
  FECHA     DATE                                NOT NULL,
  CLIENTE   VARCHAR2(25)                        NOT NULL,
  SERVICIO  CHAR(3)                             NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACUASIGNACION
 ADD CONSTRAINT ACUASIGNACION_PK
 PRIMARY KEY
 (CIA, MEDIDOR, FECHA);

--
-- ACUDETFACTURA  (Table) 
--
CREATE TABLE ACUDETFACTURA
(
  CIA         CHAR(3)                           NOT NULL,
  DOCUMENTO   NUMBER(10)                        NOT NULL,
  LINEA       NUMBER(3)                         NOT NULL,
  CONCEPTO    CHAR(3)                           NOT NULL,
  REFERENCIA  NUMBER(10)                        NOT NULL,
  SUBTOTAL    NUMBER(14,2)                      NOT NULL,
  DESCUENTO   NUMBER(14,2)                      NOT NULL,
  IMPUESTO    NUMBER(14,2)                      NOT NULL,
  MULTA       NUMBER(14,2)                      NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACUDETFACTURA
 ADD CONSTRAINT ACUDETFACTURA_SUBTOTAL_CK
 CHECK (subtotal >= 0);

ALTER TABLE ACUDETFACTURA
 ADD CONSTRAINT ACUDETFACTURA_DESCUENTO_CK
 CHECK (descuento >= 0);

ALTER TABLE ACUDETFACTURA
 ADD CONSTRAINT ACUDETFACTURA_IMPUESTO_CK
 CHECK (impuesto >= 0);

ALTER TABLE ACUDETFACTURA
 ADD CONSTRAINT ACUDETFACTURA_MULTA_CK
 CHECK (multa >= 0);

ALTER TABLE ACUDETFACTURA
 ADD CONSTRAINT ACUDETFACTURA_PK
 PRIMARY KEY
 (CIA, DOCUMENTO, LINEA);

--
-- ACULECTURA  (Table) 
--
CREATE TABLE ACULECTURA
(
  CIA          CHAR(3)                          NOT NULL,
  DOCUMENTO    NUMBER(10)                       NOT NULL,
  PERIODO      NUMBER(6)                        NOT NULL,
  FECHA        DATE                             NOT NULL,
  VENCIMIENTO  DATE                             NOT NULL,
  MEDIDOR      NUMBER(5)                        NOT NULL,
  CLIENTE      VARCHAR2(25)                     NOT NULL,
  SERVICIO     CHAR(3)                          NOT NULL,
  ACTUAL       NUMBER(7)                        NOT NULL,
  ANTERIOR     NUMBER(7)                        NOT NULL,
  MONTO        NUMBER(14,2)                     NOT NULL,
  FACTURA      NUMBER(10),
  ESTADO       CHAR(1)                          NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;

ALTER TABLE ACULECTURA
 ADD CONSTRAINT ACULECTURA_ACTUAL_CK
 CHECK (actual >= 0);

ALTER TABLE ACULECTURA
 ADD CONSTRAINT ACULECTURA_ANTERIOR_CK
 CHECK (anterior >= 0);

ALTER TABLE ACULECTURA
 ADD CONSTRAINT ACULECTURA_MONTO_CK
 CHECK (monto >= 0);

ALTER TABLE ACULECTURA
 ADD CONSTRAINT ACULECTURA_ESTADO_CK
 CHECK (estado in ('P','A','N'));

ALTER TABLE ACULECTURA
 ADD CONSTRAINT ACULECTURA_PK
 PRIMARY KEY
 (CIA, DOCUMENTO);

ALTER TABLE ACULECTURA
 ADD CONSTRAINT ACULECTURA_MEDIDOR_AK
 UNIQUE (CIA, MEDIDOR, PERIODO);

ALTER TABLE COM_DET_FAC_ORDEN
MODIFY(NUM_ORDEN NUMBER(10));

-- Difference : Column Order (No action taken) 

ALTER TABLE COM_DET_RECIBO
MODIFY(COD_ARTICULO_FINAL  NOT NULL);

-- Difference : Column Order (No action taken) 

ALTER TABLE COM_DET_SOLICITUD
MODIFY(NUM_SOLICITUD NUMBER(10));

ALTER TABLE COM_DET_SOLICITUD
MODIFY(NUM_ORDEN NUMBER(10));

ALTER TABLE INV_DETMOVDESP
MODIFY(NUM_DOCTO VARCHAR2(10));

ALTER TABLE INV_DETMOVDESP
MODIFY(NUM_DESPACHO VARCHAR2(10));

-- Difference : Column Order (No action taken) 

ALTER TABLE PLADEDUCEMP
MODIFY(FECHAREG  DEFAULT SYSDATE);

ALTER TABLE PLADEVENEMP
MODIFY(FECHAREG  DEFAULT SYSDATE);

ALTER TABLE PLATARIFALABOR
MODIFY(FECHAREG  DEFAULT SYSDATE);

ALTER TABLE PLASALARIO
MODIFY(FECHAREG  DEFAULT SYSDATE);

ALTER TABLE PLAPROVEMP
MODIFY(FECHAREG  DEFAULT SYSDATE);

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE PLADETTURNO
MODIFY(DIA  DEFAULT ‘0’);

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

-- Difference : Column Order (No action taken) 

ALTER TABLE BANLIN
 DROP CONSTRAINT BANLIN_TIPO_CK;
ALTER TABLE BANLIN
 ADD CONSTRAINT BANLIN_TIPO_CK CHECK (TIPO IN ('BAN','CNT','FEC','FLN','BEN','LET','MON','DBC','CRC','LUG','DET','DCN','COD','HEC','REV','CHE','CON','ROT','CCO'));

ALTER TABLE COMLOGCXP DROP CONSTRAINT COM_LOGCXP_IND_CXP_CK;
ALTER TABLE COMLOGCXP ADD CONSTRAINT COMLOGCXP_IND_CXP_CK CHECK (IND_CXP IN ('M','N'));

ALTER TABLE COMLOGCXP DROP CONSTRAINT COM_LOGCXP_ESTADO_CK;
ALTER TABLE COMLOGCXP
 ADD CONSTRAINT COMLOGCXP_ESTADO_CK CHECK (ESTADO IN ('P','A'));

ALTER TABLE CXP_PARAMETRO DROP CONSTRAINT CXP_PARAMETRO_IND_CONPEL;
ALTER TABLE CXP_PARAMETRO ADD CONSTRAINT CXP_PARAMETRO_IND_CONPEL_CK CHECK (IND_CON_PEL IN ('S','N'));

ALTER TABLE EST_PROVEEDOR_TMP
 DROP CONSTRAINT ESTPROVEEDORTMP_MONDEVUELTO_CK;
ALTER TABLE EST_PROVEEDOR_TMP
 ADD CONSTRAINT ESTPROVEEDORTMP_MONDEVUELTO_CK
 CHECK (MON_DEVUELTO >= 0);

ALTER TABLE INV_ENCMOVDESP
 DROP CONSTRAINT INV_ENCMOVDESP_ESTADO_CK;
ALTER TABLE INV_ENCMOVDESP
 ADD CONSTRAINT INV_ENCMOVDESP_ESTADO_CK CHECK (ESTADO IN ('P','D','A'));

ALTER TABLE INV_TOMAFIS DROP CONSTRAINT SYS_C0033650;

ALTER TABLE PLAPUESTO DROP CONSTRAINT PLAPUESTO_MESESPROMEXTRAS_CK;
ALTER TABLE PLAPUESTO ADD
CONSTRAINT PLAPUESTO_MESESPROME_CK CHECK 
(MESESPROMEXTRAS IS NULL OR (MESESPROMEXTRAS >= 1 ));

ALTER TABLE PPLEXISTE DROP CONSTRAINT ASIGNADO_CK;
ALTER TABLE PPLEXISTE
 ADD CONSTRAINT PPLEXISTE_ASIGNADO_CK CHECK (ASIGNADO <= EXISTE);

ALTER TABLE PRELISTAMON DROP CONSTRAINT SYS_C0034694;

ALTER TABLE RHREQPUESTO
 DROP CONSTRAINT RHREQPUESTO_TIPO_CK;
ALTER TABLE RHREQPUESTO
 ADD CONSTRAINT RHREQPUESTO_TIPO_CK CHECK (TIPO IN ('O','P'));

ALTER TABLE INV_DETTOMAFIS DROP CONSTRAINT SYS_C0033374;    
--- ADD CHECK (conteo1>=0);

ALTER TABLE INV_DETTOMAFIS DROP CONSTRAINT SYS_C0033375;    
--- ADD CHECK (conteo2>=0);

ALTER TABLE INV_DETTOMAFIS DROP CONSTRAINT SYS_C0033376;    
--- ADD CHECK (conteo3>=0);

ALTER TABLE COM_PARAMETRO DROP CONSTRAINT COMPARAMETRO_ORDENFS_CK;
ALTER TABLE COM_PARAMETRO ADD CONSTRAINT COM_PARAMETRO_ORDENFALSO_CK CHECK (ORDENFALSOB IN ('F','S','A','N'));

ALTER TABLE COM_PARAMETRO DROP CONSTRAINT COMPARAMETRO_RECIBOMER_CK;
ALTER TABLE COM_PARAMETRO  ADD CONSTRAINT COM_PARAMETRO_RECIBOMER_CK CHECK (RECIBOMER IN ('P','N','O'));

ALTER TABLE COM_PARAMETRO DROP CONSTRAINT IND_LIBRO_PRECIO_COMP_CK;
ALTER TABLE COM_PARAMETRO ADD CONSTRAINT COM_PARAMETRO_IND_LIBRO_CK CHECK (IND_LIBRO_PRECIO IN ('S','N'));

ALTER TABLE COM_PARAMETRO DROP CONSTRAINT IND_REQUIERE_OC_COMPA_CK;
ALTER TABLE COM_PARAMETRO ADD CONSTRAINT COM_PARAMETRO_IND_REQUIE_CK CHECK (IND_REQUIERE_OC IN ('S','N'));

ALTER TABLE COM_PARAMETRO DROP CONSTRAINT IND_VALIDA_CODBAR_COMPAR_CK;
ALTER TABLE COM_PARAMETRO  ADD CONSTRAINT COM_PARAMETRO_IND_VALIDA_CK CHECK (IND_VALIDA_CODBAR IN ('S','N'));

ALTER TABLE INV_TABLADESC DROP CONSTRAINT INV_TABLADESC_PORCENTAJE_CK;
ALTER TABLE INV_TABLADESC ADD CONSTRAINT INV_TABLADESC_PORCENTAJE_CK CHECK (PORCENTAJE >= 0);

ALTER TABLE COM_ENC_RECIBO DROP CONSTRAINT COM_ENC_NACINALIZA_ESTADO_CK2;
ALTER TABLE COM_ENC_RECIBO ADD CONSTRAINT COM_ENC_RECIBO_ESTADO_CK CHECK (ESTADO IN ('P','A','N'));

ALTER TABLE INV_ACUM_PERIODO DROP CONSTRAINT INV_CONCEPMOVTO_CLASE_MOVTO_CK;

ALTER TABLE INV_ACUM_PERIODO ADD CONSTRAINT INV_ACUM_PERIODO_CLASE_MOVT_CK CHECK (CLASE_MOVTO IN ('EI','EC','ED','EA','ET','EO','SV','ST','SD','SA','SR'));

ALTER TABLE PLACCOSTOEMP DROP CONSTRAINT PLACCOSTOEMP_PORCENTAJE_CK;
ALTER TABLE PLACCOSTOEMP
 ADD CONSTRAINT PLACCOSTOEMP_PORCENTAJE_CK CHECK (PORCENTAJE >= 0);

ALTER TABLE COM_DET_SOLICITUD DROP CONSTRAINT COM_DET_SOLICITUD_CANTAUTOR_CK;
ALTER TABLE COM_DET_SOLICITUD
 ADD CONSTRAINT COM_DET_SOLICITUD_CANTAUTOR_CK CHECK (CANT_AUTORIZADA IS NULL OR (CANT_AUTORIZADA >= 0 ));

ALTER TABLE PLALABORESTRAB DROP CONSTRAINT PLALABORESTRAB_CANTIDAD_CK;
ALTER TABLE PLALABORESTRAB
 ADD CONSTRAINT PLALABORESTRAB_CANTIDAD_CK CHECK (CANTIDAD >= 1);

ALTER TABLE ACUSERVICIO
 ADD CONSTRAINT ACUPARAMETRO_SERVICIO_FK 
 FOREIGN KEY (CIA) 
 REFERENCES ACUPARAMETRO (CIA);

ALTER TABLE ACUTARIFA
 ADD CONSTRAINT ACUSERVICIO_TARIFA_FK 
 FOREIGN KEY (CIA, SERVICIO) 
 REFERENCES ACUSERVICIO (CIA,SERVICIO);

ALTER TABLE ACUCOMUNIDAD
 ADD CONSTRAINT ACURUTA_COMUNIDAD_FK 
 FOREIGN KEY (CIA, RUTA) 
 REFERENCES ACURUTA (CIA,RUTA);

ALTER TABLE ACUCONCEPTO
 ADD CONSTRAINT ACUPARAMETRO_CONCEPTO_FK 
 FOREIGN KEY (CIA) 
 REFERENCES ACUPARAMETRO (CIA);

ALTER TABLE ACUFACTURA
 ADD CONSTRAINT GENCLIENTE_ACUFACTURA_FK 
 FOREIGN KEY (CIA, CLIENTE) 
 REFERENCES GEN_CLIENTE (COD_CIA,COD_CLIENTE);

ALTER TABLE ACUMEDIDOR
 ADD CONSTRAINT ACUCOMUNIDAD_MEDIDOR_FK 
 FOREIGN KEY (CIA, COMUNIDAD) 
 REFERENCES ACUCOMUNIDAD (CIA,COMUNIDAD);

ALTER TABLE ACUMEDIDOR
 ADD CONSTRAINT ACURUTA_MEDIDOR_FK 
 FOREIGN KEY (CIA, RUTA) 
 REFERENCES ACURUTA (CIA,RUTA);

ALTER TABLE ACUMEDIDOR
 ADD CONSTRAINT ACUSERVICIO_MEDIDOR_FK 
 FOREIGN KEY (CIA, SERVICIO) 
 REFERENCES ACUSERVICIO (CIA,SERVICIO)
    ON DELETE CASCADE;

ALTER TABLE ACUMEDIDOR
 ADD CONSTRAINT GENCLIENTE_ACUMEDIDOR_FK 
 FOREIGN KEY (CIA, CLIENTE) 
 REFERENCES GEN_CLIENTE (COD_CIA,COD_CLIENTE);

ALTER TABLE ACUSOLICITUD
 ADD CONSTRAINT ACUPARAMETRO_SOLICITUD_FK 
 FOREIGN KEY (CIA) 
 REFERENCES ACUPARAMETRO (CIA);

ALTER TABLE ACUSOLICITUD
 ADD CONSTRAINT GENCLIENTE_ACUSOLICITUD_FK 
 FOREIGN KEY (CIA, CLIENTE) 
 REFERENCES GEN_CLIENTE (COD_CIA,COD_CLIENTE);

ALTER TABLE ACUTRANSACCION
 ADD CONSTRAINT ACUCONCEPTO_TRANSACCION_FK 
 FOREIGN KEY (CIA, CONCEPTO) 
 REFERENCES ACUCONCEPTO (CIA,CONCEPTO);

ALTER TABLE ACUTRANSACCION
 ADD CONSTRAINT GENCLIENTE_ACUTRANSACC_FK 
 FOREIGN KEY (CIA, CLIENTE) 
 REFERENCES GEN_CLIENTE (COD_CIA,COD_CLIENTE);

ALTER TABLE ACUASIGNACION
 ADD CONSTRAINT ACUMEDIDOR_ASIGNACION_FK 
 FOREIGN KEY (CIA, MEDIDOR) 
 REFERENCES ACUMEDIDOR (CIA,MEDIDOR);

ALTER TABLE ACUASIGNACION
 ADD CONSTRAINT ACUSERVICIO_ASIGNACION_FK 
 FOREIGN KEY (CIA, SERVICIO) 
 REFERENCES ACUSERVICIO (CIA,SERVICIO);

ALTER TABLE ACUDETFACTURA
 ADD CONSTRAINT ACUFACTURA_DETFACTURA_FK 
 FOREIGN KEY (CIA, DOCUMENTO) 
 REFERENCES ACUFACTURA (CIA,DOCUMENTO);

ALTER TABLE ACULECTURA
 ADD CONSTRAINT ACUFACTURA_LECTURA_FK 
 FOREIGN KEY (CIA, FACTURA) 
 REFERENCES ACUFACTURA (CIA,DOCUMENTO);

ALTER TABLE ACULECTURA
 ADD CONSTRAINT ACUMEDIDOR_LECTURA_FK 
 FOREIGN KEY (CIA, MEDIDOR) 
 REFERENCES ACUMEDIDOR (CIA,MEDIDOR);

ALTER TABLE ACULECTURA
 ADD CONSTRAINT ACUSERVICIO_LECTURA_FK 
 FOREIGN KEY (CIA, SERVICIO) 
 REFERENCES ACUSERVICIO (CIA,SERVICIO);

ALTER TABLE ACULECTURA
 ADD CONSTRAINT GENCLIENTE_ACULECTURA_FK 
 FOREIGN KEY (CIA, CLIENTE) 
 REFERENCES GEN_CLIENTE (COD_CIA,COD_CLIENTE);

**no
ALTER TABLE VMLCORREO
 ADD CONSTRAINT VMLUSUARIO_CORREODESTINO_FK 
 FOREIGN KEY (DESTINO) 
 REFERENCES VMLUSUARIO (USUARIO);
ALTER TABLE VMLCORREO
DROP CONSTRAINT VMLUSUARIO_CORREODESTINO_FK 

ALTER TABLE VENSURTIDOR
 ADD CONSTRAINT CAJA_VENSURTIDOR_FK 
 FOREIGN KEY (CIA, CAJA) 
 REFERENCES CAJA (CIA,CAJA);

**no
ALTER TABLE VMLCOPIAS
 ADD CONSTRAINT VMLUSUARIO_COPIAS_FK 
 FOREIGN KEY (DESTINO) 
 REFERENCES VMLUSUARIO (USUARIO);
ALTER TABLE VMLCOPIAS
DROP CONSTRAINT VMLUSUARIO_COPIAS_FK ;

ALTER TABLE VENCIESURTIDOR
   ADD CONSTRAINT VENCIERRE_CIESURTIDOR_FK FOREIGN KEY (CIA, CAJA, DIA)
      REFERENCES VENCIERRE (CIA, CAJA, DIA);

ALTER TABLE VENCIESURTIDOR DROP CONSTRAINT VENCIERRE_SURTIDOR_FK;
ALTER TABLE VENCIESURTIDOR
ADD CONSTRAINT VENSURTIDOR_CIESURTIDOR_FK 
FOREIGN KEY (CIA, SURTIDOR)
REFERENCES VENSURTIDOR (CIA, SURTIDOR);