USP_MEMBERSHIPPROGRAM_DELETE

Executes the "Membership Program: 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_MEMBERSHIPPROGRAM_DELETE
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier
                    )
                    as 

                        set nocount on;

                        begin

                            if exists(select 1 from dbo.MEMBERSHIP where MEMBERSHIPPROGRAMID = @ID)
                                begin
                                    raiserror('ERR_MEMBERSHIPPROGRAM_HASMEMBERSHIP.', 13, 1);
                                    return 1;
                                end                        

                            declare @QUERYNAME nvarchar(255);
                            select @QUERYNAME = 'V_QUERY_MEMBERSHIP_' + upper(REPLACE(CONVERT(nvarchar(36), @ID), '-', ''))

                            if dbo.[UFN_ADHOCQUERY_FIELDISINUSE](@QUERYNAME, '') = 1
                            begin
                                    raiserror('ERR_MEMBERSHIPPROGRAM_HASQUERY', 13, 1);
                                    return 1;
                            end


                            if dbo.[UFN_EXPORTDEFINITION_FIELDISINUSE](@QUERYNAME) = 1
                            begin
                                    raiserror('ERR_MEMBERSHIPPROGRAM_HASQUERY', 13, 1);
                                    return 1;
                            end

                            declare @QUERYID uniqueidentifier;
                            select @QUERYID = ID from dbo.QUERYVIEWCATALOG where OBJECTNAME = @QUERYNAME;

                            delete from dbo.QUERYVIEWRELATIONSHIP where RELATEDQUERYVIEWID = @QUERYID;
                            delete from dbo.QUERYVIEWRELATIONSHIP where ROOTQUERYVIEWID = @QUERYID;
                            delete from dbo.QUERYVIEWCATALOG where ID = @QUERYID;

                            exec USP_MEMBERSHIPPROGRAM_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID
                            return 0;

                        end