/*==============================================================*/
/* DBMS name:      ORACLE Version 9i                            */
/* Created on:     01/02/2008 10:29:15                          */
/*==============================================================*/


CREATE SEQUENCE CXC_SEQ_AUTORIZA;

/*==============================================================*/
/* Table: CXCPERFIL                                             */
/*==============================================================*/
CREATE TABLE CXCPERFIL  (
   COD_CIA              CHAR(3)                         NOT NULL,
   PERFIL               CHAR(3)                         NOT NULL,
   DESCRIPCION          VARCHAR2(30)                    NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   DIAS_GRACIA          NUMBER(3)                       NOT NULL,
   DIAS_GRACIAVENCE     NUMBER(3)                       NOT NULL,
   INTERES              NUMBER(5,2)                     NOT NULL
      CONSTRAINT CXCPERFIL_INTERES_CK CHECK (INTERES >= 0),
   INT_MORA             NUMBER(5,2)                     NOT NULL
      CONSTRAINT CXCPERFIL_INT_MORA_CK CHECK (INT_MORA >= 0),
   DIAS_CREDITO         NUMBER(3)                       NOT NULL,
   LIMITE_CREDITO       NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXCPERFIL_LIMITE_CRE_CK CHECK (LIMITE_CREDITO >= 0),
   MINSALDOVENCE        NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXCPERFIL_MINSALDOVE_CK CHECK (MINSALDOVENCE >= 0),
   VERIFICA_CREDITO     CHAR(1)                        DEFAULT 'S' NOT NULL
      CONSTRAINT CXCPERFIL_VERIFICA_C_CK CHECK (VERIFICA_CREDITO IN ('S','N')),
   AUTORIZACION         CHAR(1)                        DEFAULT 'S' NOT NULL
      CONSTRAINT CXCPERFIL_AUTORIZACI_CK CHECK (AUTORIZACION IN ('S','N')),
   VERIFICA_VENCE       CHAR(1)                        DEFAULT 'S' NOT NULL
      CONSTRAINT CXCPERFIL_VERIFICA_V_CK CHECK (VERIFICA_VENCE IN ('S','N')),
   ACEPTACHK            CHAR(1)                        DEFAULT 'S' NOT NULL
      CONSTRAINT CXCPERFIL_ACEPTACHK_CK CHECK (ACEPTACHK IN ('S','N','P')),
   CTLCHEQUES           CHAR(1)                         NOT NULL
      CONSTRAINT CXCPERFIL_CTLCHEQUES_CK CHECK (CTLCHEQUES IN ('T','P','N')),
   MULTACHKDEV          NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXCPERFIL_MULTACHKDE_CK CHECK (MULTACHKDEV >= 0),
   CONSTRAINT CXCPERFIL_PK PRIMARY KEY (COD_CIA, PERFIL)
);

/*==============================================================*/
/* Table: CXCPENSIONADO                                         */
/*==============================================================*/
CREATE TABLE CXCPENSIONADO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   CONSTRAINT CXCPENSIONADO_PK PRIMARY KEY (COD_CIA, COD_CLIENTE)
)
INITRANS 1
STORAGE
(
  INITIAL 10K
  NEXT 10K
);

/*==============================================================*/
/* Table: CXC_AGE_COBRO                                         */
/*==============================================================*/
CREATE TABLE CXC_AGE_COBRO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   ANO_FISCAL           NUMBER(4)                       NOT NULL,
   PER_PROCESO          NUMBER(2)                       NOT NULL,
   COD_COMISION         VARCHAR2(3)                     NOT NULL,
   MON_COBRADO          NUMBER(14,2)                    NOT NULL,
   MON_COMISION         NUMBER(14,2)                    NOT NULL,
   CONSTRAINT CXC_AGE_COBRO_PK PRIMARY KEY (COD_CIA, SUCURSAL, COD_AGENTE, ANO_FISCAL, PER_PROCESO, COD_COMISION)
);

/*==============================================================*/
/* Table: CXC_AUTORIZACION                                      */
/*==============================================================*/
CREATE TABLE CXC_AUTORIZACION  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   AUTORIZACION         NUMBER(10)                      NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   PERSONA              VARCHAR2(25),
   FECHA                DATE                            NOT NULL,
   USUARIO              VARCHAR2(30)                    NOT NULL,
   DIAS_VIGENCIA        NUMBER(3)                       NOT NULL,
   MONTO                NUMBER(14,2)                   
      CONSTRAINT CXC_AUTORIZA_MONTO_CK CHECK (MONTO IS NULL OR (MONTO >= 0 )),
   SALDO                NUMBER(14,2),
   TIP_DOC_REF          CHAR(3),
   NUM_DOC_REF          NUMBER(10),
   ESTADO               CHAR(1)                        DEFAULT 'A' NOT NULL
      CONSTRAINT CXC_AUTORIZACION_ESTADO_CK CHECK (ESTADO IN ('A','L')),
   CONSTRAINT CXC_AUTORIZACION_PK PRIMARY KEY (COD_CIA, SUCURSAL, AUTORIZACION)
);

/*==============================================================*/
/* Index: CXCCREDITO_AUTORIZA_FK                                */
/*==============================================================*/
CREATE INDEX CXCCREDITO_AUTORIZA_FK ON CXC_AUTORIZACION (
   COD_CIA ASC,
   LINEA ASC,
   COD_CLIENTE ASC
);

/*==============================================================*/
/* Table: CXC_CHEQUES                                           */
/*==============================================================*/
CREATE TABLE CXC_CHEQUES  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   NUM_CHEQUE           NUMBER(10)                      NOT NULL,
   REFERENCIA           VARCHAR2(20)                    NOT NULL,
   POSTFECHADO          CHAR(1)                        DEFAULT 'N' NOT NULL
      CONSTRAINT CXC_CHEQUES_POSTFECHAD_CK CHECK (POSTFECHADO IN ('S','N')),
   DESCRIPCION          VARCHAR2(60),
   FECHA_PAGO           DATE                            NOT NULL,
   MONTO_PAGO           NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_CHEQUES_MONTO_PAGO_CK CHECK (MONTO_PAGO >= 0),
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT CXC_CHEQUES_ESTADO_CK CHECK (ESTADO IN ('D','C','T','P')),
   CONSTRAINT CXC_CHEQUES_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC, NUM_CHEQUE)
);

/*==============================================================*/
/* Table: CXC_CLIENTE_PERSONA                                   */
/*==============================================================*/
CREATE TABLE CXC_CLIENTE_PERSONA  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   PERSONA              VARCHAR2(25)                    NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   AUTORIZACION         CHAR(1)                         NOT NULL
      CONSTRAINT CXCCLIENTEPERSONA_AUTORIZA_FK CHECK (AUTORIZACION IN ('S','N')),
   CONSTRAINT CXC_CLIENTE_PERSONA_PK PRIMARY KEY (COD_CIA, COD_CLIENTE, PERSONA, LINEA)
);

/*==============================================================*/
/* Index: GENPERSONA_CLIEPER_FK                                 */
/*==============================================================*/
CREATE INDEX GENPERSONA_CLIEPER_FK ON CXC_CLIENTE_PERSONA (
   COD_CIA ASC,
   PERSONA ASC
);

/*==============================================================*/
/* Index: CXCCREDITO_CLIEPER_FK                                 */
/*==============================================================*/
CREATE INDEX CXCCREDITO_CLIEPER_FK ON CXC_CLIENTE_PERSONA (
   COD_CIA ASC,
   LINEA ASC,
   COD_CLIENTE ASC
);

/*==============================================================*/
/* Table: CXC_CON_DOCUMENTO                                     */
/*==============================================================*/
CREATE TABLE CXC_CON_DOCUMENTO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   CONSECUTIVO          NUMBER(10)                      NOT NULL,
   CONSTRAINT CXC_CON_DOCUMENTO_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC)
);

/*==============================================================*/
/* Index: CXCDOCUMENTO_CONDOC_FK                                */
/*==============================================================*/
CREATE INDEX CXCDOCUMENTO_CONDOC_FK ON CXC_CON_DOCUMENTO (
   TIP_DOC ASC
);

