USP_DATAFORMTEMPLATE_EDIT_PAYMENTORIGINALAMOUNT

The save procedure used by the edit dataform template "Payment Original Amount 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.
@ORIGINALAMOUNT money IN Original payment amount

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PAYMENTORIGINALAMOUNT (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @ORIGINALAMOUNT money
                    )
                    as

                        set nocount on;

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

                        declare @CURRENTDATE datetime
                        set @CURRENTDATE = getdate()

                        begin try
                            --Multicurrency - Convert @ORIGINALAMOUNT (in transaction currency) to base and org currency.

                            declare @DATE date;
                            declare @TRANSACTIONCURRENCYID uniqueidentifier;
                            declare @BASEAMOUNT money;
                            declare @BASECURRENCYID uniqueidentifier;
                            declare @BASEEXCHANGERATEID uniqueidentifier;
                            declare @ORGANIZATIONAMOUNT money;
                            declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;

                            select
                                @DATE = DATE,
                                @TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID,
                                @BASEEXCHANGERATEID = BASEEXCHANGERATEID,
                                @ORGANIZATIONEXCHANGERATEID = ORGANIZATIONEXCHANGERATEID,
                                @BASECURRENCYID=BASECURRENCYID
                            from dbo.REVENUE where ID = @ID;

                            exec dbo.USP_CURRENCY_GETCURRENCYVALUES 
                                @AMOUNT=@ORIGINALAMOUNT
                                @DATE=@DATE,    
                                @BASECURRENCYID=@BASECURRENCYID
                                @BASEEXCHANGERATEID=@BASEEXCHANGERATEID
                                @TRANSACTIONCURRENCYID=@TRANSACTIONCURRENCYID,
                                @BASEAMOUNT=@BASEAMOUNT output,
                                @ORGANIZATIONAMOUNT=@ORGANIZATIONAMOUNT output,
                                @ORGANIZATIONEXCHANGERATEID=@ORGANIZATIONEXCHANGERATEID

                            update dbo.PAYMENTORIGINALAMOUNT set
                                TRANSACTIONAMOUNT = @ORIGINALAMOUNT,
                                ORIGINALAMOUNT = @BASEAMOUNT,
                                ORGANIZATIONAMOUNT = @ORGANIZATIONAMOUNT,
                                ORGANIZATIONEXCHANGERATEID = @ORGANIZATIONEXCHANGERATEID,
                                TRANSACTIONCURRENCYID = @TRANSACTIONCURRENCYID,
                                BASEEXCHANGERATEID = @BASEEXCHANGERATEID,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where ID = @ID

                            if @@ROWCOUNT = 0
                                insert into dbo.PAYMENTORIGINALAMOUNT
                                (
                                    ID,
                                    ORIGINALAMOUNT,
                                    TRANSACTIONAMOUNT,
                                    ORGANIZATIONAMOUNT,
                                    BASECURRENCYID,
                                    ORGANIZATIONEXCHANGERATEID,
                                    TRANSACTIONCURRENCYID,
                                    BASEEXCHANGERATEID,
                                    DATEADDED,
                                    DATECHANGED,
                                    ADDEDBYID,
                                    CHANGEDBYID
                                )
                                values
                                (
                                    @ID,
                                    @BASEAMOUNT,
                                    @ORIGINALAMOUNT,
                                    @ORGANIZATIONAMOUNT,
                                    @BASECURRENCYID,
                                    @ORGANIZATIONEXCHANGERATEID,
                                    @TRANSACTIONCURRENCYID,
                                    @BASEEXCHANGERATEID,
                                    @CURRENTDATE,
                                    @CURRENTDATE,
                                    @CHANGEAGENTID,
                                    @CHANGEAGENTID                                    
                                )
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR
                            return 1
                        end catch

                        return 0;