USP_CONFIGIMPORT_PDACCOUNTSEGMENTMAP

Save account segment mapping for configuration import.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@PDACCOUNTSTRUCTUREID nvarchar(36) IN
@LONGDESCRIPTIONID nvarchar(36) IN
@PDACCOUNTSEGMENTVALUEID nvarchar(36) IN

Definition

Copy


create procedure dbo.USP_CONFIGIMPORT_PDACCOUNTSEGMENTMAP(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @PDACCOUNTSTRUCTUREID nvarchar(36),
    @LONGDESCRIPTIONID nvarchar(36),
    @PDACCOUNTSEGMENTVALUEID nvarchar(36)
)
as
begin
    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.ID = Source.ID)
        when matched then
            update set Target.PDACCOUNTSEGMENTVALUEID = Source.PDACCOUNTSEGMENTVALUEID,
                Target.CHANGEDBYID = Source.CHANGEAGENTID,
                Target.DATECHANGED = Source.CURRENTDATE
        when not matched by Target then
            insert (ID,PDACCOUNTSTRUCTUREID,LONGDESCRIPTIONID,PDACCOUNTSEGMENTVALUEID,ISDEFAULT,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
            values (Source.ID, 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;

end