USP_DATAFORMTEMPLATE_EDIT_REVENUESOLICITORS
The save procedure used by the edit dataform template "Revenue Solicitor 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. |
@SOLICITORS | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_REVENUESOLICITORS
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@SOLICITORS xml
)
as
set nocount on;
begin try
declare @BASECURRENCYID uniqueidentifier;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
declare @BASEEXCHANGERATEID uniqueidentifier;
declare @BASETOORGANIZATIONEXCHANGERATEID uniqueidentifier;
select
@BASECURRENCYID = isnull(REVENUE_EXT.NONPOSTABLEBASECURRENCYID, CURRENCYSET.BASECURRENCYID),
@ORGANIZATIONEXCHANGERATEID = FINANCIALTRANSACTION.ORGEXCHANGERATEID
from
dbo.FINANCIALTRANSACTIONLINEITEM
inner join
dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
inner join
dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
inner join
dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
inner join
dbo.PDACCOUNTSYSTEM on FINANCIALTRANSACTION.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
inner join
dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
where
FINANCIALTRANSACTIONLINEITEM.ID = @ID
and FINANCIALTRANSACTION.DELETEDON is null
and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
--Solicitors don't have a transaction currency, @BASETOORGANIZATIONEXCHANGERATEID handles the
-- case where the revenue split ORGANIZATIONEXCHANGERATE is for converting from transaction to org currencies
exec dbo.USP_CURRENCY_GETCURRENCYVALUES
0,
null,
@BASECURRENCYID,
@BASEEXCHANGERATEID,
null,
null,
null,
null,
@ORGANIZATIONEXCHANGERATEID,
0,
@BASETOORGANIZATIONEXCHANGERATEID output;
-- Process the solicitors xml to calculate organization amounts.
set @SOLICITORS = dbo.UFN_REVENUESOLICITOR_CONVERTAMOUNTSINXML(@SOLICITORS, @BASECURRENCYID, @BASETOORGANIZATIONEXCHANGERATEID);
exec dbo.USP_REVENUE_GETSOLICITORS_2_UPDATEFROMXML @ID, @SOLICITORS, @CHANGEAGENTID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;