USP_DASHBOARDCATALOG_CREATEORUPDATE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@NAME | nvarchar(100) | IN | |
@DESCRIPTION | nvarchar(1000) | IN | |
@SPECXML | xml | IN | |
@CONTEXTRECORDTYPE | nvarchar(100) | IN | |
@ChangeAgentID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_DASHBOARDCATALOG_CREATEORUPDATE
@ID uniqueidentifier = null output,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(1000),
@SPECXML xml,
@CONTEXTRECORDTYPE nvarchar(100),
@ChangeAgentID uniqueidentifier=null
as
set nocount on
if @NAME is null or @NAME = ''
begin
raiserror ('Name was missing or blank', 16,1)
return 5
end
if @DESCRIPTION is null or @DESCRIPTION = ''
begin
raiserror ('Description was missing or blank', 16,1)
return 6
end
declare @ExistingID uniqueidentifier
if @ID is null
begin
select @ExistingID = ID from dbo.DASHBOARDCATALOG where NAME = @NAME
set @ID = @ExistingID
end
else
select @ExistingID = ID from dbo.DASHBOARDCATALOG where ID = @ID
if @ChangeAgentID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @ChangeAgentID output;
declare @date datetime
set @date = getDate()
declare @RecordTypeID uniqueidentifier;
if len(coalesce(@CONTEXTRECORDTYPE,'')) > 0
--Add record type if it does not exist.
begin
exec dbo.USP_RECORDTYPE_GETID_OR_CREATE_FROMNAME @NAME=@CONTEXTRECORDTYPE,@CHANGEAGENTID=@CHANGEAGENTID,@RECORDTYPEID=@RecordTypeID output
end
declare @SECURITYUIFOLDER nvarchar(255);
set @SECURITYUIFOLDER = coalesce(@SPECXML.value(
'declare namespace bbfa="bb_appfx_flashdash";declare namespace c="bb_appfx_commontypes";/bbfa:FlashDashSpec[1]/@c:SecurityUIFolder',
'nvarchar(255)'
),'');
if @ExistingID is null
begin
if @ID is null set @ID = NewID()
insert into dbo.DASHBOARDCATALOG
(ID, NAME, DESCRIPTION, SPECXML, CONTEXTRECORDTYPEID, SECURITYUIFOLDER, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @NAME, @DESCRIPTION, @SPECXML, @RECORDTYPEID, @SECURITYUIFOLDER, @ChangeAgentID, @ChangeAgentID, @date, @date)
end
else
begin
update dbo.DASHBOARDCATALOG
set NAME = @NAME,
DESCRIPTION = @DESCRIPTION,
SPECXML = @SPECXML,
CONTEXTRECORDTYPEID = @RECORDTYPEID,
SECURITYUIFOLDER = @SECURITYUIFOLDER,
CHANGEDBYID = @ChangeAgentID,
DATECHANGED = @date
where ID = @ID ;
end
if @@rowcount=0 return 3;
return 0;