Thank you very much again Eric, it worked.
Another question, what is the purpose of N'' in N'[%2]'
Here is the revised script:
DECLARE @Start INT
DECLARE @End INT
DECLARE @CustomerName nVarChar(100)
SELECT @Start = TS.[Year], @End = TE.[Year], @CustomerName = TC.[CardName]
FROM OACP TS, OACP TE, OCRD TC
WHERE TS.[Year] = [%0]
AND TE.[Year] = [%1]
AND TC.[CardName] = N'[%2]'
SELECT T0.CardCode
,T0.CardName
,T0.ItemCode
,T1.ItemName
,T0.Year
,SUM(T0.Q1) AS 'First Quarter'
,SUM(T0.Q2) AS 'Second Quarter'
,SUM(T0.Q3) AS 'Third Quarter'
,SUM(T0.Q4) AS 'Fourth Quarter'
FROM TWC_FGQuarterlySales T0
INNER JOIN OITM T1 ON T1.ItemCode = T0.ItemCode
WHERE (T0.Year = @Start
OR T0.Year = @End)
AND T0.CardName = @CustomerName
GROUP BY T0.CardCode
,T0.CardName
,T0.ItemCode
, T1.ItemName
, T0.Year
ORDER BY T0.CardCode
,T0.ItemCode
,T0.Year Desc
Noel