USP_DATAFORMTEMPLATE_EDIT_CREDITGLDISTRIBUTION
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@GLDISTRIBUTION | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_CREDITGLDISTRIBUTION (
@ID uniqueidentifier,
@GLDISTRIBUTION xml,
@CHANGEAGENTID uniqueidentifier = null
)
as
begin try
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @DIST table (ID uniqueidentifier, GLACCOUNTID uniqueidentifier, REFERENCE nvarchar(255), PDACCOUNTSYSTEMID uniqueidentifier)
insert into @DIST
select
T.c.value('(ID)[1]','uniqueidentifier') AS 'ID',
T.c.value('(GLACCOUNTID)[1]','uniqueidentifier') AS 'GLACCOUNTID',
T.c.value('(REFERENCE)[1]','nvarchar(255)') AS 'REFERENCE',
T.c.value('(PDACCOUNTSYSTEMID)[1]','uniqueidentifier') AS 'PDACCOUNTSYSTEMID'
from @GLDISTRIBUTION.nodes('/GLDISTRIBUTION/ITEM') T(c)
update JE set
GLACCOUNTID = DIST.GLACCOUNTID,
COMMENT = DIST.REFERENCE
from
@DIST DIST
inner join dbo.JOURNALENTRY JE on JE.ID = DIST.ID
update JEX set
ACCOUNT = GLACCOUNT.ACCOUNTNUMBER
from
@DIST DIST
inner join dbo.JOURNALENTRY_EXT JEX on JEX.ID = DIST.ID
inner join dbo.GLACCOUNT on GLACCOUNT.ID = DIST.GLACCOUNTID
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;