spMarkSurveyResponsesAsProcessed

Parameters

Parameter Parameter Type Mode Description
@ResponseXml ntext IN
@DeleteResponsesXml ntext IN
@REProcessed bit IN
@EEProcessed bit IN

Definition

Copy


        CREATE   procedure [dbo].[spMarkSurveyResponsesAsProcessed](@ResponseXml as ntext, @DeleteResponsesXml as ntext, @REProcessed AS bit = 0, @EEProcessed AS bit = 0)
        as
        begin
        set nocount on
        declare @iDoc int

        exec sp_xml_preparedocument @idoc output, @ResponseXml

        update dbo.SiteSurveyResponses
        set ProcessedDate = getutcdate(),
        REProcessed = 
            CASE WHEN (REProcessed = 0) THEN @REProcessed 
            ELSE REProcessed END,
        EEProcessed = 
            CASE WHEN (EEProcessed = 0) THEN @EEProcessed 
            ELSE EEProcessed END 
        where exists (select id from OPENXML(@idoc, '/responses/r', 1)
        with (id integer)
        where id = SiteSurveyResponses.Id)

        exec sp_xml_removedocument @idoc

        declare @surveys table ([SiteSurveysId]            [int] not null,
        [ClientSitesId]         [int] not null,
        [DeleteDate]             [datetime] null)

        exec sp_xml_preparedocument @idoc output, @DeleteResponsesXml

        insert into @surveys (SiteSurveysId, ClientSitesId, DeleteDate)
        select id, cid, dt
        from OPENXML(@idoc, 'rpdel/s', 1)
        with (id int, cid int, dt datetime)

        exec sp_xml_removedocument @idoc

        delete SiteSurveyResponsesDeleteTransactions
        from dbo.SiteSurveyResponsesDeleteTransactions a
        inner join @surveys b
        on a.SiteSurveysId = b.SiteSurveysId
        and a.ClientSitesId = b.ClientSitesId
        and a.DeleteDate = b.DeleteDate
        end