UFN_ADJUSTMENTHISTORY_GETPREVIOUSSPLITS
Returns the previous splits for an adjustment, for reporting purposes.
Return
Return Type |
---|
nvarchar(max) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ADJUSTMENTHISTORYID | uniqueidentifier | IN | |
@REVENUEDETAILIDENTIFIER | nvarchar(36) | IN |
Definition
Copy
CREATE function dbo.UFN_ADJUSTMENTHISTORY_GETPREVIOUSSPLITS
(
@ADJUSTMENTHISTORYID uniqueidentifier,
@REVENUEDETAILIDENTIFIER nvarchar(36)
)
returns nvarchar(max)
as
begin
declare @DESIGNATION nvarchar(512);
declare @AMOUNT money;
declare @RESULT nvarchar(max);
set @RESULT = N'';
if @REVENUEDETAILIDENTIFIER is null or len(@REVENUEDETAILIDENTIFIER) = 0
return @RESULT;
declare SPLIT_CURSOR cursor local fast_forward for
select DESIGNATIONNAME, AMOUNT
from dbo.ADJUSTMENTHISTORYSPLIT
where REVENUEIDENTIFIER = @REVENUEDETAILIDENTIFIER
and ADJUSTMENTHISTORYID = @ADJUSTMENTHISTORYID;
open SPLIT_CURSOR;
fetch next from SPLIT_CURSOR into @DESIGNATION, @AMOUNT;
while @@FETCH_STATUS = 0
begin
if len(@DESIGNATION) <> 0
set @RESULT = @RESULT + ' ' + @DESIGNATION + ' (' + cast(@AMOUNT as nvarchar) + ')' + char(13) + char(10);
fetch next from SPLIT_CURSOR into @DESIGNATION, @AMOUNT;
end
--When a cursor is used, it should be explicitly closed/deallocated in case of blocking or USP running long
close SPLIT_CURSOR;
deallocate SPLIT_CURSOR;
return coalesce(@RESULT, '');
end