UFN_INSTALLMENT_DATESOVERLAP

Checks that the installment dates do not overlap

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@INSTALLMENTS xml IN

Definition

Copy


            create function dbo.UFN_INSTALLMENT_DATESOVERLAP(@INSTALLMENTS xml)
            returns bit    
            with execute as caller
            as
            begin

                declare @OVERLAP bit;

                declare @CURRENTDATE datetime;
                declare @NEXTDATE datetime;

                set @OVERLAP = 0;

                declare DATECURSOR cursor
                local fast_forward
                for
                    select DATE 
                    from dbo.UFN_INSTALLMENT_GETINSTALLMENTS_FROMITEMLISTXML(@INSTALLMENTS
                    order by SEQUENCE;

                open DATECURSOR;
                fetch next from DATECURSOR into @CURRENTDATE;
                fetch next from DATECURSOR into @NEXTDATE;

                while (@@FETCH_STATUS = 0)
                begin
                    if @CURRENTDATE > @NEXTDATE 
                    begin
                        set @OVERLAP = 1;
                        break;
                    end
                    set @CURRENTDATE = @NEXTDATE;
                    fetch next from DATECURSOR into @NEXTDATE;
                end

                close DATECURSOR;
                deallocate DATECURSOR;

                return @OVERLAP;

            end