UFN_BILLINGINDIVIDUALACTIVITYDATALIST

Returns activity for the billing activity datalist filtered by a given set of filters, used in open item and balance forward systems.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN
@TYPECODE tinyint IN
@STATUSCODE tinyint IN
@TRANSACTIONDATERANGECODE tinyint IN
@TRANSACTIONDATERANGEBILLINGCYCLEID uniqueidentifier IN
@TRANSACTIONDUEDATERANGECODE tinyint IN
@TRANSACTIONDUEDATERANGEBILLINGCYCLEID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_BILLINGINDIVIDUALACTIVITYDATALIST
            (
                @CONSTITUENTID uniqueidentifier,
                @TYPECODE tinyint = 0,
                @STATUSCODE tinyint = 0,
                @TRANSACTIONDATERANGECODE tinyint = 0,
                @TRANSACTIONDATERANGEBILLINGCYCLEID uniqueidentifier = null,
                @TRANSACTIONDUEDATERANGECODE tinyint = 0,
                @TRANSACTIONDUEDATERANGEBILLINGCYCLEID uniqueidentifier = null
            )
            returns @TRANSACTIONS table
                (
                    ID uniqueidentifier,
                    DATE datetime,
                    DUEDATE datetime,
                    DAYSLATE integer,
                    DUEDATEDISPLAY nvarchar(50),
                    TYPE nvarchar(50),
                    TYPECODE tinyint,
                    DESCRIPTION nvarchar(200),
                    AMOUNT money,
                    AMOUNTREMAINING money,
                    PAIDBY nvarchar(100),
                    STATUSCODE tinyint,
                    STATUS nvarchar(100)
                )
            begin

                declare @BILLINGSTARTDATE datetime = null;
                declare @BILLINGENDDATE datetime = null;

                if ((@TRANSACTIONDATERANGECODE > 3) and (not @TRANSACTIONDATERANGEBILLINGCYCLEID is null) and (@TRANSACTIONDATERANGEBILLINGCYCLEID != '00000000-0000-0000-0000-000000000000'))
                begin
                    select @BILLINGSTARTDATE = BILLINGSTARTDATE,
                            @BILLINGENDDATE = BILLINGENDDATE
                    from dbo.ACADEMICYEAR
                    where ACADEMICYEAR.ID = @TRANSACTIONDATERANGEBILLINGCYCLEID;
                end
                else if ((@TRANSACTIONDATERANGECODE >= 1) and (@TRANSACTIONDATERANGECODE <= 3))
                begin
                    set @BILLINGSTARTDATE = dateadd(d, @TRANSACTIONDATERANGECODE * -30 ,dbo.UFN_DATE_GETEARLIESTTIME(getdate()));
                    set @BILLINGENDDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
                end

                declare @BILLINGSTARTDUEDATE datetime;
                declare @BILLINGENDDUEDATE datetime;

                if ((@TRANSACTIONDUEDATERANGECODE > 3) and (not @TRANSACTIONDUEDATERANGEBILLINGCYCLEID is null) and (@TRANSACTIONDUEDATERANGEBILLINGCYCLEID != '00000000-0000-0000-0000-000000000000'))
                begin
                    select @BILLINGSTARTDUEDATE = BILLINGSTARTDATE,
                            @BILLINGENDDUEDATE = BILLINGENDDATE
                    from dbo.ACADEMICYEAR
                    where ACADEMICYEAR.ID = @TRANSACTIONDUEDATERANGEBILLINGCYCLEID;
                end
                else if ((@TRANSACTIONDUEDATERANGECODE >= 1) and (@TRANSACTIONDUEDATERANGECODE <= 3))
                begin
                    set @BILLINGSTARTDUEDATE = dateadd(d, @TRANSACTIONDUEDATERANGECODE * -30 ,dbo.UFN_DATE_GETEARLIESTTIME(getdate()));
                    set @BILLINGENDDUEDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
                end

                insert into @TRANSACTIONS
                    (ID, 
                    DATE,
                    DUEDATE,
                    DAYSLATE,
                    DUEDATEDISPLAY, 
                    TYPE,
                    TYPECODE,
                    DESCRIPTION,
                    AMOUNT,
                    AMOUNTREMAINING,
                    PAIDBY,
                    STATUSCODE,
                    STATUS)
                select ID,
                       DATE,
                       DUEDATE,
                       DAYSLATE,
                       DUEDATEDISPLAY,
                       TYPE,
                       TYPECODE,
                       DESCRIPTION,
                       AMOUNT,
                       AMOUNTREMAINING,
                       PAIDBY,
                       STATUSCODE,
                       STATUS
             from dbo.UFN_BILLINGINDIVIDUALTRANSACTIONDETAILS(@CONSTITUENTID
                                                                    @TYPECODE
                                                                    @STATUSCODE
                                                                    @BILLINGSTARTDATE
                                                                    @BILLINGENDDATE
                                                                    @BILLINGSTARTDUEDATE
                                                                    @BILLINGENDDUEDATE);

                return;
            end