UFN_DISBURSEMENTPROCESS_GETCONSOLIDATED_RANGES
Returns a tale with a consolidate version of the ranges entered by the user for a specific disbursement process.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DISBURSEMENTPROCESSID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_DISBURSEMENTPROCESS_GETCONSOLIDATED_RANGES
(
@DISBURSEMENTPROCESSID uniqueidentifier
)
returns @ConsolidatedRanges TABLE
(
RANGESTART int
,RANGEEND int
)
as begin
declare @start int
declare @end int
declare rangeCursor CURSOR FOR
select T1.RANGESTART, CASE WHEN T1.RANGEEND = 0 THEN T1.RANGESTART + T1.RANGECOUNT - 1 ELSE T1.RANGEEND END [RANGEEND]
from dbo.DISBURSEMENTPROCESSPRINTFINALIZERANGE T1
where T1.DISBURSEMENTPROCESSID = @DISBURSEMENTPROCESSID
order by T1.RANGESTART
OPEN rangeCursor
FETCH NEXT FROM rangeCursor
INTO @start, @end
WHILE @@FETCH_STATUS = 0
BEGIN
if exists(select * from @ConsolidatedRanges where RANGEEND + 1 = @start)
begin
update @ConsolidatedRanges
set RANGEEND = @end
where RANGEEND + 1 = @start;
end
else
begin
insert into @ConsolidatedRanges
select @start, @end;
end
FETCH NEXT FROM rangeCursor
INTO @start, @end
END
CLOSE rangeCursor
DEALLOCATE rangeCursor
return
end