USP_BBDW_SMARTFIELD_GETVALUES

Parameters

Parameter Parameter Type Mode Description
@SMARTFIELDID uniqueidentifier IN

Definition

Copy


create procedure dbo.[USP_BBDW_SMARTFIELD_GETVALUES](@SMARTFIELDID uniqueidentifier)
as 
  --This NOP is required for the SSIS development environment to be able to detect the result set column metadata.

  if 1=null
    select newid() [SMARTFIELDSYSTEMID], newid() [ID], cast('No Value Group' as nvarchar(100)) [VALUEGROUP], cast('No Value' as nvarchar(255)) [VALUE]

  declare @SQL nvarchar(500);
  declare @TABLENAME nvarchar(100);
  declare @DATATYPECODE int;
  declare @HASVALUEGROUP bit;

  select 
    @TABLENAME = 'V_QUERY_' + t.[TABLENAME],
    @HASVALUEGROUP = s.[USEVALUEGROUP],
    @DATATYPECODE = sc.[DATATYPECODE]
  from dbo.[SMARTFIELD] s
  inner join dbo.[SMARTFIELDCATALOG] sc on s.[SMARTFIELDCATALOGID] = sc.[ID]
  inner join dbo.[TABLECATALOG] t on s.[TABLECATALOGID] = t.[ID]
  where s.[ID] = @SMARTFIELDID;

  if @HASVALUEGROUP = 1
  begin
    set @sql = 'select @SMARTFIELDID [SMARTFIELDSYSTEMID], [ID], case when [VALUEGROUP] = '''' or [VALUEGROUP] is null then ''No Value Group'' else  [VALUEGROUP] end as [VALUEGROUP], [VALUE] from  dbo.[' + @TABLENAME + '];';

    exec sp_executesql @SQL, N'@SMARTFIELDID uniqueidentifier',@SMARTFIELDID = @SMARTFIELDID;   
  end
  else if @DATATYPECODE = 4
  begin
    set @sql = 'select @SMARTFIELDID [SMARTFIELDSYSTEMID], [ID], case when [VALUE] = 1 then ''Yes'' when [VALUE] = 0 then ''No'' else ''No Value Group'' end [VALUEGROUP], [VALUE] from  dbo.[' + @TABLENAME + '];';

    exec sp_executesql @SQL, N'@SMARTFIELDID uniqueidentifier',@SMARTFIELDID = @SMARTFIELDID;
  end
  else
  begin
    set @sql = 'select @SMARTFIELDID [SMARTFIELDSYSTEMID], [ID], ''No Value Group'' [VALUEGROUP], [VALUE] from  dbo.[' + @TABLENAME + '];';

    exec sp_executesql @SQL, N'@SMARTFIELDID uniqueidentifier',@SMARTFIELDID = @SMARTFIELDID;     
  end