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;