USP_DATAFORMTEMPLATE_EDIT_PDACCOUNTCODEMAPTICKETINGORDER

The save procedure used by the edit dataform template "Map Ticketing Order Edit Form".

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

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PDACCOUNTCODEMAPTICKETINGORDER(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @REVENUETYPES xml,
    @APPLICATIONTYPES xml,
    @SUBTYPEONE xml,
    @OFFICEID int  ,
    @DEBITGLACCOUNTID uniqueidentifier,
    @DEBITPDACCOUNTSEGMENTVALUEID uniqueidentifier,
    @CREDITGLACCOUNTID uniqueidentifier,
    @CREDITPDACCOUNTSEGMENTVALUEID uniqueidentifier  
)
as

  set nocount on;

  if @CHANGEAGENTID is null  
    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

  declare @CURRENTDATE datetime

  set @CURRENTDATE = getdate()
  begin try
    update dbo.PDACCOUNTCODEMAPPING set
      REVENUETYPE = (select sum(NAMEID) from dbo.UFN_PDACCOUNTCODEMAPPING_REVENUETYPES_FROMITEMLISTXML(@REVENUETYPES)),
      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

    where ID = @ID

    if (exists (select NameID from dbo.UFN_PDACCOUNTCODEMAPPING_REVENUETYPES_FROMITEMLISTXML(@REVENUETYPES) where NameID = 16))
    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')
        begin
            delete from dbo.PDACCOUNTCODEMAPPINGSUBTYPE where PDACCOUNTCODEMAPPINGID = @ID
            insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE (ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
            values 
            (8, @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

        insert into dbo.PDACCOUNTCODEMAPPINGSUBTYPE (ADDITIONALSUBTYPE, PDACCOUNTCODEMAPPINGID, SUBTYPEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        select 8, @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

  end try
  begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
  end catch

return 0;