USP_DATAFORMTEMPLATE_EDIT_MKTACKNOWLEDGEMENTMAILINGTEMPLATESEED
The save procedure used by the edit dataform template "Marketing Acknowledgement Template Seeds Edit Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@SEEDS | xml | IN | Seeds |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTACKNOWLEDGEMENTMAILINGTEMPLATESEED]
(
@ID uniqueidentifier, /* Acknowledgement Mailing Template ID */
@CHANGEAGENTID uniqueidentifier = null,
@SEEDS xml
)
as
set nocount on;
declare @CURRENTDATE datetime;
declare @SEEDID uniqueidentifier;
declare @SELECTED bit;
declare @MARKETINGACKNOWLEDGEMENTSEEDID uniqueidentifier;
begin try
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = GetDate();
declare SEEDCURSOR cursor local fast_forward for
select [ID], [SELECTED]
from dbo.[UFN_MKTACKNOWLEDGEMENTMAILINGTEMPLATESEED_GETSEEDS_FROMITEMLISTXML](@SEEDS);
open SEEDCURSOR;
fetch next from SEEDCURSOR into @SEEDID, @SELECTED;
while (@@FETCH_STATUS = 0)
begin
select @MARKETINGACKNOWLEDGEMENTSEEDID = [ID]
from dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATESEED]
where [ACKNOWLEDGEMENTMAILINGTEMPLATEID] = @ID and [SEEDID] = @SEEDID;
if @SELECTED = 0
begin
if @MARKETINGACKNOWLEDGEMENTSEEDID is not null
/* Not selected, so remove the smart query */
exec dbo.[USP_MKTACKNOWLEDGEMENTMAILINGTEMPLATESEED_DELETEBYID_WITHCHANGEAGENTID] @MARKETINGACKNOWLEDGEMENTSEEDID, @CHANGEAGENTID;
end
else
begin
if @MARKETINGACKNOWLEDGEMENTSEEDID is null
/* Selected, but not in the table yet */
insert into dbo.[MKTACKNOWLEDGEMENTMAILINGTEMPLATESEED] (
[ID],
[ACKNOWLEDGEMENTMAILINGTEMPLATEID],
[SEEDID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
) values (
NewID(),
@ID,
@SEEDID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
set @MARKETINGACKNOWLEDGEMENTSEEDID = null;
fetch next from SEEDCURSOR into @SEEDID, @SELECTED;
end;
close SEEDCURSOR;
deallocate SEEDCURSOR;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;