CREATE TABLE [dbo].[SOShipments]
(
[ShipmentID] [int] NOT NULL IDENTITY(1, 1),
[ShipmentNumber] [varchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[FulFillID] [int] NOT NULL,
[Date] [datetime] NOT NULL,
[DatePeriod] [int] NOT NULL,
[Period] [int] NOT NULL,
[EstDeliveryDate] [datetime] NULL,
[DeliveryDate] [datetime] NULL,
[ShipToID] [int] NOT NULL,
[ShipToAttn] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ShipToName] [varchar] (128) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ShipToAddress] [varchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ShipToCity] [varchar] (32) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ShipToState] [varchar] (16) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ShipToZip] [varchar] (16) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ShipToCountry] [varchar] (16) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ShipMethodID] [int] NULL,
[TransactionTypeID] [int] NOT NULL,
[TrackingNumbers] [varchar] (1024) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_SOShipments_TrackingNumbers] DEFAULT (''),
[ShipmentNotes] [varchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL CONSTRAINT [DF_SOShipments_ShipmentNotes] DEFAULT (''),
[FreightCost] [money] NOT NULL CONSTRAINT [DF_SOShipments_FreightCost] DEFAULT ((0)),
[Weight] [decimal] (18, 6) NOT NULL CONSTRAINT [DF_SOShipments_Weight] DEFAULT ((0)),
[Freight] [money] NOT NULL CONSTRAINT [DF_SOShipments_Freight] DEFAULT ((0)),
[Total] [money] NOT NULL,
[VoidID] [int] NULL,
[Void] [bit] NOT NULL CONSTRAINT [DF_SOShipments_Void] DEFAULT ((0)),
[Reversal] [bit] NOT NULL CONSTRAINT [DF_SOShipments_Reversal] DEFAULT ((0)),
[CreatorID] [char] (8) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[UpdatorID] [char] (8) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[CreateDate] [datetime] NOT NULL CONSTRAINT [DF_SOShipments_CreateDate] DEFAULT (getdate()),
[LastUpdate] [datetime] NOT NULL CONSTRAINT [DF_SOShipments_LastUpdate] DEFAULT (getdate()),
[BaseTypeID] [int] NOT NULL CONSTRAINT [DF_SOShipments_BaseTypeID] DEFAULT ((1)),
[FulfillDetailShipToID] [int] NOT NULL CONSTRAINT [DF_SOShipments_FulfillDetailShipToID] DEFAULT ((1)),
[SOID] [int] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SOShipments] ADD CONSTRAINT [PK_SOShipments] PRIMARY KEY CLUSTERED ([ShipmentID]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[SOShipments] ADD CONSTRAINT [FK_SOShipments_FulFillID_SOFulFills] FOREIGN KEY ([FulFillID]) REFERENCES [dbo].[SOFulfills] ([FulfillID])
GO
ALTER TABLE [dbo].[SOShipments] ADD CONSTRAINT [FK_SOShipments_FulFillID_SOFulfillShipTos] FOREIGN KEY ([FulFillID], [FulfillDetailShipToID]) REFERENCES [dbo].[SOFulfillShipTos] ([FulfillID], [DetailID])
GO
ALTER TABLE [dbo].[SOShipments] ADD CONSTRAINT [FK_SOShipments_ShipMethodID_ShShipMethods] FOREIGN KEY ([ShipMethodID]) REFERENCES [dbo].[ShShipMethods] ([ShipMethodID])
GO
ALTER TABLE [dbo].[SOShipments] ADD CONSTRAINT [FK_SOShipments_ShipToID_ARCustomers] FOREIGN KEY ([ShipToID]) REFERENCES [dbo].[ARCustomers] ([CustomerID])
GO
ALTER TABLE [dbo].[SOShipments] ADD CONSTRAINT [FK_SOShipments_SOID_SOOrders] FOREIGN KEY ([SOID]) REFERENCES [dbo].[SOOrders] ([SOID])
GO