/*==============================================================*/
/* Table: CXC_CREDITO                                           */
/*==============================================================*/
CREATE TABLE CXC_CREDITO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   PERFIL               CHAR(3)                         NOT NULL,
   DIAS_CREDITO         NUMBER(3)                       NOT NULL,
   LIMITE_CREDITO       NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_CREDITO_LIMITECREDITO_CK CHECK (LIMITE_CREDITO >= 0),
   INTERES              NUMBER(5,2)                     NOT NULL
      CONSTRAINT CXC_CREDITO_INTERES_CK CHECK (INTERES >= 0),
   INT_MORA             NUMBER(5,2)                     NOT NULL
      CONSTRAINT CXC_CREDITO_INT_MORA_CK CHECK (INT_MORA >= 0),
   SALDO                NUMBER(14,2)                    NOT NULL,
   CKSTRANSITO          NUMBER(14,2)                    NOT NULL,
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT CXC_CREDITO_ESTADO_CK CHECK (ESTADO IN ('A','B','C')),
   CONSTRAINT CXC_CREDITO_PK PRIMARY KEY (COD_CIA, LINEA, COD_CLIENTE)
);

/*==============================================================*/
/* Index: GENCLIENTE_CXCCREDITO_FK                              */
/*==============================================================*/
CREATE INDEX GENCLIENTE_CXCCREDITO_FK ON CXC_CREDITO (
   COD_CIA ASC,
   COD_CLIENTE ASC
);

/*==============================================================*/
/* Index: CXCPERFIL_CREDITO_FK                                  */
/*==============================================================*/
CREATE INDEX CXCPERFIL_CREDITO_FK ON CXC_CREDITO (
   COD_CIA ASC,
   PERFIL ASC
);

/*==============================================================*/
/* Table: CXC_CREDITO_TMP                                       */
/*==============================================================*/
CREATE TABLE CXC_CREDITO_TMP  (
   COD_CIA              CHAR(3)                         NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   SALDO                NUMBER(14,2)                    NOT NULL,
   LIMITE_CREDITO       NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_CREDITO_LIMITECREDITO_CK2 CHECK (LIMITE_CREDITO >= 0),
   CONSTRAINT CXC_CREDITO_TMP_PK PRIMARY KEY (COD_CIA, LINEA, COD_CLIENTE)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: CXC_DEPOSITOS                                         */
/*==============================================================*/
CREATE TABLE CXC_DEPOSITOS  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   DEPOSITO             NUMBER(10)                      NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   FECHA_REG            DATE                            NOT NULL,
   FECHA_DEPOSITO       DATE                            NOT NULL,
   CUENTA               VARCHAR2(20),
   TIPO_MOV             CHAR(2),
   DOCUMENTO            NUMBER(10),
   DOC_REF_BANCO        VARCHAR2(10),
   MON_EFECTIVO         NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_DEPOSITOS_MON_EFECTIVO_CK CHECK (MON_EFECTIVO >= 0),
   MON_CHEQUES          NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_DEPOSITOS_MON_CHEQUES_CK CHECK (MON_CHEQUES >= 0),
   RECIBO_AGENTE        NUMBER(10)                      NOT NULL,
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT CXC_DEPOSITOS_ESTADO_CK CHECK (ESTADO IN ('B','P')),
   CONSTRAINT CXC_DEPOSITOS_PK PRIMARY KEY (COD_CIA, SUCURSAL, DEPOSITO)
);

/*==============================================================*/
/* Index: CXCRECIBOSAGENTE_DEPOSITO_FK                          */
/*==============================================================*/
CREATE INDEX CXCRECIBOSAGENTE_DEPOSITO_FK ON CXC_DEPOSITOS (
   COD_CIA ASC,
   SUCURSAL ASC,
   RECIBO_AGENTE ASC
);

/*==============================================================*/
/* Table: CXC_DET_COMISION                                      */
/*==============================================================*/
CREATE TABLE CXC_DET_COMISION  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_COMISION         VARCHAR2(3)                     NOT NULL,
   MONTO_COBRADO        NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_DET_COMISION_MONTO_CK CHECK (MONTO_COBRADO >= 0),
   PORCENTAJE_COMISION  NUMBER(5,2)                     NOT NULL
      CONSTRAINT CXC_DET_COMISION_PORC_CK CHECK (PORCENTAJE_COMISION >= 0),
   CONSTRAINT CXC_DET_COMISION_PK PRIMARY KEY (COD_CIA, COD_COMISION, MONTO_COBRADO)
);

/*==============================================================*/
/* Table: CXC_DET_PAGO_NOTA                                     */
/*==============================================================*/
CREATE TABLE CXC_DET_PAGO_NOTA  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   SUCURSAL_REF         CHAR(3)                         NOT NULL,
   TIP_DOC_REF          CHAR(3)                         NOT NULL,
   NUM_DOC_REF          NUMBER(10)                      NOT NULL,
   NUM_PARTE            NUMBER(4),
   FEC_VENCE            DATE                            NOT NULL,
   MON_DESCUENTO        NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_DET_PGNT_MON_DESC_CK CHECK (MON_DESCUENTO >= 0),
   MON_PAGO             NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_DET_PGNT_MON_PAGO_CK CHECK (MON_PAGO >= 0),
   INTERES              NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_DET_PGNT_INTERES_CK CHECK (INTERES >= 0),
   INT_MORA             NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_DET_PGNT_INT_MORA_CK CHECK (INT_MORA >= 0),
   CONSTRAINT CXC_DET_PAGO_NOTA_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC, SUCURSAL_REF, TIP_DOC_REF, NUM_DOC_REF),
   CONSTRAINT CXC_DET_PAGO_NOTA_PARTE_AK UNIQUE (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC, SUCURSAL_REF, TIP_DOC_REF, NUM_DOC_REF, NUM_PARTE)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: CXCENCMOVIMIENTO_DETPGNT_FK                           */
/*==============================================================*/
CREATE INDEX CXCENCMOVIMIENTO_DETPGNT_FK ON CXC_DET_PAGO_NOTA (
   COD_CIA ASC,
   SUCURSAL_REF ASC,
   TIP_DOC_REF ASC,
   NUM_DOC_REF ASC
);

/*==============================================================*/
/* Table: CXC_DET_PAGO_NOTATMP                                  */
/*==============================================================*/
CREATE TABLE CXC_DET_PAGO_NOTATMP  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   SUCURSAL_REF         CHAR(3)                         NOT NULL,
   TIP_DOC_REF          CHAR(3)                         NOT NULL,
   NUM_DOC_REF          NUMBER(10)                      NOT NULL,
   NUM_PARTE            NUMBER(4),
   FEC_VENCE            DATE                            NOT NULL,
   MON_DESCUENTO        NUMBER(14,2)                    NOT NULL,
   MON_PAGO             NUMBER(14,2)                    NOT NULL,
   INTERES              NUMBER(14,2)                    NOT NULL,
   INT_MORA             NUMBER(14,2)                    NOT NULL
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: CXCENCPAGONOTA_DETPGNT_FK2                            */
/*==============================================================*/
CREATE INDEX CXCENCPAGONOTA_DETPGNT_FK2 ON CXC_DET_PAGO_NOTATMP (
   COD_CIA ASC,
   SUCURSAL ASC,
   TIP_DOC ASC,
   NUM_DOC ASC
);

/*==============================================================*/
/* Index: CXCENCMOVIMIENTO_DETPGNT_FK2                          */
/*==============================================================*/
CREATE INDEX CXCENCMOVIMIENTO_DETPGNT_FK2 ON CXC_DET_PAGO_NOTATMP (
   COD_CIA ASC,
   SUCURSAL_REF ASC,
   TIP_DOC_REF ASC,
   NUM_DOC_REF ASC
);

/*==============================================================*/
/* Table: CXC_DET_PAGO_NOTA_HIST                                */
/*==============================================================*/
CREATE TABLE CXC_DET_PAGO_NOTA_HIST  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   SUCURSAL_REF         CHAR(3)                         NOT NULL,
   TIP_DOC_REF          CHAR(3)                         NOT NULL,
   NUM_DOC_REF          NUMBER(10)                      NOT NULL,
   NUM_PARTE            NUMBER(4),
   FEC_VENCE            DATE                            NOT NULL,
   MON_DESCUENTO        NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_DETPAGNOTH_MONDESC_CK CHECK (MON_DESCUENTO >= 0),
   MON_PAGO             NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_DET_PGNTH_MON_PAGO_CK CHECK (MON_PAGO >= 0),
   INTERES              NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_DET_PGNTH_INTERES_CK CHECK (INTERES >= 0),
   INT_MORA             NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_DET_PGNTH_INT_MORA_CK CHECK (INT_MORA >= 0),
   CONSTRAINT CXC_DET_PAGO_NOTA__HISTPART_AK UNIQUE (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC, SUCURSAL_REF, NUM_DOC_REF, TIP_DOC_REF, NUM_PARTE)
);

