USP_GLAUTOCONFIGUNMAPPAPPLICATIONTYPES

Executes the "Friends Asking Friends GL auto config" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being updated.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the update.

Definition

Copy


CREATE procedure dbo.USP_GLAUTOCONFIGUNMAPPAPPLICATIONTYPES
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier
)
as begin
  set nocount on

  declare @GLACCOUNTID1 uniqueidentifier,
          @GLACCOUNTID2 uniqueidentifier,
          @PDACCOUNTCODEMAPOFFICEID uniqueidentifier,
          @PDACCOUNTSYSTEMID uniqueidentifier,
          @UN_MAPPEDAPPTYPES nvarchar(250),
          @UN_MAPPEDNAMEIDS nvarchar(150),
          @PDACCOUNTCODEMAPPINGID uniqueidentifier

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

  exec dbo.USP_PDACCOUNTCODEMAPPING_GETFAF_UPMAPPEDAPPLICATIONTYPES @APPLICATIONTYPES=@UN_MAPPEDAPPTYPES output, @NAMEIDS=@UN_MAPPEDNAMEIDS output  

  if @UN_MAPPEDAPPTYPES <> ''
    begin

      set @UN_MAPPEDNAMEIDS = replace(@UN_MAPPEDNAMEIDS, ';', ',')    
      set @PDACCOUNTCODEMAPOFFICEID='1A692E94-3214-44B8-A658-F2927230BC25'
      set @PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B'

      select top 1 
        @GLACCOUNTID1=DEBITGLACCOUNTID, 
        @GLACCOUNTID2=CREDITGLACCOUNTID
      from dbo.PDACCOUNTCODEMAPPING
      where OFFICEID = 3

      if @GLACCOUNTID1 is null or @GLACCOUNTID2 is null
        select top 1 
          @GLACCOUNTID1=ID, 
          @GLACCOUNTID2=ID
        from dbo.GLACCOUNT
        where ACTIVE = 1

      set @PDACCOUNTCODEMAPPINGID = newid()

        insert into dbo.PDACCOUNTCODEMAPPING (ID, REVENUETYPE, APPLICATIONTYPE, PAYMENTMETHOD, PDACCOUNTCODEMAPOFFICEID, OFFICEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, DEBITGLACCOUNTID, CREDITGLACCOUNTID, PDACCOUNTSYSTEMID)
        select @PDACCOUNTCODEMAPPINGID, 1, isnull(t3.ApplicationTypes,0), isnull(t4.PaymentMethods,0), t1.ID, t1.OFFICEID, @CHANGEAGENTID, @CHANGEAGENTID, getdate(), getdate(), @GLACCOUNTID1, @GLACCOUNTID2, @PDACCOUNTSYSTEMID
        from dbo.pdaccountcodemapoffice t1 
      left join
            (select PDACCOUNTCODEMAPAPPLICATIONTYPE.PDACCOUNTCODEMAPOFFICEID, sum(PDACCOUNTCODEMAPAPPLICATIONTYPE.nameid) as ApplicationTypes from dbo.PDACCOUNTCODEMAPAPPLICATIONTYPE where NAMEID IN (select cast(Item as int ) from dbo.UFN_STRING_PARSER(',', @UN_MAPPEDNAMEIDS)) and OFFICEID=3 group by PDACCOUNTCODEMAPAPPLICATIONTYPE.PDACCOUNTCODEMAPOFFICEID) t3 on t1.id = t3.PDACCOUNTCODEMAPOFFICEID        
        left join
            (select PDACCOUNTCODEMAPPAYMENTMETHODTYPE.PDACCOUNTCODEMAPOFFICEID, sum(PDACCOUNTCODEMAPPAYMENTMETHODTYPE.nameid) as PaymentMethods from dbo.PDACCOUNTCODEMAPPAYMENTMETHODTYPE where NAMEID in (1,2,4) and OFFICEID=3 group by PDACCOUNTCODEMAPPAYMENTMETHODTYPE.PDACCOUNTCODEMAPOFFICEID) t4 on t1.id = t4.PDACCOUNTCODEMAPOFFICEID        
      where t1.OFFICEID = 3 and ID = @PDACCOUNTCODEMAPOFFICEID


      /* ensure refresh context here using GL setup development-payment edit  */

      declare @DATALOADED bit = 0,
                @TSLONG bigint = 0,
                @REVENUETYPES  xml = null,
                @APPLICATIONTYPES  xml = null,
                @PAYMENTMETHODS  xml = null,
                @SUBTYPEONE xml = null,
                @SUBTYPETWO xml = null,
                @SUBTYPETHREE xml = null,
                @SUBTYPEFOUR xml = null,
                @DEBITGLACCOUNTID uniqueidentifier = null,
                @DEBITPDACCOUNTSEGMENTVALUEID uniqueidentifier = null,
                @CREDITGLACCOUNTID uniqueidentifier = null,
                @CREDITPDACCOUNTSEGMENTVALUEID uniqueidentifier = null

      exec dbo.USP_DATAFORMTEMPLATE_EDITLOAD_PDACCOUNTCODEMAPDEVELOPMENTPAYMENT2 
                @ID = @PDACCOUNTCODEMAPPINGID,
                  @DATALOADED = @DATALOADED output,
                  @TSLONG = @TSLONG output,
                  @REVENUETYPES =  @REVENUETYPES output,
                  @APPLICATIONTYPES  = @APPLICATIONTYPES output,
                  @PAYMENTMETHODS  = @PAYMENTMETHODS output,
                  @SUBTYPEONE = @SUBTYPEONE output,
                  @SUBTYPETWO = @SUBTYPETWO output,
                  @SUBTYPETHREE = @SUBTYPETHREE output,
                  @SUBTYPEFOUR = @SUBTYPEFOUR output,
                  @DEBITGLACCOUNTID = @DEBITGLACCOUNTID output,
                  @DEBITPDACCOUNTSEGMENTVALUEID = @DEBITPDACCOUNTSEGMENTVALUEID output,
                  @CREDITGLACCOUNTID = @CREDITGLACCOUNTID output,
                  @CREDITPDACCOUNTSEGMENTVALUEID =  @CREDITPDACCOUNTSEGMENTVALUEID output,
                  @PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID output

      exec dbo.USP_DATAFORMTEMPLATE_EDIT_PDACCOUNTCODEMAPDEVELOPMENTPAYMENT2
                @ID = @PDACCOUNTCODEMAPPINGID,
                    @CHANGEAGENTID = @CHANGEAGENTID,
                    @REVENUETYPES = @REVENUETYPES,
                    @APPLICATIONTYPES = @APPLICATIONTYPES,
                    @PAYMENTMETHODS = @PAYMENTMETHODS,
                    @SUBTYPEONE = @SUBTYPEONE,
                    @SUBTYPETWO = @SUBTYPETWO,
                    @SUBTYPETHREE = @SUBTYPETHREE,
                    @SUBTYPEFOUR = @SUBTYPEFOUR,
                    @DEBITGLACCOUNTID = @DEBITGLACCOUNTID,
                    @DEBITPDACCOUNTSEGMENTVALUEID = @DEBITPDACCOUNTSEGMENTVALUEID,
                    @CREDITGLACCOUNTID = @CREDITGLACCOUNTID,
                    @CREDITPDACCOUNTSEGMENTVALUEID = @CREDITPDACCOUNTSEGMENTVALUEID
                    @PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID



    end

  end
return 0;