CREATE TABLE MotivoRechazo ( codigo INT NOT NULL, descripcion VARCHAR(250) NOT NULL CONSTRAINT PK_MotivoRechazo PRIMARY KEY CLUSTERED (codigo)) CREATE TABLE Ordenes ( NumOrden VARCHAR(36) NOT NULL, CodAutoriza VARCHAR(50) NOT NULL, TipoOrden CHAR(1) DEFAULT ('S') NOT NULL, CodCliente VARCHAR(20) NOT NULL, NumPedido INT DEFAULT ((0)) NOT NULL, IdCia CHAR(2) DEFAULT ('00') NOT NULL, FecPedido SMALLDATETIME NOT NULL, FecEntrega SMALLDATETIME NOT NULL, EtdoPedido INT DEFAULT ((0)) NOT NULL, TipoTrans VARCHAR(10) DEFAULT ('0') NOT NULL, nVehiculo VARCHAR(10), nRemolque VARCHAR(10), CedConductor VARCHAR(20), Conductor VARCHAR(100), CodPlanta VARCHAR(20), Observacion VARCHAR(250), TipoAcepta INT DEFAULT ((0)) NOT NULL, EtdoEnvio INT DEFAULT ((0)) NOT NULL, FecRadica SMALLDATETIME NOT NULL, FecAcepta SMALLDATETIME, FecDespacho SMALLDATETIME, Comentarios VARCHAR(1000), FecAnula SMALLDATETIME, DescRechazo VARCHAR(250), RowVersionS VARCHAR(20) CONSTRAINT PK_Ordenes PRIMARY KEY CLUSTERED (NumOrden), CONSTRAINT CK_OrdenesCodAutoriza CHECK ((len([CodAutoriza])>(0))), CONSTRAINT CK_OrdenesCodCliente CHECK ((len([CodCliente])>(0))), CONSTRAINT CK_OrdenesIdCia CHECK ((len([IdCia])>(0))), CONSTRAINT CK_OrdenesTipoOrden CHECK ((len([TipoOrden])>(0))), CONSTRAINT CK_OrdenesTipoTrans CHECK ((len([TipoTrans])>(0)))) CREATE TABLE Pedido ( numeroOrdenPedido VARCHAR(36) NOT NULL, codigoAgente VARCHAR(6) NOT NULL, nitAgente VARCHAR(32) NOT NULL, codigoAutorizacionOP VARCHAR(15) NOT NULL, codigoCliente VARCHAR(16) NOT NULL, codigoPlantaDespacho VARCHAR(6) NOT NULL, codigoPlantaRecibo VARCHAR(6) NOT NULL, tipoVehiculo CHAR(1), placaVehiculo VARCHAR(6), fechaSugeridaEntrega DATETIME NOT NULL, placaRemolque VARCHAR(6), pedidoSobreCupo CHAR(10) NOT NULL, conductor VARCHAR(100), cedula VARCHAR(20), fechaOrdenPedido DATETIME NOT NULL, observacion VARCHAR(512), estadoOrdenPedido VARCHAR(50) NOT NULL, RowVersionS VARCHAR(16) NOT NULL CONSTRAINT PK_Pedido PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoAceptado ( numeroOrdenPedido VARCHAR(36) NOT NULL, password VARCHAR(32) NOT NULL, numeroAutorizacionOP VARCHAR(15) NOT NULL, tipoVehiculo CHAR(1), placaVehiculo VARCHAR(6), codigoPlantaDespacho VARCHAR(6) NOT NULL, placaRemolque VARCHAR(6), RowVersionS VARCHAR(16) NOT NULL CONSTRAINT PK_PedidoAceptado PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoAnulado ( numeroOrdenPedido VARCHAR(36) NOT NULL, password VARCHAR(32) NOT NULL, numeroAutorizacionOP VARCHAR(15) NOT NULL, RowVersionS VARCHAR(16) NOT NULL CONSTRAINT PK_PedidoAnulado PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoCerrado ( numeroOrdenPedido VARCHAR(36) NOT NULL, password VARCHAR(32) NOT NULL, GuiaTte VARCHAR(20) NOT NULL, numeroAutorizacionOP VARCHAR(15) NOT NULL, RowVersionS VARCHAR(16) NOT NULL CONSTRAINT PK_PedidoCerrado PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoDespachado ( numeroOrdenPedido VARCHAR(36) NOT NULL, password VARCHAR(32) NOT NULL, numeroAutorizacionOP VARCHAR(15) NOT NULL, tipoTransporte VARCHAR(1) NOT NULL, placaTransporte VARCHAR(6) NOT NULL, placaRemolque VARCHAR(6) NOT NULL, tipoTemperatura VARCHAR(1) NOT NULL, DespEscTemp VARCHAR(1) NOT NULL, temperatura INT NOT NULL, numeroGuiaUnica VARCHAR(20) NOT NULL, vigenciaGuiaUnica VARCHAR(4) NOT NULL, IdConductor VARCHAR(20) NOT NULL, FecGuiaTte DATETIME NOT NULL, numeroFactura VARCHAR(32) NOT NULL, SeguridadUsNum VARCHAR(32) NOT NULL, RowVersionS VARCHAR(16) NOT NULL CONSTRAINT PK_PedidoDespachado PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE PedidoRechazado ( numeroOrdenPedido VARCHAR(36) NOT NULL, password VARCHAR(32) NOT NULL, numeroAutorizacionOP VARCHAR(15) NOT NULL, motivoRechazo INT NOT NULL, descripcionRechazo VARCHAR(128) NOT NULL, RowVersionS VARCHAR(16) NOT NULL CONSTRAINT PK_PedidoRechazado PRIMARY KEY CLUSTERED (numeroOrdenPedido)) CREATE TABLE Producto ( numeroOrdenPedido VARCHAR(36) NOT NULL, volumenSugerido DECIMAL(12,2) NOT NULL, codigoProducto VARCHAR(8) NOT NULL, Cliente VARCHAR(16) CONSTRAINT PK_Producto PRIMARY KEY CLUSTERED (numeroOrdenPedido,codigoProducto)) CREATE TABLE ProductoAceptado ( numeroOrdenPedido VARCHAR(36) NOT NULL, volumen DECIMAL(12,2) NOT NULL, codigoProducto VARCHAR(8) NOT NULL CONSTRAINT PK_ProductoAceptado PRIMARY KEY CLUSTERED (numeroOrdenPedido,codigoProducto)) CREATE TABLE ProductoCerrado ( numeroOrdenPedido VARCHAR(36) NOT NULL, volumen DECIMAL(12,2) NOT NULL, codigoProducto VARCHAR(8) NOT NULL, Cliente VARCHAR(16) CONSTRAINT PK_ProductoCerrado PRIMARY KEY CLUSTERED (numeroOrdenPedido,codigoProducto)) CREATE TABLE ProductoDespachado ( numeroOrdenPedido VARCHAR(36) NOT NULL, volumen DECIMAL(12,2) NOT NULL, codigoProducto VARCHAR(8) NOT NULL, API FLOAT NOT NULL CONSTRAINT PK_ProductoDespachado PRIMARY KEY CLUSTERED (numeroOrdenPedido,codigoProducto)) CREATE TABLE TipoTemperatura ( codigo CHAR(1) NOT NULL, descripcion VARCHAR(50) NOT NULL CONSTRAINT PK_TipoTemperatura PRIMARY KEY CLUSTERED (codigo)) CREATE TABLE TipoTransporte ( codigo INT NOT NULL, descripcion VARCHAR(50) NOT NULL CONSTRAINT PK_TipoTransporte PRIMARY KEY CLUSTERED (codigo)) GO CREATE NONCLUSTERED INDEX IX_OrdenesNumPedido ON Ordenes(NumPedido,IdCia) CREATE NONCLUSTERED INDEX IX_OrdenesCodCliente ON Ordenes(CodCliente) CREATE NONCLUSTERED INDEX IX_OrdenesCodAutoriza ON Ordenes(CodAutoriza) GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[Pa_Actualizar] (@pmTabla VARCHAR(50),@pmCampos VARCHAR(2000),@pmCriterio VARCHAR(1000)) AS BEGIN Declare @pmQry VARCHAR(2000) SET @pmQry='' SET @pmQry=@pmQry + 'UPDATE '+ @pmTabla+' SET ' + @pmCampos IF LEN(@pmCriterio)>0 BEGIN SET @pmQry=@pmQry + ' WHERE ' + @pmCriterio END EXECUTE (@pmQry) RETURN END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[Pa_Agregar] (@pmTabla VARCHAR(50),@pmCampos VARCHAR(1000),@pmValores VARCHAR(2000)) AS BEGIN Declare @pmQry VARCHAR(2000) SET @pmQry='' SET @pmQry=@pmQry + 'INSERT INTO '+ @pmTabla+' ' SET @pmQry=@pmQry + '('+ @pmCampos+') VALUES ' SET @pmQry=@pmQry + '('+ @pmValores+')' EXECUTE (@pmQry) RETURN END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[Pa_Eliminar] (@pmTabla VARCHAR(50),@pmCriterio VARCHAR(500)) AS BEGIN Declare @pmQry VARCHAR(500) SET @pmQry='' SET @pmQry=@pmQry + 'DELETE FROM '+ @pmTabla IF LEN(@pmCriterio)>0 BEGIN SET @pmQry=@pmQry +' WHERE ' + @pmCriterio END EXECUTE (@pmQry) RETURN END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[Pa_InsertSelect] (@pmDB VARCHAR(50), @pmOwn VARCHAR(50), @pmTabla VARCHAR(50), @pmCampos VARCHAR(1000), @pmQuery VARCHAR(2000)) AS BEGIN Declare @pmQry VARCHAR(2500) SET @pmQry='' SET @pmQry=@pmQry + 'INSERT INTO '+ @pmDB + '.'+ @pmOwn +'.'+@pmTabla SET @pmQry=@pmQry + ' ('+ @pmCampos+') '+ @pmQuery EXECUTE (@pmQry) RETURN END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO CREATE PROCEDURE [dbo].[Pa_Query] (@pmCampos VARCHAR(3500), @pmTabla VARCHAR(1500), @pmCriterio VARCHAR(2000), @pmOrden VARCHAR(200), @pmGroup VARCHAR(500), @pmHaving VARCHAR(100)) AS BEGIN Declare @pmQry VARCHAR(7800) SET @pmQry='' SET @pmQry=@pmQry + 'SELECT '+ @pmCampos + ' FROM ' + @pmTabla IF Len(@pmCriterio)>0 BEGIN SET @pmQry=@pmQry + ' WHERE '+ @pmCriterio END IF Len(@pmGroup)>0 BEGIN SET @pmQry=@pmQry + ' GROUP BY ' + @pmGroup END IF Len(@pmHaving)>0 BEGIN SET @pmQry=@pmQry + ' HAVING '+ @pmHaving END IF Len(@pmOrden)>0 BEGIN SET @pmQry=@pmQry + ' ORDER BY '+ @pmOrden END EXECUTE (@pmQry) RETURN END GO