USP_DATAFORMTEMPLATE_EDIT_CREDITCARDPROCESSING_5

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@NAME nvarchar(100) IN
@DESCRIPTION nvarchar(255) IN
@BATCHID uniqueidentifier IN
@MERCHANTACCOUNTID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@IDSETREGISTERID uniqueidentifier IN
@CUTOFFDATE datetime IN
@BATCHTEMPLATEID uniqueidentifier IN
@TRANSACTIONTYPECODE tinyint IN
@OWNERID uniqueidentifier IN
@DUEDATETYPECODE tinyint IN
@DAYSAFTER int IN
@MERCHANTACCOUNTS xml IN
@CONSOLIDATEPAYMENTS bit IN
@PERMANENTREJECTIONBEHAVIORTYPECODE tinyint IN
@PROVISIONALREJECTIONBEHAVIORTYPECODE tinyint IN
@PERMANENTREJECTIONEXPORTDEFINITIONID uniqueidentifier IN
@CREATEPERMANENTREJECTIONIDSET bit IN
@PERMANENTREJECTIONIDSETNAME nvarchar(100) IN
@OVERWRITEPERMANENTREJECTIONIDSET bit IN
@PROVISIONALREJECTIONMAXATTEMPTS tinyint IN
@VALIDATEPROJECTEDBATCHTOTALS bit IN
@CURRENTAPPUSERID uniqueidentifier IN
@SITEID uniqueidentifier IN

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_CREDITCARDPROCESSING_5
                (
                    @ID uniqueidentifier,
                    @NAME nvarchar(100),
                    @DESCRIPTION nvarchar(255),
                    @BATCHID uniqueidentifier,
                    @MERCHANTACCOUNTID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier,
                    @IDSETREGISTERID uniqueidentifier,
                    @CUTOFFDATE datetime,
                    @BATCHTEMPLATEID uniqueidentifier,
                    @TRANSACTIONTYPECODE tinyint,
                    @OWNERID uniqueidentifier,
                    @DUEDATETYPECODE tinyint,
                    @DAYSAFTER integer,
                    @MERCHANTACCOUNTS xml,
                    @CONSOLIDATEPAYMENTS bit,
                    @PERMANENTREJECTIONBEHAVIORTYPECODE tinyint,
                    @PROVISIONALREJECTIONBEHAVIORTYPECODE tinyint,
                    @PERMANENTREJECTIONEXPORTDEFINITIONID uniqueidentifier,
                    @CREATEPERMANENTREJECTIONIDSET bit,
                    @PERMANENTREJECTIONIDSETNAME nvarchar(100),
                    @OVERWRITEPERMANENTREJECTIONIDSET bit,
                    @PROVISIONALREJECTIONMAXATTEMPTS tinyint,
                    @VALIDATEPROJECTEDBATCHTOTALS bit,
                    @CURRENTAPPUSERID uniqueidentifier,
                    @SITEID uniqueidentifier
                )
                as
                    set nocount on

                    declare @CURRENTDATE datetime;
                    set @CURRENTDATE = getdate();

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

                    -- Check if multicurrency is enabled or not.  If it isn't enabled, the MERCHANTACCOUNTID field is used.  Otherwise, 

                    -- MERCHANTACCOUNTS is used.

                    declare @MULTICURRENCYENABLED bit;
                    set @MULTICURRENCYENABLED = dbo.UFN_CONDITIONSETTING_EVALUATEEXISTSCONDITION('Multicurrency');

                    if @MULTICURRENCYENABLED = 0 and @MERCHANTACCOUNTID is null
                        raiserror('BBERR_MERCHANTACCOUNTID_REQUIRED', 13, 1);

                    -- Clear out invalid options.


                    if @PERMANENTREJECTIONBEHAVIORTYPECODE = 0
                    begin
                        set @PERMANENTREJECTIONEXPORTDEFINITIONID = null;
                        set @CREATEPERMANENTREJECTIONIDSET = 0;
                    end

                    if @CREATEPERMANENTREJECTIONIDSET = 0
                    begin
                        set @PERMANENTREJECTIONIDSETNAME = '';
                        set @OVERWRITEPERMANENTREJECTIONIDSET = 0;
                    end

                    if @PROVISIONALREJECTIONBEHAVIORTYPECODE <> 2
                    begin
                        set @PROVISIONALREJECTIONMAXATTEMPTS = 2;
                    end

                    begin try

                    if (@SITEID is not null
                            begin
                                    if dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, @SITEID) = 0 
                                    begin
                                            raiserror ('ERR_SITE_NOACCESS',13,1);
                                            return 1;
                                    end
                    end

            if exists(select 1 from dbo.[BUSINESSPROCESSSTATUS] where [STATUSCODE] = 4 and [BUSINESSPROCESSPARAMETERSETID] = @ID)
            raiserror('ERR_ENQUEUED', 13, 1);

                        update dbo.CREDITCARDPROCESSING set 
                            NAME = @NAME,
                            DESCRIPTION = @DESCRIPTION,
                            BATCHID = @BATCHID
                            MERCHANTACCOUNTID = @MERCHANTACCOUNTID,
                            DATECHANGED = @CURRENTDATE,
                            CHANGEDBYID = @CHANGEAGENTID,
                            IDSETREGISTERID = @IDSETREGISTERID,
                            CUTOFFDATE = @CUTOFFDATE,
                            BATCHTEMPLATEID = @BATCHTEMPLATEID,
                            TRANSACTIONTYPECODE = @TRANSACTIONTYPECODE,
                            OWNERID = @OWNERID,
                            DUEDATETYPECODE = @DUEDATETYPECODE,
                            DAYSAFTER = @DAYSAFTER,
                            BATCHINSTANCESETFORRESUME =
                            case
                                when BATCHINSTANCESETFORRESUME = 1 and BATCHID = @BATCHID then 1
                                else 0
                            end,
                            CONSOLIDATEPAYMENTS = @CONSOLIDATEPAYMENTS,
                            PERMANENTREJECTIONBEHAVIORTYPECODE = @PERMANENTREJECTIONBEHAVIORTYPECODE,
                            PROVISIONALREJECTIONBEHAVIORTYPECODE = @PROVISIONALREJECTIONBEHAVIORTYPECODE,
                            PERMANENTREJECTIONEXPORTDEFINITIONID = @PERMANENTREJECTIONEXPORTDEFINITIONID,
                            CREATEPERMANENTREJECTIONIDSET = @CREATEPERMANENTREJECTIONIDSET,
                            PERMANENTREJECTIONIDSETNAME = @PERMANENTREJECTIONIDSETNAME,
                            OVERWRITEPERMANENTREJECTIONIDSET = @OVERWRITEPERMANENTREJECTIONIDSET,
                            PROVISIONALREJECTIONMAXATTEMPTS = @PROVISIONALREJECTIONMAXATTEMPTS,
                            VALIDATEPROJECTEDBATCHTOTALS = @VALIDATEPROJECTEDBATCHTOTALS
                        where ID = @ID;

                        update 
                                    dbo.BUSINESSPROCESSINSTANCE 
                                set 
                                    SITEID = @SITEID,
                                    CHANGEDBYID = @CHANGEAGENTID,
                                    DATECHANGED = @CURRENTDATE
                                    where 
                                        BUSINESSPROCESSINSTANCE.BUSINESSPROCESSPARAMETERSETID = @ID
                                        and BUSINESSPROCESSINSTANCE.BUSINESSPROCESSCATALOGID = '8C1E67B1-FB82-4C44-AB03-417D7E70CE94'
                                        and (BUSINESSPROCESSINSTANCE.SITEID <> @SITEID 
                                                or BUSINESSPROCESSINSTANCE.SITEID is null and @SITEID is not null 
                                                or BUSINESSPROCESSINSTANCE.SITEID is not null and @SITEID is null);


                        if @MULTICURRENCYENABLED = 1
                            exec dbo.USP_CREDITCARDPROCESSING_GETMERCHANTACCOUNTS_UPDATEFROMXML
                                @CREDITCARDPROCESSINGID = @ID,
                                @XML = @MERCHANTACCOUNTS,
                                @CHANGEAGENTID = @CHANGEAGENTID,
                                @CHANGEDATE = @CURRENTDATE;
                    end try
                    begin catch
                        exec dbo.USP_RAISE_ERROR;
                        return 1;
                    end catch

                    return 0;