USP_FAF_ADHOCQUERY_LIST_COPY

Copy adhoc query and list for fafevent from previous event

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN
@OLDEVENTID uniqueidentifier IN
@APPUSERID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@USERID int IN
@CLIENTSID int IN

Definition

Copy


    CREATE PROCEDURE dbo.USP_FAF_ADHOCQUERY_LIST_COPY
    (
      @EVENTID uniqueidentifier,
      @OLDEVENTID uniqueidentifier,
      @APPUSERID uniqueidentifier,
      @CHANGEAGENTID uniqueidentifier = null,
      @USERID int = null,
      @CLIENTSID int = null      
    )
    as

    SET NOCOUNT ON;

    DECLARE @EVENTNAME varchar(200)
    DECLARE @QUERYDEFINITIONXML xml
    DECLARE @QUERYDEFINITION nvarchar(max)
    DECLARE @ADHOCQUERYID uniqueidentifier
    DECLARE @IDSETREGISTERID uniqueidentifier
    DECLARE @IDSETFUNCTIONNAME nvarchar(128)
    DECLARE @QUERYNAME varchar(255)
    DECLARE @DATEADDED datetime
    DECLARE @EMAILLISTID int
    DECLARE @EMAILLISTGUID uniqueidentifier
    DECLARE @EMAILLISTQUERY nvarchar(2000)
    DECLARE @BBNCQUERYID int
    DECLARE @BBNCQUERYNAME varchar(512)
    DECLARE @EMAILLISTQUERYXML xml
    DECLARE @QUERYNAMETAG varchar(55)

    DECLARE @PREVIOUSEVENTID uniqueidentifier
    DECLARE @PREVIOUSEVENTNAME varchar(200)

    DECLARE @OLDEVENTNAME varchar(200)
    DECLARE @OLDPREVIOUSEVENTID uniqueidentifier
    DECLARE @OLDPREVIOUSEVENTNAME varchar(200)
    DECLARE @OLDADHOCQUERYID uniqueidentifier
    DECLARE @OLDIDSETREGISTERID uniqueidentifier,
            @CLIENTSITESID int

    DECLARE @TOTAL int
    DECLARE @i int = 1;

    DECLARE @ADHOCQUERY table (ID int identity(1,1), ADHOCQUERYID uniqueidentifier)

    DECLARE @ROLEPERMISSION xml,            
                  @SYSTEMROLE varchar(36), @SYSTEMROLENAME nvarchar(100)  

    declare @SQL nvarchar(max),
                @SQLWithClause nvarchar(max),
                @WithClauseBeginIndex int = -1,
                @WithClauseEndIndex int = -1,
                @SQLbodyBeginIndex int = -1,
                @SQLbodyEndIndex int = -1,
            @IsStatic bit = 0

      select @SYSTEMROLE=ID,@SYSTEMROLENAME=NAME from SYSTEMROLE where ID = 'A91E9BBA-E8D4-482C-8F79-BC78D4798EC4' 

    SET @ROLEPERMISSION=N'<?xml version="1.0" encoding="utf-16"?>
      <SYSTEMROLELIST>
      <ITEM><GRANTORDENY>1</GRANTORDENY>
      <NAME>'+@SYSTEMROLENAME+'</NAME>
      <SYSTEMROLEID>'+@SYSTEMROLE+'</SYSTEMROLEID>
      </ITEM></SYSTEMROLELIST>'

    SET @DATEADDED = GETDATE()

    INSERT INTO @ADHOCQUERY (ADHOCQUERYID)
    SELECT ADHOCQUERYID FROM dbo.FAFEVENTADHOCQUERY (NOLOCK) 
    WHERE EVENTID = @OLDEVENTID

    SELECT @TOTAL = COUNT(*) FROM @ADHOCQUERY

    SELECT @OLDEVENTNAME = NAME FROM dbo.EVENT (NOLOCK) WHERE ID = @OLDEVENTID;

    SELECT @OLDPREVIOUSEVENTNAME = PE.NAME, @OLDPREVIOUSEVENTID = PE.ID
    FROM dbo.EVENTEXTENSION EE (NOLOCK)
    INNER JOIN dbo.EVENT PE (NOLOCK)
    ON EE.PRIORYEAREVENTID = PE.ID
    WHERE EE.EVENTID = @OLDEVENTID;

    SELECT @EVENTNAME = NAME,@CLIENTSITESID=EX.CLIENTSITESID FROM dbo.EVENT E (NOLOCK) JOIN dbo.EVENTEXTENSION EX ON E.ID = EX.EVENTID    
    WHERE E.ID = @EVENTID;

    set @EVENTNAME = replace(@EVENTNAME, '"', '&quot;')

    SELECT @PREVIOUSEVENTNAME = PE.NAME, @PREVIOUSEVENTID = PE.ID
    FROM dbo.EVENTEXTENSION EE (NOLOCK)
    INNER JOIN dbo.EVENT PE (NOLOCK)
    ON EE.PRIORYEAREVENTID = PE.ID
    WHERE EE.EVENTID = @EVENTID;

    IF @CHANGEAGENTID is null  
            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

    BEGIN TRAN    
    begin try

        WHILE (@i <= @TOTAL)
        BEGIN
            SET @ADHOCQUERYID = NEWID();
            SET @IDSETREGISTERID = @ADHOCQUERYID;
            SET @OLDADHOCQUERYID = null
            SET @BBNCQUERYID = null
            SET @BBNCQUERYNAME = ''

            SET @EMAILLISTID = 0;

            SELECT @OLDADHOCQUERYID = ADHOCQUERYID FROM @ADHOCQUERY WHERE ID = @i

            SELECT @QUERYNAME = NAME, @QUERYDEFINITION = CAST(QUERYDEFINITIONXML as nvarchar(max))
            FROM dbo.ADHOCQUERY (NOLOCK) WHERE ID = @OLDADHOCQUERYID

            select @OLDIDSETREGISTERID = IDSETREGISTERID 
            from dbo.IDSETREGISTERADHOCQUERY (NOLOCK) where ADHOCQUERYID = @OLDADHOCQUERYID

            SET @QUERYNAME = REPLACE(@QUERYNAME,@OLDEVENTNAME,@EVENTNAME)

            SET @BBNCQUERYNAME = @QUERYNAME+' (Ad-hoc Query)'

            SET @QUERYDEFINITION = REPLACE(@QUERYDEFINITION,@OLDEVENTNAME,@EVENTNAME)
            SET @QUERYDEFINITION = REPLACE(@QUERYDEFINITION,cast(@OLDEVENTID as nvarchar(40)),cast(@EVENTID as nvarchar(40)))
            SET @QUERYDEFINITION = REPLACE(@QUERYDEFINITION,cast(@OLDIDSETREGISTERID as nvarchar(40)),cast(@IDSETREGISTERID as nvarchar(40)))

            SET @IDSETFUNCTIONNAME = 'UFN_ADHOCQUERYIDSET_'+CAST(@ADHOCQUERYID as varchar(40));

          set @SQLWithClause = ''
          set @WithClauseBeginIndex = -1
          set @WithClauseEndIndex = -1
          set @SQLbodyBeginIndex = -1
          set @SQLbodyEndIndex = -1

            SELECT @SQL = S.definition , @IsStatic = I.STATIC
            from sys.sql_modules S (NOLOCK)
            INNER JOIN sys.objects O (NOLOCK) On S.object_id = O.object_id
            INNER JOIN dbo.IDSETREGISTER I (NOLOCK)    ON I.DBOBJECTNAMEWITHASOFDATE = O.name
            WHERE I.ID = @OLDIDSETREGISTERID


            if @PREVIOUSEVENTID is null and (CHARINDEX('All Previous Participants', @QUERYNAME) > 0 or CHARINDEX('Previous Team and Household Leaders', @QUERYNAME) > 0 
                                  or CHARINDEX('Previous Individuals', @QUERYNAME) > 0  or CHARINDEX('Previous Company Leaders', @QUERYNAME) > 0
                                  or CHARINDEX('Previous Team Leaders', @QUERYNAME) > 0 or CHARINDEX('Previous Household Leaders', @QUERYNAME) > 0)
        set @QUERYDEFINITION = null                 

      if @QUERYDEFINITION is not null
      begin
          if @IsStatic = 0
          begin
                  set @WithClauseBeginIndex = CHARINDEX ('/* Record Access Security',@SQL)
                set @WithClauseEndIndex = CHARINDEX ('select DISTINCT QUERYRECID as ID', @SQL)
                set @SQLbodyEndIndex = CHARINDEX (') as QRESULTS)', @SQL)
                set @SQLbodyBeginIndex = CHARINDEX ('select  distinct', @SQL)

                if @WithClauseBeginIndex > 0 and @WithClauseEndIndex > 0
                begin
                    set @SQLWithClause = SUBSTRING(@SQL, @WithClauseBeginIndex, @WithClauseEndIndex - @WithClauseBeginIndex)
                end                
                set @SQL = SUBSTRING(@SQL, @SQLbodyBeginIndex, @SQLbodyEndIndex-@SQLbodyBeginIndex)
                  set @SQL = REPLACE(@SQL,cast(@OLDEVENTID as nvarchar(40)),cast(@EVENTID as nvarchar(40)));
          end
          else
          begin        
                  set @SQLWithClause = ''  
            set @SQL = N'select  distinct     [V_QUERY_CONSTITUENT].[NAME] as [Name],
                        [V_QUERY_CONSTITUENT\Email Addresses].[EMAILADDRESS] as [Email Addresses\Email address],
                      [V_QUERY_CONSTITUENT].[ID] as [System record ID],
                        [V_QUERY_CONSTITUENT\FAFRegistrant\Event].[ID] as [FAFRegistrant\Event\Event ID],
                      [V_QUERY_CONSTITUENT].[ID] as [QUERYRECID]
                      from [V_QUERY_CONSTITUENT] as [V_QUERY_CONSTITUENT]
                      left outer join [V_QUERY_CONSTITUENTEMAILADDRESS] as [V_QUERY_CONSTITUENT\Email Addresses] on [V_QUERY_CONSTITUENT].[ID] = [V_QUERY_CONSTITUENT\Email Addresses].[CONSTITUENTID]
                      left outer join [V_QUERY_REGISTRANT] as [V_QUERY_CONSTITUENT\FAFRegistrant] on [V_QUERY_CONSTITUENT].[ID] = [V_QUERY_CONSTITUENT\FAFRegistrant].[CONSTITUENTID]
                      inner join [V_QUERY_EVENT] as [V_QUERY_CONSTITUENT\FAFRegistrant\Event] on [V_QUERY_CONSTITUENT\FAFRegistrant].[EVENTID] = [V_QUERY_CONSTITUENT\FAFRegistrant\Event].[ID]
                      where [V_QUERY_CONSTITUENT\FAFRegistrant\Event].[ID] = ''';

                  if (CHARINDEX('All Previous Participants', @QUERYNAME) > 0 or CHARINDEX('Previous Team and Household Leaders', @QUERYNAME) > 0 
                                      or CHARINDEX('Previous Individuals', @QUERYNAME) > 0  or CHARINDEX('Previous Company Leaders', @QUERYNAME) > 0
                                      or CHARINDEX('Previous Team Leaders', @QUERYNAME) > 0 or CHARINDEX('Previous Household Leaders', @QUERYNAME) > 0)
                      set @SQL = @SQL + cast(coalesce(@PREVIOUSEVENTID,@EVENTID) as nvarchar(40))
                  else
                      set @SQL = @SQL + cast(@EVENTID  as nvarchar(40))

                 set @SQL = @SQL + ''' and [V_QUERY_CONSTITUENT\Email Addresses].[DONOTEMAIL] = 0
                     and ([V_QUERY_CONSTITUENT\Email Addresses].[EMAILADDRESS] is not null and [V_QUERY_CONSTITUENT\Email Addresses].[EMAILADDRESS] <> '''')
                     and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRANTLOOKUPID] is not null and [V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRANTLOOKUPID] <> '''')';

                    if CHARINDEX('All Previous Participants', @QUERYNAME) > 0                    
                        set @SQL = @SQL + ' and [V_QUERY_CONSTITUENT\FAFRegistrant].[IsNextYearRegistrant] = 0'

                    else if CHARINDEX('Previous Team and Household Leaders', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and [V_QUERY_CONSTITUENT\FAFRegistrant].[IsNextYearRegistrant] = 0
                                        and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Team leader'',''Head of household''))'

                    else if CHARINDEX('Previous Individuals', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and [V_QUERY_CONSTITUENT\FAFRegistrant].[IsNextYearRegistrant] = 0
                                        and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Individual''))'

                    else if CHARINDEX('Previous Company Leaders', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and [V_QUERY_CONSTITUENT\FAFRegistrant].[IsNextYearRegistrant] = 0
                                        and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Company leader''))'

                    else if CHARINDEX('Previous Team Leaders', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and [V_QUERY_CONSTITUENT\FAFRegistrant].[IsNextYearRegistrant] = 0
                                        and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Team leader''))'

                    else if CHARINDEX('Previous Household Leaders', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and [V_QUERY_CONSTITUENT\FAFRegistrant].[IsNextYearRegistrant] = 0
                                        and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Head of household''))'

                    else if CHARINDEX('All Leaders', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Company leader'', ''Team leader'',''Head of household''))'

                    else if CHARINDEX('All Members', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Household member'', ''Individual'', ''Team member''))'

                    else if CHARINDEX('Company and Team Leaders', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Company leader'', ''Team leader''))'

                    else if CHARINDEX('Company Leaders', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Company leader''))'

                    else if CHARINDEX('Team Leaders', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Team leader''))'

                    else if CHARINDEX('Household Leaders', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Head of household''))'

                    else if CHARINDEX('Team members and Individuals', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Individual'', ''Team member''))'

                    else if CHARINDEX('Household members', @QUERYNAME) > 0
                        set @SQL = @SQL + ' and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRATIONROLES] in (''Household member''))'

                    else if CHARINDEX('AP Fundraising target not met', @QUERYNAME) > 0
                        set @SQL = N'select  distinct     [V_QUERY_CONSTITUENT].[NAME] as [Name],
                              [V_QUERY_CONSTITUENT\Email Addresses].[EMAILADDRESS] as [Email Addresses\Email address],
                          [V_QUERY_CONSTITUENT].[ID] as [QUERYRECID]
                          from [V_QUERY_CONSTITUENT] as [V_QUERY_CONSTITUENT]
                          left outer join [V_QUERY_CONSTITUENTEMAILADDRESS] as [V_QUERY_CONSTITUENT\Email Addresses] on [V_QUERY_CONSTITUENT].[ID] = [V_QUERY_CONSTITUENT\Email Addresses].[CONSTITUENTID]
                          left outer join [V_QUERY_REGISTRANT] as [V_QUERY_CONSTITUENT\FAFRegistrant] on [V_QUERY_CONSTITUENT].[ID] = [V_QUERY_CONSTITUENT\FAFRegistrant].[CONSTITUENTID]
                          inner join [V_QUERY_EVENT] as [V_QUERY_CONSTITUENT\FAFRegistrant\Event] on [V_QUERY_CONSTITUENT\FAFRegistrant].[EVENTID] = [V_QUERY_CONSTITUENT\FAFRegistrant\Event].[ID]
                          inner join [V_QUERY_REGISTRANT_FUNDRAISINGTOTAL] as [V_QUERY_CONSTITUENT\FAFRegistrant\Fundraising Totals] on [V_QUERY_CONSTITUENT\FAFRegistrant].[ID] = [V_QUERY_CONSTITUENT\FAFRegistrant\Fundraising Totals].[ID]
                          where [V_QUERY_CONSTITUENT\FAFRegistrant\Event].[ID] = '''+cast(@EVENTID  as nvarchar(40))+'''
                           and [V_QUERY_CONSTITUENT\Email Addresses].[DONOTEMAIL] = 0
                           and ([V_QUERY_CONSTITUENT\Email Addresses].[EMAILADDRESS] is not null and [V_QUERY_CONSTITUENT\Email Addresses].[EMAILADDRESS] <> '''')
                           and ([V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRANTLOOKUPID] is not null and [V_QUERY_CONSTITUENT\FAFRegistrant].[REGISTRANTLOOKUPID] <> '''')
                           and [V_QUERY_CONSTITUENT\FAFRegistrant\Fundraising Totals].[ISFUNDRAISINGGOALMET] = 0'

          end /* end check for static query */
            end /* end check for query definition is null */

            IF @OLDPREVIOUSEVENTID IS NOT NULL AND @PREVIOUSEVENTID IS NOT NULL
            BEGIN

                SET @QUERYDEFINITION = REPLACE(@QUERYDEFINITION,@OLDPREVIOUSEVENTNAME,@PREVIOUSEVENTNAME)
                SET @QUERYDEFINITION = REPLACE(@QUERYDEFINITION,cast(@OLDPREVIOUSEVENTID as nvarchar(40)),cast(@PREVIOUSEVENTID as nvarchar(40)))
                SET @SQL = REPLACE(@SQL,cast(@OLDPREVIOUSEVENTID as nvarchar(40)),cast(@PREVIOUSEVENTID as nvarchar(40)));

            END

            DECLARE @intStart INT = 0
            DECLARE @intEnd INT = 1
            DECLARE @parStart INT = 0
            DECLARE @SelectString VARCHAR(8000) = ''
            -- 253163 some copied queries already have create sub-section

            if @OLDPREVIOUSEVENTID is not null
            begin
                select @intStart = CHARINDEX( 'create function dbo.[UFN_ADHOCQUERYIDSET', @sql )
                select @intEnd = CHARINDEX ( 'select DISTINCT QUERYRECID as ID  from', @sql )
                if @intStart > 0 and @intEnd > 10 
                begin
                     select @SelectString = right( @sql, len(@sql) - @intEnd + 1 )
                     select @parStart = CHARINDEX( '(', @SelectString )
                     if @parStart > 0 
                     begin 
                        select @SelectString = right( @SelectString, len(@SelectString) - @parStart )
                    end
                    set @sql =  @selectstring
                end

                set @intStart = 0
                set @intEnd = 0
            end

            IF ISNULL(@QUERYDEFINITION,'') <> ''
            BEGIN

                SET @QUERYDEFINITIONXML = CAST(@QUERYDEFINITION as XML);

                EXEC dbo.USP_ADHOCQUERY_CREATEORUPDATEDEFINITION @ID = @ADHOCQUERYID,@QUERYVIEWCATALOGID='EE8A7483-C483-4214-9646-4BB62EC29AB7',
                    @NAME = @QUERYNAME,@DESCRIPTION=N'',@QUERYDEFINITIONXML = @QUERYDEFINITIONXML, @QUERYCATEGORYCODEID='00000000-0000-0000-0000-000000000000',
                    @DATAFORMINSTANCEID='00000000-0000-0000-0000-000000000000',@OTHERSCANMODIFY=1,@APPUSERID = @APPUSERID, @CHANGEAGENTID = @CHANGEAGENTID,
                    @SITEID=NULL,@FOLDERID='00000000-0000-0000-0000-000000000000',@SECURITYLEVEL=0,@PERMISSIONEDROLES=@ROLEPERMISSION,
                    @SECURITYLEVELEDIT=1,@PERMISSIONEDROLESEDIT=@ROLEPERMISSION,@MOBILIZE=0,@ISFAVORITE=0;

                EXEC dbo.USP_ADHOCQUERY_CREATEORUPDATEIDSET @ADHOCQUERYID = @ADHOCQUERYID,@SQLWITHCLAUSE=@SQLWithClause,@SQL = @SQL,@USEINQUERYDESIGNER=0,@STATIC=0,
                      @NUMROWS=NULL,@CHANGEAGENTID=@CHANGEAGENTID,@IDSETREGISTERID = @IDSETREGISTERID, @IDSETFUNCTIONNAME = @IDSETFUNCTIONNAME;

            -- Create List based on query


                SELECT @BBNCQUERYID = ID FROM dbo.BBNCIDSETIDMAP (NOLOCK) WHERE IDSETREGISTERID = @IDSETREGISTERID;

                SET @EMAILLISTQUERY = '<root><QueryList QueryID="'+CAST(@BBNCQUERYID as nvarchar(25))+'" QueryName="'+@BBNCQUERYNAME+'" BBSystem="0" /></root>';

                EXEC dbo.spAddUpdate_EmailList @UserID=@Userid,@ClientsID=@ClientsID,@PKID=@EMAILLISTID output ,@Name=@QUERYNAME,    @Description=N'',@Subscription=0,
                    @QueryXML=@EMAILLISTQUERY,@Guid=@EMAILLISTGUID output, @Type=0,@DataSourceID=320,@Options=N'',@AcquiredStatus=0,@AcquiredDate=@DATEADDED,
                    @AcquiredMsg=N'',@AcquiredStartDate=@DATEADDED, @AcquiredRecordCount=0,@EmailDisplayNameFieldName=N'',@EmailAddressFieldName=N'',
                    @UniqueKeyFieldName=N'',@UploadFileName=N'',@UploadFileSize=0,@UploadedDataSourceID=0,@ListDataSchema=N'',
                    @FileContents=0x00,@Origin=2,@UserImportID=0,@BBDMListID=N'',@SystemList=0,@CLIENTSITESID=@CLIENTSITESID;

        INSERT INTO dbo.FAFEVENTADHOCQUERY(ID,EVENTID,ADHOCQUERYID,ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        VALUES(NEWID(),@EVENTID,@ADHOCQUERYID,@CHANGEAGENTID, @CHANGEAGENTID, @DATEADDED, @DATEADDED)

            END

            SET @i = @i + 1;

        END

        IF @OLDPREVIOUSEVENTID IS NULL AND @PREVIOUSEVENTID IS NOT NULL
        BEGIN

            EXEC dbo.USP_FAF_ADHOCQUERY_LIST_ALLPARTICIPANTS_ADD @EVENTID = @EVENTID, @APPUSERID = @APPUSERID, @CHANGEAGENTID = @CHANGEAGENTID, @TYPE = 10, @USERID = @USERID, @CLIENTSID = @CLIENTSID

            EXEC dbo.USP_FAF_ADHOCQUERY_LIST_ALLPARTICIPANTS_ADD @EVENTID = @EVENTID, @APPUSERID = @APPUSERID, @CHANGEAGENTID = @CHANGEAGENTID, @TYPE = 11, @USERID = @USERID, @CLIENTSID = @CLIENTSID

            EXEC dbo.USP_FAF_ADHOCQUERY_LIST_ALLPARTICIPANTS_ADD @EVENTID = @EVENTID, @APPUSERID = @APPUSERID, @CHANGEAGENTID = @CHANGEAGENTID, @TYPE = 12, @USERID = @USERID, @CLIENTSID = @CLIENTSID

      EXEC dbo.USP_FAF_ADHOCQUERY_LIST_ALLPARTICIPANTS_ADD @EVENTID = @EVENTID, @APPUSERID = @APPUSERID, @CHANGEAGENTID = @CHANGEAGENTID, @TYPE = 13, @USERID = @USERID, @CLIENTSID = @CLIENTSID

            EXEC dbo.USP_FAF_ADHOCQUERY_LIST_ALLPARTICIPANTS_ADD @EVENTID = @EVENTID, @APPUSERID = @APPUSERID, @CHANGEAGENTID = @CHANGEAGENTID, @TYPE = 14, @USERID = @USERID, @CLIENTSID = @CLIENTSID

            EXEC dbo.USP_FAF_ADHOCQUERY_LIST_ALLPARTICIPANTS_ADD @EVENTID = @EVENTID, @APPUSERID = @APPUSERID, @CHANGEAGENTID = @CHANGEAGENTID, @TYPE = 15, @USERID = @USERID, @CLIENTSID = @CLIENTSID

        END
    end try
    begin catch
      exec dbo.USP_RAISE_ERROR;
      ROLLBACK TRAN
      return 1;
    end catch

    COMMIT TRAN

    RETURN 0;