USP_DATAFORMTEMPLATE_EDITLOAD_ADDOPPORTUNITIESPROCESS

The load procedure used by the edit dataform template "Add Opportunities Process Edit Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@NAME nvarchar(100) INOUT Name
@DESCRIPTION nvarchar(255) INOUT Description
@IDSETREGISTERID uniqueidentifier INOUT Prospect plan selection
@PROSPECTPLANRECORDTYPEID uniqueidentifier INOUT
@OPPORTUNITYTYPECODEID uniqueidentifier INOUT Type
@EXPECTEDASKAMOUNT money INOUT Expected ask amount
@OPPORTUNITYDESIGNATIONS xml INOUT Designations
@TRANSACTIONCURRENCYID uniqueidentifier INOUT Currency
@OPPORTUNITYSTATUSCODE tinyint INOUT Status
@EXPECTEDASKDATE datetime INOUT Expected ask date
@ASKAMOUNT money INOUT Ask amount
@ASKDATE datetime INOUT Ask date
@LIKELIHOODTYPECODEID uniqueidentifier INOUT Likelihood
@RESPONSEDATE datetime INOUT Response date
@COMMENT nvarchar(max) INOUT Comments

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_ADDOPPORTUNITIESPROCESS(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @TSLONG bigint = 0 output,
    @NAME nvarchar(100) = null output,
    @DESCRIPTION nvarchar(255) = null output,
    @IDSETREGISTERID uniqueidentifier = null output,
    @PROSPECTPLANRECORDTYPEID uniqueidentifier = null output,
    @OPPORTUNITYTYPECODEID uniqueidentifier = null output,
    @EXPECTEDASKAMOUNT money = null output,
    @OPPORTUNITYDESIGNATIONS xml = null output,
    @TRANSACTIONCURRENCYID uniqueidentifier = null output,
    @OPPORTUNITYSTATUSCODE tinyint = null output,
    @EXPECTEDASKDATE datetime = null output,
    @ASKAMOUNT money = null output,
    @ASKDATE datetime = null output,
    @LIKELIHOODTYPECODEID uniqueidentifier = null output,
    @RESPONSEDATE datetime = null output,
    @COMMENT nvarchar(max) = null output    
)
as

    set nocount on;

    set @DATALOADED = 0
    set @TSLONG = 0

    declare @DESIGNATIONTSLONG bigint = 0

    select
        @DATALOADED = 1,
        @TSLONG = TSLONG,
        @NAME = NAME,
        @DESCRIPTION = DESCRIPTION,
        @IDSETREGISTERID = IDSETREGISTERID,
        @OPPORTUNITYTYPECODEID = OPPORTUNITYTYPECODEID,
        @EXPECTEDASKAMOUNT = EXPECTEDASKAMOUNT,
        @TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID,
        @OPPORTUNITYDESIGNATIONS = dbo.UFN_ADDOPPORTUNITIESPROCESS_OPPORTUNITYDESIGNATIONS_TOITEMLISTXML(@ID),
        @OPPORTUNITYSTATUSCODE = OPPORTUNITYSTATUSCODE,
        @EXPECTEDASKDATE = EXPECTEDASKDATE,
        @ASKAMOUNT = ASKAMOUNT,
        @ASKDATE = ASKDATE,
        @LIKELIHOODTYPECODEID = LIKELIHOODTYPECODEID,
        @RESPONSEDATE = RESPONSEDATE,
        @COMMENT = COMMENT,
        @DESIGNATIONTSLONG = coalesce((select max(TSLONG) from dbo.ADDOPPORTUNITIESPROCESSOPPORTUNITYDESIGNATION where ADDOPPORTUNITIESPROCESSID = @ID), 0)
    from dbo.ADDOPPORTUNITIESPROCESS
    where ID = @ID;

    select @PROSPECTPLANRECORDTYPEID = ID
    from dbo.RECORDTYPE 
    where NAME = 'Prospect Plan';

    if @DESIGNATIONTSLONG > @TSLONG
        set @TSLONG = @DESIGNATIONTSLONG;

    return 0;