USP_DATAFORMTEMPLATE_EDIT_APPUSER_FOR_ACCOUNTSYSTEM

The save procedure used by the edit dataform template "Application User Edit Account System 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.
@PDACCOUNTSYSTEMID uniqueidentifier IN Account system

Definition

Copy

    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_APPUSER_FOR_ACCOUNTSYSTEM
                    (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @PDACCOUNTSYSTEMID uniqueidentifier
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;

                        begin try
                            if @CHANGEAGENTID is null
                                exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                            set @CURRENTDATE = getdate();





                            if @PDACCOUNTSYSTEMID is null
                                begin
                                    declare @APPUSERACCOUNTSYSTEMID uniqueidentifier;
                                    select
                                        @APPUSERACCOUNTSYSTEMID = APPUSERACCOUNTSYSTEM.ID
                                    from
                                        dbo.APPUSERACCOUNTSYSTEM
                                    where
                                        APPUSERACCOUNTSYSTEM.APPUSERID = @ID;

                                    exec dbo.USP_APPUSERACCOUNTSYSTEM_DELETEBYID_WITHCHANGEAGENTID @APPUSERACCOUNTSYSTEMID, @CHANGEAGENTID;
                                end
                            else
                                begin
                                    merge dbo.APPUSERACCOUNTSYSTEM as Target
                                    using (select     
                                    @ID as APPUSERID,
                                    @PDACCOUNTSYSTEMID as PDACCOUNTSYSTEMID,
                                    @CHANGEAGENTID as CHANGEAGENTID,                                    
                                    @CURRENTDATE as CURRENTDATE)
                                    as Source
                                    on (Target.APPUSERID = Source.APPUSERID)
                                    when matched then
                                        update set Target.PDACCOUNTSYSTEMID = Source.PDACCOUNTSYSTEMID,
                                            Target.CHANGEDBYID = Source.CHANGEAGENTID,
                                            Target.DATECHANGED = Source.CURRENTDATE
                                    when not matched by Target then
                                        insert (APPUSERID,PDACCOUNTSYSTEMID,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                        values (@ID, Source.PDACCOUNTSYSTEMID,  Source.CHANGEAGENTID, Source.CHANGEAGENTID, Source.CURRENTDATE, Source.CURRENTDATE);                                                            

                                end

                        end try
                        begin catch
                            EXEC dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;