/**************************************/ /* TPERSONAMONTOMAXIMOTRANSFER */ /**************************************/ DROP TABLE TPERSONAMONTOMAXIMOTRANSFER; CREATE TABLE TPERSONAMONTOMAXIMOTRANSFER ( "CPERSONA" NUMBER(8,0) NOT NULL, "CPERSONA_COMPANIA" NUMBER(8,0) NOT NULL, "CFRECUENCIA" NUMBER(2) NOT NULL, "CMONEDA" VARCHAR2(3), "FHASTA" TIMESTAMP (6) NOT NULL, "FDESDE" TIMESTAMP (6) NOT NULL, "MONTOMAXIMO" NUMBER(19,2), "MOVIMIENTOS" NUMBER(22,0) DEFAULT 0, "VERSIONCONTROL" NUMBER(22,0) DEFAULT 0, CONSTRAINT "IPKPERMONMAXTRA" PRIMARY KEY ("CPERSONA", "CPERSONA_COMPANIA", "CFRECUENCIA", "CMONEDA", "FHASTA"), CONSTRAINT "FKPERMONMAXTRAPER" FOREIGN KEY ("CPERSONA") REFERENCES "TPERSONAID" ("CPERSONA") ENABLE, CONSTRAINT "FKPERMONMAXTRAMON" FOREIGN KEY ("CMONEDA") REFERENCES "TMONEDASID" ("CMONEDA") ENABLE, CONSTRAINT "FKPERMONMAXTRACOM" FOREIGN KEY ("CPERSONA_COMPANIA") REFERENCES "TPERSONAID" ("CPERSONA") ENABLE, CONSTRAINT "FKPERMONMAXTRAFRE" FOREIGN KEY ("CFRECUENCIA") REFERENCES "TFRECUENCIASID" ("CFRECUENCIA") ENABLE ); COMMENT ON TABLE TPERSONAMONTOMAXIMOTRANSFER IS 'Monto de transferencia máxima según frecuencia (mensual, diaria, etc.) por persona'; COMMENT ON COLUMN TPERSONAMONTOMAXIMOTRANSFER.CPERSONA IS 'Código de la persona'; COMMENT ON COLUMN TPERSONAMONTOMAXIMOTRANSFER.CPERSONA_COMPANIA IS 'Código de la compania'; COMMENT ON COLUMN TPERSONAMONTOMAXIMOTRANSFER.CFRECUENCIA IS 'Frecuencia para transferencias'; COMMENT ON COLUMN TPERSONAMONTOMAXIMOTRANSFER.CMONEDA IS 'Moneda usada para la transferencia'; COMMENT ON COLUMN TPERSONAMONTOMAXIMOTRANSFER.FHASTA IS 'Fecha hasta la que estan vigentes los montos máximos de transferencias por personas'; COMMENT ON COLUMN TPERSONAMONTOMAXIMOTRANSFER.FDESDE IS 'Fecha desde la que estan vigentes los montos máximos de transferencias por personas'; COMMENT ON COLUMN TPERSONAMONTOMAXIMOTRANSFER.MONTOMAXIMO IS 'Monto máximo de transferencias que puede realizar una persona en una frecuencia dada'; COMMENT ON COLUMN TPERSONAMONTOMAXIMOTRANSFER.MOVIMIENTOS IS 'Numero de transferencias que realiza una persona en una frecuencia dada'; COMMENT ON COLUMN TPERSONAMONTOMAXIMOTRANSFER.VERSIONCONTROL IS 'Manejo de optimistic loking'; /**************************************/ /* TPERSONABENEFICIARIOSTRANSFER */ /**************************************/ CREATE TABLE TPERSONABENEFICIARIOSTRANSFER ( CPERSONA INTEGER NOT NULL, FHASTA TIMESTAMP NOT NULL, FDESDE TIMESTAMP NOT NULL, VERSIONCONTROL NUMBER(22) DEFAULT 0, IDENTIFICACIONBENEFICIARIO VARCHAR2(20) NOT NULL, CUENTABENEFICIARIO VARCHAR2(30) NOT NULL, MONTOMAXIMO NUMBER(19,2), ACUMULADO NUMBER(19,2), FULTIMATRANSFERENCIA TIMESTAMP, CPERSONA_EMPRESABANCARIA INTEGER, TIPOCUENTA VARCHAR2(3), CMONEDA VARCHAR2(3), NOMBRE VARCHAR2(200), TELEFONO VARCHAR2(30), EMAIL VARCHAR2(200), ZONARUTATRANSITO VARCHAR2(30), MONTOMAXIMOMENSUAL NUMBER(19,2), ACUMULADOMENSUAL NUMBER(19,2), CONSTRAINT IPKPERBENEFTRANSFER PRIMARY KEY (CPERSONA, IDENTIFICACIONBENEFICIARIO, CUENTABENEFICIARIO, FHASTA), CONSTRAINT FKPERBENTRAPERS FOREIGN KEY (CPERSONA) REFERENCES TPERSONAID (CPERSONA), CONSTRAINT CKTIPOCUENTA CHECK (TIPOCUENTA IN ('AH', 'CO', 'TC')), CONSTRAINT FKPERBENTRAMON FOREIGN KEY (CMONEDA) REFERENCES TMONEDASID (CMONEDA), CONSTRAINT FKPERBENTRAPERSBAN FOREIGN KEY (CPERSONA_EMPRESABANCARIA) REFERENCES TPERSONAID (CPERSONA), CONSTRAINT FKPERBENTRAZONRUTTRA FOREIGN KEY (ZONARUTATRANSITO) REFERENCES TZONASRUTATRANSITOID (ZONARUTATRANSITO), CONSTRAINT CKZONARUTATRANSITO CHECK (ZONARUTATRANSITO IN ('LOCAL', 'EXTERIOR')) ); COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.MONTOMAXIMOMENSUAL IS 'Monto Maximo Mensual a transferir'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.ACUMULADOMENSUAL IS 'Valor transferido en el mes'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.CPERSONA IS 'Identificador de la persona'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.FHASTA IS 'Fecha caducidad'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.FDESDE IS 'Fecha ingreso'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.VERSIONCONTROL IS 'Version del registro'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.IDENTIFICACIONBENEFICIARIO IS 'Identificacion beneficiario'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.CUENTABENEFICIARIO IS 'Cuenta beneficiario'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.MONTOMAXIMO IS 'Monto maximo a transferir'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.ACUMULADO IS 'Valor acumulado total'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.FULTIMATRANSFERENCIA IS 'Fecha de la ultima transferencia realizada'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.CPERSONA_EMPRESABANCARIA IS 'Identificacion entidad receptora'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.TIPOCUENTA IS 'Tipo de cuenta receptora'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.CMONEDA IS 'Moneda a trasferir'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.NOMBRE IS 'Nombre Beneficiario'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.TELEFONO IS 'Telefono Beneficiario'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.EMAIL IS 'Correo electronico Beneficiario'; COMMENT ON COLUMN TPERSONABENEFICIARIOSTRANSFER.ZONARUTATRANSITO IS 'Transferencia Local o extranjera'; /**************************************/ /* TPERSONACREDITOSPREAPROBADOS */ /**************************************/ DROP TABLE TPERSONACREDITOSPREAPROBADOS; CREATE TABLE TPERSONACREDITOSPREAPROBADOS ( CPERSONA_COMPANIA NUMBER(8) NOT NULL, CPERSONA NUMBER(8) NOT NULL, FHASTA TIMESTAMP(6) NOT NULL, FDESDE TIMESTAMP(6) NOT NULL, CSUBSISTEMA VARCHAR2(3), CGRUPOPRODUCTO VARCHAR2(3), CPRODUCTO VARCHAR2(3), CMONEDA VARCHAR2(3), MONTODESDE NUMBER(19,6), MONTOHASTA NUMBER(19,6), MONTO NUMBER(19,6), PLAZODESDE NUMBER(5), PLAZOHASTA NUMBER(5), PLAZO NUMBER(5), TASA NUMBER(19,6), ESTADO VARCHAR2(1), CUSUARIO VARCHAR2(8), VERSIONCONTROL NUMBER(22), CONSTRAINT IPKPERPREAPROB PRIMARY KEY (CPERSONA_COMPANIA, CPERSONA, FHASTA), CONSTRAINT FKPERPREAPCIA FOREIGN KEY (CPERSONA_COMPANIA) REFERENCES "TPERSONAID" ("CPERSONA"), CONSTRAINT FKPERPREAPPERS FOREIGN KEY (CPERSONA) REFERENCES "TPERSONAID" ("CPERSONA"), CONSTRAINT FKPERPREAPPROD FOREIGN KEY (CPERSONA_COMPANIA, CSUBSISTEMA, CGRUPOPRODUCTO, CPRODUCTO) REFERENCES "TPRODUCTOID" ("CPERSONA_COMPANIA", "CSUBSISTEMA", "CGRUPOPRODUCTO", "CPRODUCTO"), CONSTRAINT FKPERPREAPMON FOREIGN KEY (CMONEDA) REFERENCES "TMONEDASID" ("CMONEDA"), CONSTRAINT FKPERPREAPUSR FOREIGN KEY (CUSUARIO) REFERENCES "TUSUARIOSID" ("CUSUARIO"), CONSTRAINT CKMONTODESDEHASTA CHECK (MONTODESDE IS NULL OR MONTOHASTA IS NULL OR MONTODESDE <= MONTOHASTA), CONSTRAINT CKPERPREAPESTADO CHECK (ESTADO IS NULL OR ( ESTADO = UPPER(ESTADO) AND ESTADO IN ('G', 'A', 'R', 'P', 'N'))) ); COMMENT ON TABLE TPERSONACREDITOSPREAPROBADOS IS 'Datos de un producto preaprobado como solicitud de un crédito para un cliente'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.CPERSONA IS 'Código de la persona a la que se le asigna el préstamo preaprobado'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.FHASTA IS 'Fecha hasta la que esta vigente el registro del préstamo preaprobado'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.CPERSONA_COMPANIA IS 'Codigo de persona de la compania'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.FDESDE IS 'Fecha desde la que esta vigentes el registro del préstamo preaprobado'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.CSUBSISTEMA IS 'Codigo del subsistema del producto'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.CGRUPOPRODUCTO IS 'Codigo del grupo del producto'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.CPRODUCTO IS 'Codigo del producto'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.CMONEDA IS 'Codigo de la moneda permitida para el producto'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.MONTODESDE IS 'Monto aprobado desde'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.MONTOHASTA IS 'Monto aprobado hasta'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.MONTO IS 'Monto aceptado por el usuario'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.PLAZODESDE IS 'Plazo aprobado desde'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.PLAZOHASTA IS 'Plazo aprobado hasta'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.PLAZO IS 'Plazo aceptado por el cliente'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.TASA IS 'Tasa aprobada'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.ESTADO IS 'Estado de la solicitud preaprobada G=Generada por el sistema, A=Autorizada por el cliente, R=Rechazada por el cliente, P=Aprobado por el Oficial, N=Negado por el Oficial'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.CUSUARIO IS 'Usuario oficial de la solicitud crédito preaprobada'; COMMENT ON COLUMN TPERSONACREDITOSPREAPROBADOS.VERSIONCONTROL IS 'Versión del registro';