/*==============================================================*/
/* Index: CXCENCMOVTOHIST_DETPGNT_FK                            */
/*==============================================================*/
CREATE INDEX CXCENCMOVTOHIST_DETPGNT_FK ON CXC_DET_PAGO_NOTA_HIST (
   COD_CIA ASC,
   SUCURSAL_REF ASC,
   TIP_DOC_REF ASC,
   NUM_DOC_REF ASC
);

/*==============================================================*/
/* Table: CXC_DIF_RECIBOS                                       */
/*==============================================================*/
CREATE TABLE CXC_DIF_RECIBOS  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   RECIBO_AGENTE        NUMBER(10)                      NOT NULL,
   DIF_CKS              NUMBER(14,2)                    NOT NULL,
   DIF_DEPOSITO         NUMBER(14,2)                    NOT NULL,
   DIF_EFECTIVO         NUMBER(14,2)                    NOT NULL,
   DIF_OTROS            NUMBER(14,2)                    NOT NULL,
   CONSTRAINT CXC_DIF_RECIBOS_PK PRIMARY KEY (COD_CIA, SUCURSAL, COD_AGENTE, RECIBO_AGENTE)
);

/*==============================================================*/
/* Table: CXC_DOCUMENTO                                         */
/*==============================================================*/
CREATE TABLE CXC_DOCUMENTO  (
   TIP_DOC              CHAR(3)                         NOT NULL,
   NOM_DOC              VARCHAR2(25)                    NOT NULL,
   TIP_SALDO            CHAR(1)                         NOT NULL
      CONSTRAINT CXC_DOCUMENTO_TIP_SALDO_CK CHECK (TIP_SALDO IN ('D','C')),
   CLASE                CHAR(2)                         NOT NULL
      CONSTRAINT CXC_DOCUMENTO_CLASE_CK CHECK (CLASE IN ('FC','NC','ND','PG','DV','PD')),
   NOM_ASIENTO          VARCHAR2(20),
   PRIORIDAD            NUMBER(2),
   CONSTRAINT CXC_DOCUMENTO_PK PRIMARY KEY (TIP_DOC)
);

/*==============================================================*/
/* Table: CXC_ENC_MOVIMIENTO                                    */
/*==============================================================*/
CREATE TABLE CXC_ENC_MOVIMIENTO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   FEC_DOC              DATE                            NOT NULL,
   FEC_INT              DATE                            NOT NULL,
   FEC_VENCE            DATE                            NOT NULL,
   FEC_REG              DATE                            NOT NULL,
   INTERES              NUMBER(5,2)                     NOT NULL
      CONSTRAINT CXC_ENC_MOV_INTERES_CK CHECK (INTERES >= 0),
   INT_MORA             NUMBER(5,2)                     NOT NULL
      CONSTRAINT CXC_ENC_MOV_INT_MORA_CK CHECK (INT_MORA >= 0),
   NUM_ASIENTO          VARCHAR2(15),
   ANO_FISCAL           NUMBER(4)                       NOT NULL,
   PER_PROCESO          NUMBER(2)                       NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   PERSONA              VARCHAR2(25),
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   MON_DOCTO            NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_MOV_MON_DOC_CK CHECK (MON_DOCTO >= 0),
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   TIP_CAMBIO           NUMBER(14,4)                    NOT NULL,
   TIP_CAMBIO_BASE      NUMBER(14,4)                    NOT NULL,
   NUM_PAGOS            NUMBER(3)                       NOT NULL,
   NUM_DIAS_PAGO        NUMBER(3)                       NOT NULL,
   DES_OBSERVACION      VARCHAR2(240),
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT CXC_ENC_MOV_EST_CK CHECK (ESTADO IN ('A','P','N')),
   IND_EXTERNO          CHAR(4),
   MON_SALDO            NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_MOV_MON_SAL_CK CHECK (MON_SALDO >= 0),
   MON_INTERES          NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_MOV_MON_INT_CK CHECK (MON_INTERES >= 0),
   MON_INT_MORA         NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_MOV_MON_MORA_CK CHECK (MON_INT_MORA >= 0),
   TIPO_COBRO           CHAR(1)                        DEFAULT 'N' NOT NULL
      CONSTRAINT CXC_ENC_MOV_TIP_COB_CK CHECK (TIPO_COBRO IN ('N','P')),
   DOC_REF              VARCHAR2(10),
   NOM_ASIENTO          VARCHAR2(20),
   AUTORIZACION         NUMBER(10),
   CONSTRAINT CXC_ENC_MOVIMIENTO_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC),
   CONSTRAINT CXC_ENC_MOVIMIENTO_DOCREF_AK UNIQUE (COD_CIA, COD_CLIENTE, TIP_DOC, DOC_REF, ESTADO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: CXC_ENC_MOVIMIENTO_PERIDX                             */
/*==============================================================*/
CREATE INDEX CXC_ENC_MOVIMIENTO_PERIDX ON CXC_ENC_MOVIMIENTO (
   COD_CIA ASC,
   ANO_FISCAL ASC,
   PER_PROCESO ASC,
   NUM_ASIENTO ASC
);

/*==============================================================*/
/* Index: CXC_ENC_MOVIMIENTO_CLISUCIDX                          */
/*==============================================================*/
CREATE INDEX CXC_ENC_MOVIMIENTO_CLISUCIDX ON CXC_ENC_MOVIMIENTO (
   COD_CIA ASC,
   COD_CLIENTE ASC,
   SUCURSAL ASC,
   TIP_DOC ASC,
   NUM_DOC ASC
);

/*==============================================================*/
/* Index: CXC_ENC_MOVMIENTO_FECEST                              */
/*==============================================================*/
CREATE INDEX CXC_ENC_MOVMIENTO_FECEST ON CXC_ENC_MOVIMIENTO (
   COD_CIA ASC,
   FEC_DOC ASC,
   ESTADO ASC
);

/*==============================================================*/
/* Index: CXC_ENC_MOVIMIENTO_CLILINIDX                          */
/*==============================================================*/
CREATE INDEX CXC_ENC_MOVIMIENTO_CLILINIDX ON CXC_ENC_MOVIMIENTO (
   COD_CIA ASC,
   COD_CLIENTE ASC,
   LINEA ASC,
   PERSONA ASC,
   SUCURSAL ASC,
   TIP_DOC ASC,
   NUM_DOC ASC
);

/*==============================================================*/
/* Index: CXCCREDITO_ENCMOVTO_FK                                */
/*==============================================================*/
CREATE INDEX CXCCREDITO_ENCMOVTO_FK ON CXC_ENC_MOVIMIENTO (
   COD_CIA ASC,
   LINEA ASC,
   COD_CLIENTE ASC
);

/*==============================================================*/
/* Table: CXC_ENC_MOVIMIENTO_CON                                */
/*==============================================================*/
CREATE TABLE CXC_ENC_MOVIMIENTO_CON  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   COD_CTA              VARCHAR2(25)                    NOT NULL,
   CCOSTO               VARCHAR2(7)                     NOT NULL,
   DEBITO               NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENCMOVTOCON_DEBITO_CK CHECK (DEBITO >= 0),
   CREDITO              NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENCMOVTOCON_CREDITO_CK CHECK (CREDITO >= 0),
   CONSTRAINT CXC_ENC_MOVIMIENTO_CON_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC, COD_CTA, CCOSTO)
);

