Hi,
I removed all your UDF and UDT fields above query. Since I don't have such field in my DB.
Here is the basic query which works without any error.
declare @FDate as datetime
declare @TDate as datetime
declare @Location as VARCHAR (30)
/* SELECT FROM [dbo].[OLCT] S0 WHERE */ SET @Location = /* S0.Location*/ '[%0]'
/* SELECT FROM [dbo].[OINM] S1 WHERE */ SET @FDate = /* S1.TaxDate*/ '[%1]'
/* SELECT FROM [dbo].[OINM] S2 WHERE */ SET @TDate = /* S2.TaxDate*/ '[%2]'
SELECT
'Sales'Document,OBTN.DistNumber
,NNM1.SeriesName,OINV.DocNum,OCRD.CardName,CRD7.ECCNo,OINV.DocDate,OITM.SWW [HSN Number],INV1.ItemCode,INV1.Dscription,(ITL1.Quantity*-1) [Quantity]
FROM
INV1
INNER JOIN
OINV ON INV1.DocEntry=OINV.DocEntry
INNER JOIN
OCRD ON OINV.CardCode = OCRD.CardCode
INNER JOIN
CRD7 ON OCRD.CardCode = CRD7.CardCode
INNER JOIN
OITM ON INV1.ItemCode=OITM.ItemCode
INNER JOIN
OITL ON INV1.BaseType=OITL.ApplyType AND INV1.BaseEntry=OITL.ApplyEntry AND INV1.BaseLine=OITL.ApplyLine
INNER JOIN
ITL1 ON OITL.LogEntry=ITL1.LogEntry
INNER JOIN
OBTN ON ITL1.MdAbsEntry=OBTN.AbsEntry and ITL1.SysNumber=OBTN.SysNumber AND ITL1.ItemCode=OBTN.Itemcode
LEFT JOIN
NNM1 ON OINV.Series=NNM1.Series
WHERE INV1.LocCode IN (SELECT Code FROM OLCT WHERE Location=@Location)
AND OINV.DocDate BETWEEN @FDate AND @TDate
UNION ALL
SELECT
'Sales Return'Document,OBTN.DistNumber
,NNM1.SeriesName,ORIN.DocNum,OCRD.CardName,CRD7.ECCNo,ORIN.DocDate,OITM.SWW [HSN Number],RIN1.ItemCode,RIN1.Dscription,(ITL1.Quantity*-1) [Quantity]
FROM
RIN1
INNER JOIN
ORIN ON RIN1.DocEntry=ORIN.DocEntry
INNER JOIN
OCRD ON ORIN.CardCode = OCRD.CardCode
INNER JOIN
CRD7 ON OCRD.CardCode = CRD7.CardCode
inner join
OITM ON RIN1.ItemCode=OITM.ItemCode
INNER JOIN
OITL ON RIN1.BaseType=OITL.ApplyType AND RIN1.BaseEntry=OITL.ApplyEntry AND RIN1.BaseLine=OITL.ApplyLine
INNER JOIN
ITL1 ON OITL.LogEntry=ITL1.LogEntry
INNER JOIN
OBTN ON ITL1.MdAbsEntry=OBTN.AbsEntry and ITL1.SysNumber=OBTN.SysNumber AND ITL1.ItemCode=OBTN.Itemcode
LEFT JOIN
NNM1 ON ORIN.Series=NNM1.Series
WHERE RIN1.LocCode IN (SELECT Code FROM OLCT WHERE Location=@Location)
AND ORIN.DocDate BETWEEN @FDate AND @TDate
Note:
1. For union all, same number of columns should be added both side.
2. In your second part you did not change OINV to ORIN after copy and paste.
Thanks & Regards,
Nagarajan