CREATE TABLE CxcCheques ( FechaCorte SMALLDATETIME NOT NULL, IdCia CHAR(2) DEFAULT ('01') NOT NULL, TipForma VARCHAR(3) DEFAULT ('CHE') NOT NULL, Numero VARCHAR(20) NOT NULL, IdBanco VARCHAR(4) NOT NULL, Fecha SMALLDATETIME NOT NULL, FecPago SMALLDATETIME NOT NULL, VrForma MONEY DEFAULT (0) NOT NULL, CtaForma VARCHAR(30) NOT NULL, Beneficiario VARCHAR(150), Referncia1 VARCHAR(50), Referncia2 VARCHAR(50), Detalle VARCHAR(150), NitCliente VARCHAR(16) DEFAULT ('0') NOT NULL, CdAgencia VARCHAR(16) DEFAULT ('0') NOT NULL, CdVend VARCHAR(16) DEFAULT ('0') NOT NULL, IdLocal VARCHAR(8) NOT NULL, Recibo INT DEFAULT (0) NOT NULL, IdEstado VARCHAR(4) NOT NULL, NomCliente VARCHAR(150) NOT NULL, NomAgencia VARCHAR(150), NomVendedor VARCHAR(150) NOT NULL, NomCiudad VARCHAR(50), NomBanco VARCHAR(50) CONSTRAINT PK_CxcCheques PRIMARY KEY CLUSTERED (FechaCorte,IdCia,TipForma,Numero,IdBanco), CONSTRAINT CK_CxcChequesCdAgencia CHECK ((len([CdAgencia]) > 0)), CONSTRAINT CK_CxcChequesCdVend CHECK ((len([CdVend]) > 0)), CONSTRAINT CK_CxcChequesCtaForma CHECK ((len([CtaForma]) > 0)), CONSTRAINT CK_CxcChequesIdBanco CHECK ((len([IdBanco]) > 0)), CONSTRAINT CK_CxcChequesIdCia CHECK ((len([IdCia]) > 0)), CONSTRAINT CK_CxcChequesIdEstado CHECK ((len([IdEstado]) > 0)), CONSTRAINT CK_CxcChequesIdLocal CHECK ((len([IdLocal]) > 0)), CONSTRAINT CK_CxcChequesNitCliente CHECK ((len([NitCliente]) > 0)), CONSTRAINT CK_CxcChequesNomCliente CHECK ((len([NomCliente]) > 0)), CONSTRAINT CK_CxcChequesNomVendedor CHECK ((len([NomVendedor]) > 0)), CONSTRAINT CK_CxcChequesNumero CHECK ((len([Numero]) > 0)), CONSTRAINT CK_CxcChequesTipForma CHECK ((len([TipForma]) > 0))) CREATE TABLE CxcCorte ( FechaCorte SMALLDATETIME NOT NULL, IdCia CHAR(2) DEFAULT ('01') NOT NULL, TipoCorte VARCHAR(10) DEFAULT ('CIERRE') NOT NULL, IdUsuario VARCHAR(11) NOT NULL, Nombre VARCHAR(50) NOT NULL, TimeSys SMALLDATETIME NOT NULL, NomCnia VARCHAR(50) CONSTRAINT PK_CxcCorte PRIMARY KEY CLUSTERED (FechaCorte,IdCia), CONSTRAINT CK_CxcCorteIdCia CHECK ((len([IdCia]) > 0)), CONSTRAINT CK_CxcCorteIdUsuario CHECK ((len([IdUsuario]) > 0)), CONSTRAINT CK_CxcCorteNombre CHECK ((len([Nombre]) > 0)), CONSTRAINT CK_CxcCorteTipoCorte CHECK ((len([TipoCorte]) > 0))) CREATE TABLE CxcFacturas ( FechaCorte SMALLDATETIME NOT NULL, TipDoc VARCHAR(3) DEFAULT ('FCR') NOT NULL, Factura INT DEFAULT (0) NOT NULL, IdCia CHAR(2) DEFAULT ('01') NOT NULL, Item INT DEFAULT (1) NOT NULL, Fecha SMALLDATETIME NOT NULL, FechaVence SMALLDATETIME NOT NULL, VrFactura MONEY DEFAULT (0) NOT NULL, VrAbonado MONEY DEFAULT (0) NOT NULL, IdCliente VARCHAR(16) NOT NULL, IdAgencia VARCHAR(16) DEFAULT ('0') NOT NULL, IdVend VARCHAR(16) NOT NULL, Comision DECIMAL(14,4) DEFAULT (0) NOT NULL, TarifDcto DECIMAL(14,4) DEFAULT (0) NOT NULL, TipoDcto CHAR(1) DEFAULT ('%') NOT NULL, TipoBase VARCHAR(10) DEFAULT ('TOTAL') NOT NULL, FecLmtDcto SMALLDATETIME, IdConcepto VARCHAR(4) NOT NULL, Referencia VARCHAR(50), Detalle VARCHAR(150), TipRef VARCHAR(3) DEFAULT ('0') NOT NULL, DocRef INT DEFAULT (0) NOT NULL, IdCiaRef CHAR(2) DEFAULT ('00') NOT NULL, FecUltPago SMALLDATETIME, FecLiqMora SMALLDATETIME, NomCliente VARCHAR(150) NOT NULL, NomAgencia VARCHAR(150), NomVendedor VARCHAR(150) NOT NULL, NomConcepto VARCHAR(50) CONSTRAINT PK_CxcFacturas PRIMARY KEY CLUSTERED (FechaCorte,TipDoc,Factura,IdCia,Item), CONSTRAINT CK_CxcFacturasIdAgencia CHECK ((len([IdAgencia]) > 0)), CONSTRAINT CK_CxcFacturasIdCia CHECK ((len([IdCia]) > 0)), CONSTRAINT CK_CxcFacturasIdCiaRef CHECK ((len([IdCiaRef]) > 0)), CONSTRAINT CK_CxcFacturasIdCliente CHECK ((len([IdCliente]) > 0)), CONSTRAINT CK_CxcFacturasIdConcepto CHECK ((len([IdConcepto]) > 0)), CONSTRAINT CK_CxcFacturasIdVend CHECK ((len([IdVend]) > 0)), CONSTRAINT CK_CxcFacturasNomCliente CHECK ((len([NomCliente]) > 0)), CONSTRAINT CK_CxcFacturasNomVendedor CHECK ((len([NomVendedor]) > 0)), CONSTRAINT CK_CxcFacturasTipDoc CHECK ((len([TipDoc]) > 0)), CONSTRAINT CK_CxcFacturasTipoBase CHECK ((len([TipoBase]) > 0)), CONSTRAINT CK_CxcFacturasTipoDcto CHECK ((len([TipoDcto]) > 0)), CONSTRAINT CK_CxcFacturasTipRef CHECK ((len([TipRef]) > 0))) CREATE TABLE CxpCorte ( FechaCorte SMALLDATETIME NOT NULL, IdCia CHAR(2) DEFAULT ('01') NOT NULL, TipoCorte VARCHAR(10) DEFAULT ('CIERRE') NOT NULL, IdUsuario VARCHAR(11) NOT NULL, Nombre VARCHAR(50) NOT NULL, TimeSys SMALLDATETIME NOT NULL, NomCnia VARCHAR(50) CONSTRAINT PK_CxpCorte PRIMARY KEY CLUSTERED (FechaCorte,IdCia), CONSTRAINT CK_CxpCorteIdCia CHECK ((len([IdCia]) > 0)), CONSTRAINT CK_CxpCorteIdUsuario CHECK ((len([IdUsuario]) > 0)), CONSTRAINT CK_CxpCorteNombre CHECK ((len([Nombre]) > 0)), CONSTRAINT CK_CxpCorteTipoCorte CHECK ((len([TipoCorte]) > 0))) CREATE TABLE CxpFacturas ( FechaCorte SMALLDATETIME NOT NULL, TipFac VARCHAR(3) NOT NULL, Factura VARCHAR(15) NOT NULL, IdCia CHAR(2) DEFAULT ('01') NOT NULL, Item INT DEFAULT (1) NOT NULL, IdProveedor VARCHAR(16) NOT NULL, IdCuenta VARCHAR(16) NOT NULL, TipDoc VARCHAR(3), Documento INT DEFAULT (0) NOT NULL, IdCiaDoc CHAR(2) DEFAULT ('01'), FecEmision SMALLDATETIME NOT NULL, FecVence SMALLDATETIME NOT NULL, VrFactura MONEY DEFAULT (0) NOT NULL, VrAbonado MONEY DEFAULT (0) NOT NULL, TipCom VARCHAR(3), Comprobante INT DEFAULT (0) NOT NULL, ItemCom INT DEFAULT (0) NOT NULL, Referencia VARCHAR(50), Detalle VARCHAR(100), pVehiculo VARCHAR(10), TipRef VARCHAR(3), DocRef INT DEFAULT (0) NOT NULL, IdCiaRef CHAR(2) DEFAULT ('01'), NomCuenta VARCHAR(100), NomProveedor VARCHAR(150) NOT NULL, TipoFactura VARCHAR(50) CONSTRAINT PK_CxpFacturas PRIMARY KEY CLUSTERED (FechaCorte,TipFac,Factura,IdCia,Item,IdProveedor), CONSTRAINT CK_CxpFacturasFactura CHECK ((len([Factura]) > 0)), CONSTRAINT CK_CxpFacturasIdCia CHECK ((len([IdCia]) > 0)), CONSTRAINT CK_CxpFacturasIdCuenta CHECK ((len([IdCuenta]) > 0)), CONSTRAINT CK_CxpFacturasIdProveedor CHECK ((len([IdProveedor]) > 0)), CONSTRAINT CK_CxpFacturasNomProveedor CHECK ((len([NomProveedor]) > 0)), CONSTRAINT CK_CxpFacturasTipFac CHECK ((len([TipFac]) > 0))) GO ALTER TABLE CxcCheques ADD CONSTRAINT FK_CxcCheques_CxcCorte FOREIGN KEY (FechaCorte,IdCia) REFERENCES [dbo].[CxcCorte] (FechaCorte,IdCia) GO CREATE NONCLUSTERED INDEX IX_CxcChequesFecha ON CxcCheques(Fecha) CREATE NONCLUSTERED INDEX IX_CxcChequesNitCliente ON CxcCheques(NitCliente) CREATE NONCLUSTERED INDEX IX_CxcChequesCdVend ON CxcCheques(CdVend) CREATE NONCLUSTERED INDEX IX_CxcChequesNumero ON CxcCheques(Numero,IdBanco,IdCia) GO ALTER TABLE CxcFacturas ADD CONSTRAINT FK_CxcFacturas_CxcCorte FOREIGN KEY (FechaCorte,IdCia) REFERENCES [dbo].[CxcCorte] (FechaCorte,IdCia) GO CREATE NONCLUSTERED INDEX IX_CxcFacturasFecha ON CxcFacturas(Fecha) CREATE NONCLUSTERED INDEX IX_CxcFacturasIdCliente ON CxcFacturas(IdCliente) CREATE NONCLUSTERED INDEX IX_CxcFacturasIdVend ON CxcFacturas(IdVend) CREATE NONCLUSTERED INDEX IX_CxcFacturasFactura ON CxcFacturas(TipDoc,Factura,IdCia) GO ALTER TABLE CxpFacturas ADD CONSTRAINT FK_CxpFacturas_CxpCorte FOREIGN KEY (FechaCorte,IdCia) REFERENCES [dbo].[CxpCorte] (FechaCorte,IdCia) GO CREATE NONCLUSTERED INDEX IX_CxpFacturasIdProveedor ON CxpFacturas(IdProveedor) CREATE NONCLUSTERED INDEX IX_CxpFacturasFactura ON CxpFacturas(TipFac,Factura,IdCia,IdProveedor) CREATE NONCLUSTERED INDEX IX_CxpFacturasFecEmision ON CxpFacturas(FecEmision) GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE PROCEDURE 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 QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE PROCEDURE 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 QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE PROCEDURE 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 QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE PROCEDURE 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 QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO CREATE PROCEDURE 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 SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO