XML столбец объявлен как переменная в SP и попробуйте заменить значение переменной как XML Имя столбца - PullRequest
1 голос
/ 08 апреля 2020

Я получаю сообщение об ошибке ниже.

Должен объявить скалярную переменную "@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 + ')')  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...