USP_DATAFORMTEMPLATE_EDIT_GRANT_2
The save procedure used by the edit dataform template "Grant 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. |
@MINAWARD | money | IN | Min. grant award |
@MAXAWARD | money | IN | Max. grant award |
@TITLE | nvarchar(150) | IN | Title |
@GRANTFUNDINGTYPES | xml | IN | Funding types |
@DESCRIPTION | nvarchar(500) | IN | Description |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN | Currency |
Definition
Copy
create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_GRANT_2
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@MINAWARD money,
@MAXAWARD money,
@TITLE nvarchar(150),
@GRANTFUNDINGTYPES xml,
@DESCRIPTION nvarchar(500),
@TRANSACTIONCURRENCYID uniqueidentifier
)
as
set nocount on;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
declare @BASEEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONMINAWARD money;
declare @ORGANIZATIONMAXAWARD money;
declare @TRANSACTIONMINAWARD money;
declare @TRANSACTIONMAXAWARD money;
declare @BASEMINAWARD money;
declare @BASEMAXAWARD money;
declare @OLDCURRENCYID uniqueidentifier;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @BASECURRENCYID uniqueidentifier;
select
@BASECURRENCYID = GRANTS.BASECURRENCYID,
@TRANSACTIONMINAWARD = GRANTS.TRANSACTIONMINAWARD,
@TRANSACTIONMAXAWARD = GRANTS.TRANSACTIONMAXAWARD,
@ORGANIZATIONMINAWARD = GRANTS.ORGANIZATIONMINAWARD,
@ORGANIZATIONMAXAWARD = GRANTS.ORGANIZATIONMAXAWARD,
@BASEEXCHANGERATEID = GRANTS.BASEEXCHANGERATEID,
@ORGANIZATIONEXCHANGERATEID = GRANTS.ORGANIZATIONEXCHANGERATEID,
@BASEMINAWARD = GRANTS.MINAWARD,
@BASEMAXAWARD = GRANTS.MAXAWARD,
@OLDCURRENCYID = GRANTS.TRANSACTIONCURRENCYID
from
dbo.GRANTS
where
GRANTS.ID = @ID;
set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
if (@TRANSACTIONMINAWARD <> @MINAWARD or @TRANSACTIONMAXAWARD <> @MAXAWARD or @OLDCURRENCYID <> @TRANSACTIONCURRENCYID)
begin
set @BASEEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@TRANSACTIONCURRENCYID, @BASECURRENCYID, @CURRENTDATE, 1, null);
exec dbo.USP_CURRENCY_GETCURRENCYVALUES @MINAWARD, @CURRENTDATE, @BASECURRENCYID, @BASEEXCHANGERATEID output, @TRANSACTIONCURRENCYID output, @BASEMINAWARD output, @ORGANIZATIONCURRENCYID output, @ORGANIZATIONMINAWARD output, @ORGANIZATIONEXCHANGERATEID output, 1;
exec dbo.USP_CURRENCY_GETCURRENCYVALUES @MAXAWARD, @CURRENTDATE, @BASECURRENCYID, @BASEEXCHANGERATEID output, @TRANSACTIONCURRENCYID output, @BASEMAXAWARD output, @ORGANIZATIONCURRENCYID output, @ORGANIZATIONMAXAWARD output, @ORGANIZATIONEXCHANGERATEID output, 0;
end
begin try
update dbo.GRANTS
set
TITLE = @TITLE,
DESCRIPTION = @DESCRIPTION,
MINAWARD = @BASEMINAWARD,
MAXAWARD = @BASEMAXAWARD,
TRANSACTIONMINAWARD = @MINAWARD,
TRANSACTIONMAXAWARD = @MAXAWARD,
ORGANIZATIONMINAWARD = @ORGANIZATIONMINAWARD,
ORGANIZATIONMAXAWARD = @ORGANIZATIONMAXAWARD,
BASEEXCHANGERATEID = @BASEEXCHANGERATEID,
ORGANIZATIONEXCHANGERATEID = @ORGANIZATIONEXCHANGERATEID,
BASECURRENCYID = @BASECURRENCYID,
TRANSACTIONCURRENCYID = @TRANSACTIONCURRENCYID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID;
exec dbo.USP_GRANT_FUNDINGTYPES_UPDATEFROMXML @ID, @GRANTFUNDINGTYPES, @CHANGEAGENTID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;