--------------------------------------------------------------------------
-- 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.                                    --
---DROP CONSTRAINT CXCPERFIL_MINSALDOVE_CK;
ALTER TABLE CXCPERFIL add 
CONSTRAINT CXCPERFIL_MINSALDOVE_CK CHECK (MINSALDOVENCE >= 0);

---DROP CONSTRAINT CXCPERFIL_MULTACHKDE_CK;
ALTER TABLE CXCPERFIL add 
CONSTRAINT CXCPERFIL_MULTACHKDE_CK CHECK (MULTACHKDEV >= 0);

--- DROP CONSTRAINT CXC_AUTORIZA_MONTO_CK;
ALTER TABLE CXC_AUTORIZACION add 
CONSTRAINT CXC_AUTORIZA_MONTO_CK CHECK (MONTO >= 0);

--- DROP CONSTRAINT CXCCREDITO_AUTORIZA_FK;
ALTER TABLE CXC_AUTORIZACION 
ADD CONSTRAINT CXCCREDITO_AUTORIZA_FK
FOREIGN KEY (COD_CIA, LINEA, COD_CLIENTE)
REFERENCES CXC_CREDITO (COD_CIA, LINEA, COD_CLIENTE);

---- DROP CONSTRAINT CXCENCPAGONOTA_CHKS_FK;
ALTER TABLE CXC_CHEQUES
ADD CONSTRAINT CXCENCPAGONOTA_CHKS_FK 
FOREIGN KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC)
REFERENCES CXC_ENC_PAGO_NOTA (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC);

---- DROP CONSTRAINT GENCLIENTE_CLICOMISION_FK;
ALTER TABLE CXC_CLICOMISION
ADD CONSTRAINT GENCLIENTE_CLICOMISION_FK 
FOREIGN KEY (COD_CIA, COD_CLIENTE)
REFERENCES GEN_CLIENTE (COD_CIA, COD_CLIENTE);

---- DROP CONSTRAINT CXCCREDITO_CLIEPER_FK;
ALTER TABLE CXC_CLIENTE_PERSONA
ADD CONSTRAINT CXCCREDITO_CLIEPER_FK 
FOREIGN KEY (COD_CIA, LINEA, COD_CLIENTE)
REFERENCES CXC_CREDITO (COD_CIA, LINEA, COD_CLIENTE);

---- DROP CONSTRAINT CXCENCAGECXCTMP_DETAGE_FK;
ALTER TABLE CXC_DETAGECXCTMP
ADD CONSTRAINT CXCENCAGECXCTMP_DETAGE_FK 
FOREIGN KEY (COD_CIA, COD_AGENTE, FECHA)
REFERENCES CXC_ENCAGECXCTMP (COD_CIA, COD_AGENTE, FECHA);

---- DROP CONSTRAINT CXCDOCUMENTO_DOCTOCLIENTE_FK;
ALTER TABLE CXC_DOCUMENTO_CLIENTE
ADD CONSTRAINT CXCDOCUMENTO_DOCTOCLIENTE_FK 
FOREIGN KEY (TIP_DOC)
REFERENCES CXC_DOCUMENTO (TIP_DOC);

ALTER TABLE CXC_PAGO_CCSS
 drop PRIMARY KEY cascade;
ALTER TABLE CXC_PAGO_CCSS
add CONSTRAINT CXC_PAGO_CCSS_PK PRIMARY KEY (COD_CIA, SUCURSAL, COD_CLIENTE, TIP_DOC);

ALTER TABLE CXC_CLICOM_COBRO
 DROP PRIMARY KEY CASCADE;
ALTER TABLE CXC_CLICOM_COBRO
 ADD CONSTRAINT CXC_CLICOM_COBRO_PK PRIMARY KEY (COD_CIA, SUCURSAL, COD_AGENTE, COD_CLIENTE, ANO_FISCAL, PER_PROCESO, COD_COMISION);

ALTER TABLE CXC_LINEA DROP CONSTRAINT CXC_LINEA_TIPCAL_INT_CK;
ALTER TABLE CXC_LINEA ADD CONSTRAINT CXC_LINEA_TIPCAL_INTERES_CK CHECK (TIPCAL_INTERES IN ('C','P'));

ALTER TABLE CXC_ENC_PAGO_NOTA
DROP CONSTRAINT CXCENCPAGONOTA_CLIENTE_FK;
ALTER TABLE CXC_ENC_PAGO_NOTA
ADD CONSTRAINT GENCLIENTE_CXCENCPAGONOTA_FK 
FOREIGN KEY (COD_CIA, COD_CLIENTE)
REFERENCES GEN_CLIENTE (COD_CIA, COD_CLIENTE);

ALTER TABLE CXC_ENC_MOVIMIENTO
DROP CONSTRAINT CXCENCMOVIMIENTO_CLIENTE_FK;
ALTER TABLE CXC_ENC_MOVIMIENTO
ADD CONSTRAINT GENCLIENTE_CXCENCMOVIMIENTO_FK 
FOREIGN KEY (COD_CIA, COD_CLIENTE)
REFERENCES GEN_CLIENTE (COD_CIA, COD_CLIENTE); 

ALTER TABLE CXC_RECAGTMP
 DROP CONSTRAINT CXC_RECAGETMP_PK;
ALTER TABLE CXC_RECAGTMP
ADD CONSTRAINT CXC_RECAGTMP_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, COD_AGENTE, INICIAL, DOCUMENTO);

ALTER TABLE CXC_PARAMETRO
 DROP COLUMN IND_ASIENTO_AUTOMATICO;

ALTER TABLE CREANUL
ADD CONSTRAINT CREAFIL_ANUL_FK FOREIGN KEY (CIA, AFILIADO)
REFERENCES CREAFIL (CIA, AFILIADO);

ALTER TABLE CREANUL
ADD CONSTRAINT CREOPER_ANUL_FK FOREIGN KEY (CIA, AFILIADO, VENTA)
REFERENCES CREOPER (CIA, AFILIADO, CONSECUTIVO);

ALTER TABLE CREOPER
   ADD CONSTRAINT CREAFIL_OPER_FK FOREIGN KEY (CIA, AFILIADO)
      REFERENCES CREAFIL (CIA, AFILIADO);

ALTER TABLE CREOPER
   ADD CONSTRAINT CREPARAM_OPER_FK FOREIGN KEY (CIA, LINEA)
      REFERENCES CREPARAM (CIA, LINEA);