USP_DATAFORMTEMPLATE_EDIT_PDACCOUNTCODEMAPTICKETINGORDER3
The save procedure used by the edit dataform template "Map Ticketing Order Edit Form 2".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@REVENUETYPES | xml | IN | Revenue types |
@APPLICATIONTYPES | xml | IN | Application types |
@SUBTYPEONE | xml | IN | Resource categories |
@OFFICEID | int | IN | Office ID |
@DEBITGLACCOUNTID | uniqueidentifier | IN | Account |
@DEBITPDACCOUNTSEGMENTVALUEID | uniqueidentifier | IN | Account code |
@CREDITGLACCOUNTID | uniqueidentifier | IN | Account |
@CREDITPDACCOUNTSEGMENTVALUEID | uniqueidentifier | IN | Account code |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | |
@SUBTYPETWO | xml | IN | Programs |
@SUBTYPETHREE | xml | IN | Fees |
@SUBTYPEFOUR | xml | IN | Taxes |
@SUBTYPEFIVE | xml | IN | Facilities |
@SUBTYPESIX | xml | IN | Merchandise departments |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PDACCOUNTCODEMAPTICKETINGORDER3(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@REVENUETYPES xml,
@APPLICATIONTYPES xml,
@SUBTYPEONE xml,
@OFFICEID int,
@DEBITGLACCOUNTID uniqueidentifier,
@DEBITPDACCOUNTSEGMENTVALUEID uniqueidentifier,
@CREDITGLACCOUNTID uniqueidentifier,
@CREDITPDACCOUNTSEGMENTVALUEID uniqueidentifier,
@PDACCOUNTSYSTEMID uniqueidentifier,
@SUBTYPETWO xml,
@SUBTYPETHREE xml,
@SUBTYPEFOUR xml,
@SUBTYPEFIVE xml,
@SUBTYPESIX xml
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @REVENUETYPESTABLE table (NAMEID int);
insert into @REVENUETYPESTABLE (NAMEID)
select NameID from dbo.UFN_PDACCOUNTCODEMAPPING_REVENUETYPES_FROMITEMLISTXML(@REVENUETYPES);
begin try
update dbo.PDACCOUNTCODEMAPPING set
REVENUETYPE = (select sum(NAMEID) from @REVENUETYPESTABLE),
APPLICATIONTYPE = (select sum(NAMEID) from dbo.UFN_PDACCOUNTCODEMAPPING_APPLICATIONTYPES_FROMITEMLISTXML(@APPLICATIONTYPES)),
OFFICEID = @OFFICEID,
DEBITGLACCOUNTID = @DEBITGLACCOUNTID,
DEBITPDACCOUNTSEGMENTVALUEID = @DEBITPDACCOUNTSEGMENTVALUEID,
CREDITGLACCOUNTID = @CREDITGLACCOUNTID,
CREDITPDACCOUNTSEGMENTVALUEID = @CREDITPDACCOUNTSEGMENTVALUEID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID
where ID = @ID
declare @CONTEXTCACHE varbinary(128) = CONTEXT_INFO();
set CONTEXT_INFO @CHANGEAGENTID;
if (exists (select 1 from @REVENUETYPESTABLE where NameID = 16)) -- Supply/Equipment resource
begin
if exists (select * from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEONE_FROMITEMLISTXML(@SUBTYPEONE) where SUBTYPEONEID = '99999999-9999-9999-9999-999999999999')
begin
if not exists (select * from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and SUBTYPEID = '99999999-9999-9999-9999-999999999999' and ADDITIONALSUBTYPE = 7)
begin
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 7;
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE (ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(7, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
end
end
else
begin
delete PDACCOUNTCODEMAPPINGSUBTYPE from dbo.PDACCOUNTCODEMAPPINGSUBTYPE
where not exists(select * from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEONE_FROMITEMLISTXML(@SUBTYPEONE) TF where TF.SUBTYPEONEID = PDACCOUNTCODEMAPPINGSUBTYPE.SUBTYPEID)
and PDACCOUNTCODEMAPPINGID = @ID
and ADDITIONALSUBTYPE = 7;
if (select count(*) from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEONE_FROMITEMLISTXML(@SUBTYPEONE)) = 0
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE (ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(7, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
else
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE (ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select 7, @ID, SUBTYPEONEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEONE_FROMITEMLISTXML(@SUBTYPEONE) TF
where not exists(select * from PDACCOUNTCODEMAPPINGSUBTYPE WHERE PDACCOUNTCODEMAPPINGSUBTYPE.SUBTYPEID = TF.SUBTYPEONEID and PDACCOUNTCODEMAPPINGID = @ID)
end
end
else
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 7;
if (exists (select 1 from @REVENUETYPESTABLE where NameID = 1)) -- Admissions
begin
if exists (select * from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPETWO_FROMITEMLISTXML(@SUBTYPETWO) where SUBTYPETWOID = '99999999-9999-9999-9999-999999999999')
begin
if not exists (select * from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and SUBTYPEID = '99999999-9999-9999-9999-999999999999' and ADDITIONALSUBTYPE = 10)
begin
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE
where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 10;
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(10, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
end
end
else
begin
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE
where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 10
and SUBTYPEID not in (select SUBTYPETWOID from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPETWO_FROMITEMLISTXML(@SUBTYPETWO));
if (select count(*) from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPETWO_FROMITEMLISTXML(@SUBTYPETWO)) = 0
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(10, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
else
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select 10, @ID, SUBTYPETWOID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPETWO_FROMITEMLISTXML(@SUBTYPETWO)
where SUBTYPETWOID not in (select SUBTYPEID from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID);
end
end
else
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 10;
if (exists (select 1 from @REVENUETYPESTABLE where NameID = 2)) -- Fee
begin
if exists (select * from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPETHREE_FROMITEMLISTXML(@SUBTYPETHREE) where SUBTYPETHREEID = '99999999-9999-9999-9999-999999999999')
begin
if not exists (select * from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and SUBTYPEID = '99999999-9999-9999-9999-999999999999' and ADDITIONALSUBTYPE = 11)
begin
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE
where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 11;
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(11, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
end
end
else
begin
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE
where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 11
and SUBTYPEID not in (select SUBTYPETHREEID from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPETHREE_FROMITEMLISTXML(@SUBTYPETHREE));
if (select count(*) from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPETHREE_FROMITEMLISTXML(@SUBTYPETHREE)) = 0
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(11, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
else
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE (ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select 11, @ID, SUBTYPETHREEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPETHREE_FROMITEMLISTXML(@SUBTYPETHREE)
where SUBTYPETHREEID not in (select SUBTYPEID from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID);
end
end
else
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 11;
if (exists (select 1 from @REVENUETYPESTABLE where NameID = 4)) -- Taxes
begin
if exists (select * from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEFOUR_FROMITEMLISTXML(@SUBTYPEFOUR) where SUBTYPEFOURID = '99999999-9999-9999-9999-999999999999')
begin
if not exists (select * from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and SUBTYPEID = '99999999-9999-9999-9999-999999999999' and ADDITIONALSUBTYPE = 12)
begin
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE
where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 12;
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(12, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
end
end
else
begin
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE
where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 12
and SUBTYPEID not in (select SUBTYPEFOURID from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEFOUR_FROMITEMLISTXML(@SUBTYPEFOUR));
if (select count(*) from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEFOUR_FROMITEMLISTXML(@SUBTYPEFOUR)) = 0
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(12, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
else
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select 12, @ID, SUBTYPEFOURID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEFOUR_FROMITEMLISTXML(@SUBTYPEFOUR)
where SUBTYPEFOURID not in (select SUBTYPEID from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID);
end
end
else
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 12;
if (exists (select 1 from @REVENUETYPESTABLE where NameID = 1024)) -- Facility
begin
if exists (select * from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEFIVE_FROMITEMLISTXML(@SUBTYPEFIVE) where SUBTYPEFIVEID = '99999999-9999-9999-9999-999999999999')
begin
if not exists (select * from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and SUBTYPEID = '99999999-9999-9999-9999-999999999999' and ADDITIONALSUBTYPE = 13)
begin
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE
where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 13;
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(13, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
end
end
else
begin
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE
where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 13
and SUBTYPEID not in (select SUBTYPEFIVEID from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEFIVE_FROMITEMLISTXML(@SUBTYPEFIVE));
if (select count(*) from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEFIVE_FROMITEMLISTXML(@SUBTYPEFIVE)) = 0
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(13, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
else
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select 13, @ID, SUBTYPEFIVEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPEFIVE_FROMITEMLISTXML(@SUBTYPEFIVE)
where SUBTYPEFIVEID not in (select SUBTYPEID from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID);
end
end
else
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 13;
if (exists (select 1 from @REVENUETYPESTABLE where NameID = 2048)) -- Merchandise
begin
if exists (select * from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPESIX_FROMITEMLISTXML(@SUBTYPESIX) where SUBTYPESIXID = '99999999-9999-9999-9999-999999999999')
begin
if not exists (select * from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and SUBTYPEID = '99999999-9999-9999-9999-999999999999' and ADDITIONALSUBTYPE = 14)
begin
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE
where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 14;
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(14, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
end
end
else
begin
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE
where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 14
and SUBTYPEID not in (select SUBTYPESIXID from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPESIX_FROMITEMLISTXML(@SUBTYPESIX));
if (select count(*) from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPESIX_FROMITEMLISTXML(@SUBTYPESIX)) = 0
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(14, @ID, '99999999-9999-9999-9999-999999999999', @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
else
insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE(ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select 14, @ID, SUBTYPESIXID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE from dbo.UFN_PDACCOUNTCODEMAPPINGSUBTYPE_SUBTYPESIX_FROMITEMLISTXML(@SUBTYPESIX)
where SUBTYPESIXID not in (select SUBTYPEID from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID);
end
end
else
delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID and ADDITIONALSUBTYPE = 14;
if @CONTEXTCACHE is not null
set CONTEXT_INFO @CONTEXTCACHE;
if dbo.UFN_PDACCOUNTCODEMAPPING_VALIDMAPPINGWITHSUBTYPES2(@ID, @CURRENTDATE) = 0
raiserror('CK_PDACCOUNTCODEMAPPING_VALIDMAPPINGWITHSUBTYPES', 16, 1)
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;