INSERT INTO Sys_TiposDoc (IdDoc,TipoDoc,ConsUnico,Leyenda,Inactivo,IntegraCias)
 VALUES ('RAP','RETIRO DE APORTES',0,'',0,1)
INSERT INTO Sys_TiposDoc (IdDoc,TipoDoc,ConsUnico,Leyenda,Inactivo,IntegraCias)
 VALUES ('DRA','DEVOLUCION DE RETIRO DE APORTES',0,'',0,1)
GO
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('RAP',1,'CUENTA DE APORTES','D')
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('RAP',2,'CUENTA POR PAGAR','C')
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('DRA',1,'CUENTA POR PAGAR','D')
INSERT INTO Sys_TiposDocCue (IdDoc,IdClase,ClaseCuenta,TipoMov)
 VALUES ('DRA',2,'CUENTA DE APORTES','C')
GO
ALTER TABLE Trn_GatLiquida ADD TipCau VARCHAR(3) DEFAULT('0') NOT NULL,Causacion INT DEFAULT(0) NOT NULL,IdCiaCau CHAR(2) DEFAULT('00') NOT NULL
GO
ALTER TABLE Trn_GatAjustes ADD TipCau VARCHAR(3) DEFAULT('0') NOT NULL,Causacion INT DEFAULT(0) NOT NULL,IdCiaCau CHAR(2) DEFAULT('00') NOT NULL 
GO
ALTER TABLE Vehiculos ADD EdoVincula INT DEFAULT(0) NOT NULL
GO
ALTER TABLE VehRemolq ADD Tipo_Afil VARCHAR(10),EdoVincula INT DEFAULT(0) NOT NULL,FechaVincula SMALLDATETIME,FechaRetiro SMALLDATETIME
GO
CREATE TABLE Trn_GatRecibosCau ( 
TipDoc VARCHAR(3) NOT NULL,
Recibo INT DEFAULT ((0)) NOT NULL,
IdCia CHAR(2) NOT NULL,
Item INT DEFAULT ((0)) NOT NULL,
TipCau VARCHAR(3) DEFAULT ('CCD') NOT NULL,
Causacion INT DEFAULT ((0)) NOT NULL,
IdCiaCau CHAR(2) DEFAULT ('01') NOT NULL,
ItemCau INT DEFAULT ((0)) NOT NULL,
VrAportes MONEY DEFAULT ((0)) NOT NULL,
VrTotalAbo MONEY DEFAULT ((0)) NOT NULL,
VrAbono MONEY DEFAULT ((0)) NOT NULL,
Descripcion VARCHAR(500),
IdAsociado VARCHAR(16) NOT NULL,
UndVehiculo CHAR(1) DEFAULT ('V') NOT NULL,
IdVehiculo VARCHAR(10) NOT NULL
 CONSTRAINT PK_Trn_GatRecibosCau PRIMARY KEY CLUSTERED (TipDoc,Recibo,IdCia,Item),
 CONSTRAINT CK_Trn_GatRecibosCauIdAsociado CHECK ((len([IdAsociado])>(0))),
 CONSTRAINT CK_Trn_GatRecibosCauIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_GatRecibosCauIdCiaCau CHECK ((len([IdCiaCau])>(0))),
 CONSTRAINT CK_Trn_GatRecibosCauIdVehiculo CHECK ((len([IdVehiculo])>(0))),
 CONSTRAINT CK_Trn_GatRecibosCauTipCau CHECK ((len([TipCau])>(0))),
 CONSTRAINT CK_Trn_GatRecibosCauTipDoc CHECK ((len([TipDoc])>(0))),
 CONSTRAINT CK_Trn_GatRecibosCauUndVehiculo CHECK ((len([UndVehiculo])>(0))))
