Back to OIM Explorer

dbo.QBM_FCVObjectkeyToElement

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 3.712 characters

Interpretation

  • Database function. Usually supports views, validation, or calculated predicates; look at referenced-by entries for callers.

Relations

  • No extracted relations.

Typed Edges

  • No typed edges extracted for this source.

Complete Source

SQL187 lines
1CREATE FUNCTION dbo.QBM_FCVObjectkeyToElement(2  @ElementType varchar(32),3  @Objectkey varchar(138)4) RETURNS varchar(2005)6AS7BEGIN8  DECLARE @erg varchar(200) = ''9  DECLARE @TableName varchar(30)10  DECLARE @UID_DialogTable varchar(38)11  DECLARE @TableNameBase varchar(30)12  DECLARE @UID_DialogTableBase varchar(38)13  DECLARE @Columnname varchar(30)14  DECLARE @pt varchar(138)15  DECLARE @pv1 varchar(138)16  DECLARE @pv2 varchar(138)17  DECLARE @PatIndex_TP int18  SELECT19    @PatIndex_TP = patindex('%</T><P>%',20    @objectkey)21  DECLARE @Patindex_P1End int22  DECLARE @PatIndex_P2Start int23  DECLARE @PatIndex_KeyEnd int24  IF ISNULL(@PatIndex_TP,25  0) = 026  BEGIN27    RETURN(@erg)28  END29  SELECT30    @pt = substring(@objectkey,31    9,32    @PatIndex_TP - 9)33  IF @elementtype IN('CountNodes',34  'ColumnValue1',35  'ColumnValue2')36  BEGIN37    SELECT38      @Patindex_P1End = patindex('%</P>%',39      @objectkey)40    SELECT41      @pv1 = substring(@objectkey,42      @PatIndex_TP + 7,43      @Patindex_P1End - @PatIndex_TP - 7)44    IF @elementtype IN('CountNodes',45    'ColumnValue2')46    BEGIN47      SELECT48        @PatIndex_P2Start = patindex('%</P><P>%',49        @objectkey)50      IF @PatIndex_P2Start > 051      BEGIN52        SELECT53          @PatIndex_KeyEnd = patindex('%</P></Key>%',54          @objectkey)55        SELECT56          @pv2 = substring(@objectkey,57          @PatIndex_P2Start + 7,58          @PatIndex_KeyEnd - @PatIndex_P2Start - 7)59      END60    END61  END62  IF @ElementType LIKE 'TableName%' OR @ElementType LIKE 'ColumnName%' OR @elementType LIKE 'UID[_]DialogTable%'63  BEGIN64    SELECT @TableName = @pt65    IF @elementType = 'TableName'66    BEGIN67      SELECT @erg = @TableName68      RETURN(@erg)69    END70    SELECT71      TOP 1 @Tablenamebase = isnull(b.TableName,72      @TableName),73      @UID_DialogTableBase = isnull(t.UID_DialogTableBase,74      ''),75      @UID_DialogTable = t.UID_DialogTable76    FROM dbo.DialogTable t77      WITH(readpast)78    LEFT79    OUTER80    JOIN dbo.DialogTable b81      WITH(readpast)82      ON t.UID_DialogTableBase = b.UID_DialogTable83    WHERE84      t.TableName = @TableName85    IF @elementType = 'TableNameBase'86    BEGIN87      SELECT @erg = @Tablenamebase88      RETURN(@erg)89    END90    IF @elementType = 'UID_DialogTable'91    BEGIN92      SELECT @erg = @UID_DialogTable93      RETURN(@erg)94    END95    IF @elementType = 'UID_DialogTableBase'96    BEGIN97      SELECT @erg = @UID_DialogTableBase98      RETURN(@erg)99    END100  END101  IF @ElementType = 'CountNodes'102  BEGIN103    IF @pv2 > ' '104    BEGIN105      SELECT @erg = '2'106    END107    ELSE108    BEGIN109      SELECT @erg = '1'110    END111    RETURN(@erg)112  END113  IF @ElementType = 'ColumnValue1'114  BEGIN115    SELECT @erg = @pv1116    RETURN(@erg)117  END118  IF @ElementType = 'ColumnValue2'119  BEGIN120    SELECT @erg = @pv2121    RETURN(@erg)122  END123  IF @ElementType LIKE 'ColumnName%1'124  BEGIN125    SELECT TOP 1 @Columnname = a.PK126    FROM(127    SELECT TOP 1 c.columnname AS PK128    FROM dbo.DialogColumn c129      WITH(readpast)130    WHERE131      c.ispkmember = 1 AND c.UID_DialogTable = @uid_dialogtable132    ORDER BY c.ColumnName ASC) AS a133    IF @ElementType = 'ColumnNameBase1'134    BEGIN135      SELECT136        TOP 1 @erg = isnull(b.columnname,137        @columnname)138      FROM dbo.DialogColumn c139        WITH(readpast)140      LEFT141      OUTER142      JOIN dbo.DialogColumn b143        WITH(readpast)144        ON c.UID_BaseColumn = b.uid_dialogColumn145      WHERE146        c.UID_DialogTable = @uid_dialogtable AND c.Columnname = @columnname147    END148    ELSE149    BEGIN150      SELECT @erg = @columnname151    END152    RETURN(@erg)153  END154  IF @ElementType LIKE 'ColumnName%2'155  BEGIN156    SELECT TOP 1 @Columnname = a.PK157    FROM(158    SELECT TOP 1 c.columnname AS PK159    FROM dbo.DialogColumn c160      WITH(readpast)161    WHERE162      c.ispkmember = 1 AND c.UID_DialogTable = @uid_dialogtable163    ORDER BY c.ColumnName DESC) AS a164    IF @ElementType = 'ColumnNameBase2'165    BEGIN166      SELECT167        TOP 1 @erg = isnull(b.columnname,168        @columnname)169      FROM dbo.DialogColumn c170        WITH(readpast)171      LEFT172      OUTER173      JOIN dbo.DialogColumn b174        WITH(readpast)175        ON c.UID_BaseColumn = b.uid_dialogColumn176      WHERE177        c.UID_DialogTable = @uid_dialogtable AND c.Columnname = @columnname178    END179    ELSE180    BEGIN181      SELECT @erg = @columnname182    END183    RETURN(@erg)184  END185  ende:186  RETURN(@erg)187END
Open raw exported source
SQL · Raw25 lines
1   create   function dbo.QBM_FCVObjectkeyToElement(@ElementType varchar(32), @Objectkey varchar(138) ) returns varchar(200)    as begin declare 2@erg varchar(200) = '' declare @TableName varchar(30) declare @UID_DialogTable varchar(38) declare @TableNameBase varchar(30) declare @UID_DialogTableBase3 varchar(38) declare @Columnname varchar(30)   declare @pt varchar(138) declare @pv1 varchar(138) declare @pv2 varchar(138)  declare @PatIndex_TP int select4 @PatIndex_TP = patindex ('%</T><P>%', @objectkey) declare @Patindex_P1End int declare @PatIndex_P2Start int declare @PatIndex_KeyEnd int if ISNULL(@PatIndex_TP5, 0) = 0 begin   return(@erg)  end select @pt = substring (@objectkey, 9, @PatIndex_TP - 9) if @elementtype in (   'CountNodes'  , 'ColumnValue1'  , 'ColumnValue2'6      ) begin select @Patindex_P1End = patindex ('%</P>%', @objectkey) select @pv1 = substring (@objectkey, @PatIndex_TP + 7 , @Patindex_P1End - @PatIndex_TP7 - 7) if @elementtype in (   'CountNodes'   , 'ColumnValue2'      ) begin select @PatIndex_P2Start = patindex ('%</P><P>%', @objectkey) if @PatIndex_P2Start8 > 0 begin select @PatIndex_KeyEnd = patindex ('%</P></Key>%', @objectkey) select @pv2 = substring (@objectkey, @PatIndex_P2Start + 7 , @PatIndex_KeyEnd9 - @PatIndex_P2Start - 7) end end end   if @ElementType like 'TableName%' or @ElementType like 'ColumnName%' or @elementType like 'UID[_]DialogTable%' 10begin select @TableName = @pt  if @elementType = 'TableName' begin select @erg = @TableName  return(@erg)  end select top 1 @Tablenamebase = isnull(b.TableName11, @TableName ) , @UID_DialogTableBase = isnull(t.UID_DialogTableBase, '' ) , @UID_DialogTable = t.UID_DialogTable from dbo.DialogTable t with (readpast12) left outer join dbo.DialogTable b with (readpast) on t.UID_DialogTableBase = b.UID_DialogTable where t.TableName = @TableName if @elementType = 'TableNameBase'13 begin select @erg = @Tablenamebase  return(@erg)  end if @elementType = 'UID_DialogTable' begin select @erg = @UID_DialogTable  return(@erg)  end if @elementType14 = 'UID_DialogTableBase' begin select @erg = @UID_DialogTableBase  return(@erg)  end      end if @ElementType = 'CountNodes' begin if @pv2 > ' ' begin 15select @erg = '2' end else begin select @erg = '1' end  return(@erg)  end if @ElementType = 'ColumnValue1' begin select @erg = @pv1   return(@erg)  end16 if @ElementType = 'ColumnValue2' begin select @erg = @pv2   return(@erg)  end if @ElementType like 'ColumnName%1' begin select top 1 @Columnname = a.PK17 from ( select top 1 c.columnname as PK from dbo.DialogColumn c with (readpast) where c.ispkmember = 1 and c.UID_DialogTable = @uid_dialogtable order by18 c.ColumnName asc ) as a if @ElementType = 'ColumnNameBase1' begin select top 1 @erg = isnull(b.columnname, @columnname) from dbo.DialogColumn c with (readpast19) left outer join dbo.DialogColumn b with (readpast) on c.UID_BaseColumn = b.uid_dialogColumn where c.UID_DialogTable = @uid_dialogtable and c.Columnname20 = @columnname end else begin select @erg = @columnname end  return(@erg)  end if @ElementType like 'ColumnName%2' begin select top 1 @Columnname = a.PK21 from ( select top 1 c.columnname as PK from dbo.DialogColumn c with (readpast) where c.ispkmember = 1 and c.UID_DialogTable = @uid_dialogtable order by22 c.ColumnName desc ) as a if @ElementType = 'ColumnNameBase2' begin select top 1 @erg = isnull(b.columnname, @columnname) from dbo.DialogColumn c with 23(readpast) left outer join dbo.DialogColumn b with (readpast) on c.UID_BaseColumn = b.uid_dialogColumn where c.UID_DialogTable = @uid_dialogtable and c.Columnname24 = @columnname end else begin select @erg = @columnname end  return(@erg)  end ende: return (@erg) end 25