UFN_FUNDINGREQUEST_STEPSWITHCHILDREN_FROMITEMLISTXML
Used to convert an xml string to a table.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ITEMLISTXML | xml | IN |
Definition
Copy
CREATE function [dbo].[UFN_FUNDINGREQUEST_STEPSWITHCHILDREN_FROMITEMLISTXML]
(
@ITEMLISTXML xml
)
returns table as
return
(
select
T.c.value('(ACTUALDATE)[1]','datetime') as 'ACTUALDATE',
case when T.c.exist('./ADDITIONALFUNDRAISERS/ITEM') = 1 then T.c.query('(ADDITIONALFUNDRAISERS)[1]') else null end AS 'ADDITIONALFUNDRAISERS',
case when T.c.exist('./PARTICIPANTS/ITEM') = 1 then T.c.query('(PARTICIPANTS)[1]') else null end AS 'PARTICIPANTS',
T.c.value('(COMMENT)[1]','nvarchar(max)') as 'COMMENT',
T.c.value('(CONSTITUENTID)[1]','uniqueidentifier') as 'CONSTITUENTID',
T.c.value('(EXPECTEDDATE)[1]','datetime') as 'EXPECTEDDATE',
-- Rename OWNERID to FUNDRAISERID. The SP that updates the values requires the field to be FUNDRAISERID since
-- that is the table's column name but the form needs to use OWNERID since a collection also uses FUNDRAISERID
-- and that causes an issue with searchlists.
case when T.c.exist('./OWNERID') = 1 then T.c.value('(OWNERID)[1]','uniqueidentifier') else null end as 'FUNDRAISERID',
T.c.value('(HASADDITIONALFUNDRAISERS)[1]','int') as 'HASADDITIONALFUNDRAISERS',
T.c.value('(ID)[1]','uniqueidentifier') as 'ID',
T.c.value('(INTERACTIONTYPECODEID)[1]','uniqueidentifier') as 'INTERACTIONTYPECODEID',
T.c.value('(OBJECTIVE)[1]','nvarchar(100)') as'OBJECTIVE',
T.c.value('(FUNDINGREQUESTOUTLINESTEPID)[1]','uniqueidentifier') as 'FUNDINGREQUESTOUTLINESTEPID',
T.c.value('(FUNDINGREQUESTSTAGECODEID)[1]','uniqueidentifier') as 'FUNDINGREQUESTSTAGECODEID',
T.c.value('(STATUSCODE)[1]','tinyint') as 'STATUSCODE'
from @ITEMLISTXML.nodes('/STEPS/ITEM') T(c)
)