USP_DATAFORMTEMPLATE_EDIT_POSTTOGLPROCESSTREASURY_4

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@POSTINGOPTIONCODE tinyint IN
@IDSETREGISTERID uniqueidentifier IN
@CREATEOUTPUTIDSET bit IN
@OUTPUTIDSETNAME nvarchar(100) IN
@OVERWRITEOUTPUTIDSET bit IN
@MARKASPOSTED int IN
@BUSINESSPROCESSVIEWID uniqueidentifier IN
@DEPOSITPOSTINGOPTIONCODE tinyint IN
@ADJUSTMENTPOSTINGOPTIONCODE tinyint IN
@DEPOSITIDSETREGISTERID uniqueidentifier IN
@ADJUSTMENTIDSETREGISTERID uniqueidentifier IN
@REVENUEPOSTMETHODCODE tinyint IN
@REVENUEREFERENCE nvarchar(255) IN
@CASHPOSTMETHODCODE tinyint IN
@CASHREFERENCE nvarchar(255) IN
@ARPOSTMETHODCODE tinyint IN
@ARREFERENCE nvarchar(255) IN
@SUMMARIZECODE tinyint IN
@REVALUATIONGAINLOSSPOSTMETHODCODE tinyint IN
@REVALUATIONGAINLOSSREFERENCE nvarchar(255) IN
@POSTDATEUPTOCODE tinyint IN
@SPECIFICPOSTDATEUPTO date IN
@BANKACCOUNTS xml IN
@DEPOSITTEMPLATES xml IN
@TRANSACTIONTYPES xml IN

Definition

