USP_DATAFORMTEMPLATE_VIEW_BILLINGITEM

The load procedure used by the view dataform template "Billing item profile view"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@NAME nvarchar(100) INOUT Name
@DESCRIPTION nvarchar(255) INOUT Description
@ISINACTIVE bit INOUT Status
@PRICETYPECODE tinyint INOUT Price type
@CURRENTCOST nvarchar(4000) INOUT Current cost

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_BILLINGITEM
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @NAME nvarchar(100) = null output,
                    @DESCRIPTION nvarchar(255)  = null output,                    
                    @ISINACTIVE bit = null output,        
                    @PRICETYPECODE tinyint = null output,
                    @CURRENTCOST nvarchar(4000) = null output                    
                )
                as
                    set nocount on;        

                    declare @CURRENTDATE date;
                    set @CURRENTDATE = getdate();

                    set @CURRENTCOST=null;

                    -- be sure to set this, in case the select returns no rows

                    set @DATALOADED = 0;

                    -- populate the output parameters, which correspond to fields on the form.  Note that

                    -- we set @DATALOADED = 1 to indicate that the load was successful.  Otherwise, the system

                    -- will display a "no data loaded" message.

                    select @DATALOADED = 1,                                
                                 @NAME = NAME,
                                 @DESCRIPTION = DESCRIPTION,                                                      
                                 @ISINACTIVE = ISINACTIVE,
                                 @PRICETYPECODE = PRICETYPECODE
                    from dbo.BILLINGITEM                        
                    where BILLINGITEM.ID = @ID

                    if @PRICETYPECODE=1
                    begin
                        select TOP 1 @CURRENTCOST = '$' +  convert(varchar,PRICE,1) from dbo.BILLINGITEMPRICE where BILLINGITEMID=@ID and (DATERANGETYPECODE=0 OR (STARTDATE<=@CURRENTDATE and (ENDDATE>=@CURRENTDATE or ENDDATE IS NULL))) order by STARTDATE asc
                        if @CURRENTCOST is null
                            select TOP 1 @CURRENTCOST = '$' +  convert(varchar,PRICE,1) from dbo.BILLINGITEMPRICE where BILLINGITEMID=@ID order by STARTDATE desc                            
                    end
                    else if @PRICETYPECODE=2
                    begin
                        select @CURRENTCOST = Coalesce(@CURRENTCOST + char(13),'') + G.ABBREVIATION + ' - ' + G.DESCRIPTION + ': $' + convert(varchar, BIPG.PRICE, 1) from dbo.BILLINGITEMPRICEBYGRADELEVEL BIPG inner join dbo.GRADELEVEL G on BIPG.GRADELEVELID=G.ID 
                        where BIPG.PRICE>0 AND BIPG.BILLINGITEMDATESID in (select TOP 1 BID.ID from dbo.BILLINGITEMDATES BID where BID.BILLINGITEMID=@ID and (BID.DATERANGETYPECODE=0 OR (BID.STARTDATE<=@CURRENTDATE and (BID.ENDDATE>=@CURRENTDATE or BID.ENDDATE IS NULL))) order by STARTDATE asc) order by G.SEQUENCE asc
                        if @CURRENTCOST is null
                            select @CURRENTCOST = Coalesce(@CURRENTCOST + char(13),'') + G.ABBREVIATION + ' - ' + G.DESCRIPTION + ': $' + convert(varchar, BIPG.PRICE, 1) from dbo.BILLINGITEMPRICEBYGRADELEVEL BIPG inner join dbo.GRADELEVEL G on BIPG.GRADELEVELID=G.ID 
                            where BIPG.PRICE>0 AND BIPG.BILLINGITEMDATESID in (select TOP 1 BID.ID from dbo.BILLINGITEMDATES BID where BID.BILLINGITEMID=@ID order by STARTDATE desc) order by G.SEQUENCE asc                        
                    end
                    else if @PRICETYPECODE=3
                    begin
                        select @CURRENTCOST = Coalesce(@CURRENTCOST + char(13),'') + C.KEYNAME + ': $' + convert(varchar, BIPS.PRICE, 1) from dbo.BILLINGITEMPRICEBYSCHOOL BIPS inner join dbo.CONSTITUENT C on BIPS.SCHOOLID=C.ID 
                        where BIPS.PRICE>0 AND BIPS.BILLINGITEMDATESID in (select TOP 1 BID.ID from dbo.BILLINGITEMDATES BID where BID.BILLINGITEMID=@ID and (BID.DATERANGETYPECODE=0 OR (BID.STARTDATE<=@CURRENTDATE and (BID.ENDDATE>=@CURRENTDATE or BID.ENDDATE IS NULL))) order by STARTDATE asc) order by C.KEYNAME asc
                        if @CURRENTCOST is null
                            select @CURRENTCOST = Coalesce(@CURRENTCOST + char(13),'') + C.KEYNAME + ': $' + convert(varchar, BIPS.PRICE, 1) from dbo.BILLINGITEMPRICEBYSCHOOL BIPS inner join dbo.CONSTITUENT C on BIPS.SCHOOLID=C.ID 
                            where BIPS.PRICE>0 AND BIPS.BILLINGITEMDATESID in (select TOP 1 BID.ID from dbo.BILLINGITEMDATES BID where BID.BILLINGITEMID=@ID order by STARTDATE desc) order by C.KEYNAME asc
                    end
                    return 0;