GO
CREATE TABLE Trn_GatRetiros ( 
TipDoc VARCHAR(3) DEFAULT ('RAP') NOT NULL,
NumRegistro INT DEFAULT ((0)) NOT NULL,
IdCia CHAR(2) NOT NULL,
Fecha SMALLDATETIME NOT NULL,
FechaRetiro SMALLDATETIME NOT NULL,
IdConcepto VARCHAR(4) NOT NULL,
TipoRetiro VARCHAR(10) DEFAULT ('VEHICULO') NOT NULL,
Modalidad VARCHAR(10) DEFAULT ('TOTAL') NOT NULL,
IdAsociado VARCHAR(16) NOT NULL,
UndVehiculo CHAR(1) DEFAULT ('V') NOT NULL,
IdVehiculo VARCHAR(10) NOT NULL,
nRemolque VARCHAR(10),
VrRetiro MONEY DEFAULT ((0)) NOT NULL,
VrAportes MONEY DEFAULT ((0)) NOT NULL,
VrVinculacion MONEY DEFAULT ((0)) NOT NULL,
VrSaldoVinc MONEY DEFAULT ((0)) NOT NULL,
VrGarantia MONEY DEFAULT ((0)) NOT NULL,
VrSaldoApo MONEY DEFAULT ((0)) NOT NULL,
VrTotalApo MONEY DEFAULT ((0)) NOT NULL,
VrAvaluo MONEY DEFAULT ((0)) NOT NULL,
TipoBaseLiq CHAR(1) DEFAULT ('A') NOT NULL,
TipoAfiVeh VARCHAR(10),
Referencia VARCHAR(50),
FechaCorte SMALLDATETIME NOT NULL,
TipCom VARCHAR(3) NOT NULL,
Comprobante INT DEFAULT ((0)) NOT NULL,
IdCiaCom CHAR(2) NOT NULL,
Anulado BIT DEFAULT ((0)) NOT NULL,
NumDev INT DEFAULT ((0)) NOT NULL,
FechaDev SMALLDATETIME,
Observacion VARCHAR(500),
IdUsuario VARCHAR(11) NOT NULL,
FechaCrea SMALLDATETIME NOT NULL,
IdCiaCrea CHAR(2) NOT NULL,
ModuloCrea VARCHAR(10) NOT NULL
 CONSTRAINT PK_Trn_GatRetiros PRIMARY KEY CLUSTERED (TipDoc,NumRegistro,IdCia),
 CONSTRAINT CK_Trn_GatRetirosIdAsociado CHECK ((len([IdAsociado])>(0))),
 CONSTRAINT CK_Trn_GatRetirosIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_GatRetirosIdCiaCom CHECK ((len([IdCiaCom])>(0))),
 CONSTRAINT CK_Trn_GatRetirosIdCiaCrea CHECK ((len([IdCiaCrea])>(0))),
 CONSTRAINT CK_Trn_GatRetirosIdConcepto CHECK ((len([IdConcepto])>(0))),
 CONSTRAINT CK_Trn_GatRetirosIdUsuario CHECK ((len([IdUsuario])>(0))),
 CONSTRAINT CK_Trn_GatRetirosIdVehiculo CHECK ((len([IdVehiculo])>(0))),
 CONSTRAINT CK_Trn_GatRetirosModalidad CHECK ((len([Modalidad])>(0))),
 CONSTRAINT CK_Trn_GatRetirosModuloCrea CHECK ((len([ModuloCrea])>(0))),
 CONSTRAINT CK_Trn_GatRetirosTipCom CHECK ((len([TipCom])>(0))),
 CONSTRAINT CK_Trn_GatRetirosTipDoc CHECK ((len([TipDoc])>(0))),
 CONSTRAINT CK_Trn_GatRetirosTipoBaseLiq CHECK ((len([TipoBaseLiq])>(0))),
 CONSTRAINT CK_Trn_GatRetirosTipoRetiro CHECK ((len([TipoRetiro])>(0))),
 CONSTRAINT CK_Trn_GatRetirosUndVehiculo CHECK ((len([UndVehiculo])>(0))))
