Я получаю сообщение об ошибке ниже.
Должен объявить скалярную переменную "@LTAExemption"
Я пытаюсь заменить SET @LTAExemption value = 'SUBFLD12'
, но не заменить правильно в XML Имя столбца
Пожалуйста, дайте мне знать, как заменить значение моей переменной как столбец @ Name = "" Структура таблицы Mt
DECLARE @start NVARCHAR(max),
@end NVARCHAR(max),
@LiveEmpStatus NVARCHAR(100),
@company NVARCHAR(max),
@finno NVARCHAR(100),
@schemaName NVARCHAR(100),
@LTAExemption NVARCHAR(100),
@GratuityExemption NVARCHAR(100),
@LeaveEncashmentExemption NVARCHAR(100),
@HouseRentAllowance NVARCHAR(100)
SET @start = 'convert(datetime,''01-04-2019'',103)'
SET @end = 'convert(datetime,''31-03-2020'',103)'
SET @LiveEmpStatus = '1'
SET @company = '3'
SET @finno = '9'
SET @schemaName = 'dbo'
SET @LTAExemption = 'SUBFLD12'
SET @GratuityExemption = 'SUBFLD33'
SET @LeaveEncashmentExemption = 'SUBFLD10'
SET @HouseRentAllowance = 'SUBFLD9'
EXEC (
'select * from(select Code,PanNo, isnull(FName,'''') + '' '' + isnull(LName,'''') as EmpName , ROUND(TotalIncome,-1) AS [TotalIncome] , (((Isnull(x.grossa, 0) + Isnull(x.grossb, 0) + Isnull(x.grossc, 0)) - Isnull(x.exempt, 0)) - Isnull(x.sec16totalincome, 0)) + ((x.addincome - x.lessincome)) AS [GrossTotalIncome] ,0 AS [ColH] ,0 AS [ColI] ,0 AS [ColJ] , x.Sec16TotalIncome ,ISNULL(x.TaxProcessDetails.value (''(/TaxProcess/Column)[@Name = ' +
' @LTAExemption ' +
'] [1]/@Value'', ''float''), 0) AS [LTA_Exemption] ,ISNULL(x.TaxProcessDetails.value (''(/TaxProcess/Column)[@Name = ' +
' @GratuityExemption ' +
'] [1]/@Value'', ''float''), 0) AS [Gratuity_Exemption] ,0 AS [ColN] ,ISNULL(x.TaxProcessDetails.value (''(/TaxProcess/Column)[@Name = ' +
' @LeaveEncashmentExemption ' +
'] [1]/@Value'', ''float''), 0) AS [Leave_Encashment_Exemption] ,ISNULL(x.TaxProcessDetails.value (''(/TaxProcess/Column)[@Name = ' +
'@HouseRentAllowance' +
' ] [1]/@Value'', ''float''), 0) AS [House_Rent_Allowance] ,TLD.PanNumber AS [PAN_of_landlord_if_exemption_is_claimed_us_10] ,((ISNULL(x.exempt, 0)-(ISNULL(x.TaxProcessDetails.value (''(/TaxProcess/Column)[@Name = '
+ '@LTAExemption' +
'] [1]/@Value'', ''float''), 0) + ISNULL(x.TaxProcessDetails.value (''(/TaxProcess/Column)[@Name = " '
+ '@GratuityExemption' +
' "] [1]/@Value'', ''float''), 0) + ISNULL(x.TaxProcessDetails.value (''(/TaxProcess/Column)[@Name = " '
+ ' @LeaveEncashmentExemption' +
' "] [1]/@Value'', ''float''), 0) + ISNULL(x.TaxProcessDetails.value (''(/TaxProcess/Column)[@Name = " '
+ '@HouseRentAllowance' +
' "] [1]/@Value'', ''float''), 0)))) AS [ColR] ,0 AS [ColS] ,(((isnull(x.GrossA,0) + isnull(x.GrossB,0) + isnull(x.GrossC,0)) - isnull(x.Exempt,0)) - isnull(x.Sec16TotalIncome,0)) as [GrossAfterSec16] , (x.AddIncome - x.LessIncome) as [ColZ] ,0 AS [ColAA] ,0 AS [ColAB] ,(ISNULL(x.grossa,0)) AS [GROSS_A] ,(ISNULL(x.grossb,0)) AS [GROSS_B] , (ISNULL(x.grossc,0)) AS [GROSS_C] , (ISNULL(x.exempt,0)) AS [Exemption_Total] ,0 AS [ColU] ,(((Isnull(x.grossa, 0) + Isnull(x.grossb, 0) + Isnull(x.grossc, 0) ) - Isnull(x.exempt, 0) ) ) AS [GrossTotal] ,(((isnull(x.GrossA,0) + isnull(x.GrossB,0) + isnull(x.GrossC,0)) - isnull(x.Exempt,0)) - isnull(x.Sec16TotalIncome,0)) +isnull( x.AddIncome,0) - isnull(x.LessIncome,0) as [GrossAfterIncome] ,x.Infras ,Isnull(x.sec80total, 0) AS [Total_80C+80CCC+80CCD] , Isnull(x.infras, 0) + Isnull(x.secvia, 0) AS [Total_SEC_VIA] ,0 AS [ColAD] ,0 AS [ColAE] ,0 AS [ColAF] ,0 AS [ColAG] ,0 AS [ColAH] ,0 AS [ColAI] ,0 AS [ColAJ] ,0 AS [ColAK] ,0 AS [ColAL] , isnull(x.Sec80Total,0) + isnull(x.Infras,0) + isnull(x.SecVIA,0) as [ColAO] ,0 AS [ColAP] , x.TaxonTotalIncome ,x.Surcharge ,x.EduCess ,x.Rebate87A ,x.TDS192 ,x.PREV_EMP_TAX ,e.TerminationDate ,e.DateOfJoining ,e.Gender ,e.EMPPF ,EmpStatus ,tld.Name AS [Landlord_Name] ,TLD.PanNumber AS [Landlord_PAN], TLD.Address AS [Landlord_Address],LD.LenderPanNumber1 AS [Lender_PAN1], LD.LenderName1 AS [Lender_Name1],LD.LenderPanNumber2 AS [Lender_PAN2], LD.LenderName2 AS [Lender_Name2],LD.LenderPanNumber3 AS [Lender_PAN3], LD.LenderName3 AS [Lender_Name3], ( Isnull(x.PTax, 0) ) AS [Professional_Tax], (( Isnull(x.sec16totalincome, 0) ) - ( Isnull(x.PTax, 0) ) ) AS [Standard_Deduction], ( Isnull(x.ReliefSec, 0) ) AS [ReliefSec] ,e.DateOfBirth AS [DateOfBirth] from (SELECT A.*, B.PreAmt [PREV_EMP_TAX] FROM dbo.TaxCalculation A LEFT JOIN dbo.TaxPreIncome B ON A.EmployeeId=B.EmployeeId AND A.CompanyId=B.CompanyId AND A.FinNo=B.FinNo AND B.FieldName =''PRETAX'' where A.CompanyId = '
+ @company + ' AND A.FinNo = ' + @finno +
' AND A.LastProcess=1 AND A.ProcessDate >= (Select max(ProcessDate) from ' +
@schemaName + '.taxcalculation where CompanyId = ' + @company + ' AND FinNo = '
+ @finno +
' AND LastProcess=1 AND A.EmployeeId = EmployeeId ) ) as x join dbo.EmployeeDetail e on e.Id = x.EmployeeId LEFT JOIN '
+ @schemaName +
'.TaxLandLordDetails TLD ON E.Id = tld.EmployeeId AND tld.finno = ' + @finno +
' AND tld.CompanyId=' + @company + ' LEFT JOIN ' + @schemaName +
'.TaxLenderDetails LD ON LD.EmployeeId = e.Id AND LD.finno = ' + @finno +
' AND LD.CompanyId=' + @company + ') as y where (EmpStatus = ' + @LiveEmpStatus
+ ' and DateOfJoining <= ' + @end + ') or (EmpStatus <> ' + @LiveEmpStatus +
' and TerminationDate >= ' + @start + ')')