USP_DATAFORMTEMPLATE_OPPORTUNITY_ADD
The save procedure used by the add dataform template "Opportunity 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. |
@PROSPECTPLANID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@EXPECTEDASKAMOUNT | money | IN | Expected ask amount |
@ASKAMOUNT | money | IN | Ask amount |
@ACCEPTEDAMOUNT | money | IN | Accepted amount |
@STATUSCODE | tinyint | IN | Status |
@EXPECTEDASKDATE | datetime | IN | Expected ask date |
@ASKDATE | datetime | IN | Ask date |
@RESPONSEDATE | datetime | IN | Response date |
@COMMENT | nvarchar(max) | IN | Comments |
@DESIGNATION | xml | IN | Designation |
@LIKELIHOODTYPECODEID | uniqueidentifier | IN | Likelihood |
@OPPORTUNITYTYPECODEID | uniqueidentifier | IN | Opportunity type |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN | Transaction currency |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_OPPORTUNITY_ADD
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@PROSPECTPLANID uniqueidentifier,
@EXPECTEDASKAMOUNT money = 0,
@ASKAMOUNT money = 0,
@ACCEPTEDAMOUNT money = 0,
@STATUSCODE tinyint = 0,
@EXPECTEDASKDATE datetime = null,
@ASKDATE datetime = null,
@RESPONSEDATE datetime = null,
@COMMENT nvarchar(max) = '',
@DESIGNATION xml = null,
@LIKELIHOODTYPECODEID uniqueidentifier = null,
@OPPORTUNITYTYPECODEID uniqueidentifier = null,
@TRANSACTIONCURRENCYID uniqueidentifier = null
) as
begin
set nocount on;
if @STATUSCODE = 0
set @ASKAMOUNT = 0;
if @STATUSCODE = 4 or @STATUSCODE = 5
set @LIKELIHOODTYPECODEID = null;
begin try
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CHANGEDATE datetime = getdate();
declare @BASECURRENCYID uniqueidentifier;
declare @BASEEXPECTEDASKAMOUNT money;
declare @BASEASKAMOUNT money;
declare @BASEACCEPTEDASKAMOUNT money;
declare @BASEEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @ORGANIZATIONEXPECTEDASKAMOUNT money;
declare @ORGANIZATIONASKAMOUNT money;
declare @ORGANIZATIONACCEPTEDASKAMOUNT money;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
if @TRANSACTIONCURRENCYID is null
set @TRANSACTIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
select @BASECURRENCYID = BASECURRENCYID from dbo.PROSPECTPLAN where PROSPECTPLAN.ID = @PROSPECTPLANID;
set @BASEEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@TRANSACTIONCURRENCYID, @BASECURRENCYID, @CHANGEDATE, 1, null);
exec dbo.USP_CURRENCY_GETCURRENCYVALUES @ASKAMOUNT, @CHANGEDATE, @BASECURRENCYID, @BASEEXCHANGERATEID output,
@TRANSACTIONCURRENCYID, @BASEASKAMOUNT output, @ORGANIZATIONCURRENCYID output, @ORGANIZATIONASKAMOUNT output,
@ORGANIZATIONEXCHANGERATEID output, 1;
exec dbo.USP_CURRENCY_GETCURRENCYVALUES @EXPECTEDASKAMOUNT, @CHANGEDATE, @BASECURRENCYID, @BASEEXCHANGERATEID,
@TRANSACTIONCURRENCYID, @BASEEXPECTEDASKAMOUNT output, @ORGANIZATIONCURRENCYID output, @ORGANIZATIONEXPECTEDASKAMOUNT output,
@ORGANIZATIONEXCHANGERATEID output, 1;
exec dbo.USP_CURRENCY_GETCURRENCYVALUES @ACCEPTEDAMOUNT, @CHANGEDATE, @BASECURRENCYID, @BASEEXCHANGERATEID,
@TRANSACTIONCURRENCYID, @BASEACCEPTEDASKAMOUNT output, @ORGANIZATIONCURRENCYID output, @ORGANIZATIONACCEPTEDASKAMOUNT output,
@ORGANIZATIONEXCHANGERATEID output, 1;
exec dbo.USP_OPPORTUNITY_VALIDATEDESIGNATIONS @DESIGNATION;
insert into dbo.OPPORTUNITY
(
ID,
PROSPECTPLANID,
EXPECTEDASKAMOUNT,
TRANSACTIONEXPECTEDASKAMOUNT,
ORGANIZATIONEXPECTEDASKAMOUNT,
ASKAMOUNT,
TRANSACTIONASKAMOUNT,
ORGANIZATIONASKAMOUNT,
ACCEPTEDASKAMOUNT,
TRANSACTIONACCEPTEDASKAMOUNT,
ORGANIZATIONACCEPTEDASKAMOUNT,
STATUSCODE,
EXPECTEDASKDATE,
ASKDATE,
RESPONSEDATE,
COMMENT,
ADDEDBYID,
CHANGEDBYID,
LIKELIHOODTYPECODEID,
OPPORTUNITYTYPECODEID,
BASECURRENCYID,
TRANSACTIONCURRENCYID,
BASEEXCHANGERATEID,
ORGANIZATIONEXCHANGERATEID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@PROSPECTPLANID,
@BASEEXPECTEDASKAMOUNT,
@EXPECTEDASKAMOUNT,
@ORGANIZATIONEXPECTEDASKAMOUNT,
@BASEASKAMOUNT,
@ASKAMOUNT,
@ORGANIZATIONASKAMOUNT,
@BASEACCEPTEDASKAMOUNT,
@ACCEPTEDAMOUNT,
@ORGANIZATIONACCEPTEDASKAMOUNT,
@STATUSCODE,
@EXPECTEDASKDATE,
@ASKDATE,
@RESPONSEDATE,
@COMMENT,
@CHANGEAGENTID,
@CHANGEAGENTID,
@LIKELIHOODTYPECODEID,
@OPPORTUNITYTYPECODEID,
@BASECURRENCYID,
@TRANSACTIONCURRENCYID,
@BASEEXCHANGERATEID,
@ORGANIZATIONEXCHANGERATEID,
@CHANGEDATE,
@CHANGEDATE
);
set @DESIGNATION = dbo.UFN_OPPORTUNITYDESIGNATION_CONVERTAMOUNTSINXML(@DESIGNATION, @BASECURRENCYID, @TRANSACTIONCURRENCYID, @BASEEXCHANGERATEID, @CHANGEDATE);
exec dbo.USP_OPPORTUNITY_DESIGNATION_2_ADDFROMXML @ID, @DESIGNATION, @CHANGEAGENTID;
exec dbo.USP_OPPORTUNITY_CLEARANDADDCAMPAIGNS @OPPORTUNITYID = @ID, @CHANGEAGENTID = @CHANGEAGENTID, @CHANGEDATE = @CHANGEDATE;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;
end