USP_SIMPLEDATALIST_CREATEORUPDATE_SP
Create or update simple data list with a stored procedure implementation
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@NAME | nvarchar(60) | IN | |
@DESCRIPTION | nvarchar(1000) | IN | |
@PROCEDURE | nvarchar(128) | IN | |
@PARAMETERDEFXML | xml | IN | |
@TRANSLATIONFUNCTIONID | uniqueidentifier | IN | |
@SPECXML | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@SPECUINAME | nvarchar(60) | IN |
Definition
Copy
CREATE procedure dbo.[USP_SIMPLEDATALIST_CREATEORUPDATE_SP]
@ID uniqueidentifier = null output,
@NAME nvarchar(60),
@DESCRIPTION nvarchar(1000) = '',
@PROCEDURE nvarchar(128),
@PARAMETERDEFXML xml = null,
@TRANSLATIONFUNCTIONID uniqueidentifier,
@SPECXML xml,
@CHANGEAGENTID uniqueidentifier = null,
@SPECUINAME nvarchar(60) = N''
as
set nocount on;
declare @ExistingID uniqueidentifier;
declare @OBJID int;
if @SPECUINAME is null
set @SPECUINAME = N'';
if @ID is null
begin
select @ExistingID = ID from dbo.SIMPLEDATALISTCATALOG where [NAME] = @NAME;
set @ID = @ExistingID;
end
else
select @ExistingID = ID from dbo.SIMPLEDATALISTCATALOG where ID = @ID;
if @CHANGEAGENTID is null exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
-- make sure this is a valid procedure
select @OBJID = id from dbo.sysobjects where type in ('P', 'PC') and name = @PROCEDURE
if @OBJID is null
begin
raiserror ('Procedure ''%s'' does not exist or you do not have security access.', 16, 1, @PROCEDURE)
return 1;
end
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @ExistingID is null
begin
if @ID is null set @ID = NewID();
insert into dbo.SIMPLEDATALISTCATALOG (IMPLEMENTATIONTYPE,ID, [NAME], DESCRIPTION, PROCEDURENAME, PARAMETERDEFXML, TRANSLATIONFUNCTIONCATALOGID, SIMPLEDATALISTSPECXML, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, SPECUINAME)
values (0,@ID, @NAME, @DESCRIPTION, @PROCEDURE, @PARAMETERDEFXML, @TRANSLATIONFUNCTIONID, @SPECXML, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, @SPECUINAME);
end
else
update dbo.SIMPLEDATALISTCATALOG
set [NAME] = @NAME,IMPLEMENTATIONTYPE=0,
DESCRIPTION = @DESCRIPTION,
PROCEDURENAME = @PROCEDURE,
PARAMETERDEFXML = @PARAMETERDEFXML,
STATICPARAMETERDEFINITION = null,
TRANSLATIONFUNCTIONCATALOGID = @TRANSLATIONFUNCTIONID,
SIMPLEDATALISTSPECXML = @SPECXML,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
SPECUINAME = @SPECUINAME
where ID = @ExistingID;
return 0;