USP_DATAFORMTEMPLATE_ADD_LETTERCODE
The save procedure used by the add dataform template "Revenue Letter Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@NAME | nvarchar(100) | IN | Name |
@DESCRIPTION | nvarchar(255) | IN | Description |
@IDSETREGISTERID | uniqueidentifier | IN | Selection |
@WORDTEMPLATEFILENAME | nvarchar(255) | IN | Word template |
@WORDFILE | varbinary | IN | File |
@QUERYVIEWID | uniqueidentifier | IN | Output format |
@CUSTOMPARAMETERDATAFORMITEM | xml | IN | |
@EXPORTDEFINITIONID | uniqueidentifier | IN | Export definition |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@SITES | xml | IN | Sites |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_LETTERCODE
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255) = null,
@IDSETREGISTERID uniqueidentifier = null,
@WORDTEMPLATEFILENAME nvarchar(255) = null,
@WORDFILE varbinary(max) = null,
@QUERYVIEWID uniqueidentifier = null,
@CUSTOMPARAMETERDATAFORMITEM xml = null,
@EXPORTDEFINITIONID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier = null,
@SITES xml = null
)
as
set nocount on;
if @SITES is null
begin
if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1
begin
raiserror('BBERR_LETERCODESITE_SITEID', 13, 1);
return 1;
end
end
-- this must be enforced here now because the constraint that was enforcing it is no longer valid
-- and because letters added via MarketingLetterCode.Add.xml require neither field
if @QUERYVIEWID is null and @EXPORTDEFINITIONID is null
raiserror('BBERR_LETTERCODEOUTPUT_OUTPUTFORMATOREXPORTDEFINITIONREQUIRED', 13, 1);
if @QUERYVIEWID is not null and @EXPORTDEFINITIONID is not null
raiserror('BBERR_LETTERCODEOUTPUT_OUTPUTFORMATOREXPORTDEFINITION_OUTPUTFORMAT_OR_EXPORTDEF', 13, 1);
declare @CURRENTDATE datetime = getdate();
begin try
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
if len(cast(@CUSTOMPARAMETERDATAFORMITEM as nvarchar(max))) = 0
set @CUSTOMPARAMETERDATAFORMITEM = null;
insert into dbo.LETTERCODE(ID,NAME,DESCRIPTION,WORDTEMPLATEFILENAME,WORDFILE,QUERYVIEWID,IDSETREGISTERID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED,CUSTOMPARAMETERDATAFORMITEM, EXPORTDEFINITIONID)
values(@ID,@NAME,@DESCRIPTION,@WORDTEMPLATEFILENAME,@WORDFILE,@QUERYVIEWID,@IDSETREGISTERID,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE,@CUSTOMPARAMETERDATAFORMITEM, @EXPORTDEFINITIONID)
if @SITES is not null
exec dbo.USP_LETTERCODE_GETSITES_ADDFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;