/*==============================================================*/
/* Table: CXC_ENC_MOVIMIENTO_HIST                               */
/*==============================================================*/
CREATE TABLE CXC_ENC_MOVIMIENTO_HIST  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   FEC_DOC              DATE                            NOT NULL,
   FEC_INT              DATE                            NOT NULL,
   FEC_VENCE            DATE                            NOT NULL,
   INTERES              NUMBER(5,2)                     NOT NULL
      CONSTRAINT CXC_ENC_MOVH_INTERES_CK CHECK (INTERES >= 0),
   INT_MORA             NUMBER(5,2)                     NOT NULL
      CONSTRAINT CXC_ENC_MOVH_INT_MORA_CK CHECK (INT_MORA >= 0),
   NUM_ASIENTO          VARCHAR2(15),
   ANO_FISCAL           NUMBER(4)                       NOT NULL,
   PER_PROCESO          NUMBER(2)                       NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   PERSONA              VARCHAR2(25),
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   MON_DOCTO            NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_MOVH_MON_DOC_CK CHECK (MON_DOCTO >= 0),
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   TIP_CAMBIO           NUMBER(14,4)                    NOT NULL,
   TIP_CAMBIO_BASE      NUMBER(14,4)                    NOT NULL,
   NUM_PAGOS            NUMBER(3)                       NOT NULL,
   NUM_DIAS_PAGO        NUMBER(3)                       NOT NULL,
   DES_OBSERVACION      VARCHAR2(240),
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT CXC_ENC_MOVH_EST_CK CHECK (ESTADO IN ('A','P','N')),
   IND_EXTERNO          CHAR(4),
   MON_SALDO            NUMBER(14,2)                    NOT NULL,
   MON_INTERES          NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_MOVH_MON_INT_CK CHECK (MON_INTERES >= 0),
   MON_INT_MORA         NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_MOVH_MON_MORA_CK CHECK (MON_INT_MORA >= 0),
   TIPO_COBRO           CHAR(1)                        DEFAULT 'N' NOT NULL
      CONSTRAINT CXC_ENC_MOVH_TIP_COB_CK CHECK (TIPO_COBRO IN ('N','P')),
   DOC_REF              VARCHAR2(10),
   NOM_ASIENTO          VARCHAR2(20),
   AUTORIZACION         NUMBER(10),
   CONSTRAINT CXC_ENC_MOVIMIENTO_HIST_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC)
);

/*==============================================================*/
/* Table: CXC_ENC_PAGO_NOTA                                     */
/*==============================================================*/
CREATE TABLE CXC_ENC_PAGO_NOTA  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   PERSONA              VARCHAR2(25),
   LINEA                CHAR(3)                         NOT NULL,
   DES_CLIENTE          VARCHAR2(35),
   FEC_DOC              DATE                            NOT NULL,
   FEC_REG              DATE                            NOT NULL,
   ANO_FISCAL           NUMBER(4)                       NOT NULL,
   PER_PROCESO          NUMBER(2)                       NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   TIP_CAMBIO           NUMBER(14,4)                    NOT NULL,
   TIP_CAMBIO_BASE      NUMBER(14,4)                    NOT NULL,
   IND_FORMA_PAGO       CHAR(1)                        DEFAULT 'C' NOT NULL
      CONSTRAINT CXC_ENC_PGNT_FOR_PAG_CK CHECK (IND_FORMA_PAGO IN ('E','C','T','M')),
   NUM_ASIENTO          VARCHAR2(15),
   MON_PAGO             NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_PGNT_MON_PAGO_CK CHECK (MON_PAGO >= 0),
   INTERES              NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_PGNT_INTERES_CK CHECK (INTERES >= 0),
   INT_MORA             NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_PGNT_INT_MORA_CK CHECK (INT_MORA >= 0),
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT CXC_ENC_PGNT_IND_EST_CK CHECK (ESTADO IN ('A','P','N')),
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   DES_OBSERVACION      VARCHAR2(240),
   IND_EXTERNO          CHAR(4),
   DEPOSITO             NUMBER(10),
   RECIBO_AGENTE        NUMBER(10),
   DOC_REF              VARCHAR2(10),
   NOM_ASIENTO          VARCHAR2(20),
   TIP_DOC_REF          CHAR(3),
   CONSTRAINT CXC_ENC_PAGO_NOTA_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Index: CXC_ENC_PAGO_NOTA_AGEIDX                              */
/*==============================================================*/
CREATE INDEX CXC_ENC_PAGO_NOTA_AGEIDX ON CXC_ENC_PAGO_NOTA (
   COD_CIA ASC,
   COD_AGENTE ASC
);

/*==============================================================*/
/* Index: CXC_ENC_PAGO_NOTA_PERIDX                              */
/*==============================================================*/
CREATE INDEX CXC_ENC_PAGO_NOTA_PERIDX ON CXC_ENC_PAGO_NOTA (
   COD_CIA ASC,
   ANO_FISCAL ASC,
   PER_PROCESO ASC,
   NUM_ASIENTO ASC
);

/*==============================================================*/
/* Index: CXC_ENC_PAGO_NOTA_CLISUCIDX                           */
/*==============================================================*/
CREATE INDEX CXC_ENC_PAGO_NOTA_CLISUCIDX ON CXC_ENC_PAGO_NOTA (
   COD_CIA ASC,
   COD_CLIENTE ASC,
   SUCURSAL ASC,
   TIP_DOC ASC,
   NUM_DOC ASC
);

/*==============================================================*/
/* Index: CXC_ENC_PAGO_NOTA_FECEST                              */
/*==============================================================*/
CREATE INDEX CXC_ENC_PAGO_NOTA_FECEST ON CXC_ENC_PAGO_NOTA (
   COD_CIA ASC,
   FEC_DOC ASC,
   ESTADO ASC
);

/*==============================================================*/
/* Index: CXC_ENC_PAGO_NOTA_CLIIDX                              */
/*==============================================================*/
CREATE INDEX CXC_ENC_PAGO_NOTA_CLIIDX ON CXC_ENC_PAGO_NOTA (
   COD_CIA ASC,
   COD_CLIENTE ASC,
   PERSONA ASC,
   LINEA ASC,
   SUCURSAL ASC,
   TIP_DOC ASC,
   NUM_DOC ASC
);

/*==============================================================*/
/* Index: CXCRECIBOSAGENTE_ENCPGNT_FK                           */
/*==============================================================*/
CREATE INDEX CXCRECIBOSAGENTE_ENCPGNT_FK ON CXC_ENC_PAGO_NOTA (
   COD_CIA ASC,
   SUCURSAL ASC,
   RECIBO_AGENTE ASC
);

/*==============================================================*/
/* Index: CXCDEPOSITOS_ENCPGNT_FK                               */
/*==============================================================*/
CREATE INDEX CXCDEPOSITOS_ENCPGNT_FK ON CXC_ENC_PAGO_NOTA (
   COD_CIA ASC,
   SUCURSAL ASC,
   DEPOSITO ASC
);

/*==============================================================*/
/* Table: CXC_ENC_PAGO_NOTATMP                                  */
/*==============================================================*/
CREATE TABLE CXC_ENC_PAGO_NOTATMP  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   PERSONA              VARCHAR2(25),
   LINEA                CHAR(3)                         NOT NULL,
   DES_CLIENTE          VARCHAR2(35),
   FEC_DOC              DATE                            NOT NULL,
   FEC_REG              DATE                            NOT NULL,
   ANO_FISCAL           NUMBER(4)                       NOT NULL,
   PER_PROCESO          NUMBER(2)                       NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   TIP_CAMBIO           NUMBER(14,4)                    NOT NULL,
   TIP_CAMBIO_BASE      NUMBER(14,4)                    NOT NULL,
   IND_FORMA_PAGO       CHAR(1)                        DEFAULT 'C' NOT NULL
      CONSTRAINT CXC_ENCPGNTTMPFOR_PAG_CK CHECK (IND_FORMA_PAGO IN ('E','C','T','M')),
   NUM_ASIENTO          VARCHAR2(15),
   MON_PAGO             NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENCPGNTTMPMON_PAGO_CK CHECK (MON_PAGO >= 0),
   INTERES              NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENCPGNTTMPINTERES_CK CHECK (INTERES >= 0),
   INT_MORA             NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENCPGNTTMPINT_MORA_CK CHECK (INT_MORA >= 0),
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT CXC_ENCPGNTTMPIND_EST_CK CHECK (ESTADO IN ('A','P','N')),
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   DES_OBSERVACION      VARCHAR2(240),
   IND_EXTERNO          CHAR(4),
   DEPOSITO             NUMBER(10),
   RECIBO_AGENTE        NUMBER(10),
   DOC_REF              VARCHAR2(10),
   NOM_ASIENTO          VARCHAR2(20),
   TIP_DOC_REF          CHAR(3),
   CONSTRAINT CXC_ENC_PAGO_NOTATMP_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: CXC_ENC_PAGO_NOTA_HIST                                */
