USP_SMARTFIELDCATALOG_CREATEORUPDATE
Creates or updates smart field definitions in the SmartFieldCatalog table.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@PROCEDURENAME | nvarchar(100) | IN | |
@DESCRIPTION | nvarchar(max) | IN | |
@SMARTFIELDSPECXML | xml | IN | |
@FORMMETADATAXML | xml | IN | |
@DATATYPECODE | tinyint | IN | |
@RECORDTYPEID | uniqueidentifier | IN | |
@DISPLAYNAME | nvarchar(100) | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@SMARTFIELDFOLDER | nvarchar(500) | IN | |
@VALUERECORDTYPEID | uniqueidentifier | IN | |
@HASSITEFILTER | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_SMARTFIELDCATALOG_CREATEORUPDATE
@ID uniqueidentifier = null output,
@PROCEDURENAME nvarchar(100),
@DESCRIPTION nvarchar(max) = '',
@SMARTFIELDSPECXML xml,
@FORMMETADATAXML xml,
@DATATYPECODE tinyint,
@RECORDTYPEID uniqueidentifier = null,
@DISPLAYNAME nvarchar(100),
@CHANGEAGENTID uniqueidentifier = null,
@SMARTFIELDFOLDER nvarchar(500) = '',
@VALUERECORDTYPEID uniqueidentifier = null,
@HASSITEFILTER bit = 0
as
set nocount on
declare @ExistingID uniqueidentifier
if @ID is null
begin
select @ExistingID = ID from dbo.SMARTFIELDCATALOG where PROCEDURENAME = @PROCEDURENAME
set @ID = @ExistingID
end
else
select @ExistingID = ID from dbo.SMARTFIELDCATALOG where ID = @ID
if @ChangeAgentID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @ChangeAgentID output
declare @date datetime
set @date = getDate()
if @ExistingID is null
begin
if @ID is null set @ID = NewID()
insert into dbo.SMARTFIELDCATALOG
(ID, PROCEDURENAME, DESCRIPTION, SMARTFIELDSPECXML, FORMMETADATAXML, DATATYPECODE, RECORDTYPEID, DISPLAYNAME, SMARTFIELDFOLDER, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, VALUERECORDTYPEID, HASSITEFILTER)
values
(@ID, @PROCEDURENAME, @DESCRIPTION, @SMARTFIELDSPECXML, @FORMMETADATAXML, @DATATYPECODE, @RECORDTYPEID, @DISPLAYNAME, @SMARTFIELDFOLDER, @CHANGEAGENTID, @CHANGEAGENTID, @DATE, @DATE, @VALUERECORDTYPEID, @HASSITEFILTER)
end
else
update
dbo.SMARTFIELDCATALOG
set
PROCEDURENAME = @PROCEDURENAME,
DESCRIPTION = @DESCRIPTION,
SMARTFIELDSPECXML = @SMARTFIELDSPECXML,
FORMMETADATAXML = @FORMMETADATAXML,
DATATYPECODE = @DATATYPECODE,
RECORDTYPEID = @RECORDTYPEID,
DISPLAYNAME = @DISPLAYNAME,
SMARTFIELDFOLDER = @SMARTFIELDFOLDER,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @DATE,
VALUERECORDTYPEID = @VALUERECORDTYPEID,
HASSITEFILTER = @HASSITEFILTER
where
ID = @ID;
if @@rowcount=0 return 1;
return 0;