USP_DATAFORMTEMPLATE_VIEW_PRIVATEFOUNDATION_SUMMARY

The load procedure used by the view dataform template "Private Foundation Summary View 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.
@PRIVATEFOUNDATIONNUMBER int INOUT Identified organizations
@COMPENSATIONVALUE decimal(18, 0) INOUT Identified compensation value
@PRIVATEFOUNDATIONNUMBERCONFIRMED int INOUT Confirmed organizations
@COMPENSATIONVALUECONFIRMED decimal(18, 0) INOUT Confirmed compensation value

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_PRIVATEFOUNDATION_SUMMARY
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @PRIVATEFOUNDATIONNUMBER int = null output,
    @COMPENSATIONVALUE decimal = null output,
    @PRIVATEFOUNDATIONNUMBERCONFIRMED int = null output,
    @COMPENSATIONVALUECONFIRMED decimal = null output
)
as
    set NOCOUNT on;
    set @DATALOADED = 0;

    declare @ISGROUP bit;

    select
        @DATALOADED = 1,
        @ISGROUP = ISGROUP
    from
        dbo.CONSTITUENT
    where
        CONSTITUENT.ID = @ID;

    select 
        @PRIVATEFOUNDATIONNUMBER = 0,
        @PRIVATEFOUNDATIONNUMBERCONFIRMED = 0

    if @ISGROUP = 0 begin
        select
            @PRIVATEFOUNDATIONNUMBER = PRIVATEFOUNDATIONNUMBER,
            @PRIVATEFOUNDATIONNUMBERCONFIRMED = PRIVATEFOUNDATIONNUMBERCONFIRMED
        from
            dbo.WEALTH
        where
            WEALTH.ID = @ID;

        select
            @COMPENSATIONVALUE = sum(PF.COMP)
        from
            dbo.WPPRIVATEFOUNDATION PF
        left join
            dbo.WEALTH W on W.ID = PF.WEALTHID
        where
            W.ID = @ID and PF.REJECTED = 0;

        select
            @COMPENSATIONVALUECONFIRMED = sum(PF.COMP)
        from
            dbo.WPPRIVATEFOUNDATION PF
        left join
            dbo.WEALTH W on W.ID = PF.WEALTHID
        where
            W.ID = @ID and PF.CONFIRMED = 1
    end
    else
        exec dbo.USP_GROUP_GETWEALTHSUMMARY @GROUPID = @ID
            @NFOUNDATION = @PRIVATEFOUNDATIONNUMBER output,  
            @C_NFOUNDATION = @PRIVATEFOUNDATIONNUMBERCONFIRMED output,
            @COMPENSATION = @COMPENSATIONVALUE output,
            @C_COMPENSATION = @COMPENSATIONVALUECONFIRMED output

    if @PRIVATEFOUNDATIONNUMBER = 0
        set @COMPENSATIONVALUE = null

    if @PRIVATEFOUNDATIONNUMBERCONFIRMED = 0
       set @COMPENSATIONVALUECONFIRMED = null

    return 0;