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;