Copy


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

                        --Post Detail Variables

                        @REVENUEPOSTMETHODCODE tinyint,
                        @REVENUEREFERENCE nvarchar(255),
                        @CASHPOSTMETHODCODE tinyint,
                        @CASHREFERENCE nvarchar(255),
                        @ARPOSTMETHODCODE tinyint,
                        @ARREFERENCE nvarchar(255),
                        @SUMMARIZECODE tinyint,
                        @REVALUATIONGAINLOSSPOSTMETHODCODE tinyint,
                        @REVALUATIONGAINLOSSREFERENCE nvarchar(255)

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

                    begin try

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

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

                        --@IDSETREGISTERID only makes sense if the @POSTINGOPTIONCODE = 1 ('Post selected records').

                        if @POSTINGOPTIONCODE <> 1
                            set @IDSETREGISTERID = null;

                        if @DEPOSITPOSTINGOPTIONCODE <> 1
                            set @DEPOSITIDSETREGISTERID = null;

                        if @ADJUSTMENTPOSTINGOPTIONCODE <> 1
                            set @ADJUSTMENTIDSETREGISTERID = null;

                        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;

                        update
                            dbo.POSTTOGLPROCESS
                        set
                            NAME = @NAME
                            POSTINGOPTIONCODE = @POSTINGOPTIONCODE,
                            IDSETREGISTERID = @IDSETREGISTERID
                            DESCRIPTION = @DESCRIPTION
                            CREATEOUTPUTIDSET = @CREATEOUTPUTIDSET,
                            OUTPUTIDSETNAME = @OUTPUTIDSETNAME
                            OVERWRITEOUTPUTIDSET = @OVERWRITEOUTPUTIDSET,
                            MARKASPOSTED = @MARKASPOSTED,
                            BUSINESSPROCESSVIEWID = @BUSINESSPROCESSVIEWID,
                            DEPOSITPOSTINGOPTIONCODE = @DEPOSITPOSTINGOPTIONCODE,
                            ADJUSTMENTPOSTINGOPTIONCODE = @ADJUSTMENTPOSTINGOPTIONCODE,
                            DEPOSITIDSETREGISTERID = @DEPOSITIDSETREGISTERID,
                            ADJUSTMENTIDSETREGISTERID = @ADJUSTMENTIDSETREGISTERID,
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE
                            ,POSTDATEUPTOCODE = @POSTDATEUPTOCODE
                            ,SPECIFICPOSTDATEUPTO = @SPECIFICPOSTDATEUPTO
                        where
                            ID = @ID;


                        --Save Post Detail Variables

                        update 
                            dbo.POSTTOGLPROCESSDETAIL
                        set
                            REVENUEPOSTMETHODCODE = @REVENUEPOSTMETHODCODE,
                            REVENUEREFERENCE = @REVENUEREFERENCE,
                            CASHPOSTMETHODCODE = @CASHPOSTMETHODCODE,
                            CASHREFERENCE = @CASHREFERENCE,
                            ARPOSTMETHODCODE = @ARPOSTMETHODCODE,
                            ARREFERENCE = @ARREFERENCE,
                            SUMMARIZECODE = @SUMMARIZECODE,    
                            CHANGEDBYID = @CHANGEAGENTID,
                            DATECHANGED = @CURRENTDATE,
                            REVALUATIONGAINLOSSPOSTMETHODCODE = @REVALUATIONGAINLOSSPOSTMETHODCODE,
                            REVALUATIONGAINLOSSREFERENCE = @REVALUATIONGAINLOSSREFERENCE
                        where
                            ID = @ID;

                        declare @PDACCOUNTSYSTEMID uniqueidentifier
                        select @PDACCOUNTSYSTEMID = PDACCOUNTSYSTEMID from dbo.POSTTOGLPROCESS where ID = @ID;

                        if @BANKACCOUNTS is not null
                            merge dbo.POSTTOGLPROCESSBANKACCOUNTFILTER as target
                            using (select ID, BANKACCOUNTID from dbo.UFN_POST_BANKACCOUNTS_FROMITEMLISTXML(@BANKACCOUNTS) where INCLUDE = 1 and PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID) as source
                            on target.BANKACCOUNTID = source.BANKACCOUNTID and target.POSTTOGLPROCESSID = @ID
                            when not matched by target then
                                insert (ID, POSTTOGLPROCESSID, BANKACCOUNTID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                                values (isnull(source.ID, NEWID()), @ID, source.BANKACCOUNTID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
                            when not matched by source and target.POSTTOGLPROCESSID = @ID then delete;

                        if @DEPOSITTEMPLATES is not null
                            merge dbo.POSTTOGLPROCESSDEPOSITTEMPLATESFILTER as target
                            using (select ID, SALESDEPOSITTEMPLATEID from UFN_POST_DEPOSITTEMPLATES_FROMITEMLISTXML(@DEPOSITTEMPLATES) where INCLUDE = 1 and PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID) as source
                            on target.SALESDEPOSITTEMPLATEID = source.SALESDEPOSITTEMPLATEID and target.POSTTOGLPROCESSID = @ID
                            when not matched by target then
                                insert (ID, POSTTOGLPROCESSID, SALESDEPOSITTEMPLATEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                                values (isnull(source.ID, NEWID()), @ID, source.SALESDEPOSITTEMPLATEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
                            when not matched by source and target.POSTTOGLPROCESSID = @ID then delete;

                        if @TRANSACTIONTYPES is not null
                            merge dbo.POSTTOGLPROCESSTRANSACTIONTYPEFILTER as target
                            using (select ID, TRANSACTIONTYPECODE from UFN_POST_TRANSACTIONTYPES_FROMITEMLISTXML(@TRANSACTIONTYPES) where INCLUDE = 1) as source
                            on target.TYPECODE = source.TRANSACTIONTYPECODE and target.POSTTOGLPROCESSID = @ID
                            when not matched by target then
                                insert (ID, POSTTOGLPROCESSID, TYPECODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                                values (isnull(source.ID, NEWID()), @ID, source.TRANSACTIONTYPECODE, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
                            when not matched by source and target.POSTTOGLPROCESSID = @ID then delete;

                    end try

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

                    return 0;