USP_DATAFORMTEMPLATE_EDIT_ORGANIZATIONCURRENCY
The save procedure used by the edit dataform template "Organization Currency Edit Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@CURRENCYID | uniqueidentifier | IN | Currency |
@DEFAULTCURRENCYSETID | uniqueidentifier | IN | Default currency set |
Definition
Copy
create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_ORGANIZATIONCURRENCY (
@CHANGEAGENTID uniqueidentifier = null,
@CURRENCYID uniqueidentifier,
@DEFAULTCURRENCYSETID uniqueidentifier
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
-- don't change anything if the same currency was chosen
declare @OLDORGCURRENCY uniqueidentifier
select
@OLDORGCURRENCY = CURRENCY.ID
from
dbo.CURRENCY
where
CURRENCY.ISORGANIZATIONCURRENCY = 1;
if @OLDORGCURRENCY <> @CURRENCYID
begin
update dbo.CURRENCY set
ISORGANIZATIONCURRENCY = 0,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ISORGANIZATIONCURRENCY = 1;
update dbo.CURRENCY set
ISORGANIZATIONCURRENCY = 1,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @CURRENCYID;
end
-- don't change anything if the same currency set was chosen
declare @OLDDEFAULTCURRENCYSETID uniqueidentifier
select
@OLDDEFAULTCURRENCYSETID = CURRENCYSET.ID
from
dbo.CURRENCYSET
where
CURRENCYSET.ISAPPUSERDEFAULT = 1;
if @OLDDEFAULTCURRENCYSETID <> @DEFAULTCURRENCYSETID
begin
update dbo.CURRENCYSET set
ISAPPUSERDEFAULT = 0,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ISAPPUSERDEFAULT = 1;
update dbo.CURRENCYSET set
ISAPPUSERDEFAULT = 1,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @DEFAULTCURRENCYSETID;
end
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;