UFN_FINANCIALTRANSACTION_GETNEXTFINANCIALTRANSACTIONID

Returns the next financial transaction number based on the existing DB financial transactions.

Return

Return Type
nvarchar(60)

Parameters

Parameter Parameter Type Mode Description
@FINANCIALTRANSACTIONTYPECODE tinyint IN

Definition

Copy


            CREATE function dbo.UFN_FINANCIALTRANSACTION_GETNEXTFINANCIALTRANSACTIONID
            (
                @FINANCIALTRANSACTIONTYPECODE tinyint = null
            )
            returns nvarchar(60)
            with execute as caller
            as begin
                -- Get a return value and setup with the default value.

                declare @NEXTFINANCIALTRANSACTIONID bigint = 1;

                --Check to see if there are any FINANCIALTRANSACTIONs

                if (exists (select FINANCIALTRANSACTION.ID 
                            from dbo.FINANCIALTRANSACTION 
                            where ((@FINANCIALTRANSACTIONTYPECODE is null) or (FINANCIALTRANSACTION.TYPECODE = @FINANCIALTRANSACTIONTYPECODE)) and
                                    (isnumeric(FINANCIALTRANSACTION.USERDEFINEDID) = 1) and 
                                    (len(FINANCIALTRANSACTION.USERDEFINEDID) < 60)
                            )
                   )
                begin
                    select top 1 @NEXTFINANCIALTRANSACTIONID = cast(FINANCIALTRANSACTION.USERDEFINEDID as bigint)
                    from dbo.FINANCIALTRANSACTION 
                    where ((@FINANCIALTRANSACTIONTYPECODE is null) or (FINANCIALTRANSACTION.TYPECODE = @FINANCIALTRANSACTIONTYPECODE)) and 
                            (isnumeric(FINANCIALTRANSACTION.USERDEFINEDID) = 1) and 
                            (len(FINANCIALTRANSACTION.USERDEFINEDID) < 60)
                    order by cast(FINANCIALTRANSACTION.USERDEFINEDID as bigint) desc;

                    set @NEXTFINANCIALTRANSACTIONID = @NEXTFINANCIALTRANSACTIONID + 1;
                end

                -- Return the next receivable payment ID

                return cast(@NEXTFINANCIALTRANSACTIONID as nvarchar(60));
            end