UFN_CORPORATION_GETEMPLOYEEWRITEOFFTOTALINCURRENCY_BULK

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN
@CURRENCYID uniqueidentifier IN
@ORGANIZATIONCURRENCYID uniqueidentifier IN
@DECIMALDIGITS tinyint IN
@ROUNDINGTYPECODE tinyint IN

Definition

Copy


CREATE function [dbo].[UFN_CORPORATION_GETEMPLOYEEWRITEOFFTOTALINCURRENCY_BULK]
(
    @CURRENTAPPUSERID uniqueidentifier,
    @CURRENCYID uniqueidentifier,
    @ORGANIZATIONCURRENCYID uniqueidentifier,
    @DECIMALDIGITS tinyint,
    @ROUNDINGTYPECODE tinyint
)
returns table
as
    return(
        select
            CONSTITUENTID = RELATIONSHIP.RECIPROCALCONSTITUENTID,
            AMOUNTINCURRENCY = sum(WRITEOFFSPLIT.AMOUNTINCURRENCY),
            [DATE] = cast(WRITEOFF.DATE as datetime)
        from 
            dbo.RELATIONSHIP 
        inner join dbo.EMPLOYEECORPORATERELATIONSHIPTYPE 
            on RELATIONSHIP.RELATIONSHIPTYPECODEID = EMPLOYEECORPORATERELATIONSHIPTYPE.RELATIONSHIPTYPECODEID
        inner join dbo.FINANCIALTRANSACTION REVENUE 
            on REVENUE.CONSTITUENTID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID
        inner join (select distinct REVENUEID from dbo.UFN_SITEACCESSABLE_REVENUESPLITID_FORUSER(@CURRENTAPPUSERID)) SITEFILTER 
            on SITEFILTER.REVENUEID = REVENUE.ID
        inner join dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT 
            on REVENUESPLIT.FINANCIALTRANSACTIONID = REVENUE.ID
        inner join dbo.REVENUESPLIT_EXT
            on REVENUESPLIT.ID = REVENUESPLIT_EXT.ID
        inner join dbo.PDACCOUNTSYSTEM 
            on REVENUE.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
        inner join dbo.CURRENCYSET 
            on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID                          
        inner join dbo.UFN_WRITEOFFSPLIT_GETAMOUNTINCURRENCY_BULK(@CURRENCYID,dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(),@DECIMALDIGITS,@ROUNDINGTYPECODE) as WRITEOFFSPLIT
            on WRITEOFFSPLIT.REVENUEID = REVENUE.ID
        inner join dbo.FINANCIALTRANSACTION WRITEOFF
            on WRITEOFF.ID = WRITEOFFSPLIT.WRITEOFFID
        where
            REVENUE.TYPECODE in (1,3) and --PLEDGE and MATCHINGGIFT

            REVENUE.DELETEDON is null and
            REVENUESPLIT.DELETEDON is null and
            REVENUESPLIT.TYPECODE <> 1 and
            WRITEOFF.DELETEDON is null
        group by RELATIONSHIP.RECIPROCALCONSTITUENTID,WRITEOFF.DATE
    )