USP_DATAFORMTEMPLATE_ADD_CREDITCARDPROCESSING

The save procedure used by the add dataform template "Credit Card Processing 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
@BATCHID uniqueidentifier IN Batch
@MERCHANTACCOUNTID uniqueidentifier IN Account
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@IDSETREGISTERID uniqueidentifier IN Selection
@CUTOFFDATE datetime IN Include transactions on or before
@BATCHTEMPLATEID uniqueidentifier IN Payment batch template
@TRANSACTIONTYPECODE tinyint IN Transaction types
@OWNERID uniqueidentifier IN Payment batch owner
@DUEDATETYPECODE tinyint IN Payments due on or before
@DAYSAFTER int IN Days after this process runs
@PDACCOUNTSYSTEMID uniqueidentifier IN Associated account system
@MERCHANTACCOUNTS xml IN Accounts
@CONSOLIDATEPAYMENTS bit IN Consolidate multiple commitments to a single payment by constituent
@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
@SITEID uniqueidentifier IN

Definition

Copy


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

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

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

                    declare @DATE as datetime;
                    set @DATE = getdate();

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

                    -- 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
                        insert into dbo.CREDITCARDPROCESSING(ID, NAME, DESCRIPTION, BATCHID, MERCHANTACCOUNTID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, IDSETREGISTERID, CUTOFFDATE, BATCHTEMPLATEID, TRANSACTIONTYPECODE, OWNERID, DUEDATETYPECODE, DAYSAFTER, PDACCOUNTSYSTEMID, CONSOLIDATEPAYMENTS, PERMANENTREJECTIONBEHAVIORTYPECODE, PROVISIONALREJECTIONBEHAVIORTYPECODE, PERMANENTREJECTIONEXPORTDEFINITIONID, CREATEPERMANENTREJECTIONIDSET, PERMANENTREJECTIONIDSETNAME, OVERWRITEPERMANENTREJECTIONIDSET, PROVISIONALREJECTIONMAXATTEMPTS, VALIDATEPROJECTEDBATCHTOTALS)
                            values(@ID, @NAME, @DESCRIPTION, @BATCHID, @MERCHANTACCOUNTID, @CHANGEAGENTID, @CHANGEAGENTID, @DATE, @DATE, @IDSETREGISTERID, @CUTOFFDATE, @BATCHTEMPLATEID, @TRANSACTIONTYPECODE, @OWNERID, @DUEDATETYPECODE, @DAYSAFTER, @PDACCOUNTSYSTEMID, @CONSOLIDATEPAYMENTS, @PERMANENTREJECTIONBEHAVIORTYPECODE, @PROVISIONALREJECTIONBEHAVIORTYPECODE, @PERMANENTREJECTIONEXPORTDEFINITIONID, @CREATEPERMANENTREJECTIONIDSET, @PERMANENTREJECTIONIDSETNAME, @OVERWRITEPERMANENTREJECTIONIDSET, @PROVISIONALREJECTIONMAXATTEMPTS, @VALIDATEPROJECTEDBATCHTOTALS);

                        exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD 
                                @CHANGEAGENTID = @CHANGEAGENTID
                                @BUSINESSPROCESSCATALOGID = '8c1e67b1-fb82-4c44-ab03-417d7e70ce94'
                                @BUSINESSPROCESSPARAMETERSETID = @ID
                                @OWNERID = @CURRENTAPPUSERID,
                                @SITEID = @SITEID;


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

                    return 0;