USP_ADDCATEGORYDEFINITION_ADDENTRY

Adds/updates a system-defined entry in the CATEGORYDEFINITION table

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@XML xml IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_ADDCATEGORYDEFINITION_ADDENTRY(
    @ID uniqueidentifier,
    @XML xml,
    @CHANGEAGENTID uniqueidentifier = NULL        

)
as
begin

declare @CHANGEDATE datetime;

exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CHANGEDATE = getdate(); 






merge dbo.CATEGORYDEFINITION as T
using dbo.UFN_CATEGORYDEFINITION_FROMITEMLISTXML(@XML) S
on (T.id = s.id)
when not matched by target then
  insert (ID,FROMCODE,TOCODE,CATEGORYCODE,SUBCATEGORYCODE,NORMALBALANCECODE,PDACCOUNTSYSTEMID,ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
  values(newid(),S.FROMCODE,S.TOCODE,S.CATEGORYCODE,isnull(S.SUBCATEGORYCODE,0),S.NORMALBALANCECODE,isnull(S.PDACCOUNTSYSTEMID,'4B121C2C-CCE6-440D-894C-EA0DEF80D50B'),@CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE)

when matched then
  update 
        set T.TOCODE = S.TOCODE,
            T.FROMCODE = S.FROMCODE,
            T.CATEGORYCODE = S.CATEGORYCODE,
      T.SUBCATEGORYCODE = isnull(S.SUBCATEGORYCODE,0),
            T.NORMALBALANCECODE = S.NORMALBALANCECODE,
      T.PDACCOUNTSYSTEMID = isnull(S.PDACCOUNTSYSTEMID,'4B121C2C-CCE6-440D-894C-EA0DEF80D50B'),
            T.CHANGEDBYID = @CHANGEAGENTID,
            T.DATECHANGED = @CHANGEDATE
when not matched by source then delete;




return 0
end