USP_DATAFORMTEMPLATE_ADD_POSTTOGLPROCESSTREASURY

The save procedure used by the add dataform template "Post to GL Process For Basic GL Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description
@POSTINGOPTIONCODE tinyint IN Revenue
@IDSETREGISTERID uniqueidentifier IN Selection
@MARKASPOSTED bit IN Mark revenue records 'Posted' when process completes
@CREATEOUTPUTIDSET bit IN Create selection from results
@OUTPUTIDSETNAME nvarchar(100) IN Selection name
@OVERWRITEOUTPUTIDSET bit IN Overwrite existing selection
@BUSINESSPROCESSVIEWID uniqueidentifier IN Output format
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DEPOSITPOSTINGOPTIONCODE tinyint IN Deposits
@ADJUSTMENTPOSTINGOPTIONCODE tinyint IN Bank account adjustments
@DEPOSITIDSETREGISTERID uniqueidentifier IN Selection
@ADJUSTMENTIDSETREGISTERID uniqueidentifier IN Selection
@REVENUEPOSTMETHODCODE tinyint IN Revenue
@REVENUEREFERENCE nvarchar(255) IN Revenue Reference
@CASHPOSTMETHODCODE tinyint IN Cash
@CASHREFERENCE nvarchar(255) IN Cash Reference
@ARPOSTMETHODCODE tinyint IN Accounts Receivable
@ARREFERENCE nvarchar(255) IN Cash Reference
@SUMMARIZECODE tinyint IN Summarize transactions by
@PDACCOUNTSYSTEMID uniqueidentifier IN Account system
@REVALUATIONGAINLOSSPOSTMETHODCODE tinyint IN Revaluation Gain/Loss
@REVALUATIONGAINLOSSREFERENCE nvarchar(255) IN Revaluation Gain/Loss Reference
@POSTDATEUPTOCODE tinyint IN
@SPECIFICPOSTDATEUPTO date IN
@BANKACCOUNTS xml IN
@DEPOSITTEMPLATES xml IN
@TRANSACTIONTYPES xml IN

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_POSTTOGLPROCESSTREASURY
    (
        @ID uniqueidentifier = null output,                        
        @CHANGEAGENTID uniqueidentifier = null,    
        @NAME nvarchar(100)=''
        @DESCRIPTION nvarchar(255)=''
        @POSTINGOPTIONCODE tinyint = 0,
        @IDSETREGISTERID uniqueidentifier = null,
        @MARKASPOSTED bit = 0,                        
        @CREATEOUTPUTIDSET bit = 0,
        @OUTPUTIDSETNAME nvarchar(100) = ''
        @OVERWRITEOUTPUTIDSET bit = 0,
        @BUSINESSPROCESSVIEWID uniqueidentifier = null,
        @CURRENTAPPUSERID uniqueidentifier,
        @DEPOSITPOSTINGOPTIONCODE tinyint = 0,
        @ADJUSTMENTPOSTINGOPTIONCODE tinyint = 0,
        @DEPOSITIDSETREGISTERID uniqueidentifier = null,
        @ADJUSTMENTIDSETREGISTERID uniqueidentifier = null,

        --Post Detail Variables

        @REVENUEPOSTMETHODCODE tinyint = 1,
        @REVENUEREFERENCE nvarchar(255) = '',
        @CASHPOSTMETHODCODE tinyint = 1,
        @CASHREFERENCE nvarchar(255) = '',
        @ARPOSTMETHODCODE tinyint = 1,
        @ARREFERENCE nvarchar(255) = '',
        @SUMMARIZECODE tinyint = 0,
        @PDACCOUNTSYSTEMID uniqueidentifier = null,
        @REVALUATIONGAINLOSSPOSTMETHODCODE tinyint = 1,
        @REVALUATIONGAINLOSSREFERENCE nvarchar(255) = ''

        ,@POSTDATEUPTOCODE tinyint = 1
        ,@SPECIFICPOSTDATEUPTO date = null
        ,@BANKACCOUNTS xml = null
        ,@DEPOSITTEMPLATES xml = null
        ,@TRANSACTIONTYPES xml = null
    )
    as
        set nocount on;
        declare @CURRENTDATE datetime;

        if @POSTINGOPTIONCODE = 3 and @DEPOSITPOSTINGOPTIONCODE = 2 and @ADJUSTMENTPOSTINGOPTIONCODE = 2
        begin
            raiserror('BBERR_POSTTOGLPROCESS_NOPOSTCODESSELECTED', 13, 1);
            return 1;
        end

        if @ID is null
            set @ID = newid();

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

        set @CURRENTDATE = getdate();

        set @POSTDATEUPTOCODE = isnull(@POSTDATEUPTOCODE, 0)
        if @POSTDATEUPTOCODE != 6
            set @SPECIFICPOSTDATEUPTO = null

        if @DEPOSITPOSTINGOPTIONCODE != 3
            set @BANKACCOUNTS = null;
        if @DEPOSITPOSTINGOPTIONCODE != 4
            set @DEPOSITTEMPLATES = null;
        if @POSTINGOPTIONCODE != 4
            set @TRANSACTIONTYPES = null;

        begin try                        
            insert into dbo.POSTTOGLPROCESS(
                ID
                ,NAME
                ,DESCRIPTION
                ,POSTINGOPTIONCODE
                ,IDSETREGISTERID
                ,MARKASPOSTED
                ,CREATEOUTPUTIDSET
                ,OUTPUTIDSETNAME
                ,OVERWRITEOUTPUTIDSET
                ,BUSINESSPROCESSVIEWID
                ,DEPOSITPOSTINGOPTIONCODE
                ,ADJUSTMENTPOSTINGOPTIONCODE
                ,DEPOSITIDSETREGISTERID
                ,ADJUSTMENTIDSETREGISTERID
                ,ADDEDBYID
                ,CHANGEDBYID
                ,DATEADDED
                ,DATECHANGED
                ,PDACCOUNTSYSTEMID
                ,POSTDATEUPTOCODE
                ,SPECIFICPOSTDATEUPTO)
            values(
                @ID
                ,@NAME
                ,@DESCRIPTION
                ,@POSTINGOPTIONCODE
                ,@IDSETREGISTERID
                ,@MARKASPOSTED
                ,@CREATEOUTPUTIDSET
                ,@OUTPUTIDSETNAME
                ,@OVERWRITEOUTPUTIDSET
                ,@BUSINESSPROCESSVIEWID
                ,@DEPOSITPOSTINGOPTIONCODE
                ,@ADJUSTMENTPOSTINGOPTIONCODE
                ,@DEPOSITIDSETREGISTERID
                ,@ADJUSTMENTIDSETREGISTERID
                ,@CHANGEAGENTID
                ,@CHANGEAGENTID
                ,@CURRENTDATE
                ,@CURRENTDATE
                ,@PDACCOUNTSYSTEMID
                ,@POSTDATEUPTOCODE
                ,@SPECIFICPOSTDATEUPTO);

            exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID
                                                    @BUSINESSPROCESSCATALOGID = 'b4acd31d-d511-465e-89f1-733cded5f975'
                                                    @BUSINESSPROCESSPARAMETERSETID = @ID
                                                    @OWNERID = @CURRENTAPPUSERID;

            if @BANKACCOUNTS is not null
                insert into dbo.POSTTOGLPROCESSBANKACCOUNTFILTER
                    (ID, POSTTOGLPROCESSID, BANKACCOUNTID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                select
                    isnull(B.ID, NEWID()), @ID, B.BANKACCOUNTID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
                from dbo.UFN_POST_BANKACCOUNTS_FROMITEMLISTXML(@BANKACCOUNTS) B
                where B.INCLUDE = 1 and B.PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID;

            if @DEPOSITTEMPLATES is not null
                insert into dbo.POSTTOGLPROCESSDEPOSITTEMPLATESFILTER
                    (ID, POSTTOGLPROCESSID, SALESDEPOSITTEMPLATEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                select
                    isnull(D.ID, NEWID()), @ID, D.SALESDEPOSITTEMPLATEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
                from dbo.UFN_POST_DEPOSITTEMPLATES_FROMITEMLISTXML(@DEPOSITTEMPLATES) D
                where D.INCLUDE = 1 and D.PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID;

            if @TRANSACTIONTYPES is not null
                insert into dbo.POSTTOGLPROCESSTRANSACTIONTYPEFILTER
                    (ID, POSTTOGLPROCESSID, TYPECODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                select
                    isnull(T.ID, NEWID()), @ID, T.TRANSACTIONTYPECODE,  @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
                from dbo.UFN_POST_TRANSACTIONTYPES_FROMITEMLISTXML(@TRANSACTIONTYPES) T
                where T.INCLUDE = 1;
        end try

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

        -- Save Detail Variables

        begin try
            insert into dbo.POSTTOGLPROCESSDETAIL
                (ID, REVENUEPOSTMETHODCODE, REVENUEREFERENCE, CASHPOSTMETHODCODE, CASHREFERENCE, ARPOSTMETHODCODE, ARREFERENCE, SUMMARIZECODE, REVALUATIONGAINLOSSPOSTMETHODCODE, REVALUATIONGAINLOSSREFERENCE, ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
            values
                (@ID, @REVENUEPOSTMETHODCODE, @REVENUEREFERENCE, @CASHPOSTMETHODCODE, @CASHREFERENCE, @ARPOSTMETHODCODE, @ARREFERENCE, @SUMMARIZECODE, @REVALUATIONGAINLOSSPOSTMETHODCODE, @REVALUATIONGAINLOSSREFERENCE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

        end try

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

        return 0;