USP_DATAFORMTEMPLATE_EDITLOAD_MARKSPONSORSHIPLOCATIONCLOSED

The load procedure used by the edit dataform template "Close Sponsorship Location Preprocess Edit Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@LOCATIONNAME nvarchar(1000) INOUT Closing location
@SPONSORSHIPCOUNT int INOUT Sponsorships to transfer
@SPONSORSHIPREASONID uniqueidentifier INOUT Reason
@PROGRAMMAPPINGS xml INOUT Transfer settings
@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.
@CREATEOUTPUTIDSET bit INOUT Create selection of
@OUTPUTIDSETTYPECODE tinyint INOUT
@OUTPUTIDSETNAME nvarchar(100) INOUT Selection name
@OVERWRITEOUTPUTIDSET bit INOUT Overwrite existing selection
@COMMENT nvarchar(255) INOUT Comments

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_MARKSPONSORSHIPLOCATIONCLOSED (
    @ID uniqueidentifier,
    @LOCATIONNAME nvarchar(1000) = null output,
    @SPONSORSHIPCOUNT int = null output,
    @SPONSORSHIPREASONID uniqueidentifier = null output,
    @PROGRAMMAPPINGS xml = null output,
    @DATALOADED bit = 0 output,
    @TSLONG bigint = 0 output,
  @CREATEOUTPUTIDSET bit = null output,
    @OUTPUTIDSETTYPECODE tinyint = null output
    @OUTPUTIDSETNAME nvarchar(100) = null output
    @OVERWRITEOUTPUTIDSET bit = null output,
    @COMMENT nvarchar(255)= null output
)
as
begin
    set nocount on;

    set @DATALOADED = 1

    set @LOCATIONNAME = dbo.UFN_SPONSORSHIPLOCATION_GETFULLNAME(@ID)
    set @SPONSORSHIPCOUNT = dbo.UFN_SPONSORSHIPLOCATION_ACTIVESPONSORSHIPCOUNT(@ID)

    if exists(select 'x' from dbo.SPONSORSHIPLOCATIONCLOSEPROCESS where ID = @ID)
        select @TSLONG = TSLONG,
    @SPONSORSHIPREASONID = SPONSORSHIPREASONID,
        @COMMENT = COMMENT,
       @CREATEOUTPUTIDSET = CREATEOUTPUTIDSET,
        @OUTPUTIDSETTYPECODE = OUTPUTIDSETTYPECODE,
        @OUTPUTIDSETNAME = OUTPUTIDSETNAME, 
        @OVERWRITEOUTPUTIDSET = OVERWRITEOUTPUTIDSET
        from dbo.SPONSORSHIPLOCATIONCLOSEPROCESS
        where ID = @ID;

  if @OUTPUTIDSETTYPECODE is null
      set @OUTPUTIDSETTYPECODE = 0

    declare @HIERARCHYPATH hierarchyid
    select 
        @HIERARCHYPATH = HIERARCHYPATH,
        @COMMENT = COMMENT
    from dbo.SPONSORSHIPLOCATION
    where ID = @ID;

    set @PROGRAMMAPPINGS = (
        select
            SPONSORSHIPS.SPONSORSHIPPROGRAMID FROMSPONSORSHIPPROGRAMID,
            min(SPONSORSHIPOPPORTUNITYGROUP.SPONSORSHIPOPPORTUNITYTYPECODE) FROMPROGRAMTYPE,
            isnull(PROCESS.TOSPONSORSHIPPROGRAMID,case when SPONSORSHIPLOCATION.HIERARCHYPATH.IsDescendantOf(@HIERARCHYPATH) = 1 then null else SPONSORSHIPS.SPONSORSHIPPROGRAMID end) TOSPONSORSHIPPROGRAMID,
            PROCESS.TOSPONSORSHIPLOCATIONID TOSPONSORSHIPLOCATIONID,
            count(*) SPONSORSHIPCOUNT
        from (select SPONSORSHIP.ID,
                     SPONSORSHIP.SPONSORSHIPPROGRAMID
              from dbo.SPONSORSHIP
              inner join dbo.SPONSORSHIPOPPORTUNITY on SPONSORSHIPOPPORTUNITY.ID = SPONSORSHIP.SPONSORSHIPOPPORTUNITYID
              inner join dbo.SPONSORSHIPLOCATION on SPONSORSHIPLOCATION.ID = SPONSORSHIPOPPORTUNITY.SPONSORSHIPLOCATIONID
              where SPONSORSHIPLOCATION.HIERARCHYPATH.IsDescendantOf(@HIERARCHYPATH) = 1
              and SPONSORSHIP.STATUSCODE = 1
              union
              select ACTIVESPONSORSHIP.ID,
                     ACTIVESPONSORSHIP.SPONSORSHIPPROGRAMID
              from dbo.SPONSORSHIP PENDINGSPONSORSHIP
                inner join dbo.SPONSORSHIPOPPORTUNITY PENDINGSPONSORSHIPOPPORTUNITY on PENDINGSPONSORSHIPOPPORTUNITY.ID = PENDINGSPONSORSHIP.SPONSORSHIPOPPORTUNITYID
              inner join dbo.SPONSORSHIPLOCATION on SPONSORSHIPLOCATION.ID = PENDINGSPONSORSHIPOPPORTUNITY.SPONSORSHIPLOCATIONID
              inner join dbo.SPONSORSHIPTRANSACTION INITIATETRANSFERTRANSACTION on INITIATETRANSFERTRANSACTION.TARGETSPONSORSHIPID = PENDINGSPONSORSHIP.ID and INITIATETRANSFERTRANSACTION.ACTIONCODE = 6
              inner join dbo.SPONSORSHIP ACTIVESPONSORSHIP on ACTIVESPONSORSHIP.ID = INITIATETRANSFERTRANSACTION.CONTEXTSPONSORSHIPID
              where SPONSORSHIPLOCATION.HIERARCHYPATH.IsDescendantOf(@HIERARCHYPATH) = 1
              and PENDINGSPONSORSHIP.STATUSCODE = 0
              and ACTIVESPONSORSHIP.STATUSCODE = 1) SPONSORSHIPS
        inner join dbo.SPONSORSHIPPROGRAM on SPONSORSHIPPROGRAM.ID = SPONSORSHIPS.SPONSORSHIPPROGRAMID
        inner join dbo.SPONSORSHIPOPPORTUNITYGROUP on SPONSORSHIPOPPORTUNITYGROUP.ID = SPONSORSHIPPROGRAM.SPONSORSHIPOPPORTUNITYGROUPID
        left outer join dbo.SPONSORSHIPLOCATION on SPONSORSHIPLOCATION.ID = SPONSORSHIPOPPORTUNITYGROUP.SPONSORSHIPLOCATIONID
        left outer join dbo.UFN_SPONSORSHIPLOCATIONCLOSEPROCESS_PROGRAMMAPPINGS_FROMITEMLISTXML((select PROGRAMMAPPINGS from dbo.SPONSORSHIPLOCATIONCLOSEPROCESS where ID = @ID)) PROCESS on PROCESS.FROMSPONSORSHIPPROGRAMID = SPONSORSHIPS.SPONSORSHIPPROGRAMID
        group by SPONSORSHIPS.SPONSORSHIPPROGRAMID,
                 PROCESS.TOSPONSORSHIPPROGRAMID,
                 PROCESS.TOSPONSORSHIPLOCATIONID,
                 SPONSORSHIPLOCATION.HIERARCHYPATH
        for xml raw('ITEM'),type,elements,root('PROGRAMMAPPINGS'),BINARY BASE64
    )

    return 0;
end