USP_DATAFORMTEMPLATE_EDIT_PDACCOUNTSEGMENTMAP
The save procedure used by the edit dataform template "Account Segment Map 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. |
@PDACCOUNTSTRUCTUREID | nvarchar(36) | IN | Structure id |
@LONGDESCRIPTIONID | nvarchar(36) | IN | Long description id |
@PDACCOUNTSEGMENTVALUEID | nvarchar(36) | IN | Segment value |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PDACCOUNTSEGMENTMAP (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@PDACCOUNTSTRUCTUREID nvarchar(36),
@LONGDESCRIPTIONID nvarchar(36),
@PDACCOUNTSEGMENTVALUEID nvarchar(36)
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
merge dbo.PDACCOUNTSEGMENTMAPPING as Target
using (select
@ID as ID,
@CHANGEAGENTID as CHANGEAGENTID,
@PDACCOUNTSTRUCTUREID as PDACCOUNTSTRUCTUREID,
@LONGDESCRIPTIONID as LONGDESCRIPTIONID,
@PDACCOUNTSEGMENTVALUEID as PDACCOUNTSEGMENTVALUEID,
@CURRENTDATE as CURRENTDATE)
as Source
on (Target.LongDescriptionID = Source.LongDescriptionID)
when matched then
update set Target.PDACCOUNTSEGMENTVALUEID = Source.PDACCOUNTSEGMENTVALUEID,
Target.CHANGEDBYID = Source.CHANGEAGENTID,
Target.DATECHANGED = Source.CURRENTDATE
when not matched by Target then
insert (PDACCOUNTSTRUCTUREID,LONGDESCRIPTIONID,PDACCOUNTSEGMENTVALUEID,ISDEFAULT,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
values (Source.PDACCOUNTSTRUCTUREID, Source.LONGDESCRIPTIONID, Source.PDACCOUNTSEGMENTVALUEID,0, Source.CHANGEAGENTID, Source.CHANGEAGENTID, Source.CURRENTDATE, Source.CURRENTDATE);
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;