USP_SMARTFIELD_VALUEBYRECORDID
Get value of a specific record calculated through process smart field.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SMARTFIELDCATALOGID | uniqueidentifier | IN | |
@RECORDID | uniqueidentifier | IN | |
@SFINSTANCENAME_ENDWITH | nvarchar(10) | IN | |
@result | nvarchar(10) | INOUT |
Definition
Copy
CREATE procedure dbo.USP_SMARTFIELD_VALUEBYRECORDID
(
@SMARTFIELDCATALOGID uniqueidentifier,
@RECORDID uniqueidentifier,
@SFINSTANCENAME_ENDWITH nvarchar(10) = '', --options: TO DATE, LAST WEEK, LAST MONTH
@result nvarchar(10) = null output
)
as
begin
declare @SMARTFIELDTABLE nvarchar(50)
declare @script nvarchar(250)
declare @paramDefinition nvarchar(50)
set @result = '0'
select @SMARTFIELDTABLE = TABLENAME
from dbo.SMARTFIELD SF
join dbo.TABLECATALOG TC on SF.TABLECATALOGID = TC.ID
where SF.SMARTFIELDCATALOGID = @SMARTFIELDCATALOGID
and SF.NAME like '%' + @SFINSTANCENAME_ENDWITH
set @script = 'select @resultVal = cast(Value as nvarchar(10)) from dbo.' + @SMARTFIELDTABLE + ' where ID = ''' + cast(@RECORDID as nvarchar(40)) + ''''
set @paramDefinition = '@resultVal nvarchar(10) OUTPUT';
exec sp_executesql @script, @paramDefinition, @resultVal=@result OUTPUT;
end