USP_DATAFORMTEMPLATE_ADD_CURRENCYEXCHANGERATE
The save procedure used by the add dataform template "Currency Exchange Rate 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. |
@FROMCURRENCYID | uniqueidentifier | IN | From currency |
@TOCURRENCYID | uniqueidentifier | IN | To currency |
@RATE | decimal(20, 8) | IN | Rate |
@ASOFDATETIME | datetime | IN | As of date/time |
@TYPECODE | tinyint | IN | Type |
@SOURCECODEID | uniqueidentifier | IN | Source |
@TIMEZONEENTRYID | uniqueidentifier | IN | Time zone |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CURRENCYEXCHANGERATE (
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@FROMCURRENCYID uniqueidentifier = null,
@TOCURRENCYID uniqueidentifier = null,
@RATE decimal(20,8) = null,
@ASOFDATETIME datetime = null,
@TYPECODE tinyint = 0,
@SOURCECODEID uniqueidentifier = null,
@TIMEZONEENTRYID uniqueidentifier = null
) as
set nocount on;
declare @CURRENTDATE datetime = getdate();
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
if @TIMEZONEENTRYID is null
set @TIMEZONEENTRYID = dbo.UFN_TIMEZONEENTRY_GETSYSTEMDEFAULT();
begin try
if @TYPECODE = 2
raiserror('ERR_CANNOTADDSPOTRATE', 13, 1);
declare @UTCOFFSET integer = dbo.UFN_TIMEZONEENTRY_GETTIMEZONEOFFSETFROMUTC(@TIMEZONEENTRYID, @ASOFDATETIME, 0);
declare @ASOFDATETIMEOFFSET datetimeoffset = TODATETIMEOFFSET(@ASOFDATETIME, @UTCOFFSET);
declare @EXPIRATIONDATE datetime = dbo.UFN_CURRENCY_GETEXPIRATIONDATE(@TYPECODE,@ASOFDATETIME,@TIMEZONEENTRYID);
--Insert the new exchange rate record.
exec dbo.USP_CURRENCYEXCHANGERATE_ADD
@ID,
@FROMCURRENCYID,
@TOCURRENCYID,
@RATE,
@ASOFDATETIMEOFFSET,
@TYPECODE,
@SOURCECODEID,
@TIMEZONEENTRYID,
@EXPIRATIONDATE,
@CHANGEAGENTID,
@CURRENTDATE;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;