USP_DATAFORMTEMPLATE_VIEW_BUSINESSPROCESSOWNER
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@DATALOADED | bit | INOUT | |
@PROCESSINSTANCENAME | nvarchar(max) | INOUT | |
@OWNERNAME | nvarchar(max) | INOUT |
Definition
Copy
create procedure dbo.USP_DATAFORMTEMPLATE_VIEW_BUSINESSPROCESSOWNER
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@PROCESSINSTANCENAME nvarchar(max) = null output,
@OWNERNAME nvarchar(max) = null output
)
as
set nocount on;
set @DATALOADED = 0;
declare @PARAMETERTABLENAME nvarchar(100) = null;
declare @PARAMETERFIELDNAME nvarchar(100) = null;
declare @PARAMETERSETID uniqueidentifier = null;
select
@DATALOADED = 1,
@PARAMETERTABLENAME = BUSINESSPROCESSCATALOG.PARAMETERTABLENAME,
@PARAMETERFIELDNAME = BUSINESSPROCESSCATALOG.PARAMETERLABELFIELD,
@PARAMETERSETID = BUSINESSPROCESSINSTANCE.BUSINESSPROCESSPARAMETERSETID,
@OWNERNAME = case when APPUSER.DISPLAYNAME = '' then APPUSER.USERNAME else APPUSER.DISPLAYNAME end
from
dbo.BUSINESSPROCESSINSTANCE
inner join dbo.BUSINESSPROCESSCATALOG on BUSINESSPROCESSCATALOG.ID = BUSINESSPROCESSINSTANCE.BUSINESSPROCESSCATALOGID
left join dbo.APPUSER on APPUSER.ID = BUSINESSPROCESSINSTANCE.OWNERID
where
BUSINESSPROCESSINSTANCE.ID = @ID;
if exists(select 1 from INFORMATION_SCHEMA.COLUMNS where COLUMN_NAME = @PARAMETERFIELDNAME and TABLE_NAME = @PARAMETERTABLENAME)
begin
declare @SQL nvarchar(max) =
'select
@PROCESSINSTANCENAME = ' + @PARAMETERFIELDNAME + '
from
dbo.[' + @PARAMETERTABLENAME + ']
where
ID = @PARAMETERSETID;'
execute sp_executesql @SQL, N'@PARAMETERSETID uniqueidentifier, @PROCESSINSTANCENAME nvarchar(max) output', @PARAMETERSETID=@PARAMETERSETID, @PROCESSINSTANCENAME=@PROCESSINSTANCENAME output;
end
if @PROCESSINSTANCENAME is null
set @PROCESSINSTANCENAME = N'';
return 0;