USP_PLANNEDGIFT_DELETE

Executes the "Planned Gift: Delete" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being deleted.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the delete.

Definition

Copy


                    CREATE procedure dbo.USP_PLANNEDGIFT_DELETE(@ID uniqueidentifier, @CHANGEAGENTID uniqueidentifier)
                    as begin
                        --check deletion rules, if any

                        if exists(select ID from dbo.PLANNEDGIFTREVENUE where ID = @ID
            begin
                            raiserror('BBERR_PLANNEDGIFT_ASSOCIATEDREVENUE', 16, 1);        
              return 1;
            end

                        if exists(select ID from dbo.PLANNEDGIFTREVENUESPLIT where PLANNEDGIFTID = @ID
            begin
                            raiserror('BBERR_PLANNEDGIFT_ASSOCIATEDPAYMENT', 16, 1);        
              return 1;
            end

                        if exists(select PLANNEDGIFTADDITIONREVENUE.ID 
                                  from dbo.PLANNEDGIFTADDITIONREVENUE 
                                  inner join dbo.PLANNEDGIFTADDITION on PLANNEDGIFTADDITIONREVENUE.ID = PLANNEDGIFTADDITION.ID
                                  where PLANNEDGIFTADDITION.PLANNEDGIFTID = @ID
            begin
                            raiserror('BBERR_PLANNEDGIFT_ADDITIONSASSOCIATEDREVENUE', 16, 1);                        
              return 1;
            end

            declare @OLDSPOTRATE uniqueidentifier
            select @OLDSPOTRATE = BASEEXCHANGERATEID
            from dbo.PLANNEDGIFT
            inner join dbo.CURRENCYEXCHANGERATE on PLANNEDGIFT.BASEEXCHANGERATEID = CURRENCYEXCHANGERATE.ID
            where PLANNEDGIFT.ID = @ID and CURRENCYEXCHANGERATE.TYPECODE = 2;

                        exec USP_PLANNEDGIFT_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID

            if @OLDSPOTRATE is not null
              exec dbo.USP_CURRENCYEXCHANGERATE_DELETEBYID_WITHCHANGEAGENTID @OLDSPOTRATE, @CHANGEAGENTID;

                        return 0;
                    end