USP_DATAFORMTEMPLATE_EDIT_PLANNEDGIFTRECEIPTSETTINGS
The save procedure used by the edit dataform template "Planned Gift Receipt Setting Edit Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@RECEIPTCODE | tinyint | IN | Do not receipt |
@PLANNEDGIFTRECEIPTVEHICLES | xml | IN | Planned gift vehicles |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PLANNEDGIFTRECEIPTSETTINGS (
@CHANGEAGENTID uniqueidentifier = null,
@RECEIPTCODE tinyint,
@PLANNEDGIFTRECEIPTVEHICLES xml
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
if @RECEIPTCODE = 1
begin
if (select count(*) from dbo.UFN_PLANNEDGIFTRECEIPTSETTING_GETVEHICLETYPES_FROMITEMLISTXML(@PLANNEDGIFTRECEIPTVEHICLES)) = 0
raiserror('PLANNEDGIFTRECEIPTSETTINGS_ERR_VEHICLEISREQUIRED', 13, 1);
-- handle updating the data
if exists (select 1 from
(select VEHICLECODE from dbo.UFN_PLANNEDGIFTRECEIPTSETTING_GETVEHICLETYPES_FROMITEMLISTXML(@PLANNEDGIFTRECEIPTVEHICLES)) T
group by T.VEHICLECODE
having count(T.VEHICLECODE) > 1)
raiserror('PLANNEDGIFTRECEIPTSETTINGS_ERR_VEHICLEISNOTUNIQUE', 13, 1);
exec dbo.USP_PLANNEDGIFTRECEIPTSETTINGS_GETVEHICLETYPES_UPDATEFROMXML @PLANNEDGIFTRECEIPTVEHICLES, @CHANGEAGENTID, @CURRENTDATE
end
else
begin
declare @contextCache varbinary(128);
/* cache current context information */
set @contextCache = CONTEXT_INFO();
/* set CONTEXT_INFO to @CHANGEAGENTID */
if not @CHANGEAGENTID is null
set CONTEXT_INFO @CHANGEAGENTID
delete from dbo.PLANNEDGIFTRECEIPTVEHICLE;
/* reset CONTEXT_INFO to previous value */
if not @contextCache is null
set CONTEXT_INFO @contextCache
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;