USP_DATAFORMTEMPLATE_EDIT_PDACCOUNTSYSTEM_2

The save procedure used by the edit dataform template "Account System Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(50) IN Name
@DESCRIPTION nvarchar(255) IN Description
@ISDEFAULT bit IN Use this account system for users without site permissions
@SITES xml IN Sites
@CURRENCYSETID uniqueidentifier IN Currency set

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PDACCOUNTSYSTEM_2(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @NAME nvarchar(50),
    @DESCRIPTION nvarchar(255),
    @ISDEFAULT bit,
    @SITES xml,
    @CURRENCYSETID uniqueidentifier
)
as

    set nocount on;

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

    declare @CURRENTDATE datetime
    set @CURRENTDATE = getdate()

    begin try
        -- Only one system can be set to default.
        if @ISDEFAULT = 1 
            update PDACCOUNTSYSTEM set ISDEFAULT = 0 where ISDEFAULT = 1

        -- handle updating the data
        if exists (select 1 from dbo.PDACCOUNTSYSTEM where ID = @ID and @CURRENCYSETID != CURRENCYSETID)
            update dbo.PDACCOUNTSYSTEM set
                NAME = @NAME,
                [DESCRIPTION] = @DESCRIPTION,
                ISDEFAULT = @ISDEFAULT,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE,
                CURRENCYSETID = @CURRENCYSETID
            where ID = @ID
        else
            update dbo.PDACCOUNTSYSTEM set
                NAME = @NAME,
                [DESCRIPTION] = @DESCRIPTION,
                ISDEFAULT = @ISDEFAULT,
                CHANGEDBYID = @CHANGEAGENTID,
                DATECHANGED = @CURRENTDATE
            where ID = @ID

        exec dbo.USP_PDACCOUNTSYSTEM_SITES_UPDATEFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE;        

    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

return 0;