CREATE TABLE LogLotesCafe ( 
Id INT IDENTITY ( 1,1 ) NOT NULL,
IdArchivo VARCHAR(20) NOT NULL,
Item INT DEFAULT ((0)) NOT NULL,
Fecha SMALLDATETIME NOT NULL,
NumLote VARCHAR(20) NOT NULL,
CantSacos DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
Trilladora VARCHAR(50) NOT NULL,
Destino VARCHAR(100),
Ruta VARCHAR(100),
NumContrato VARCHAR(20) NOT NULL,
NumOrden VARCHAR(20),
FecCargue SMALLDATETIME,
VrCompra MONEY DEFAULT ((0)) NOT NULL,
Estado INT DEFAULT ((0)) NOT NULL,
Remesa INT DEFAULT ((0)) NOT NULL,
IdCiaRem CHAR(2) DEFAULT ('00'),
TipFac VARCHAR(3) NOT NULL,
Factura INT DEFAULT ((0)) NOT NULL,
IdCiaFac CHAR(2) NOT NULL,
FechaFac SMALLDATETIME,
Cantidad DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
VrUnitario MONEY DEFAULT ((0)) NOT NULL,
VrTrayecto MONEY DEFAULT ((0)) NOT NULL,
DescArchivo VARCHAR(1000),
IdUsuario VARCHAR(11) NOT NULL,
Nombre VARCHAR(50) NOT NULL
 CONSTRAINT PK_LogLotesCafe PRIMARY KEY NONCLUSTERED (Id),
 CONSTRAINT CK_LogLotesCafeIdArchivo CHECK ((len([IdArchivo])>(0))),
 CONSTRAINT CK_LogLotesCafeIdUsuario CHECK ((len([IdUsuario])>(0))),
 CONSTRAINT CK_LogLotesCafeNombre CHECK ((len([Nombre])>(0))),
 CONSTRAINT CK_LogLotesCafeNumContrato CHECK ((len([NumContrato])>(0))),
 CONSTRAINT CK_LogLotesCafeNumLote CHECK ((len([NumLote])>(0))),
 CONSTRAINT CK_LogLotesCafeTrilladora CHECK ((len([Trilladora])>(0))))
CREATE TABLE LogLotesFac ( 
TipFac VARCHAR(3) NOT NULL,
Factura INT DEFAULT ((0)) NOT NULL,
IdCia CHAR(2) NOT NULL,
Item INT DEFAULT ((0)) NOT NULL,
Fecha SMALLDATETIME NOT NULL,
IdArchivo VARCHAR(20) NOT NULL,
NumLote VARCHAR(20) NOT NULL,
TipoRmt VARCHAR(3) NOT NULL,
Remesa INT DEFAULT ((0)) NOT NULL,
IdCiaRem CHAR(2) NOT NULL,
Cantidad DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
VrUnitario MONEY DEFAULT ((0)) NOT NULL
 CONSTRAINT PK_LogLotesFac PRIMARY KEY CLUSTERED (TipFac,Factura,IdCia,Item),
 CONSTRAINT CK_LogLotesFacIdArchivo CHECK ((len([IdArchivo])>(0))),
 CONSTRAINT CK_LogLotesFacIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_LogLotesFacIdCiaRem CHECK ((len([IdCiaRem])>(0))),
 CONSTRAINT CK_LogLotesFacNumLote CHECK ((len([NumLote])>(0))),
 CONSTRAINT CK_LogLotesFacTipFac CHECK ((len([TipFac])>(0))),
 CONSTRAINT CK_LogLotesFacTipoRmt CHECK ((len([TipoRmt])>(0))))
CREATE TABLE LogLotesTmp ( 
IdEstacion CHAR(2) NOT NULL,
Item INT DEFAULT ((0)) NOT NULL,
IdArchivo VARCHAR(20) NOT NULL,
NumLote VARCHAR(20) NOT NULL,
CantSacos DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
Trilladora VARCHAR(50) NOT NULL,
Destino VARCHAR(100),
Ruta VARCHAR(100),
Contrato VARCHAR(20) NOT NULL,
NumOrden VARCHAR(20),
FecLote SMALLDATETIME NOT NULL,
FecCargue SMALLDATETIME,
VrCompra MONEY DEFAULT ((0)) NOT NULL,
TipoRmt VARCHAR(3),
Remesa INT DEFAULT ((0)) NOT NULL,
IdCiaRem CHAR(2) DEFAULT ('00'),
ItemRem INT DEFAULT ((0)) NOT NULL,
Cantidad DECIMAL(16,6) DEFAULT ((0)) NOT NULL,
VrUnitario MONEY DEFAULT ((0)) NOT NULL
 CONSTRAINT PK_LogLotesTmp PRIMARY KEY CLUSTERED (IdEstacion,Item),
 CONSTRAINT CK_LogLotesTmpContrato CHECK ((len([Contrato])>(0))),
 CONSTRAINT CK_LogLotesTmpIdArchivo CHECK ((len([IdArchivo])>(0))),
 CONSTRAINT CK_LogLotesTmpIdEstacion CHECK ((len([IdEstacion])>(0))),
 CONSTRAINT CK_LogLotesTmpNumLote CHECK ((len([NumLote])>(0))),
 CONSTRAINT CK_LogLotesTmpTrilladora CHECK ((len([Trilladora])>(0))))
GO
 CREATE CLUSTERED INDEX IX_LogLotesCafeIdArchivo ON LogLotesCafe(IdArchivo,NumLote,Item)
 CREATE NONCLUSTERED INDEX IX_LogLotesCafeFecha ON LogLotesCafe(Fecha)
 CREATE NONCLUSTERED INDEX IX_LogLotesCafeFactura ON LogLotesCafe(TipFac,Factura,IdCiaFac)
 CREATE NONCLUSTERED INDEX IX_LogLotesTmpNumLote ON LogLotesTmp(IdArchivo,NumLote)
