USP_FENXT_ADDACCOUNTCODE

Parameters

Parameter Parameter Type Mode Description
@PDACCOUNTSYSTEMID uniqueidentifier IN
@ACCOUNTCODEID int IN
@VALUE nvarchar(50) IN
@CATEGORY nvarchar(50) IN
@CLASS nvarchar(50) IN
@DESCRIPTION nvarchar(100) IN

Definition

Copy


            create procedure dbo.USP_FENXT_ADDACCOUNTCODE
                (
                @PDACCOUNTSYSTEMID uniqueidentifier, 
                @ACCOUNTCODEID int
                @VALUE nvarchar(50), 
                @CATEGORY nvarchar(50) = ''
                @CLASS nvarchar(50) = ''
                @DESCRIPTION nvarchar(100) = ''
                )
                as

                    declare @CHANGEAGENTID uniqueidentifier;
                        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                    declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

                    merge
                    into dbo.FENXTACCOUNTCODE
                    using (select
                            @PDACCOUNTSYSTEMID as PDACCOUNTSYSTEMID,
                            @ACCOUNTCODEID as ACCOUNTCODEID,
                            @VALUE as VALUE,
                            @CATEGORY as CATEGORY,
                            @CLASS as CLASS,
                            @DESCRIPTION as DESCRIPTION,
                            @CHANGEAGENTID as CHANGEAGENTID,
                            @CURRENTDATE as CURRENTDATE) as source
                    on FENXTACCOUNTCODE.ACCOUNTCODEID = source.ACCOUNTCODEID
                        and FENXTACCOUNTCODE.PDACCOUNTSYSTEMID = source.PDACCOUNTSYSTEMID
                    when matched
                        and (FENXTACCOUNTCODE.CLASS != source.CLASS or FENXTACCOUNTCODE.DESCRIPTION != source.DESCRIPTION) then 
                        update
                        set CLASS = source.CLASS,
                        DESCRIPTION = source.DESCRIPTION,
                        CHANGEDBYID = source.CHANGEAGENTID,
                        DATECHANGED = source.CURRENTDATE
                    when not matched then
                        insert 
                            (ID, 
                            PDACCOUNTSYSTEMID,
                            ACCOUNTCODEID,
                            VALUE,
                            CATEGORY,
                            CLASS,
                            DESCRIPTION,
                            ADDEDBYID,
                            CHANGEDBYID,
                            DATEADDED,
                            DATECHANGED)
                        values 
                            (newid(),
                            source.PDACCOUNTSYSTEMID,
                            source.ACCOUNTCODEID,
                            source.VALUE,
                            source.CATEGORY,
                            source.CLASS,
                            source.DESCRIPTION,
                            source.CHANGEAGENTID,
                            source.CHANGEAGENTID,
                            source.CURRENTDATE,
                            source.CURRENTDATE);