
/*==============================================================*/
/* Table: CONDETDISTRIBUCION                                    */
/*==============================================================*/
create table CONDETDISTRIBUCION  (
   COD_CIA              CHAR(3)                         not null,
   SISTEMA              VARCHAR2(4)                     not null,
   DISTRIBUCION         NUMBER(10)                      not null,
   LINEA                NUMBER(4)                       not null,
   COD_CTA              VARCHAR2(25)                    not null,
   CCOSTO               VARCHAR2(7)                     not null,
   DESCRIPCION          VARCHAR2(40),
   DEBITO               NUMBER(14,2)                    not null,
   CREDITO              NUMBER(14,2)                    not null,
   constraint CONDETDISTRIBUCION_PK primary key (COD_CIA, SISTEMA, DISTRIBUCION, LINEA)
);


/*==============================================================*/
/* Table: CONDISTRIBUCION                                       */
/*==============================================================*/
create table CONDISTRIBUCION  (
   COD_CIA              CHAR(3)                         not null,
   SISTEMA              VARCHAR2(4)                     not null,
   DISTRIBUCION         NUMBER(10)                      not null,
   DESCRIPCION          VARCHAR2(40),
   FECHA                DATE                            not null,
   FECREG               DATE                            not null,
   ORIGEN               VARCHAR2(4)                     not null,
   CLASE                VARCHAR2(6)                     not null,
   MONEDA               VARCHAR2(3)                     not null,
   TIPCAMBIO            NUMBER(14,4)                    not null,
   CAMBIOBASE           NUMBER(14,4)                    not null,
   ASIENTO              VARCHAR2(15),
   PERIODO              NUMBER(6),
   ESTADO               CHAR(1)                         not null
      constraint CONDISTRIBUCION_ESTADO_CK check (ESTADO in ('A','N')),
   constraint CONDISTRIBUCION_PK primary key (COD_CIA, SISTEMA, DISTRIBUCION)
);

/*==============================================================*/
/* Index: CONDISTRIBUCION_FECHA                                 */
/*==============================================================*/
create index CONDISTRIBUCION_FECHA on CONDISTRIBUCION (
   FECHA ASC,
   ASIENTO ASC
);

create or replace view CONVDISTRIBUCION as
   select COD_CIA, SISTEMA, DISTRIBUCION, DESCRIPCION, FECHA, FECREG,
          ORIGEN, CLASE, MONEDA, TIPCAMBIO, CAMBIOBASE, ASIENTO,
          PERIODO, DECODE(ASIENTO,NULL,ESTADO,'C') ESTADO
   from CONDISTRIBUCION;

alter table CONDETDISTRIBUCION
   add constraint CONDISTRIBUCION_DETALLE_FK foreign key (COD_CIA, SISTEMA, DISTRIBUCION)
      references CONDISTRIBUCION (COD_CIA, SISTEMA, DISTRIBUCION);

create global temporary table conincdistribucion(
	Cia  		Char(3) 	not null,
      	Sucursal 	Char(3) 	not null,
      	Documento	Varchar2(10) 	not null,
      	Llave1	  	Varchar2(25),      				
      	Llave2		Varchar2(25),
      	DocRef		Varchar2(10),
      	Fecha		Date		not null,
      	Distribucion 	Number(10),
      	Origen		Varchar2(4)	not null,
      	Clase		Varchar2(6),
   	Observaciones 	Varchar2(200),
      	Error		VarChar2(5)	not null)
on commit preserve rows;