UFN_REVENUEINFORMATION_GETSPLITS

Returns the splits for a given revenue record based on the source.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN
@INFORMATIONSOURCECODE tinyint IN
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


        CREATE function dbo.UFN_REVENUEINFORMATION_GETSPLITS
        (
            @REVENUEID uniqueidentifier,
            @INFORMATIONSOURCECODE tinyint, -- 0 is the revenue table, 1 is the batch revenue table

            @CURRENTAPPUSERID uniqueidentifier = null
        )
        returns @REVENUESPLIT table 
            (
                ID uniqueidentifier,
                REVENUEID uniqueidentifier
            )
        as begin
            if @INFORMATIONSOURCECODE = 0
                insert into @REVENUESPLIT
                (
                    ID,
                    REVENUEID
                )
                select REVENUESPLIT.ID,
                        @REVENUEID
                from dbo.REVENUESPLIT
                where REVENUESPLIT.REVENUEID = @REVENUEID;

            else if @INFORMATIONSOURCECODE = 1
            begin

                if ((select TYPECODE from dbo.BATCHREVENUE where ID = @REVENUEID) = 1)
                    begin
                        insert into @REVENUESPLIT
                        (
                            ID,
                            REVENUEID
                        )
                        select APPLICATIONS.ID,
                                @REVENUEID
                        from dbo.UFN_REVENUEBATCH_GETSPLITS(@REVENUEID) as APPLICATIONS
                        where (not APPLICATIONS.ID in (select ID from @REVENUESPLIT));
                    end
                else
                    begin
                        insert into @REVENUESPLIT
                        (
                            ID,
                            REVENUEID
                        )
                        (select ADDITIONALAPPLICATIONS.ID,
                                @REVENUEID
                        from dbo.UFN_REVENUEBATCH_GETADDITIONALAPPLICATIONS(@REVENUEID) as ADDITIONALAPPLICATIONS

                        union

                        select APPLICATIONSWITHCHILDREN.ID,
                                @REVENUEID
                        from UFN_REVENUEBATCH_GETAPPLICATIONSWITHCHILDREN(@REVENUEID) as APPLICATIONSWITHCHILDREN
                        where (APPLICATIONSWITHCHILDREN.APPLIED != 0));


                        -- single payment application, get split from revenuesplit table

                        insert into @REVENUESPLIT
                        (
                            ID,
                            REVENUEID
                        )
                             select REVENUESPLIT.ID,
                                @REVENUEID
                        from dbo.REVENUESPLIT
                        where REVENUESPLIT.REVENUEID = (select SINGLEAPPLICATIONID from dbo.UFN_REVENUEBATCH_GETSINGLEAPPLICATIONINFO(@REVENUEID));                    
                    end                           
                end

            return;
        end