/*==============================================================*/
CREATE TABLE CXC_ENC_PAGO_NOTA_HIST  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   PERSONA              VARCHAR2(25),
   LINEA                CHAR(3)                         NOT NULL,
   DES_CLIENTE          VARCHAR2(35),
   FEC_DOC              DATE                            NOT NULL,
   ANO_FISCAL           NUMBER(4)                       NOT NULL,
   PER_PROCESO          NUMBER(2)                       NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   TIP_CAMBIO           NUMBER(14,4)                    NOT NULL,
   TIP_CAMBIO_BASE      NUMBER(14,4)                    NOT NULL,
   IND_FORMA_PAGO       CHAR(1)                        DEFAULT 'C' NOT NULL
      CONSTRAINT CXC_ENC_PGNTH_FOR_PAG_CK CHECK (IND_FORMA_PAGO IN ('E','C','T','M')),
   NUM_ASIENTO          VARCHAR2(15),
   MON_PAGO             NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_PGNTH_MON_PAGO_CK CHECK (MON_PAGO >= 0),
   INTERES              NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_PGNTH_INTERES_CK CHECK (INTERES >= 0),
   INT_MORA             NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_ENC_PGNTH_INT_MORA_CK CHECK (INT_MORA >= 0),
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT CXC_ENC_PGNTH_IND_EST_CK CHECK (ESTADO IN ('A','P','N')),
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   DES_OBSERVACION      VARCHAR2(240),
   IND_EXTERNO          CHAR(4),
   DEPOSITO             NUMBER(10),
   RECIBO_AGENTE        NUMBER(10),
   DOC_REF              VARCHAR2(10),
   NOM_ASIENTO          VARCHAR2(20),
   TIP_DOC_REF          CHAR(3),
   CONSTRAINT CXC_ENC_PAGO_NOTA_HIST_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC)
);

/*==============================================================*/
/* Table: CXC_LINEA                                             */
/*==============================================================*/
CREATE TABLE CXC_LINEA  (
   COD_CIA              CHAR(3)                         NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   DESCRIPCION          VARCHAR2(30)                    NOT NULL,
   TIPCAL_INTERES       CHAR(1)                        DEFAULT 'C' NOT NULL
      CONSTRAINT CXC_LINEA_TIPCAL_INTERES_CK CHECK (TIPCAL_INTERES IN ('C','P')),
   CONSTRAINT CXC_LINEA_PK PRIMARY KEY (COD_CIA, LINEA)
);

/*==============================================================*/
/* Table: CXC_MOVIMIENTOTMP                                     */
/*==============================================================*/
CREATE TABLE CXC_MOVIMIENTOTMP  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   FEC_DOC              DATE                            NOT NULL,
   FEC_VENCE            DATE                            NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   PERSONA              VARCHAR2(25),
   MON_DOCTO            NUMBER(14,2)                    NOT NULL,
   TIP_CAMBIO           NUMBER(14,4)                    NOT NULL,
   MON_SALDO            NUMBER(14,2)                    NOT NULL,
   MON_INTERES          NUMBER(14,2)                    NOT NULL,
   MON_INT_MORA         NUMBER(14,2)                    NOT NULL,
   DOC_REF              VARCHAR2(10),
   RANGO1               NUMBER(14,2),
   RANGO2               NUMBER(14,2),
   RANGO3               NUMBER(14,2),
   RANGO4               NUMBER(14,2),
   RANGO5               NUMBER(14,2),
   RANGO6               NUMBER(14,2),
   RANGO7               NUMBER(14,2),
   COD_AGENTE           VARCHAR2(3),
   FEC_REG              DATE,
   CONSTRAINT CXC_MOVIMIENTOTMP_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: CXC_OBLIGACION                                        */
/*==============================================================*/
CREATE TABLE CXC_OBLIGACION  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   NUM_PARTE            NUMBER(4)                       NOT NULL,
   FEC_VENCE            DATE                            NOT NULL,
   MON_PAGO             NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_OBL_MON_PAGO_CK CHECK (MON_PAGO >= 0),
   MON_SALDO            NUMBER(14,2)                    NOT NULL,
   CONSTRAINT CXC_OBLIGACION_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC, NUM_PARTE)
);

/*==============================================================*/
/* Table: CXC_PAGO_NOTA_CON                                     */
/*==============================================================*/
CREATE TABLE CXC_PAGO_NOTA_CON  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   COD_CTA              VARCHAR2(25)                    NOT NULL,
   CCOSTO               VARCHAR2(7)                     NOT NULL,
   DEBITO               NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_PAGONOTACON_DEBITO_CK CHECK (DEBITO >= 0),
   CREDITO              NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_PAGONOTACON_CREDITO_CK CHECK (CREDITO >= 0),
   CONSTRAINT CXC_PAGO_NOTA_CON_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC, COD_CTA, CCOSTO)
);

/*==============================================================*/
/* Table: CXC_PARAMETRO                                         */
/*==============================================================*/
CREATE TABLE CXC_PARAMETRO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   IND_INT_CONTA        CHAR(1)                        DEFAULT 'N' NOT NULL
      CONSTRAINT CXC_PARAMETRO_IND_CON_CK CHECK (IND_INT_CONTA IN ('S','N')),
   IND_INT_BANCOS       CHAR(1)                        DEFAULT 'N' NOT NULL
      CONSTRAINT CXC_PARAMETRO_IND_BAN_CK CHECK (IND_INT_BANCOS IN ('S','N')),
   CLASE_PROV           VARCHAR2(3),
   TIP_DOC_SALDO        CHAR(3)                         NOT NULL,
   NDCHKDEV             CHAR(3),
   CREDITOIR            CHAR(3),
   CONSE_DEPOSITO       NUMBER(10)                      NOT NULL,
   CONSE_RECAGENTE      NUMBER(10)                      NOT NULL,
   LIQSALDO_AUTOMATICO  CHAR(1)                         NOT NULL
      CONSTRAINT CXC_PARAMETRO_LIQSALDO_A_CK CHECK (LIQSALDO_AUTOMATICO IN ('A','C','D','N')),
   CALPERIODO           CHAR(1)                         NOT NULL
      CONSTRAINT CXC_PARAMETRO_CALPERIODO_CK CHECK (CALPERIODO IN ('R','D')),
   CONSTRAINT CXC_PARAMETRO_PK PRIMARY KEY (COD_CIA)
);

/*==============================================================*/
/* Table: CXC_PARMONEDA                                         */
/*==============================================================*/
CREATE TABLE CXC_PARMONEDA  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   COD_CTA_CXC          VARCHAR2(25),
   COD_CTA_EFEC         VARCHAR2(25),
   COD_CTA_BCO          VARCHAR2(25),
   COD_CTA_INGRESO      VARCHAR2(25),
   COD_CTA_INTERES      VARCHAR2(25),
   COD_CTA_INT_MORA     VARCHAR2(25),
   COD_CTA_TARJETA      VARCHAR2(25),
   COD_CTA_SUBASTA      VARCHAR2(25),
   COD_CTA_DESCUENTO    VARCHAR2(25),
   CONSTRAINT CXC_PARMONEDA_PK PRIMARY KEY (COD_CIA, COD_MONEDA)
);

/*==============================================================*/
/* Table: CXC_POR_DESC                                          */
/*==============================================================*/
CREATE TABLE CXC_POR_DESC  (
   COD_CIA              CHAR(3)                         NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   DIAS                 NUMBER(3)                       NOT NULL,
   POR_DESC             NUMBER(5,2)                     NOT NULL
      CONSTRAINT CXC_POR_DESC_POR_DESC_CK CHECK (POR_DESC >= 0),
   CONSTRAINT CXC_POR_DESC_PK PRIMARY KEY (COD_CIA, LINEA, DIAS)
);

