UFN_REVENUEBATCH_GETPAYMENTPLEDGE_FROMITEMLISTXML

Gets a table with pledge data from an xml string.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@ITEMLISTXML xml IN

Definition

Copy


CREATE function UFN_REVENUEBATCH_GETPAYMENTPLEDGE_FROMITEMLISTXML(@ITEMLISTXML xml) returns table as
    return (
        select
          T.c.value('(AMOUNT)[1]','money') AS 'AMOUNT',
          T.c.value('(APPEALID)[1]','uniqueidentifier') AS 'APPEALID',
          T.c.value('(BENEFITSWAIVED)[1]','bit') AS 'BENEFITSWAIVED',
          T.c.value('(CHANNELCODEID)[1]','uniqueidentifier') AS 'CHANNELCODEID',
          T.c.value('(CONSTITUENTID)[1]','uniqueidentifier') AS 'CONSTITUENTID',
          T.c.value('(DATE)[1]','datetime') AS 'DATE',
          T.c.value('(DONOTACKNOWLEDGE)[1]','bit') AS 'DONOTACKNOWLEDGE',
          T.c.value('(FINDERNUMBER)[1]','bigint') AS 'FINDERNUMBER',
          T.c.value('(FREQUENCYCODE)[1]','tinyint') AS 'FREQUENCYCODE',
          T.c.value('(GIVENANONYMOUSLY)[1]','bit') AS 'GIVENANONYMOUSLY',
          T.c.value('(ID)[1]','uniqueidentifier') AS 'ID',
          T.c.value('(MAILINGID)[1]','uniqueidentifier') AS 'MAILINGID',
          T.c.value('(NUMBEROFINSTALLMENTS)[1]','int') AS 'NUMBEROFINSTALLMENTS',
          case 
            when T.c.value('(PLEDGESUBTYPEID)[1]','nvarchar(36)') = '' then null
            when T.c.value('(PLEDGESUBTYPEID)[1]','nvarchar(36)') = '00000000-0000-0000-0000-000000000000' then null
            else T.c.value('(PLEDGESUBTYPEID)[1]','uniqueidentifier')
          end AS 'PLEDGESUBTYPEID',
          T.c.value('(POSTDATE)[1]','datetime') AS 'POSTDATE',
          T.c.value('(POSTSTATUSCODE)[1]','tinyint') AS 'POSTSTATUSCODE',
          T.c.value('(SENDPLEDGEREMINDER)[1]','bit') AS 'SENDPLEDGEREMINDER',
          T.c.value('(SOURCECODE)[1]','nvarchar(50)') AS 'SOURCECODE',
          T.c.value('(STARTDATE)[1]','datetime') AS 'STARTDATE',
          T.c.query('(INSTALLMENTS)[1]') AS 'INSTALLMENTS',
          T.c.query('(BENEFITS)[1]') AS 'BENEFITS',
          T.c.query('(SPLITS)[1]') AS 'SPLITS',
          T.c.value('(REFERENCE)[1]','nvarchar(255)') AS 'REFERENCE',
          T.c.value('(CATEGORYCODEID)[1]','uniqueidentifier') AS 'GLREVENUECATEGORYMAPPINGID',
          T.c.value('(OPPORTUNITYID)[1]','uniqueidentifier') AS 'OPPORTUNITYID',
          T.c.query('(PERCENTAGEBENEFITS)[1]') as 'PERCENTAGEBENEFITS',
          T.c.value('(BASEEXCHANGERATEID)[1]','uniqueidentifier') as 'BASEEXCHANGERATEID',
          T.c.value('(EXCHANGERATE)[1]','decimal(20,8)') as 'EXCHANGERATE',
          T.c.value('(INSTALLMENTAMOUNT)[1]','money') AS 'INSTALLMENTAMOUNT'
        from @ITEMLISTXML.nodes('/PLEDGES/ITEM') T(c)
      )