USP_DATAFORMTEMPLATE_ADD_ADDOPPORTUNITIESPROCESS

The save procedure used by the add dataform template "Add Opportunities Process 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.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@IDSETREGISTERID uniqueidentifier IN Prospect plan selection
@OPPORTUNITYTYPECODEID uniqueidentifier IN Type
@EXPECTEDASKAMOUNT money IN Expected ask amount
@OPPORTUNITYDESIGNATIONS xml IN Designations
@TRANSACTIONCURRENCYID uniqueidentifier IN Currency
@OPPORTUNITYSTATUSCODE tinyint IN Status
@EXPECTEDASKDATE datetime IN Expected ask date
@ASKAMOUNT money IN Ask amount
@ASKDATE datetime IN Ask date
@LIKELIHOODTYPECODEID uniqueidentifier IN Likelihood
@RESPONSEDATE datetime IN Response date
@COMMENT nvarchar(max) IN Comments

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_ADDOPPORTUNITIESPROCESS
(
    @ID uniqueidentifier = null output,
    @CHANGEAGENTID uniqueidentifier = null,
    @CURRENTAPPUSERID uniqueidentifier = null,
    @NAME nvarchar(100) = null,
    @DESCRIPTION nvarchar(255) = null,
    @IDSETREGISTERID uniqueidentifier = null,
    @OPPORTUNITYTYPECODEID uniqueidentifier = null,
    @EXPECTEDASKAMOUNT money = 0,
    @OPPORTUNITYDESIGNATIONS xml = null,
    @TRANSACTIONCURRENCYID uniqueidentifier = null,
    @OPPORTUNITYSTATUSCODE tinyint = 0,    
    @EXPECTEDASKDATE datetime = null,
    @ASKAMOUNT money = 0,
    @ASKDATE datetime = null,
    @LIKELIHOODTYPECODEID uniqueidentifier = null,
    @RESPONSEDATE datetime = null,
    @COMMENT nvarchar(max) = ''
)
as

set nocount on;

if @OPPORTUNITYSTATUSCODE = 0
begin
    set @ASKAMOUNT = 0;
    set @ASKDATE = null;
    set @RESPONSEDATE = null;
end

if @ID is null
    set @ID = newid();

if @CHANGEAGENTID is null  
    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

declare @CURRENTDATE datetime = getdate();

begin try
    exec dbo.USP_OPPORTUNITY_VALIDATEDESIGNATIONS @OPPORTUNITYDESIGNATIONS;

    insert into dbo.ADDOPPORTUNITIESPROCESS
        (ID,
         NAME,
         DESCRIPTION,
         IDSETREGISTERID,
         OPPORTUNITYTYPECODEID,
         EXPECTEDASKAMOUNT,
         TRANSACTIONCURRENCYID,
         OPPORTUNITYSTATUSCODE,
         EXPECTEDASKDATE,
         ASKAMOUNT,
         ASKDATE,
         LIKELIHOODTYPECODEID,
         RESPONSEDATE,
         COMMENT,
         ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
    values
        (@ID,
         @NAME
         @DESCRIPTION
         @IDSETREGISTERID
         @OPPORTUNITYTYPECODEID,
         @EXPECTEDASKAMOUNT,
         @TRANSACTIONCURRENCYID,
         @OPPORTUNITYSTATUSCODE,
         @EXPECTEDASKDATE,         
         @ASKAMOUNT,
         @ASKDATE,
         @LIKELIHOODTYPECODEID,
         @RESPONSEDATE,
         @COMMENT,
         @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

    exec dbo.USP_ADDOPPORTUNITIESPROCESS_OPPORTUNITYDESIGNATIONS_ADDFROMXML @ID, @OPPORTUNITYDESIGNATIONS, @CHANGEAGENTID, @CURRENTDATE;

    exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD 
        @CHANGEAGENTID = @CHANGEAGENTID
        @BUSINESSPROCESSCATALOGID = '41d4787b-c66b-4b83-8f49-788013bdad40'
        @BUSINESSPROCESSPARAMETERSETID = @ID
        @OWNERID = @CURRENTAPPUSERID;
end try

begin catch
    exec dbo.USP_RAISE_ERROR;
    return 1;
end catch

return 0;