UFN_PDCATEGORYDEFINITION_OVERLAP

Check for overlaps between categories.

Return

Return Type
int

Definition

Copy


    CREATE function [dbo].[UFN_PDCATEGORYDEFINITION_OVERLAP]()
    returns integer
    with execute as caller
    as begin
      declare @NUMBER integer = 1
      declare @LENGTH integer = (select LENGTH from dbo.PDACCOUNTSTRUCTURE where SEGMENTTYPE = 1 and  PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B')

      if (select min(len(nullif(FROMCODE,''))) from dbo.PDCATEGORYDEFINITION) = @LENGTH and (select max(len(nullif(FROMCODE,''))) from dbo.PDCATEGORYDEFINITION)= @LENGTH and (select min(len(nullif(TOCODE,''))) from dbo.PDCATEGORYDEFINITION)= @LENGTH and (select max(len(nullif(TOCODE,''))) from dbo.PDCATEGORYDEFINITION)= @LENGTH
        begin
            if exists(select * from dbo.PDCATEGORYDEFINITION t1 inner join dbo.PDCATEGORYDEFINITION t2 on t1.ID != t2.ID and convert(bigint,nullif(t1.FROMCODE,'')) <= convert(bigint,nullif(t2.TOCODE,'')) and convert(bigint,nullif(t1.TOCODE,'')) >= convert(bigint,nullif(t2.FROMCODE,'')))
                set @NUMBER = 0           --overlapping categories

        end
        return @NUMBER
    end