USP_DATAFORMTEMPLATE_EDITLOAD_RELATIONSHIP_ORGTOORG

The load procedure used by the edit dataform template "Relationship Organization to Organization 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.
@CONSTITUENTNAME nvarchar(700) INOUT
@RECIPROCALCONSTITUENTID uniqueidentifier INOUT Related constituent
@RELATIONSHIPCONSTITUENTID uniqueidentifier INOUT
@RELATIONSHIPTYPECODEID uniqueidentifier INOUT Relationship type
@RECIPROCALTYPECODEID uniqueidentifier INOUT Reciprocal relationship type
@RECIPROCALCONSTITUENTNAME nvarchar(700) INOUT Related constituent
@STARTDATE datetime INOUT Start date
@ENDDATE datetime INOUT End date
@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.
@COMMENTS nvarchar(max) INOUT Comments
@CONSTITUENTTYPE int INOUT
@ISMATCHINGGIFTRELATIONSHIP bit INOUT The organization will match contributions for this relationship
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit INOUT Apply to constituent for revenue from organization
@PRIMARYSOFTCREDITMATCHFACTOR decimal(5, 2) INOUT Recognition credit match percent
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit INOUT Apply to organization for revenue from constituent
@RECIPROCALSOFTCREDITMATCHFACTOR decimal(5, 2) INOUT Recognition credit match percent
@PRIMARYRECOGNITIONTYPECODEID uniqueidentifier INOUT Recognition credit type
@RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier INOUT Recognition credit type
@PRIMARYISCONSTITUENT bit INOUT
@ISPARENTRECIPROCAL bit INOUT Organization is the parent organization
@ISPARENTRELATIONSHIP bit INOUT Constituent is the parent organization
@SETTINGSPARENTORGID uniqueidentifier INOUT Corporate Settings Parent Selection

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_RELATIONSHIP_ORGTOORG
(
  @ID uniqueidentifier,
  @DATALOADED bit = 0 output,
  @CONSTITUENTNAME nvarchar(700) = null output,
  @RECIPROCALCONSTITUENTID uniqueidentifier = null output,
  @RELATIONSHIPCONSTITUENTID uniqueidentifier = null output,
  @RELATIONSHIPTYPECODEID uniqueidentifier = null output,
  @RECIPROCALTYPECODEID uniqueidentifier = null output,
  @RECIPROCALCONSTITUENTNAME nvarchar(700) = null output,
  @STARTDATE datetime = null output,
  @ENDDATE datetime = null output,
  @TSLONG bigint = 0 output,
  @COMMENTS nvarchar(max) = null output,
  @CONSTITUENTTYPE int = null output,
  @ISMATCHINGGIFTRELATIONSHIP bit = null output,
  @PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit = null output,
  @PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2) = null output,
  @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit = null output,
  @RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2) = null output,
  @PRIMARYRECOGNITIONTYPECODEID uniqueidentifier = null output,
  @RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier = null output,
  @PRIMARYISCONSTITUENT bit = null output,
  @ISPARENTRECIPROCAL bit = null output,
  @ISPARENTRELATIONSHIP bit = null output,
  @SETTINGSPARENTORGID uniqueidentifier =  null output
)
as
  set nocount on;

  set @DATALOADED = 0;
  set @TSLONG = 0;
  set @CONSTITUENTTYPE = 1;
  set @PRIMARYSOFTCREDITRELATIONSHIPEXISTS = 0;
  set @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS = 0;

  select
    @DATALOADED = 1,
    @CONSTITUENTNAME = CONSTIT1_NF.NAME,
    @PRIMARYISCONSTITUENT = CONSTIT1.ISCONSTITUENT,
    @RECIPROCALCONSTITUENTNAME = CONSTIT2_NF.NAME,
    @RECIPROCALCONSTITUENTID = RECIPROCALCONSTITUENTID,
    @RELATIONSHIPCONSTITUENTID = RELATIONSHIPCONSTITUENTID,
    @RELATIONSHIPTYPECODEID = RELATIONSHIPTYPECODEID,
    @RECIPROCALTYPECODEID = RECIPROCALTYPECODEID,
    @STARTDATE = STARTDATE,
    @ENDDATE = ENDDATE,
    @TSLONG = RELATIONSHIP.TSLONG,
    @COMMENTS = RELATIONSHIP.COMMENTS,
    @ISMATCHINGGIFTRELATIONSHIP = RELATIONSHIP.ISMATCHINGGIFTRELATIONSHIP
  from
    dbo.RELATIONSHIP
  left join
    dbo.CONSTITUENT as CONSTIT1 on RELATIONSHIP.RELATIONSHIPCONSTITUENTID = CONSTIT1.ID
  outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(RELATIONSHIP.RELATIONSHIPCONSTITUENTID) CONSTIT1_NF
  outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(RELATIONSHIP.RECIPROCALCONSTITUENTID) CONSTIT2_NF
  where
    RELATIONSHIP.ID = @ID;

  select
    @PRIMARYSOFTCREDITRELATIONSHIPEXISTS = 1,
    @PRIMARYSOFTCREDITMATCHFACTOR = MATCHFACTOR,
    @PRIMARYRECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODEID
  from
    dbo.REVENUERECOGNITIONDEFAULT
  where
    SOURCECONSTITUENTID = @RELATIONSHIPCONSTITUENTID and
    RECIPIENTCONSTITUENTID = @RECIPROCALCONSTITUENTID and
    PREVENTRECOGNITIONSDEFAULTING = 0;

  select
    @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS = 1,
    @RECIPROCALSOFTCREDITMATCHFACTOR = MATCHFACTOR,
    @RECIPROCALRECOGNITIONTYPECODEID = REVENUERECOGNITIONTYPECODEID
  from
    dbo.REVENUERECOGNITIONDEFAULT
  where
    SOURCECONSTITUENTID = @RECIPROCALCONSTITUENTID and
    RECIPIENTCONSTITUENTID = @RELATIONSHIPCONSTITUENTID and
    PREVENTRECOGNITIONSDEFAULTING = 0;

  set @PRIMARYSOFTCREDITMATCHFACTOR = coalesce(@PRIMARYSOFTCREDITMATCHFACTOR, 100);
  set @RECIPROCALSOFTCREDITMATCHFACTOR = coalesce(@RECIPROCALSOFTCREDITMATCHFACTOR, 100);


  if (select PARENTCORPID from dbo.ORGANIZATIONDATA where ORGANIZATIONDATA.ID = @RECIPROCALCONSTITUENTID) = @RELATIONSHIPCONSTITUENTID
    set @ISPARENTRELATIONSHIP = 1

  if (select PARENTCORPID from dbo.ORGANIZATIONDATA where ORGANIZATIONDATA.ID = @RELATIONSHIPCONSTITUENTID) = @RECIPROCALCONSTITUENTID
    set @ISPARENTRECIPROCAL = 1

  select @SETTINGSPARENTORGID=PARENTORGID from dbo.RELATIONSHIPCONFIGURATIONCORPORATE

  return 0;