USP_COPY_ACTIONITEM

Create New Action Item based on existing on

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT
@OLDACTIONITEMID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_COPY_ACTIONITEM
( @ID uniqueidentifier = null output,
  @OLDACTIONITEMID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null
 ) with execute as caller

as
BEGIN
    SET NOCOUNT ON

    if @ID is null
    set @ID = newid()

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

    declare @CURRENTDATE datetime
    declare @NAME nvarchar(250)
    declare @i int
    declare @l int
    declare @FOLDERID int

    set @CURRENTDATE = getdate()
    SET @i = 1

    select @FOLDERID = FOLDERID FROM dbo.ACTIONITEMFOLDER WHERE ACTIONITEMID = @OLDACTIONITEMID

    Set @FOLDERID = ISNULL(@FOLDERID,0)

    SELECT @NAME = NAME + ' COPY '
    FROM dbo.ACTION_ITEM WHERE ID = @OLDACTIONITEMID

    set @l = len(@NAME)

    WHILE EXISTS (SELECT 1 FROM dbo.ACTION_ITEM WHERE NAME = @NAME)
    BEGIN
        SET @NAME = substring(@NAME,1,@l) + CAST(@i as varchar(4))
        SET @i = @i+1
    END



    begin try

    -- handle inserting the data


        INSERT INTO dbo.ACTION_ITEM    (ID, NAME, SYNOPSIS, DESCRIPTION, TYPECODE, STATUSCODE, TOPICCODE, STARTDATE, ENDDATE, ISEMAILDELIVERY, ISFAXDELIVERY, ISLETTERDELIVERY, ISDELIVERYNONE, ISFAXBACKUPFOREMAILSENABLED, ISEMAILBACKUPFORFAXENABLED, TARGETOPTIONCODE, TARGETDATABASE, CONFIRMATIONTEXT, RESULTTEXT, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        SELECT @ID, @NAME, SYNOPSIS, DESCRIPTION, TYPECODE, 0, TOPICCODE, STARTDATE, ENDDATE, ISEMAILDELIVERY, ISFAXDELIVERY, ISLETTERDELIVERY, ISDELIVERYNONE, ISFAXBACKUPFOREMAILSENABLED, ISEMAILBACKUPFORFAXENABLED, TARGETOPTIONCODE, TARGETDATABASE, CONFIRMATIONTEXT, RESULTTEXT, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
        FROM dbo.ACTION_ITEM WHERE ID = @OLDACTIONITEMID

    -- add it to folder


        EXEC USP_DATAFORMTEMPLATE_ADD_ACTION_ITEM_FOLDER @ACTIONITEMID = @ID, @FOLDERID = @FOLDERID

    end try

    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

    return 0            

END