USP_DATAFORMTEMPLATE_EDIT_SALESDEPOSITPROCESSPREPROCESS

The save procedure used by the edit dataform template "Sales Deposit Preprocess Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@UNDEFINEDPAYMENTTYPE xml IN You must add the following payment methods to an existing or new deposit template before you can run the process.

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_SALESDEPOSITPROCESSPREPROCESS
                (
                    @ID uniqueidentifier,
                    @CHANGEAGENTID uniqueidentifier,
                    @UNDEFINEDPAYMENTTYPE xml
                )
                as
                    set nocount on;

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

                    declare @CURRENTDATE datetime
                    set @CURRENTDATE = getdate()

                    if @UNDEFINEDPAYMENTTYPE is not null
                    begin
                        insert into dbo.[SALESDEPOSITTEMPLATEPAYMENTMETHOD]
                        (
                            [ID],
                            [SALESDEPOSITTEMPLATEID],
                            [PAYMENTMETHODCODE],
                            [CREDITTYPECODEID],
                            [OTHERPAYMENTMETHODCODEID],
                            [ADDEDBYID],
                            [CHANGEDBYID],
                            [DATEADDED],
                            [DATECHANGED]
                        )
                        select
                            newid(),
                            T.paymenttype.value('(SALESDEPOSITTEMPLATEID)[1]', 'uniqueidentifier'),
                            T.paymenttype.value('(PAYMENTMETHODCODE)[1]', 'tinyint'),
                            case when (T.paymenttype.value('(PAYMENTMETHODCODE)[1]', 'tinyint') = 2) then
                                    T.paymenttype.value('(CREDITTYPECODEID)[1]', 'uniqueidentifier')
                                else null end,
                            case when (T.paymenttype.value('(PAYMENTMETHODCODE)[1]', 'tinyint') = 10) then
                                    T.paymenttype.value('(OTHERPAYMENTMETHODCODEID)[1]', 'uniqueidentifier')
                                else null end,
                            @CHANGEAGENTID,
                            @CHANGEAGENTID,
                            @CURRENTDATE,
                            @CURRENTDATE
                        from @UNDEFINEDPAYMENTTYPE.nodes('/UNDEFINEDPAYMENTTYPE/ITEM') T(paymenttype)
                    end

                return 0;