UFN_BILLINGITEM_GETALLVALIDDATES
Get all dates in code history for a given billing item.
Return
Return Type |
---|
varchar(8000) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_BILLINGITEM_GETALLVALIDDATES
(
@ID uniqueidentifier
)
returns varchar(8000)
as begin
-- do work here and return a value
declare @retval varchar(8000)
declare @PriceType tinyint
select @PriceType=PriceTypeCode from dbo.BILLINGITEM where ID=@ID
if @PriceType=1
begin
if (exists (select BIP.ID from dbo.BILLINGITEMPRICE BIP where (BIP.DATERANGETYPECODE=0) and (BIP.BILLINGITEMID = @ID)))
set @retval = 'All dates'
else
begin
select @retval=Coalesce(@retval + ', ','') + convert(varchar, BIP.STARTDATE, 101) + ' - ' + COALESCE(convert(varchar, BIP.ENDDATE, 101),'Present')
from dbo.BILLINGITEMPRICE BIP where (BIP.DATERANGETYPECODE<>0) and (BIP.BILLINGITEMID = @ID) AND (BIP.DATERANGETYPECODE=1)
select @retval=Coalesce(@retval + ', ','') + dbo.UFN_BILLINGITEM_GETACADEMICYEARBYDATES(BIP.STARTDATE, BIP.ENDDATE)
from dbo.BILLINGITEMPRICE BIP where (BIP.DATERANGETYPECODE<>0) and (BIP.BILLINGITEMID = @ID) AND (BIP.DATERANGETYPECODE=2)
end
end
else
begin
if (exists (select BID.ID from dbo.BILLINGITEMDATES BID where (BID.DATERANGETYPECODE=0) and (BID.BILLINGITEMID = @ID)))
set @retval = 'All dates'
else
begin
select @retval=Coalesce(@retval + ', ','') + convert(varchar, BID.STARTDATE, 101) + ' - ' + COALESCE(convert(varchar, BID.ENDDATE, 101), 'Present')
from dbo.BILLINGITEMDATES BID where (BID.DATERANGETYPECODE<>0) and (BID.BILLINGITEMID = @ID) AND (BID.DATERANGETYPECODE=1)
group by BID.STARTDATE, BID.ENDDATE
select @retval=Coalesce(@retval + ', ','') + dbo.UFN_BILLINGITEM_GETACADEMICYEARBYDATES(BID.STARTDATE, BID.ENDDATE)
from dbo.BILLINGITEMDATES BID where (BID.DATERANGETYPECODE<>0) and (BID.BILLINGITEMID = @ID) AND (BID.DATERANGETYPECODE=2)
group by BID.STARTDATE, BID.ENDDATE
end
end
return @retval
end