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