UFN_BANKACCOUNTDISBURSEMENTTRANSACTIONS_TOITEMLISTXML
Converts Invoices for a given Disbursement to xml.
Return
Return Type |
---|
xml |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DISBURSEMENTID | uniqueidentifier | IN | |
@REVERSALPOSTDATETYPECODE | tinyint | IN | |
@REVERSALPOSTDATE | date | IN | |
@TRANSACTIONTYPE | nvarchar(23) | IN |
Definition
Copy
CREATE function dbo.UFN_BANKACCOUNTDISBURSEMENTTRANSACTIONS_TOITEMLISTXML(
@DISBURSEMENTID uniqueidentifier,
@REVERSALPOSTDATETYPECODE tinyint,
@REVERSALPOSTDATE date,
@TRANSACTIONTYPE nvarchar(23))
returns xml
with execute as caller
as begin
return (
select
FT.ID [BANKACCOUNTTRANSACTIONID],
CASE WHEN FTPAID.DELETEDON IS NULL THEN 0 ELSE 1 END [DELETE],
FTPAID.ID [TRANSACTIONID],
FTPAID.CALCULATEDUSERDEFINEDID [NUMBER],
FTPAID.DATE [DATE],
FTPAID.DESCRIPTION,
I.DATEDUE,
case
when I.ID is not null then FTS.AMOUNT
else -FTS.AMOUNT
end [SCHEDULEDAMOUNT],
FTPAID.TRANSACTIONAMOUNT [INVOICEAMOUNT],
FTPAID.POSTSTATUSCODE as [POSTSTATUSCODE],
FTPAID.POSTDATE,
FTPAID.TYPECODE,
1 as [REVERSALSTATUSCODE],
@REVERSALPOSTDATETYPECODE as [REVERSEON],
@REVERSALPOSTDATE as [REVERSALDATE],
@TRANSACTIONTYPE as [TRANSACTIONTYPE]
from dbo.FINANCIALTRANSACTION as FT
inner join dbo.CONSTITUENT as C on FT.CONSTITUENTID = C.ID
inner join dbo.FINANCIALTRANSACTIONAPPLICATION as FTA on FT.ID = FTA.FINANCIALTRANSACTIONID and FTA.TYPECODE = 0
inner join dbo.FINANCIALTRANSACTIONSCHEDULE as FTS on FTA.FINANCIALTRANSACTIONSCHEDULEID = FTS.ID
inner join dbo.FINANCIALTRANSACTION as FTPAID on FTS.FINANCIALTRANSACTIONID = FTPAID.ID
left outer join dbo.INVOICE as I on FTPAID.ID = I.ID
left outer join dbo.CREDITMEMO as CM on FTPAID.ID = CM.ID
left outer join (
select
FTA.FINANCIALTRANSACTIONSCHEDULEID
,-FTA.AMOUNT [DISCOUNTAMOUNT]
,-I.DISCOUNTAMOUNT [POSSIBLEDISCOUNT]
from dbo.FINANCIALTRANSACTIONAPPLICATION FTA
inner join dbo.FINANCIALTRANSACTIONSCHEDULE FTS on FTA.FINANCIALTRANSACTIONSCHEDULEID = FTS.ID
inner join dbo.INVOICE I on FTS.FINANCIALTRANSACTIONID = I.ID
inner join dbo.DISBURSEMENTPROCESSDISBURSEMENT DPD on DPD.ID = FTA.FINANCIALTRANSACTIONID
inner join dbo.DISBURSEMENTPROCESS DP on DPD.DISBURSEMENTPROCESSID = DP.ID
where FTA.TYPECODE = 1
and (I.DISCOUNTEXPIRATIONDATE is NULL or I.DISCOUNTEXPIRATIONDATE >= DP.DISCOUNTASOFDATE)
) as FTDISC on FTA.FINANCIALTRANSACTIONSCHEDULEID = FTDISC.FINANCIALTRANSACTIONSCHEDULEID
where
FT.TYPECODE = 255
and FT.ID = @DISBURSEMENTID
and FTPAID.DELETEDON IS NULL
for xml raw('ITEM'),type,elements,root('TRANSACTIONS'),BINARY BASE64
)
end