/*==============================================================*/
/* Table: CXC_RANGOS_ANTSA                                      */
/*==============================================================*/
CREATE TABLE CXC_RANGOS_ANTSA  (
   COD_CIA              CHAR(3)                         NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   DIAS                 NUMBER(3)                       NOT NULL,
   CONSTRAINT CXC_RANGOS_ANTSA_PK PRIMARY KEY (COD_CIA, LINEA, DIAS)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: CXC_RANGOS_CREDITO                                    */
/*==============================================================*/
CREATE TABLE CXC_RANGOS_CREDITO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   RANGO                NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_RANGOS_CREDI_RANGO_CK CHECK (RANGO >= 0),
   LIMITE_SUGERIDO      NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_RANGOS_CREDI_LIMITE_SUG_CK CHECK (LIMITE_SUGERIDO >= 0),
   CONSTRAINT CXC_RANGOS_CREDITO_PK PRIMARY KEY (COD_CIA, LINEA, RANGO)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: CXC_RECAGENTE                                         */
/*==============================================================*/
CREATE TABLE CXC_RECAGENTE  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   INICIAL              NUMBER(10)                      NOT NULL,
   FINAL                NUMBER(10)                      NOT NULL,
   FECHA                DATE                            NOT NULL,
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT CXC_RECAGENTE_ESTADO_CK CHECK (ESTADO IN ('P','C')),
   CONSTRAINT CXC_RECAGENTE_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, COD_AGENTE, INICIAL)
)
INITRANS 1
STORAGE
(
    INITIAL 10K
    NEXT 10K
);

/*==============================================================*/
/* Table: CXC_RECIBOS_AGENTES                                   */
/*==============================================================*/
CREATE TABLE CXC_RECIBOS_AGENTES  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   RECIBO_AGENTE        NUMBER(10)                      NOT NULL,
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   FECHA_RECIBO         DATE                            NOT NULL,
   TOTAL_CKS            NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_RECIBOS_AGENTES_TOTCKS_CK CHECK (TOTAL_CKS >= 0),
   TOTAL_DEPOSITO       NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_RECIBOS_AGENTES_TOTDEP_CK CHECK (TOTAL_DEPOSITO >= 0),
   TOTAL_EFECTIVO       NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_RECIBOS_AGENTES_TOTEFE_CK CHECK (TOTAL_EFECTIVO >= 0),
   TOTAL_OTROS          NUMBER(14,2)                    NOT NULL
      CONSTRAINT CXC_RECIBOS_AGENTES_TOTOTR_CK CHECK (TOTAL_OTROS >= 0),
   ESTADO               CHAR(1)                         NOT NULL
      CONSTRAINT CXC_RECIBOS_AGENTES_ESTADO_CK CHECK (ESTADO IN ('C','P')),
   CONSTRAINT CXC_RECIBOS_AGENTES_PK PRIMARY KEY (COD_CIA, SUCURSAL, RECIBO_AGENTE)
);

/*==============================================================*/
/* Table: CXC_TRAMITES                                          */
/*==============================================================*/
CREATE TABLE CXC_TRAMITES  (
   COD_CIA              CHAR(3)                         NOT NULL,
   NUM_PROCESO          NUMBER(2)                       NOT NULL,
   DESCRIPCION          VARCHAR2(40)                    NOT NULL,
   ESTIMADO_DIAS        NUMBER(3)                       NOT NULL,
   CONSTRAINT CXC_TRAMITES_PK PRIMARY KEY (COD_CIA, NUM_PROCESO)
);

/*==============================================================*/
/* Table: CXC_TRAMITES_PROCESOS                                 */
/*==============================================================*/
CREATE TABLE CXC_TRAMITES_PROCESOS  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_PEDIDO           NUMBER(8)                       NOT NULL,
   NUM_PROCESO          NUMBER(2)                       NOT NULL,
   FECHA_PROCESO        DATE                            NOT NULL,
   NUM_DOC_REF          NUMBER(10)                      NOT NULL,
   OBSERVACIONES        VARCHAR2(240),
   CONSTRAINT CXC_TRAMITES_PROCESOS_PK PRIMARY KEY (COD_CIA, COD_PEDIDO, NUM_PROCESO)
);

/*==============================================================*/
/* Index: CXCTRAMITES_PROCESOS_FK                               */
/*==============================================================*/
CREATE INDEX CXCTRAMITES_PROCESOS_FK ON CXC_TRAMITES_PROCESOS (
   COD_CIA ASC,
   NUM_PROCESO ASC
);

/*==============================================================*/
/* Table: CAMBIOCLIENTE                                         */
/*==============================================================*/
CREATE TABLE CAMBIOCLIENTE  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   COD_NUEVO            VARCHAR2(25)                    NOT NULL,
   CONSTRAINT CAMBIOCLIENTE_PK PRIMARY KEY (COD_CIA, COD_CLIENTE)
)
INITRANS 1
STORAGE
(
  INITIAL 10K
  NEXT 10K
);

/*==============================================================*/
/* Table: CXC_ASIENTO                                           */
/*==============================================================*/
CREATE GLOBAL TEMPORARY TABLE CXC_ASIENTO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   TIP_CAMBIO           NUMBER(14,4)                    NOT NULL,
   TIP_CAMBIOBASE       NUMBER(14,4)                    NOT NULL,
   COD_CTA              VARCHAR2(25)                    NOT NULL,
   CCOSTO               VARCHAR2(7)                     NOT NULL,
   DEBITOS              NUMBER(14,2)                    NOT NULL,
   CREDITOS             NUMBER(14,2)                    NOT NULL,
   USUARIO              VARCHAR2(30)                    NOT NULL
)
ON COMMIT PRESERVE ROWS;

/*==============================================================*/
/* Table: CXC_CLICOM_COBRO                                      */
/*==============================================================*/
CREATE TABLE CXC_CLICOM_COBRO  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   ANO_FISCAL           NUMBER(4)                       NOT NULL,
   PER_PROCESO          NUMBER(2)                       NOT NULL,
   COD_COMISION         VARCHAR2(3)                     NOT NULL,
   MON_COBRADO          NUMBER(14,2)                    NOT NULL,
   MON_COMISION         NUMBER(14,2)                    NOT NULL,
   CONSTRAINT CXC_CLICOM_COBRO_PK PRIMARY KEY (COD_CIA, SUCURSAL, COD_AGENTE, COD_CLIENTE, ANO_FISCAL, PER_PROCESO, COD_COMISION)
)
INITRANS 1
STORAGE
(
  INITIAL 10K
  NEXT 10K
);

/*==============================================================*/
/* Table: CXC_CLICOMISION                                       */
/*==============================================================*/
CREATE TABLE CXC_CLICOMISION  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   COD_COMISION         VARCHAR2(3)                     NOT NULL,
   CONSTRAINT CXC_CLICOMISION_PK PRIMARY KEY (COD_CIA, COD_CLIENTE)
)
INITRANS 1
STORAGE
(
  INITIAL 10K
  NEXT 10K
);

/*==============================================================*/
/* Table: CXC_DETAGECXCTMP                                      */
/*==============================================================*/
CREATE TABLE CXC_DETAGECXCTMP  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   FECHA                DATE                            NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   CONSTRAINT CXC_DETAGECXCTMP_PK PRIMARY KEY (COD_CIA, COD_AGENTE, FECHA, SUCURSAL, TIP_DOC, NUM_DOC)
)
INITRANS 1
STORAGE
(
  INITIAL 10K
  NEXT 10K
);

/*==============================================================*/
/* Table: CXC_DOCUMENTO_CLIENTE                                 */
/*==============================================================*/
CREATE TABLE CXC_DOCUMENTO_CLIENTE  (
   COD_CIA              CHAR(3)                         NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   MONTO                NUMBER(14,2)                    NOT NULL,
   CONSTRAINT CXC_DOCUMENTO_CLIENTE_PK PRIMARY KEY (COD_CIA, LINEA, TIP_DOC, COD_CLIENTE)
)
INITRANS 1
STORAGE
(
  INITIAL 10K
  NEXT 10K
);

/*==============================================================*/
/* Index: CXCDOCUMENTO_DOCTOCLIENTE_FK                          */
/*==============================================================*/
CREATE INDEX CXCDOCUMENTO_DOCTOCLIENTE_FK ON CXC_DOCUMENTO_CLIENTE (
   TIP_DOC ASC
);

/*==============================================================*/
/* Table: CXC_ENCAGECXCTMP                                      */
/*==============================================================*/
CREATE TABLE CXC_ENCAGECXCTMP  (
   COD_CIA              CHAR(3)                         NOT NULL,
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   FECHA                DATE                            NOT NULL,
   ESTADO               CHAR(1)                         NOT NULL,
   CLIENTE              VARCHAR2(25),
   CONSTRAINT CXC_ENCAGECXCTMP_PK PRIMARY KEY (COD_CIA, COD_AGENTE, FECHA)
)
INITRANS 1
STORAGE
(
  INITIAL 10K
  NEXT 10K
);