CREATE TABLE Trn_GatRetirosDet ( 
TipDoc VARCHAR(3) DEFAULT ('RAP') NOT NULL,
NumRegistro INT DEFAULT ((0)) NOT NULL,
IdCia CHAR(2) NOT NULL,
Item INT DEFAULT ((0)) NOT NULL,
UndVehiculo CHAR(1) DEFAULT ('V') NOT NULL,
IdVehiculo VARCHAR(10) NOT NULL,
VrRetiro MONEY DEFAULT ((0)) NOT NULL,
VrAportes MONEY DEFAULT ((0)) NOT NULL,
VrVinculacion MONEY DEFAULT ((0)) NOT NULL,
VrSaldoVinc MONEY DEFAULT ((0)) NOT NULL,
VrGarantia MONEY DEFAULT ((0)) NOT NULL,
VrSaldoApo MONEY DEFAULT ((0)) NOT NULL,
VrTotalApo MONEY DEFAULT ((0)) NOT NULL,
VrAvaluo MONEY DEFAULT ((0)) NOT NULL,
TipoBaseLiq CHAR(1) DEFAULT ('A') NOT NULL
 CONSTRAINT PK_Trn_GatRetirosDet PRIMARY KEY CLUSTERED (TipDoc,NumRegistro,IdCia,Item),
 CONSTRAINT CK_Trn_GatRetirosDetIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_GatRetirosDetIdVehiculo CHECK ((len([IdVehiculo])>(0))),
 CONSTRAINT CK_Trn_GatRetirosDetTipDoc CHECK ((len([TipDoc])>(0))),
 CONSTRAINT CK_Trn_GatRetirosDetTipoBaseLiq CHECK ((len([TipoBaseLiq])>(0))),
 CONSTRAINT CK_Trn_GatRetirosDetUndVehiculo CHECK ((len([UndVehiculo])>(0))))
