一,创建表
USE [SVC]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[RMAAttachments](
TransactionNumber int NOT NULL IDENTITY (1, 1),
CompanyCode char(50) NOT NULL DEFAULT '',
CountryCode char(3) NULL,
LanguageCode char(5) NULL,
AttachmentName nvarchar(MAX) NOT NULL DEFAULT '',
ItemCode char(50) NULL,
ControlCode char(30) NULL,
OrderNumber Char(50) NOT NULL DEFAULT '',
OrderType int NOT NULL,
InDate datetime NOT NULL,
InUser char(10) NOT NULL
CONSTRAINT [PK_RMAAttachments] PRIMARY KEY CLUSTERED
(
TransactionNumber
)WITH FILLFACTOR = 90
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF

CREATE NONCLUSTERED INDEX IX_RMAAttachments_CompanyCode ON [dbo].[RMAAttachments]
(
CompanyCode
)WITH FILLFACTOR=90

CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderType ON [dbo].[RMAAttachments]
(
OrderType
)WITH FILLFACTOR=90

CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderNumber ON [dbo].[RMAAttachments]
(
OrderNumber
)WITH FILLFACTOR=90

CREATE NONCLUSTERED INDEX IX_RMAAttachments_ItemCode ON [dbo].[RMAAttachments]
(
ItemCode
)WITH FILLFACTOR=90

CREATE NONCLUSTERED INDEX IX_RMAAttachments_ControlCode ON [dbo].[RMAAttachments]
(
ControlCode
)WITH FILLFACTOR=90
二,创建函数
CREATE FUNCTION dbo.FN_RMA_GetTheItemOnVendorData_V102007122101
(
@CompanyCode CHAR(50)
)
RETURNS TABLE
AS
RETURN
(
SELECT VendorNumber
,VendorName
,SUM(ISNULL(Between0To30DaysAmount,0.00)) AS Between0To30DaysAmount
,SUM(ISNULL(Between30To60DaysAmount,0.00)) AS Between30To60DaysAmount
,SUM(ISNULL(Between60To90DaysAmount,0.00)) AS Between60To90DaysAmount
,SUM(ISNULL(MoreThan90DaysAmount,0.00)) AS MoreThan90DaysAmount
,SUM(ISNULL(TotalAmount,0.00)) AS TotalAmount
,LastCountDate
FROM
(
SELECT VendorNumber
,VendorName
,CASE [Type] WHEN '001' THEN SUM(ISNULL(Amount,0.00)) END AS Between0To30DaysAmount
,CASE [Type] WHEN '002' THEN SUM(ISNULL(Amount,0.00)) END AS Between30To60DaysAmount
,CASE [Type] WHEN '003' THEN SUM(ISNULL(Amount,0.00)) END AS Between60To90DaysAmount
,CASE [Type] WHEN '004' THEN SUM(ISNULL(Amount,0.00)) END AS MoreThan90DaysAmount
,CASE [Type] WHEN '000' THEN SUM(ISNULL(Amount,0.00)) END AS TotalAmount
,LastCountDate
FROM [dbo].[RMAItemOnVendor] WITH (NOLOCK)
WHERE CompanyCode = @CompanyCode
GROUP BY VendorNumber,
VendorName,
[Type],
LastCountDate
) AS A
GROUP BY VendorNumber
,VendorName
,LastCountDate
)
三,修改表
ALTER TABLE DBO.ControlCodeTransaction ADD WarrantyLastCalcDate DATETIME NULL
ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN OrderNumber CHAR(50) NULL
ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN SourceNumber CHAR(50) NOT NULL
ALTER TABLE DBO.ControlCodeTransaction ADD CONSTRAINT [DF_ControlCodeTransaction_SourceTNumber] DEFAULT '' FOR SourceNumber
USE [SVC]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[RMAAttachments](
TransactionNumber int NOT NULL IDENTITY (1, 1),
CompanyCode char(50) NOT NULL DEFAULT '',
CountryCode char(3) NULL,
LanguageCode char(5) NULL,
AttachmentName nvarchar(MAX) NOT NULL DEFAULT '',
ItemCode char(50) NULL,
ControlCode char(30) NULL,
OrderNumber Char(50) NOT NULL DEFAULT '',
OrderType int NOT NULL,
InDate datetime NOT NULL,
InUser char(10) NOT NULL
CONSTRAINT [PK_RMAAttachments] PRIMARY KEY CLUSTERED
(
TransactionNumber
)WITH FILLFACTOR = 90
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
CREATE NONCLUSTERED INDEX IX_RMAAttachments_CompanyCode ON [dbo].[RMAAttachments]
(
CompanyCode
)WITH FILLFACTOR=90
CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderType ON [dbo].[RMAAttachments]
(
OrderType
)WITH FILLFACTOR=90
CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderNumber ON [dbo].[RMAAttachments]
(
OrderNumber
)WITH FILLFACTOR=90
CREATE NONCLUSTERED INDEX IX_RMAAttachments_ItemCode ON [dbo].[RMAAttachments]
(
ItemCode
)WITH FILLFACTOR=90
CREATE NONCLUSTERED INDEX IX_RMAAttachments_ControlCode ON [dbo].[RMAAttachments]
(
ControlCode
)WITH FILLFACTOR=90二,创建函数
CREATE FUNCTION dbo.FN_RMA_GetTheItemOnVendorData_V102007122101
(
@CompanyCode CHAR(50)
)
RETURNS TABLE
AS
RETURN
(
SELECT VendorNumber
,VendorName
,SUM(ISNULL(Between0To30DaysAmount,0.00)) AS Between0To30DaysAmount
,SUM(ISNULL(Between30To60DaysAmount,0.00)) AS Between30To60DaysAmount
,SUM(ISNULL(Between60To90DaysAmount,0.00)) AS Between60To90DaysAmount
,SUM(ISNULL(MoreThan90DaysAmount,0.00)) AS MoreThan90DaysAmount
,SUM(ISNULL(TotalAmount,0.00)) AS TotalAmount
,LastCountDate
FROM
(
SELECT VendorNumber
,VendorName
,CASE [Type] WHEN '001' THEN SUM(ISNULL(Amount,0.00)) END AS Between0To30DaysAmount
,CASE [Type] WHEN '002' THEN SUM(ISNULL(Amount,0.00)) END AS Between30To60DaysAmount
,CASE [Type] WHEN '003' THEN SUM(ISNULL(Amount,0.00)) END AS Between60To90DaysAmount
,CASE [Type] WHEN '004' THEN SUM(ISNULL(Amount,0.00)) END AS MoreThan90DaysAmount
,CASE [Type] WHEN '000' THEN SUM(ISNULL(Amount,0.00)) END AS TotalAmount
,LastCountDate
FROM [dbo].[RMAItemOnVendor] WITH (NOLOCK)
WHERE CompanyCode = @CompanyCode
GROUP BY VendorNumber,
VendorName,
[Type],
LastCountDate
) AS A
GROUP BY VendorNumber
,VendorName
,LastCountDate
)三,修改表
ALTER TABLE DBO.ControlCodeTransaction ADD WarrantyLastCalcDate DATETIME NULL
ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN OrderNumber CHAR(50) NULL
ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN SourceNumber CHAR(50) NOT NULL
ALTER TABLE DBO.ControlCodeTransaction ADD CONSTRAINT [DF_ControlCodeTransaction_SourceTNumber] DEFAULT '' FOR SourceNumber

浙公网安备 33010602011771号