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