/*==============================================================*/
/* Table: CXC_OBLIGACIONTMP                                     */
/*==============================================================*/
CREATE TABLE CXC_OBLIGACIONTMP  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   NUM_DOC              NUMBER(10)                      NOT NULL,
   NUM_PARTE            NUMBER(4)                       NOT NULL,
   FEC_VENCE            DATE                            NOT NULL,
   MON_PAGO             NUMBER(14,2)                    NOT NULL,
   MON_SALDO            NUMBER(14,2)                    NOT NULL,
   CONSTRAINT CXC_OBLIGACIONTMP_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC, NUM_PARTE)
);

/*==============================================================*/
/* Table: CXC_PAGO_CCSS                                         */
/*==============================================================*/
CREATE TABLE CXC_PAGO_CCSS  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   LINEA                CHAR(3)                         NOT NULL,
   FEC_DOC              DATE                            NOT NULL,
   ANO_FISCAL           NUMBER(4)                       NOT NULL,
   PER_PROCESO          NUMBER(2)                       NOT NULL,
   COD_MONEDA           VARCHAR2(3)                     NOT NULL,
   MON_PAGO             NUMBER(14,2)                    NOT NULL,
   IND_PROCESO          CHAR(1)                         NOT NULL,
   CONSTRAINT CXC_PAGO_CCSS_PK PRIMARY KEY (COD_CIA, SUCURSAL, COD_CLIENTE, TIP_DOC)
)
INITRANS 1
STORAGE
(
  INITIAL 10K
  NEXT 10K
);

/*==============================================================*/
/* Table: CXC_RECAGTMP                                          */
/*==============================================================*/
CREATE TABLE CXC_RECAGTMP  (
   COD_CIA              CHAR(3)                         NOT NULL,
   SUCURSAL             CHAR(3)                         NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   COD_AGENTE           VARCHAR2(3)                     NOT NULL,
   INICIAL              NUMBER(10)                      NOT NULL,
   DOCUMENTO            NUMBER(10)                      NOT NULL,
   CONSTRAINT CXC_RECAGTMP_PK PRIMARY KEY (COD_CIA, SUCURSAL, TIP_DOC, COD_AGENTE, INICIAL, DOCUMENTO)
)
INITRANS 1
STORAGE
(
  INITIAL 10K
  NEXT 10K
);

/*==============================================================*/
/* Table: MOVCLIENTE                                            */
/*==============================================================*/
CREATE TABLE MOVCLIENTE  (
   COD_CLIENTE          VARCHAR2(25)                    NOT NULL,
   TIP_DOC              CHAR(3)                         NOT NULL,
   SALDO                NUMBER(14,2)                    NOT NULL
)
INITRANS 1
STORAGE
(
  INITIAL 10K
  NEXT 10K
);

/*==============================================================*/
/* View: CXC_LIQUIDACION                                        */
/*==============================================================*/
CREATE OR REPLACE VIEW CXC_LIQUIDACION AS
SELECT A.COD_CIA, B.COD_CLIENTE, A.SUCURSAL, B.LINEA, A.TIP_DOC, A.NUM_DOC, 
             A.SUCURSAL_REF,  A.TIP_DOC_REF, A.NUM_DOC_REF, A.MON_PAGO, B.FEC_DOC,
             B.NUM_ASIENTO, A.MON_DESCUENTO, A.INTERES, A.INT_MORA, B.COD_MONEDA,
             B.DOC_REF,A.TIP_DOC_REF TIPOREF
FROM CXC_DET_PAGO_NOTA A, CXC_ENC_PAGO_NOTA B
WHERE A.COD_CIA = B.COD_CIA
  AND A.SUCURSAL = B.SUCURSAL
  AND A.TIP_DOC = B.TIP_DOC
  AND A.NUM_DOC = B.NUM_DOC
  AND B.ESTADO = 'A'
  AND B.TIP_DOC_REF IS NOT NULL;

/*==============================================================*/
/* View: CXC_DET_MOV_PAGO                                       */
/*==============================================================*/
CREATE OR REPLACE VIEW CXC_DET_MOV_PAGO AS
SELECT A.COD_CIA, A.SUCURSAL, A.TIP_DOC, A.NUM_DOC, A.FEC_DOC,
A.TIP_DOC_REF TIPOREF, A.DOC_REF, B.SUCURSAL_REF, B.TIP_DOC_REF, B.NUM_DOC_REF,
B.MON_DESCUENTO, B.MON_PAGO, B.INTERES, B.INT_MORA
FROM CXC_ENC_PAGO_NOTA A, CXC_DET_PAGO_NOTA B
WHERE A.COD_CIA = B.COD_CIA AND A.SUCURSAL = B.SUCURSAL
AND A.TIP_DOC = B.TIP_DOC AND A.NUM_DOC = B.NUM_DOC;

/*==============================================================*/
/* View: CXC_VISDETAGECXC                                       */
/*==============================================================*/
CREATE OR REPLACE VIEW CXC_VISDETAGECXC AS
SELECT DT.COD_CIA, DT.COD_AGENTE, DT.FECHA, DT.SUCURSAL,
       DT.TIP_DOC, DT.NUM_DOC,
       EM.DOC_REF, EM.COD_CLIENTE, EM.FEC_VENCE, EM.MON_SALDO
FROM   CXC_ENC_MOVIMIENTO EM,  CXC_DETAGECXCTMP DT
WHERE  EM.COD_CIA  = DT.COD_CIA
  AND    EM.SUCURSAL = DT.SUCURSAL
  AND    EM.TIP_DOC  = DT.TIP_DOC
  AND    EM.NUM_DOC  = DT.NUM_DOC;

/*==============================================================*/
/* View: CXC_LIBERACHK                                          */
/*==============================================================*/
CREATE OR REPLACE VIEW CXC_LIBERACHK AS
SELECT B.COD_CIA, B.COD_CLIENTE, B.SUCURSAL, B.LINEA, B.COD_AGENTE,
       B.TIP_DOC, B.NUM_DOC,B.COD_MONEDA, B.DOC_REF, B.DEPOSITO, A.NUM_CHEQUE,
       A.REFERENCIA,A.DESCRIPCION,A.POSTFECHADO,A.MONTO_PAGO,A.FECHA_PAGO,A.ESTADO
FROM CXC_CHEQUES A, CXC_ENC_PAGO_NOTA B
WHERE A.COD_CIA = B.COD_CIA 
  AND A.SUCURSAL = B.SUCURSAL 
  AND A.TIP_DOC = B.TIP_DOC 
  AND A.NUM_DOC = B.NUM_DOC 
  AND B.ESTADO = 'A';

/*==============================================================*/
/* View: CXC_MOV_PERIODO                                        */
/*==============================================================*/
CREATE OR REPLACE VIEW CXC_MOV_PERIODO AS
SELECT A.COD_CIA, A.SUCURSAL, A.COD_CLIENTE, A.TIP_DOC, A.ANO_FISCAL, A.PER_PROCESO,
       SUM (A.MON_DOCTO) MON_DOCTO, SUM (A.MON_SALDO) MON_SALDO
FROM CXC_ENC_MOVIMIENTO A
GROUP BY A.COD_CIA, A.SUCURSAL, A.COD_CLIENTE, A.TIP_DOC, A.ANO_FISCAL, A.PER_PROCESO;

/*==============================================================*/
/* View: CXC_MOV_SALDO                                          */
/*==============================================================*/
CREATE OR REPLACE VIEW CXC_MOV_SALDO AS
SELECT A.COD_CIA, A.SUCURSAL, A.TIP_DOC, A.NUM_DOC, A.FEC_DOC, A.TIP_DOC_REF TIPOREF,
       A.DOC_REF, B.SUCURSAL_REF, B.TIP_DOC_REF, B.NUM_DOC_REF, B.MON_DESCUENTO,
       B.MON_PAGO, B.INTERES, B.INT_MORA
FROM CXC_ENC_PAGO_NOTA A, CXC_DET_PAGO_NOTA B
WHERE A.COD_CIA = B.COD_CIA
  AND A.SUCURSAL = B.SUCURSAL
  AND A.TIP_DOC = B.TIP_DOC
  AND A.NUM_DOC = B.NUM_DOC;

