USP_DATAFORMTEMPLATE_EDIT_PAYMENTORIGINALAMOUNT
The save procedure used by the edit dataform template "Payment Original Amount 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. |
@ORIGINALAMOUNT | money | IN | Original payment amount |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PAYMENTORIGINALAMOUNT (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@ORIGINALAMOUNT money
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
--Multicurrency - Convert @ORIGINALAMOUNT (in transaction currency) to base and org currency.
declare @DATE date;
declare @TRANSACTIONCURRENCYID uniqueidentifier;
declare @BASEAMOUNT money;
declare @BASECURRENCYID uniqueidentifier;
declare @BASEEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONAMOUNT money;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
select
@DATE = DATE,
@TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID,
@BASEEXCHANGERATEID = BASEEXCHANGERATEID,
@ORGANIZATIONEXCHANGERATEID = ORGANIZATIONEXCHANGERATEID,
@BASECURRENCYID=BASECURRENCYID
from dbo.REVENUE where ID = @ID;
exec dbo.USP_CURRENCY_GETCURRENCYVALUES
@AMOUNT=@ORIGINALAMOUNT,
@DATE=@DATE,
@BASECURRENCYID=@BASECURRENCYID,
@BASEEXCHANGERATEID=@BASEEXCHANGERATEID,
@TRANSACTIONCURRENCYID=@TRANSACTIONCURRENCYID,
@BASEAMOUNT=@BASEAMOUNT output,
@ORGANIZATIONAMOUNT=@ORGANIZATIONAMOUNT output,
@ORGANIZATIONEXCHANGERATEID=@ORGANIZATIONEXCHANGERATEID
update dbo.PAYMENTORIGINALAMOUNT set
TRANSACTIONAMOUNT = @ORIGINALAMOUNT,
ORIGINALAMOUNT = @BASEAMOUNT,
ORGANIZATIONAMOUNT = @ORGANIZATIONAMOUNT,
ORGANIZATIONEXCHANGERATEID = @ORGANIZATIONEXCHANGERATEID,
TRANSACTIONCURRENCYID = @TRANSACTIONCURRENCYID,
BASEEXCHANGERATEID = @BASEEXCHANGERATEID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID
if @@ROWCOUNT = 0
insert into dbo.PAYMENTORIGINALAMOUNT
(
ID,
ORIGINALAMOUNT,
TRANSACTIONAMOUNT,
ORGANIZATIONAMOUNT,
BASECURRENCYID,
ORGANIZATIONEXCHANGERATEID,
TRANSACTIONCURRENCYID,
BASEEXCHANGERATEID,
DATEADDED,
DATECHANGED,
ADDEDBYID,
CHANGEDBYID
)
values
(
@ID,
@BASEAMOUNT,
@ORIGINALAMOUNT,
@ORGANIZATIONAMOUNT,
@BASECURRENCYID,
@ORGANIZATIONEXCHANGERATEID,
@TRANSACTIONCURRENCYID,
@BASEEXCHANGERATEID,
@CURRENTDATE,
@CURRENTDATE,
@CHANGEAGENTID,
@CHANGEAGENTID
)
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;