USP_FAF_COMMENTS_DELETE

Executes the "FAF Comments 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_FAF_COMMENTS_DELETE
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier
)
as begin

    DECLARE @COMMENT table(id_num int IDENTITY(1,1),COMMENTID uniqueidentifier)
    DECLARE @i int
    DECLARE @total int
    DECLARE @COMMENTID uniqueidentifier

    SELECT @COMMENTID = ROOTCOMMENTID from dbo.FAFCOMMENTS (NOLOCK) WHERE ID = @ID

    IF @ID = @COMMENTID
    BEGIN
        if @CHANGEAGENTID is null  
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

        INSERT INTO @COMMENT(COMMENTID)
        SELECT ID from dbo.FAFCOMMENTS (NOLOCK)
            where ROOTCOMMENTID = @ID
        order by ID desc

        SET @i = 1
        SELECT @total = count(*) from @COMMENT

        WHILE (@i <= @total)
        BEGIN
            SET @COMMENTID = NULL
            SELECT @COMMENTID = COMMENTID FROM @COMMENT where id_num = @i

            exec USP_FAFCOMMENTS_DELETEBYID_WITHCHANGEAGENTID @ID = @COMMENTID, @CHANGEAGENTID = @CHANGEAGENTID

            SET @i = @i + 1

        END
    END
    ELSE
        exec USP_FAFCOMMENTS_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID

    return 0;

end