/*==============================================================*/
/* View: CXC_OBLIGACION_V                                       */
/*==============================================================*/
CREATE OR REPLACE VIEW CXC_OBLIGACION_V AS
SELECT O.COD_CIA, O.SUCURSAL, O.TIP_DOC, O.NUM_DOC, O.NUM_PARTE, M.COD_CLIENTE,
       M.COD_MONEDA, M.LINEA, M.DOC_REF, O.FEC_VENCE, O.MON_PAGO, O.MON_SALDO
FROM CXC_OBLIGACION O, CXC_ENC_MOVIMIENTO M
WHERE O.COD_CIA = M.COD_CIA
  AND O.SUCURSAL = M.SUCURSAL
  AND O.TIP_DOC = M.TIP_DOC
  AND O.NUM_DOC = M.NUM_DOC;

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

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);

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);

ALTER TABLE CXC_CLIENTE_PERSONA
   ADD CONSTRAINT GENPERSONA_CLIEPER_FK FOREIGN KEY (COD_CIA, PERSONA)
      REFERENCES GEN_PERSONA (COD_CIA, PERSONA);

ALTER TABLE CXC_CON_DOCUMENTO
   ADD CONSTRAINT CXCDOCUMENTO_CONDOC_FK FOREIGN KEY (TIP_DOC)
      REFERENCES CXC_DOCUMENTO (TIP_DOC);

ALTER TABLE CXC_CON_DOCUMENTO
   ADD CONSTRAINT CXCPARAMETRO_CONDOC_FK FOREIGN KEY (COD_CIA)
      REFERENCES CXC_PARAMETRO (COD_CIA);

ALTER TABLE CXC_CREDITO
   ADD CONSTRAINT CXCPERFIL_CREDITO_FK FOREIGN KEY (COD_CIA, PERFIL)
      REFERENCES CXCPERFIL (COD_CIA, PERFIL);

ALTER TABLE CXC_CREDITO
   ADD CONSTRAINT CXCCREDITO_LINEA_FK FOREIGN KEY (COD_CIA, LINEA)
      REFERENCES CXC_LINEA (COD_CIA, LINEA);

ALTER TABLE CXC_CREDITO
   ADD CONSTRAINT GENCLIENTE_CXCCREDITO_FK FOREIGN KEY (COD_CIA, COD_CLIENTE)
      REFERENCES GEN_CLIENTE (COD_CIA, COD_CLIENTE);

ALTER TABLE CXC_DEPOSITOS
   ADD CONSTRAINT CXCRECIBOSAGENTE_DEPOSITO_FK FOREIGN KEY (COD_CIA, SUCURSAL, RECIBO_AGENTE)
      REFERENCES CXC_RECIBOS_AGENTES (COD_CIA, SUCURSAL, RECIBO_AGENTE);

ALTER TABLE CXC_DET_PAGO_NOTA
   ADD CONSTRAINT CXCENCMOVIMIENTO_DETPGNT_FK FOREIGN KEY (COD_CIA, SUCURSAL_REF, TIP_DOC_REF, NUM_DOC_REF)
      REFERENCES CXC_ENC_MOVIMIENTO (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC);

ALTER TABLE CXC_DET_PAGO_NOTA
   ADD CONSTRAINT CXCENCPAGONOTA_DETPGNT_FK FOREIGN KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC)
      REFERENCES CXC_ENC_PAGO_NOTA (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC);

ALTER TABLE CXC_DET_PAGO_NOTA_HIST
   ADD CONSTRAINT CXCENCMOVTOHIST_DETPGNT_FK FOREIGN KEY (COD_CIA, SUCURSAL_REF, TIP_DOC_REF, NUM_DOC_REF)
      REFERENCES CXC_ENC_MOVIMIENTO_HIST (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC);

ALTER TABLE CXC_DET_PAGO_NOTA_HIST
   ADD CONSTRAINT CXCENCPGNTHIST_DETPGNT_FK FOREIGN KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC)
      REFERENCES CXC_ENC_PAGO_NOTA_HIST (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC);

ALTER TABLE CXC_ENC_MOVIMIENTO
   ADD CONSTRAINT CXCCREDITO_ENCMOVTO_FK FOREIGN KEY (COD_CIA, LINEA, COD_CLIENTE)
      REFERENCES CXC_CREDITO (COD_CIA, LINEA, COD_CLIENTE);

ALTER TABLE CXC_ENC_MOVIMIENTO
   ADD CONSTRAINT CXCCONDOCUMENTO_ENCMOVTO_FK FOREIGN KEY (COD_CIA, SUCURSAL, TIP_DOC)
      REFERENCES CXC_CON_DOCUMENTO (COD_CIA, SUCURSAL, TIP_DOC);

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_ENC_MOVIMIENTO_CON
   ADD CONSTRAINT CXCENCMOVIMIENTO_CON_FK FOREIGN KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC)
      REFERENCES CXC_ENC_MOVIMIENTO (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC);

ALTER TABLE CXC_ENC_PAGO_NOTA
   ADD CONSTRAINT CXCCONDOCUMENTO_ENCPGNT_FK FOREIGN KEY (COD_CIA, SUCURSAL, TIP_DOC)
      REFERENCES CXC_CON_DOCUMENTO (COD_CIA, SUCURSAL, TIP_DOC);

ALTER TABLE CXC_ENC_PAGO_NOTA
   ADD CONSTRAINT CXCRECIBOSAGENTE_ENCPGNT_FK FOREIGN KEY (COD_CIA, SUCURSAL, RECIBO_AGENTE)
      REFERENCES CXC_RECIBOS_AGENTES (COD_CIA, SUCURSAL, RECIBO_AGENTE);

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_PAGO_NOTA
   ADD CONSTRAINT CXCDEPOSITOS_ENCPGNT_FK FOREIGN KEY (COD_CIA, SUCURSAL, DEPOSITO)
      REFERENCES CXC_DEPOSITOS (COD_CIA, SUCURSAL, DEPOSITO);

ALTER TABLE CXC_LINEA
   ADD CONSTRAINT CXCPARAMETRO_LINEA_FK FOREIGN KEY (COD_CIA)
      REFERENCES CXC_PARAMETRO (COD_CIA);

ALTER TABLE CXC_OBLIGACION
   ADD CONSTRAINT CXCENCMOVIMIENTO_OBLIGA_FK FOREIGN KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC)
      REFERENCES CXC_ENC_MOVIMIENTO (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC);

ALTER TABLE CXC_PAGO_NOTA_CON
   ADD CONSTRAINT CXCENCPAGONOTA_CON_FK FOREIGN KEY (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC)
      REFERENCES CXC_ENC_PAGO_NOTA (COD_CIA, SUCURSAL, TIP_DOC, NUM_DOC);

ALTER TABLE CXC_PARMONEDA
   ADD CONSTRAINT CXCPARAMETRO_PARMONEDA_FK FOREIGN KEY (COD_CIA)
      REFERENCES CXC_PARAMETRO (COD_CIA);

ALTER TABLE CXC_POR_DESC
   ADD CONSTRAINT CXCLINEA_PORCDESC_FK FOREIGN KEY (COD_CIA, LINEA)
      REFERENCES CXC_LINEA (COD_CIA, LINEA);

ALTER TABLE CXC_RANGOS_ANTSA
   ADD CONSTRAINT CXCLINEA_ANTSA_FK FOREIGN KEY (COD_CIA, LINEA)
      REFERENCES CXC_LINEA (COD_CIA, LINEA);

ALTER TABLE CXC_RANGOS_CREDITO
   ADD CONSTRAINT CXCLINEA_RANGOSCRE_FK FOREIGN KEY (COD_CIA, LINEA)
      REFERENCES CXC_LINEA (COD_CIA, LINEA);

ALTER TABLE CXC_RECAGENTE
   ADD CONSTRAINT CXCCONDOCUMENTO_RECAGE_FK FOREIGN KEY (COD_CIA, SUCURSAL, TIP_DOC)
      REFERENCES CXC_CON_DOCUMENTO (COD_CIA, SUCURSAL, TIP_DOC);

ALTER TABLE CXC_TRAMITES_PROCESOS
   ADD CONSTRAINT CXCTRAMITES_PROCESOS_FK FOREIGN KEY (COD_CIA, NUM_PROCESO)
      REFERENCES CXC_TRAMITES (COD_CIA, NUM_PROCESO);

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

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

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

