USP_UIWIDGETCATALOG_CREATEORUPDATE
Creates or updates a UI widget definition.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@NAME | nvarchar(100) | IN | |
@DESCRIPTION | nvarchar(255) | IN | |
@CONTEXTRECORDTYPE | nvarchar(255) | IN | |
@UIWIDGETSPECXML | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_UIWIDGETCATALOG_CREATEORUPDATE(
@ID uniqueidentifier,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255),
@CONTEXTRECORDTYPE nvarchar(255) = null,
@UIWIDGETSPECXML xml,
@CHANGEAGENTID uniqueidentifier = null
)
as
begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CONTEXTRECORDTYPEID uniqueidentifier;
if len(@CONTEXTRECORDTYPE) > 0
begin
exec dbo.USP_RECORDTYPE_GETID_OR_CREATE_FROMNAME @NAME = @CONTEXTRECORDTYPE, @CHANGEAGENTID = @CHANGEAGENTID, @RECORDTYPEID = @CONTEXTRECORDTYPEID output;
end;
if @ID is null or @ID = '00000000-0000-0000-0000-000000000000'
begin
set @ID = newid();
end;
if exists(select ID from dbo.UIWIDGETCATALOG where ID = @ID)
begin
update dbo.UIWIDGETCATALOG set
ID = @ID,
NAME = @NAME,
DESCRIPTION = @DESCRIPTION,
CONTEXTRECORDTYPEID = @CONTEXTRECORDTYPEID,
UIWIDGETSPECXML = @UIWIDGETSPECXML,
CHANGEDBYID = @CHANGEAGENTID
where dbo.UIWIDGETCATALOG.ID = @ID;
end
else
begin
insert into dbo.UIWIDGETCATALOG
(
ID,
NAME,
DESCRIPTION,
CONTEXTRECORDTYPEID,
UIWIDGETSPECXML,
ADDEDBYID,
CHANGEDBYID
)
values
(
@ID,
@NAME,
@DESCRIPTION,
@CONTEXTRECORDTYPEID,
@UIWIDGETSPECXML,
@CHANGEAGENTID,
@CHANGEAGENTID
)
end;
end;