UFN_CORPORATION_GETEMPLOYEERECOGNITIONTOTALINCURRENCY_BULK

Returns the employee recognition for the given corporation based on the current corporate relationship types in a given currency

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_GETEMPLOYEERECOGNITIONTOTALINCURRENCY_BULK]
            (
                @CURRENTAPPUSERID uniqueidentifier = null,
                @CURRENCYID uniqueidentifier = null,
                @ORGANIZATIONCURRENCYID uniqueidentifier,
                @DECIMALDIGITS tinyint,
                @ROUNDINGTYPECODE tinyint
            )
      returns table
      as
      return(
        with RECOGNITION (ID, CONSTITUENTID, AMOUNTINCURRENCY, EFFECTIVEDATE, APPLICATIONCODE, TRANSACTIONTYPECODE, REVENUECONSTITUENTID, DATE, REVENUEID, REVENUESPLITID, REVENUESPLITTYPECODE)
        as 
        (
            select RR.ID, RR.CONSTITUENTID, RR.AMOUNTINCURRENCY, RR.EFFECTIVEDATE, RR.APPLICATIONCODE, RR.TRANSACTIONTYPECODE, RR.REVENUECONSTITUENTID, RR.DATE, RR.REVENUEID, RR.REVENUESPLITID, RR.REVENUESPLITTYPECODE
            from dbo.UFN_REVENUERECOGNITION_GETAMOUNTINCURRENCY_BULK(@CURRENCYID, @ORGANIZATIONCURRENCYID, @DECIMALDIGITS, @ROUNDINGTYPECODE) RR

            union all

            select RC.ID, RC.CONSTITUENTID, RC.AMOUNTINCURRENCY, RC.EFFECTIVEDATE, RC.APPLICATIONCODE, RC.TRANSACTIONTYPECODE, RC.REVENUECONSTITUENTID, RC.DATE, RC.REVENUEID, RC.REVENUESPLITID, RC.REVENUESPLITTYPECODE
            from dbo.UFN_RECOGNITIONCREDIT_GETAMOUNTINCURRENCY_BULK(@CURRENCYID, @ORGANIZATIONCURRENCYID, @DECIMALDIGITS, @ROUNDINGTYPECODE) RC
        )
        select
            RELATIONSHIP.RECIPROCALCONSTITUENTID as CONSTITUENTID,
            coalesce(sum(RECOGNITION.AMOUNTINCURRENCY), 0) as [AMOUNTINCURRENCY],
            RECOGNITION.EFFECTIVEDATE
        from
            dbo.RELATIONSHIP 
            inner join dbo.EMPLOYEECORPORATERELATIONSHIPTYPE on RELATIONSHIP.RELATIONSHIPTYPECODEID = EMPLOYEECORPORATERELATIONSHIPTYPE.RELATIONSHIPTYPECODEID
            inner join RECOGNITION on RECOGNITION.CONSTITUENTID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID
            inner join (select distinct REVENUEID from dbo.UFN_SITEACCESSABLE_REVENUESPLITID_FORUSER(@CURRENTAPPUSERID)) SITEFILTER on SITEFILTER.REVENUEID = RECOGNITION.REVENUEID
            left join dbo.INSTALLMENTSPLITPAYMENT on RECOGNITION.REVENUESPLITID = INSTALLMENTSPLITPAYMENT.PAYMENTID
        where
            (RECOGNITION.TRANSACTIONTYPECODE in (1,3,8) or --Pledge, MG claim, Donor Challenge Claim

                (RECOGNITION.TRANSACTIONTYPECODE = 0 and 
                    (RECOGNITION.APPLICATIONCODE in (0,1,3,4,5,6,8) or 
                        (RECOGNITION.APPLICATIONCODE = 7 and INSTALLMENTSPLITPAYMENT.ID is null) -- unapplied MG claim payments

                    )
                )
            ) --Payments

        group by RELATIONSHIP.RECIPROCALCONSTITUENTID, RECOGNITION.EFFECTIVEDATE
    );