GO
CREATE TABLE Trn_GatDevRetiros ( 
TipDev VARCHAR(3) DEFAULT ('DRA') NOT NULL,
Devolucion INT DEFAULT ((0)) NOT NULL,
IdCia CHAR(2) NOT NULL,
Fecha SMALLDATETIME NOT NULL,
IdConcepto VARCHAR(4) NOT NULL,
TipDoc VARCHAR(3) NOT NULL,
NumRetiro INT DEFAULT ((0)) NOT NULL,
IdCiaDoc CHAR(2) NOT NULL,
FecDoc SMALLDATETIME NOT NULL,
TipoRetiro VARCHAR(10) DEFAULT ('VEHICULO') NOT NULL,
Modalidad VARCHAR(10) NOT NULL,
IdAsociado VARCHAR(16) NOT NULL,
UndVehiculo CHAR(1) DEFAULT ('V') NOT NULL,
IdVehiculo VARCHAR(10) NOT NULL,
nRemolque VARCHAR(10),
VrDevolucion MONEY DEFAULT ((0)) NOT NULL,
TipCom VARCHAR(3) NOT NULL,
Comprobante INT DEFAULT ((0)) NOT NULL,
IdCiaCom CHAR(2) NOT NULL,
ModdDev VARCHAR(10) NOT NULL,
Observacion VARCHAR(500),
IdUsuario VARCHAR(11) NOT NULL,
FechaCrea SMALLDATETIME NOT NULL,
IdCiaCrea CHAR(2) NOT NULL,
ModuloCrea VARCHAR(10) NOT NULL
 CONSTRAINT PK_Trn_GatDevRetiros PRIMARY KEY CLUSTERED (TipDev,Devolucion,IdCia),
 CONSTRAINT CK_Trn_GatDevRetirosIdAsociado CHECK ((len([IdAsociado])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosIdCia CHECK ((len([IdCia])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosIdCiaCom CHECK ((len([IdCiaCom])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosIdCiaCrea CHECK ((len([IdCiaCrea])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosIdCiaDoc CHECK ((len([IdCiaDoc])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosIdConcepto CHECK ((len([IdConcepto])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosIdUsuario CHECK ((len([IdUsuario])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosIdVehiculo CHECK ((len([IdVehiculo])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosModalidad CHECK ((len([Modalidad])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosModdDev CHECK ((len([ModdDev])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosModuloCrea CHECK ((len([ModuloCrea])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosTipCom CHECK ((len([TipCom])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosTipDev CHECK ((len([TipDev])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosTipDoc CHECK ((len([TipDoc])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosTipoRetiro CHECK ((len([TipoRetiro])>(0))),
 CONSTRAINT CK_Trn_GatDevRetirosUndVehiculo CHECK ((len([UndVehiculo])>(0))))
GO

ALTER TABLE Trn_GatRecibosCau ADD 
 CONSTRAINT FK_Trn_GatRecibosCau_Companias FOREIGN KEY (IdCia) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_GatRecibosCau_Sys_TiposDoc FOREIGN KEY (TipDoc) REFERENCES [dbo].[Sys_TiposDoc] (IdDoc),
 CONSTRAINT FK_Trn_GatRecibosCau_Terceros FOREIGN KEY (IdAsociado) REFERENCES [dbo].[Terceros] (IdTercero)

CREATE NONCLUSTERED INDEX IX_Trn_GatRecibosCauCausacion ON Trn_GatRecibosCau(TipCau,Causacion,IdCiaCau,ItemCau)

ALTER TABLE Trn_GatRetiros ADD 
 CONSTRAINT FK_Trn_GatRetiros_adm_Usuarios FOREIGN KEY (IdUsuario) REFERENCES [dbo].[adm_Usuarios] (IdUsuario),
 CONSTRAINT FK_Trn_GatRetiros_Companias FOREIGN KEY (IdCia) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_GatRetiros_Companias1 FOREIGN KEY (IdCiaCrea) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_GatRetiros_Conceptos FOREIGN KEY (IdConcepto) REFERENCES [dbo].[Conceptos] (IdConcepto),
 CONSTRAINT FK_Trn_GatRetiros_Sys_TiposDoc FOREIGN KEY (TipDoc) REFERENCES [dbo].[Sys_TiposDoc] (IdDoc),
 CONSTRAINT FK_Trn_GatRetiros_Terceros FOREIGN KEY (IdAsociado) REFERENCES [dbo].[Terceros] (IdTercero)

CREATE NONCLUSTERED INDEX IX_Trn_GatRetirosFecha ON Trn_GatRetiros(Fecha)
 CREATE NONCLUSTERED INDEX IX_Trn_GatRetirosFechaRetiro ON Trn_GatRetiros(FechaRetiro)
 CREATE NONCLUSTERED INDEX IX_Trn_GatRetirosIdAsociado ON Trn_GatRetiros(IdAsociado)
 CREATE NONCLUSTERED INDEX IX_Trn_GatRetirosIdVehiculo ON Trn_GatRetiros(IdVehiculo)

ALTER TABLE Trn_GatRetirosDet ADD 
 CONSTRAINT FK_Trn_GatRetirosDet_Trn_GatRetiros FOREIGN KEY (TipDoc,NumRegistro,IdCia) REFERENCES [dbo].[Trn_GatRetiros] (TipDoc,NumRegistro,IdCia)


ALTER TABLE Trn_GatDevRetiros ADD 
 CONSTRAINT FK_Trn_GatDevRetiros_adm_Usuarios FOREIGN KEY (IdUsuario) REFERENCES [dbo].[adm_Usuarios] (IdUsuario),
 CONSTRAINT FK_Trn_GatDevRetiros_Companias FOREIGN KEY (IdCia) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_GatDevRetiros_Companias1 FOREIGN KEY (IdCiaCrea) REFERENCES [dbo].[Companias] (IdCia),
 CONSTRAINT FK_Trn_GatDevRetiros_Conceptos FOREIGN KEY (IdConcepto) REFERENCES [dbo].[Conceptos] (IdConcepto),
 CONSTRAINT FK_Trn_GatDevRetiros_Sys_TiposDoc FOREIGN KEY (TipDev) REFERENCES [dbo].[Sys_TiposDoc] (IdDoc),
 CONSTRAINT FK_Trn_GatDevRetiros_Terceros FOREIGN KEY (IdAsociado) REFERENCES [dbo].[Terceros] (IdTercero),
 CONSTRAINT FK_Trn_GatDevRetiros_Trn_GatRetiros FOREIGN KEY (TipDoc,NumRetiro,IdCiaDoc) REFERENCES [dbo].[Trn_GatRetiros] (TipDoc,NumRegistro,IdCia)

CREATE NONCLUSTERED INDEX IX_Trn_GatDevRetirosFecha ON Trn_GatDevRetiros(Fecha)
 CREATE NONCLUSTERED INDEX IX_Trn_GatDevRetirosNumRetiro ON Trn_GatDevRetiros(TipDoc,NumRetiro,IdCiaDoc)
 CREATE NONCLUSTERED INDEX IX_Trn_GatDevRetirosIdVehiculo ON Trn_GatDevRetiros(IdVehiculo)

IF  EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_Trn_VehTraspasos_Vehiculos]') AND parent_object_id = OBJECT_ID(N'[dbo].[Trn_VehTraspasos]'))
ALTER TABLE [dbo].[Trn_VehTraspasos] DROP CONSTRAINT [FK_Trn_VehTraspasos_Vehiculos]